A crypto abstraction librarary for Java, with enhanced performance over standard JCA, plus support for JOSE
mvn clean install
If you are building on Windows, configure git to checkout Windows style line endings and commit Unix-style line endings:
git config --global core.autocrlf true
Checkout the master branch from GitHub to a first directory:
git clone git@github.com:mbeiter/crypto4j.git
or
git clone https://github.com/mbeiter/crypto4j.git
For first-time git users: configure a default identity for git (stored in ~/.gitconfig):
git config --global user.name "Your Name"
git config --global user.email your@email.com
Or configure a specific identity on a per-repository level (stored in
git config user.name "Your Name"
git config user.email your@email.com
See CONTRIBUTING.md for pointers on how to contribute.
Add / update the license header to all files
mvn license:update-file-header
To create the project license file
mvn license:update-project-license
mvn clean package
(this will create the target folder and resolve + copy all dependencies and sources)main
source directoriestarget/dependency-sources
source directoriestarget/classes
directoriestarget/dependency
directoriestarget/test-classes
directoriesmvn clean install site -P release
from the project root (the ‘release’ profile is optional, see below)For release builds, all SCA scans must pass without errors and Fortify ‘Quick View’ must be clean.
If you get an error message about missing dependencies during site building (e.g. JavaDoc warnings), you forgot to also
do an install
when building the site.
Make sure that everything builds without errors and warnings and is always ready for a release build!
mvn clean install site -P fortify,release -DFORTIFY_VERSION=4.20
mvn com.fortify.ps.maven.plugin:sca-maven-plugin:scan -P fortify -DFORTIFY_VERSION=4.20
install
when building the site.See (Contribute.md) for hints on how to commit and what to include in commit messages.
mvn versions:set -DnewVersion=1.0
mvn versions:commit
Using the “release” profile is mandatory, and the Fortify ‘Quick View’ must be clean.
The “codesigning” profile is mandatory, as the bits will not be accepted by the upstream repository without a signature.
mvn clean deploy site -P fortify,release,codesigning -DFORTIFY_VERSION=4.20
mvn com.fortify.ps.maven.plugin:sca-maven-plugin:scan -P fortify -DFORTIFY_VERSION=4.20
For automated builds on a single-user machine, it is okay to specify the passphrase of the GPG signing key:
mvn clean deploy site -P fortify,release,codesigning -Dgpg.passphrase=keyPassphrase -DFORTIFY_VERSION=4.20
mvn com.fortify.ps.maven.plugin:sca-maven-plugin:scan -P fortify -DFORTIFY_VERSION=4.20
mvn site:stage
Go to the Sonatype staging repo and promote the build.
mvn clean
git status
git add . -A
git commit -m "Release 1.0 prep"
git tag -a 1.0 -m "Release 1.0"
mvn versions:set -DnewVersion=1.1-SNAPSHOT
mvn versions:commit
git status
git add . -A
git commit -m "1.1 SNAPSHOT prep"
git push