Hacking JEuclid

To work with the JEuclid source, you will need to download and install

If you have commiter access, the following extra plugins for eclipse are highly recommended:

Then, access the sourcecode as described on the JEuclid repository site.

Once you have the code available, use Maven to build and package the code. Here are the most common commands:

  • mvn package will compile, test, and bundle JEuclid. Use this command if you are not sure what else to use
  • mvn scm:update will retrieve the newest version from the source repository
  • mvn clean will remove the target directories, forcing a clean build
  • mvn compile site will create the updated website, so you can check the reports
  • mvn test will compile and run the tests

The results of these commands can be found in the target/ directory of each module.

The most notable artifacts are in jeuclid/targetjeuclid-...-distribution.zip (binary distribution) and jeuclid-...-osx.zip (OS X application bundle).

If you get an out of memory error during build, you need to adjust the memory available to maven. You can do this by setting the MAVEN_OPTS environment variable to -Xmx512m

to create a patch, please execute mvn scm::diff. The resulting patch will be saved as jeuclid.diff. Please rename your patch before submitting it through issue tracking.

When you create a patch please:

  • Add a test if possible (in directory src/test/java/net/sourceforge/jeuclid/ for the module)
  • Provide a short entry for the changelog in src/changes/changes.xml (main module)
  • Try to follow the coding style

Please note: By submitting a patch, you agree to publish it under the same license as the rest of JEuclid.

The coding guidelines are given as a set of Checkstyle rules. Please run checkstyle with mvn checkstyle:checkstyle and view the results in target/target/checkstyle-result.xml or target/site/checkstyle.html. The ruleset is listed on the Checkstyle results page and explained on the Checkstyle Standard Checks page.

Your should login to SVN with your sourceforge username and password. It should ask you for it the first time you try to submit

When you add new Java files, please set the property svn:keywords to Revision Date Id

If you have developer access, please add the following to your ~/.m2/settings.xml file:

<settings xmlns="http://maven.apache.org/POM/4.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <servers>
    <server>
      <id>sourceforge</id>
      <username>YOUR_SF_ID</username>
      <privateKey>/path/to/ssh/id_dsa</privateKey>
      <filePermissions>664</filePermissions>
      <directoryPermissions>775</directoryPermissions>
    </server>
  </servers>
</settings>