Archive for the ‘Eclipse Development’ Category

Online IDEs: Links

Did a little research today on Online IDEs.  I’ve been thinking a bit how this would change the developer workflow– continuous integration, common build targets, continuous deployment,etc.  Still revising my thoughts.

Thought it useful to share links I’ve found interesting.  (And helpful to me later).  Will update as I find more.

General Articles:

Products:

Future of IDEs (Not Necessarily Web Based IDE)

Mozilla Skywriter (formerly Bespin), online JavaScript editor

Existing Products that aren’t really IDEs– just web based place to enter code and compile it.

Hosting

Advertisements

Tip: Eclipse Slowness/Locking when “Installing Software”

This may fall into the category of something everyone else already knows and I discovered it today.

I had an experience today when trying to install the PDE Visualization component (Update site) into Eclipse 3.6.

P2 just stayed at 5% complete.  I waited.  Made a coffee.  Waited some more.  It never progressed in 15 minutes.

Thinking I had some odd combination of dependencies and P2 was choking on resolving them, I tried to install another component.  Same result.

Then I noticed the checkbox at the bottom: “Contact all update sites during install…”.   I tried to install with this unchecked, and it quickly told me that the PDE Visualization component required draw2d.  So i”Contact All” must be checked to pull dependencies from Eclipse update site.

Hmm, I wonder how many update sites it’s trying to contact?  So I clicked on “Available Update Sites” at the top of the page, and there were 50 or so sites.  Over 20 of them were checked.  Some I knew were unreachable because they were on my corporate network and I wasn’t connected.

So I cleaned up my list of update sites.  Removed those I didn’t need, and most importantly unchecked those that I didn’t want to connect to on a regular basis.  I had only 4 checked when I tried it again.  Fast install.  Problem Solved!

Why did I have so many?  I think its because when I migrated from Eclipse 3.5 to 3.6, I exported my update sites and re-imported them into Eclipse 3.6.

Contributing to JSDT #5: Launching the Product

I’ll continue my instructions regarding how to set up JSDT development infrastructure.

Previously

Now run the product

When I work on Eclipse products, we typically provide a default launch config per product.  Although the nightly build is the ultimate authority of what encompasses the product, these version-controlled launch files provide a good point of comparison developer to developer.

I could not find a public JSDT .launch file under CVS control.

So I looked at the installed JSDT product to create my own.  It’s here if you would like to download it.

Just drop it into an active project in your Eclipse workspace, refresh the project, open ‘Run Configurations” and you should see a “jsdt” run config.

You may want to tweak it a bit and verify that the set of selected plugins is correct.

Then hit Run to see the JSDT.

Disclaimer: I’m not on the JSDT team, so this may not be exactly how they do it. But it’s what I’ve done to get it working.

Contributing to JSDT #4 : Launching the unit tests

I’ll continue my instructions regarding how to set up JSDT development infrastructure.

Previously

Run the unit tests

Now I want to verify that the unit tests for JSDT pass.  (TDD — we should launch the tests before the product, right?)

Nitin Dahyabhai, the JSDT lead, pointed out that the first project above, contains a launch config to run all of the JSDT unit tests.

I will need to check out these additional projects from the webtools CVS repository.

  • org.eclipse.jsdt/development/org.eclipse.wst.jsdt.unittests
  • sourceediting/tests/org.eclipse.wst.jsdt.web.core.tests
  • sourceediting/tests/org.eclipse.wst.jsdt.web.ui.tests


The checked in launch config makes running easy.  Open Run Configurations – select JSDT Tests.  Hit Run.  They all pass, so I see green:

Next: Launching the Product

Disclaimer: I’m not on the JSDT team, so this may not be exactly how they do it. But it’s what I’ve done to get it working.

Contributing to JSDT #3 : Build Targets on the bleeding edge

I’ve been documenting how to use JSDT to do some HTML5/CSS/JavaScript development. In order to poke around the JSDT code to understand it better, I spent a bit of time figuring out how to get things checked out, built and running. The instructions on the JSDT site a re a bit sparse, so I thought I would document what I did.

I’m not on the JSDT team, so this may not be exactly how they do it. But it works for me.

Previously

My code no longer compiles!

This morning, I updated all the code I previously checked out.  And now my rhino.ui project has a compilation error in RhinoTabGroup:

After a little investigation, I determined that RhinoTabGroup is using a new 3.7 method in AbstractLaunchConfigurationTab.  It has just been introduced.  I’m building against Eclipse 3.6, so don’t have this method.

So if I want to keep my JSDT source code in sync with the latest, I’ll have to also keep up with any dependencies.

One idea to resolve this would be to download the latest milestone builds and put them in my build target.  However, this change is very recent and is not in a milestone build yet.

Another idea is to check out the latest o.e.debug.ui project and any dependency projects (hopefully not too many).

Check out more projects

To add the eclipse CVS repo, copy this into the CVS Repositories View:

:pserver:anonymous@dev.eclipse.org:/cvsroot/eclipse

And check out org.eclipse.debug.ui and org.eclipse.debug.core projects

And the compilation issue is resolved.

Going Forward

Going forward, my build target and workspace projects will change often.  I’ll need to actively modify these to keep things rolling along.  I’ll be doing a combination of:

  1. Including other Eclipse projects in my workspace, on an as-needed basis.  I’ll start getting a good sense of what these projects are as things break.
  2. Change my build target to move up to Milestone builds.

Next: Launching the JSDT Unit Tests

Contributing to JSDT #2: Checking out the Code

I’ve been experimenting with the JSDT to try some HTML5/CSS/JavaScript development.  In order to poke around the JSDT code to understand it better, I spent a bit of time figuring out how to get things checked out, built and running. The instructions on the JSDT site are a bit sparse, so I thought I would document what I did.

I’m not on the JSDT team, so this may not be exactly how they do it. But it works for me.

Previously

Adding the CVS Repositories:

Now we’ll add the 2 CVS repositories required to check out the JSDT code.

  • Switch to CVS Repository perspective.
  • Paste the following lines of text into the CVS Repositories View to add web tools and tools as known repository locations.

:pserver:anonymous@dev.eclipse.org:/cvsroot/webtools

:pserver:anonymous@dev.eclipse.org:/cvsroot/tools


Import the projects using a Project Team Set:

The JSDT project provides a project set file, which can be useful for checking out a set of related projects.  Download this to your file system.

In the Java Perspective, right-click in the Package Explorer and choose Import… – Team Project Set

Select Next, Choose the file you previously downloaded.

You will be prompted to reconcile the repos designated in the Team Project Set file and those in your workspace:

Hit OK.  The projects should be imported into your workspace and built.

Missing Projects:

If your projects don’t all compile, you may be missing a project or two.

Currently, the Project Team Set file is missing the debug.rhino.ui and debug.transport projects.  A bug has been fixed and I’m assuming the new project set file should roll out to the web-site in a few days.

You can check out these projects by browsing the webtools CVS repo from the CVS perspective:

Go to webtools / HEAD / org.eclipse.jsdt / plugins.

Right click on the project you want to check out and select ‘Checkout

Project List

With everything compiling and launching, I have the following projects in my workspace (as of 8/30/2010):

org.eclipse.wst.jsdt.core
org.eclipse.wst.jsdt.core.tests.compiler
org.eclipse.wst.jsdt.core.tests.model
org.eclipse.wst.jsdt.debug.core
org.eclipse.wst.jsdt.debug.core.tests
org.eclipse.wst.jsdt.debug.crossfire
org.eclipse.wst.jsdt.debug.rhino
org.eclipse.wst.jsdt.debug.rhino.debugger
org.eclipse.wst.jsdt.debug.rhino.tests
org.eclipse.wst.jsdt.debug.rhino.ui
org.eclipse.wst.jsdt.debug.transport
org.eclipse.wst.jsdt.debug.ui
org.eclipse.wst.jsdt.doc
org.eclipse.wst.jsdt.feature
org.eclipse.wst.jsdt.manipulation
org.eclipse.wst.jsdt.support.firefox
org.eclipse.wst.jsdt.support.ie
org.eclipse.wst.jsdt.ui
org.eclipse.wst.jsdt.ui.tests
org.eclipse.wst.jsdt.web.core
org.eclipse.wst.jsdt.web.support.jsp
org.eclipse.wst.jsdt.web.ui
org.eclipse.wst.jsdt_sdk.feature
org.eclipse.wst.jsdt_tests.feature
org.mozilla.javascript
releng.jsdt

Notes:

Updated: In the CVS repo some of the projects seem to live in both webtools/HEAD/org.eclipse.jsdt/<project> AND webtools/HEAD/<project>.  From some help on the forum,  I’ve found out these are one and the same.

Next: Build Targets on the Bleeding Edge

Contributing to JSDT #1: Setting up Build Target

I’ve been experimenting with the JSDT to try some HTML5/CSS/JavaScript development.  In order to poke around the JSDT code to understand it better, I spent a bit of time figuring out how to get things checked out, built and running. The instructions on the JSDT site are a bit sparse, so I thought I would document what I did.

I’m not on the JSDT team, so this may not be exactly how they do it. But it works for me.

Downloading Dependencies:

First you will need to set up your PDE Target.

The WTP Downloads page is where to start.

Download the following:

I unzipped these into individual folders, someplace where you keep pristine PDE targets separate from your daily running Eclipse. For example, I unzipped GEF into c:/code/buildTargets/GEF3.6.

Setting up the Target

Now, we’ll combine all these into a single PDE Build Target.

  • Under Preferences Plugin DevelopmentTarget Platform, select Add:

Select “Start with Nothing” , then Next.

In the Locations Tab, we will add each of the installed components from our buildTargets folder.    Select Add Directory Next – then Browse the location.

(Note: when selecting, choose the eclipse folder under each target.)

Do this for each of the 6 downloads above.

Then give your target a meaningful name such as JSDT_Target.

Then click Finish.

In the Preferences dialog, change the active build target to the new “JSDT_Target” and hit OK.

Now your JSDT code– which we have not yet imported–  will compile against the expected target platform.

Resources

  • Modular Mind has some great articles on PDE build targets.

Next: Checking out the code.