blob: 1562dc42642b395885eecfd8b32c776c2c95d1ed [file] [log] [blame]
Ignite Fabric Maven Build Instructions
======================================
Without LGPL dependencies (default):
mvn clean package -DskipTests
With LGPL dependencies:
mvn clean package -DskipTests -Prelease,lgpl
Look for incubator-ignite-<version>-bin.zip in ./target/bin directory.
NOTE: JDK version should be 1.7.0-* or >= 1.8.0-u40.
Schema Import module use JavaFX, under OpenJDK may be compiled and run only on OpenJDK 8 with installed OpenJFX.
Ignite Hadoop Accelerator Maven Build Instructions
============================================
mvn clean package -DskipTests -Dignite.edition=hadoop [-Dhadoop.version=X.X.X]
Use 'hadoop.version' parameter to build Ignite against a specific Hadoop version.
Look for incubator-ignite-<version>-bin.zip in ./target/bin directory.
NOTE: JDK version should be 1.7.0-* or >= 1.8.0-u40.
Ignite Release Instructions
===========================
Use people.apache.org/keys/committer/<username>.asc key to generate KEYS file.
Execute these commands at source root:
gpg --list-sigs <keyname> >> KEYS
gpg --armor --export <keyname> >> KEYS
Specify gpg profile at settings.xml. It will be used to sign sources and artifacts.
<profile>
<id>gpg</id>
<properties>
<gpg.keyname>keyname</gpg.keyname>
<gpg.passphrase>passphrase</gpg.passphrase>
</properties>
</profile>
Ensure you have RELEASE (not SNAPSHOT) version at Ignite poms.
Maven release plugin release:prepare goal can be used to make release tag.
Deploy Ignite release candidate to maven repository and dev-svn:
mvn deploy -P apache-release,gpg,release,scala,lgpl,deploy-ignite-site -Dignite.edition=fabric -DskipTests -B
Binary artifact name can be changed by setting additional property -Dignite.zip.pattern.
Sources package name is fixed. Sources package zip will be created automatically when apache-release profile used.
In case you want to release both fabric and hadoop editions you have to build hadoop first, save /target/bin/*.zip,
make "mvn clean" and restore them before deploy step.
Nexus staging (repository.apache.org) should be closed when mvn deploy finished.
Checkout https://dist.apache.org/repos/dist/dev/incubator/ignite svn. Create new folder with name equals to released
version at svn root. Copy target/site folder content to svn/ignite/<version> folder and commit.
Start vote based on https://dist.apache.org/repos/dist/dev/incubator/ignite/<version>.
Release nexus staging and copy binaries and sources from https://dist.apache.org/repos/dist/dev/incubator/ignite/<version>
to https://dist.apache.org/repos/dist/release/incubator/ignite/<version> when version accepted.
JCache TCK compliance
======================
To test compliance with JCache TCK use:
mvn test -P-release,jcache-tck -pl :ignite-core -am
Apache RAT Instructions
=======================
To check license headers use:
mvn clean validate -Pcheck-licenses
For more information (e.g. exclude list) see "check-licenses" profile in "parent/pom.xml".
Useful Release Commands
========================
ZIP: zip -r9 apache-ignite-X.X.X-src.zip apache-ignite-X.X.X-src
GPG: gpg --armor --output apache-ignite-X.X.X-src.zip.asc --detach-sig apache-ignite-X.X.X-src.zip