Skip to content
Matthew Casperson edited this page Aug 2, 2019 · 1 revision

Building

In order to build the JAR file, you need to set up some GPG keys.

  1. Install GnuPG

  2. Create a key with the command gpg --gen-key

  3. You will see output like this:

    gpg: /home/mcasperson/.gnupg/trustdb.gpg: trustdb created
    gpg: key 1144E38E marked as ultimately trusted
    public and secret key created and signed.
    
    gpg: checking the trustdb
    gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
    gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
    pub   2048R/1144E38E 2017-08-05
          Key fingerprint = 41B2 286F 622C B89B F615  3734 CBFB 584B 1144 E38E
    uid                  Matthew Casperson <[email protected]>
    sub   2048R/E6570800 2017-08-05
    

    The key ID in this example is 1144E38E.

  4. Add the details of the key to the file ~/.gradle/gradle.properties

    signing.keyId=1144E38E
    signing.password=password
    signing.secretKeyRingFile=/home/mcasperson/.gnupg/secring.gpg
    

    Windows users would have the key ring file in a folder like C:/Users/Matthew/AppData/Roaming/gnupg/secring.gpg

Newer versions of gpg do not create the secure rung file by default. It can be created by running gpg --export-secret-keys > C:/Users/Matthew/AppData/Roaming/gnupg/secring.gpg.

Building the JAR also requires that you have a Sonatype username and password added to the ~/.gradle/gradle.properties file. You can find details on creating a SonaType account here.

Note that unless you intend to publish the file to Sonatype OSS Nexus, you don't need an actual username and password, and can just add dummy values.

ossrhUsername=sonatype_user
ossrhPassword=sonatype_password

So your complete ~/.gradle/gradle.properties will look something like this:

signing.keyId=1144E38E
signing.password=password
signing.secretKeyRingFile=/home/mcasperson/.gnupg/secring.gpg
ossrhUsername=sonatype_user
ossrhPassword=sonatype_password

Run the following command to build Iridium:

./gradlew clean shadowJar

Travis CI

Iridium is also built and tested by Travis CI. The current state is: Build Status

Test code coverage is tracked by CodeCov: codecov

Clone this wiki locally