Skip to content

Latest commit

 

History

History
104 lines (72 loc) · 3.07 KB

INSTALL.md

File metadata and controls

104 lines (72 loc) · 3.07 KB

Prerequisites

In order to build the Open eCard project, some additional tools are needed.

Required dependencies are:

Optional dependencies are:

  • Android SDK The Android SDK dependent modules are built when the environment variable ANDROID_HOME is set and points to the installation directory of the Android SDK.

    https://developer.android.com/sdk/index.html

  • Android NDK The Android NDK dependent modules are built when the environment variable ANDROID_NDK_HOME is set and points to the installation directory of the Android NDK. The Android NDK has a direct dependency for the Android SDK. However due to restrictions in maven, no actual check is performed enforcing that the Android SDK must also be configured.

    https://developer.android.com/tools/sdk/ndk/index.html

Prior to starting the build, all Git submodules must be initialized with the following command, which must be issued form the project root:

$ git submodule update --init

Git submodule updates may also be necessary after pulling changes from the remote repository. The git status command indicates when this is needed.

Build Sources

A standard build is performed by the command:

$ mvn clean install

In order to create Javadoc and source artifacts, perform the following command:

$ mvn clean javadoc:javadoc javadoc:jar source:jar install

Build Profiles

The Open eCard project uses Maven profiles to modify how the build is performed and which artifacts are created.

Maven profiles are selected on the commandline by adding the -P option as follows:

$ mvn -Pprofile1,profile2

The following global profiles are defined:

  • release Remove debugging symbols from Java bytecode.

The following profiles are module specific:

Module clients/applet

  • trace-applet Bundle SLF4J extension artifact, so that the applet can emit trace logs.

Module clients/richclient

  • bundles-jar-cifs Usually the cifs are provided by a seperate artifact. This profile creates a 'contains everything' jar file for direct execution.

Code Signing

The applet and richclient modules produce signed artifacts. A dummy certificate is included in the source distribution, so the build runs in any case. If another certificate from a trusted CA should be used, then the following fragment must be inserted into $HOME/.m2/settings.xml:

override-sign true PATH_TO_JAVA_KEYSTORE KEYSTORE_PASSWORD CERTIFICATE_KEY_PASSWORD CERTIFICATE_ALIAS