I had to do some grueling work on the Roller persistence layer this weekend,
the kind that requires lots of searching, replacing, trial-and-error experimenting, testing, and debugging. I
decided to make the job fun by trying something new: Eclipse. Normally, I use WinCVS and VIM for my development. Sometimes I
use JBuilder when I need to
throw together a quick Swing UI or Netbeans
when I need to do some debugging. Here is the story of my first real
experience with Eclipse:
Installation
To start out, I downoaded the latest
Eclipse 2.0.1 release
for Windows. I also downloaded the
Solare Eclipse,
Jalopy, and
Tomcat plugins
recommended by
Jeff Duska. The install went smoothly and installing
the plugins was easy, I just unzipped them into the Eclipse plugins directory.
CVS integration
Once I got Eclipse up and running, I setup a CVS repository within Eclipse
that points to Roller's SourceForce CVS repository. Even though CVS
over SSH is normally a bitch to setup, it worked on the first try with Eclipse.
Next, I used the Checkout-As-Project feature of Eclipse to checkout
the Roller sources into a brand new Eclipse project. Generally, I found the
CVS UI to be excellent, especially the file and directory diff tools.
Ant integration
The Roller build process uses a lot of code generation and this code generation
is driven by XDoclet tasks in an Ant script. So, I couldn't just point
Eclipse at the Roller sources and hit the build button. I used the
Eclipse External Tools feature to setup Eclipse to run Roller's Ant build
script. Again, this feature worked on the first try.
JUnit integration
I wrote some simple unit tests to test my changes and then did my work. Once
I was done, I found that the Eclipse debugger's Run->Debug... feature
allows you to automatically find, run, and debug into JUnit tests. Again,
this feature was amazingly easy to set up.
Tomcat integration and the debugger
Once I finished up my work on the Roller backend, I had to make some corresponding
changes in the Roller UI. I found it very easy to use the Tomcat plugin
to launch Tomcat in debug mode to debug my changes. The debugger UI was pretty impressive and very responsive.
Overall, I was very impressed. Netbeans can do most of things I have
described above, but they always seem like a struggle to me. This was
my first time with Eclipse and things just seemed obvious to me. I
hate to say it because Netbeans has served me well and I really like Swing,
but Eclipse has a much more streamlined, intuitive, and snappy user interface.
Eclipse is a pleasure to use.