Skip to content
David Roden edited this page Jan 9, 2015 · 14 revisions

Compiling Sone is currently a bit tricky.

Things that you need:

Install the utils package

Installing the utils package is straight-forward. Use mvn install to compile and install the compiled package.

Installing the utils.json package.

See description for the utils package above. You might have to use the “next” branch and change the version number in pom.xml to whatever Sone is expecting. (Yes, the version numbering needs to be fixed, and it will.)

Install a package of fred

Compile fred normally, then use Maven to install the file in a Maven-conform location that Sone can use.

git checkout build01336
ant clean dist
mvn install:install-file -Dfile=dist/freenet.jar -DgroupId=org.freenetproject -DartifactId=fred -Dversion=0.7.5.1336 -Dpackaging=jar -DgeneratePom=true

Remember to substitute the correct version numbers of your fred checkout! The required version number is contained in Sone’s pom.xml file. However, you need to make sure that your freenet.jar actually contains the correct version! Pre-release versions are added as patch versions 99, e.g. 1468-pre1 is installed as version 0.7.5.1467.99.1.

Install freenet-ext

mvn install:install-file -Dfile=lib/freenet-ext.jar -DgroupId=org.freenetproject -DartifactId=freenet-ext -Dversion=26 -Dpackaging=jar -DgeneratePom=true

Note that even though freenet-ext has already advanced to version 27, there is no way to track the version number correctly due to Freenet’s missing/broken (depending on your definition) version handling when it comes to freenet-ext. Also, I might have made the mistake of calling it version 26 when it already was 27. Again, I blame this on insufficient possibilities to track down which version number actually the current version of freenet-ext at the time of build 1336.

Build 1336 does not build with the current version of freenet-ext so you have to get yourself an older version of freenet-ext. 27-pre7 makes freenet compile. (It will have to be installed as version 26; I will fix this with one of the next versions of Sone.)

Install Sone

Now, compiling Maven is trivial:

mvn clean package

Now you have a JAR file with all dependencies in the target directory. Feed that file to fred’s plugin manager, and you’re done.

Clone this wiki locally