The docker image expects that you mount the input Java patches into /input
, JSON patches into /input_json
, and the Java files to be patched into /output
. For example:
docker run \
-v/users/svc-jenkins/code/dist_types/src/main/java/:/input \
-v/users/svc-jenkins/code/dist_types/src/main/json/:/input_json_patches \
-v/users/svc-jenkins/code/dist_types/src/main/generated:/output \
liveramp/extravagance:latest
The Java files will be modified in-place.
The extravagance
binary itself accepts three arguments, which are, respectively, the path of the Java patches, the path of the JSON patches, and the path to the Java files which are to be patched. For example:
extravagance \
/users/svc-jenkins/code/dist_types/src/main/java/ \
/users/svc-jenkins/code/dist_types/src/main/json/ \
/users/svc-jenkins/code/dist_types/src/main/generated
First, run stack docker pull
to download the docker image used to run the compilation process. In theory, you should now be able to just run bin/build-docker
to produce a Docker image locally. The process may randomly crash, possibly due to running out of memory. You should be able to restart it and it will continue where it left off.
To build a binary for your development system, simply run stack build .
.