Develop and debug SQuirreL and SQuirreL-Plugins

Scope

This article explains how to set up Java-IDEs to develop and debug SQuirreL and SQuirreL-Plugins. The set up presented here is different from the standard Maven based set up explained at http://sourceforge.net/apps/trac/squirrel-sql/wiki/DeveloperGuide. While the Maven based set up provides all the necessary steps to create full builds and installers for SQuirreL this set up is focused on a programmer's needs who wants to quickly compile, test and debug code changes.



Content

  1. Basic idea
    First we describe the basic idea of the set up which should be IDE-independent. That means with any Java-IDE one should be able to create a project according to the basic idea.

  2. Example project set ups for Eclipse, Netbeans and IntelliJ-Idea



Basic idea

  1. Install SQuirreL in some directory. Alternatively after you have done the Maven builds you might use sql12/installer/squirrelsql-other-installer/target/ as your quasi installation directory.

  2. Create a project in your IDE and include the necessary libraries from the installation directory. That is usually the jars from the lib dir, squirrel-sql.jar and the jars from the plugins/ directory.
    Some Plugins bring their own libraries with them. You might need to include those libs in your project too.

  3. At this point you should be able to start SQuirrel from within the IDE using

  4. Include the sources of your SVN checkout you want to work with in your project. For example
    sql12/fw/src/main/java/
    sql12/fw/src/main/resource/
    sql12/app/src/main/java/
    sql12/app/src/main/resource/
    sql12/plugins/graph/src/main/java/
    sql12/plugins/graph/src/main/resource/

Now you should be able to compile, test and debug code changes to these sources. This works because your IDE usually has a compile output directory. When you launch SQuirreL from within your IDE this directory should automatically be put first in your classpath.



Example project set ups Eclipse, Netbeans and IntelliJ-Idea

Eclipse




Netbeans




IntelliJ Idea