-
Notifications
You must be signed in to change notification settings - Fork 20
Compiling
Compiling Sone is currently a bit tricky.
- Maven.
- The utils package.
- The utils.json package.
- A checkout of fred.
Installing the utils package is straight-forward. Use mvn install
to compile and install the compiled 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.)
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.
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.)
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.