With maven, with profiles for AWS java v1 and v2 SDK.
To build a production release
- Use java8
- compile against a shipping hadoop version (see the profiles)
- Use with
-Pextra
for the AWS v1 SDK integration - Build with
-Psdk2
for the aws sdk v2.
V1 SDK build
mvn clean install -Pextra
V2 SDK build
mvn clean install -Psdk2
Joint build
mvn clean install -Pextra && mvn install -Psdk2
To publish the release use the gui or the github command line through the fish
shell.
mvn clean install -Pextra && mvn install -Psdk2
set -gx now (date '+%Y-%m-%d-%H.%M'); echo [$now]
git add .; git status
git commit -S --allow-empty -m "release $now"; git push
gh release create tag-release-$now -t release-$now -n "release of $now" -d target/cloudstore-1.0.jar
# then go to the web ui to review and finalize the release
- If a new release is made the same day, remember to create a new tag.
- The version
cloudstore-1.0.jar
is always used, not just from laziness but because it allows for bash scripts to always be able to fetch the latest version through curl then execute it.