Belgium
Jun - 09

14

Trac : A great project management tool !

Posted in Java & Eclipse, Work on June 14th, 2009 by Nicolas

trac_logo

@Work, I’ve worked on several software projects. First, I was a plain programmer not caring for the “where are we now?” question but rater quickly, I was assigned managerial responsibilities and the only thing that I had on my mind was “where are we now!?”. I’ve found the Trac project to be just what I needed in order to successfully calm my stress by providing a constant answer to the big question.

Read more »

Apr - 08

14

Subversion Permissions using commit-access-control.pl pre-commit hook

Posted in Java & Eclipse, Work on April 14th, 2008 by Nicolas

Subversion does not allow fine grained permission management natively through svnserve. For example, it is not possible to disable read/write access to a certain SVN directory for a given user.

However, you generally don’t want all your users to be able to write changes anywhere else than the branch they’re working on until they finish their work and prove that they’re able to “not screw everything up” ;)

This can be achieved by using pre-commit hooks in subversion that will make transactions fail in directory where users don’t have permissions.

Read more »

Tags:
Nov - 07

25

Keeping your Java Coding standards up using CheckStyle

Posted in Java & Eclipse, Work on November 25th, 2007 by Nicolas

In some circumstances it is useful to follow some coding guidelines. Most companies that produce software have such guidelines defined and enforced. But how do we check that these guidelines are all being followed? Opening all the source files one by one to check them visually by reading code is a time consuming task not many people would accept doing. Even if a developer accepts such practice, he’ll certainly not enjoy its job if he has to correct all the errors he sees there!

Thankfully, a nice little tool exists for automating such job. Let me introduce CheckStyle, a nice utility that takes a coding style guidelines’ file described in XML and then runs through your sources in order to generate reports on what needs to be changed to be compliant to the rules. As an example, the Sun’s Java developer standard coding guidelines are included in an example XML file.

It gets even nicer as this tool can be included in your ant build script and integrated with cruisecontrol’s automated build system generating graphs of your CheckStyle performances in order to have you forced to keep coding standards up! A plugin exists for the eclipse IDE so each developer can check its source before commiting.

Moreover, it is possible to have an SVN pre-commit hook setup so that no developer can commit code that does not comply to the coding guidelines that you’ve decided upon!

Nov - 07

25

Automating software compilation, test, packaging and delivery with Ant

Posted in Java & Eclipse, Work on November 25th, 2007 by Nicolas

Ant is a great tool for working with Java projects.project-logo

In fact, maybe the need for it does not come as an evidence to you if you’ve been using an IDE like eclipse which does all the path resolution and compilation by some kind of magic! However, when not all developers on a project use the same IDE or if you want to have your source on an automated build system, you’ll find ant very powerfull. With ant, I’m able to have an automated build system compile all my sources, run all my jUnit tests, generate Javadoc, several JARs (with javadoc, with source, without javadoc, …) and run a CheckStyle utility on the source ! Moreover, I can run all this by typing a single command: ant

Read more »

Tags:
Nov - 07

25

Eclipse Mylyn : Context-centric approach to integrating bug reports, tickets and eclipse

Posted in Java & Eclipse, Work on November 25th, 2007 by Nicolas

The Mylyn plugin for eclipse is a rename of the Mylar eclipse plugin. It has become so popular that it is now shipped in the main distribution of Eclipse for the Java developper.

Mylyn provides a context-centered approach to task management. It can be coupled with most of the popular task management (bug report) systems available such as Trac and Bugzilla which which it can be fully integrated.

Read more »

Nov - 07

25

Cruisecontrol & Continuum : Setting up a continuous build for java projects

Posted in Java & Eclipse, Work on November 25th, 2007 by Nicolas

cruisecontrolIn Agile software development, unit testing and trying to have software that “works” at all times is one of the central goals. In order to help you doing this, several systems exist in order to perform “continuous integration”. What those systems basically do is that they check your repository (SVN, CVS, bazaar, …) for changes and each time that it is required, perform a build of the system using the build system that you’ve decided (Ant, Maven, Shell Scripts, Makefile, etc….). The results of the Unit testing, and style checks performed by your build system can then be merged and transformed into a nice website so you can check on what is happening, get detailed build reports, download the latest JARs, etc…

CruiseControl has several hooks that allow you to have a mail go out when a build fails, then have another one go out when the problem is fixed. This is perfect for keeping an overall view of your software projects and knowing their “administrative health” at all times.

continuum_logo_75Continuum Continuum is the Apache software foundation’s response to CruiseControl, it basically does all that CruiseControl does, however, it requires a J2EE Application Container (Tomcat of J2ES 5) in order to be deployed. CruiseControl comes with a bundled Jitty (lightweight tomcat) which is lighter and easier to deploy if you don’t already have the infrastructure setup.

Aug - 07

6

Auto SSH-Tunnel to a CVS repository with eclipse

Posted in Java & Eclipse, Work on August 6th, 2007 by Nicolas

Some of the software projects I’m involved in require access to a CVS repository which is behind a corporate firewall that will drop all incoming traffic which is not directed to a specific machine (the SSH server) on port 22. This situation made it hard to code from outside the organization’s network.

12

Some geekery would be to setup an SSH tunnel from the eclipse machine that would encrypt pserver while outside of the organization and forward it from the SSH server to the CVS server. This could be done by executing the following command:

ssh -L2401:cvs.example.org:2401 ssh.example.org

One would then configure eclipse to access the CVS repository located at localhost using pserver, ssh would do the rest.

This method is now “integrated” into eclipse. When going to File->New->Project->CVS->Project from CVS, you can now choose the pserverssh2 connection method.

You then have to fill the “Host” field using this syntax:

sshlogin@ssh.example.org#sshPort@cvs.example.org

or

sshlogin@ssh.example.org@cvs.example.org

if the ssh server listens on the default port 22.

You then fill in the username and password with your pserver CVS’ credentials and you’re all set!

Enjoy!

Tags: