Here are some slideshare slides about this project philosiphy
For the moment if you try to build all modules in the same reactor you will gel out of memory exception if you still want to build all in a single step cd to root folder and run
> mvn clean install
If you want to build just a part or you tried the method above and failed do these steps: cd to root folder and :
cd parent
mvn clean install
cd ../d96a
mvn clean install
To build all packages without deploying them to Nexus, simply run ./build.sh
with no parameters (equivalent to running mvn clean install
). To build a specific set of packages, supply the package names as a space separated list of parameters e.g. ./build.sh d00a d00b
.
To build all packages and deploy to the Codehaus Nexus repository (read more here), supply the following parameters:
- -d: Deploy to Nexus.
- -u: Codehaus username (same as Xircles).
- -p: Codehaus password (same as Xircles).
- -g: GPG key passphrase. See Smooks RELEASE.md.
e.g.:
./build.sh -d yes -u tomfennelly -p "xxxxxxxxxxxx" -g "yyyyyyyyyyyyy"
Note that this script is very experimental. To have more predictable behavior, use the ./build.sh
script (see above).
./threaded.sh
spins off multiple builds in parallel, greatly reducing the amount of time to build all packages. You need to supply the script with a number indicating how many parallel builds it can run. This number should be based on the number of cores the host has (max) e.g. if the host has 8 cores then something like ./threaded.sh -j 6
would probably work perfectly well i.e. 6 parallel package builds.
You can also build from the docker image:
- Install docker.
- Run
sudo docker build -t smooks-unedifact github.com/smooks/unedifact
. This will create a docker image named "smooks-unedifact" that contains the correct build environment and a cloned copy of this git repo. - Run
sudo docker run -i smooks-unedifact <command>
to execute the desired build (see above).
Find your specification on UNECE site then create a directory named after the specification (you can copy paste an older one) where you will download the desired zip.
Read build steps above
Run 'gradle projects' to see that you newly added project was added:
> gradle projects
------------------------------------------------------------
Root Project - Smooks Unedifact project
------------------------------------------------------------
Root project 'unedifact' - Smooks Unedifact project
+--- Project ':d00a/binding'
+--- Project ':d00a/mapping'
+--- Project ':d00b/binding'
...
mvn clean install deploy
To deploy artifacts first create a gradle.properties in the root project directory:
milynUser=<username>
milynPassword=<password>
Then run the deploy task: > gradle uploadArchives