| Ignite Fabric Maven Build Instructions |
| ====================================== |
| 1) Optional: build Apache Ignite.NET as described at modules/platforms/dotnet/DEVNOTES.txt. |
| |
| 2) Compile and install: |
| |
| mvn clean install -Pall-java,all-scala,licenses -DskipTests |
| |
| or if you have built Apache Ignite.NET on the first step use following command: |
| (Note that 'doxygen' should be installed before running this command.) |
| |
| mvn clean install -Pall-java,all-scala,licenses -DskipTests -DclientDocs |
| |
| 3) Javadoc generation (optional): |
| |
| mvn initialize -Pjavadoc |
| |
| 4) Assembly Apache Ignite fabric: |
| |
| mvn initialize -Prelease |
| |
| Look for apache-ignite-fabric-<version>-bin.zip in ./target/bin directory. |
| |
| |
| Ignite Fabric with LGPL Maven Build Instructions |
| ================================================ |
| 1) Optional: build Apache Ignite.NET as described at modules/platforms/dotnet/DEVNOTES.txt. |
| |
| 2) Compile and install: |
| |
| mvn clean install -Pall-java,all-scala,licenses -DskipTests |
| |
| or if you have built Apache Ignite.NET on the first step use following command: |
| (Note that 'doxygen' should be installed before running this command.) |
| |
| mvn clean install -Pall-java,all-scala,licenses -DskipTests -DclientDocs |
| |
| 3) Javadoc generation with LGPL (optional): |
| |
| mvn initialize -Pjavadoc,lgpl |
| |
| 4) Assembly Apache Ignite fabric with LGPL dependencies: |
| |
| mvn initialize -Prelease,lgpl -Dignite.edition=fabric-lgpl |
| |
| Look for apache-ignite-fabric-lgpl-<version>-bin.zip in ./target/bin directory. |
| |
| |
| Ignite Hadoop Accelerator Maven Build Instructions |
| ================================================== |
| 1) Compile and install: |
| |
| mvn clean install -Pall-java,all-scala,licenses -DskipTests |
| |
| Use 'hadoop.version' parameter to build Ignite against a specific Hadoop version. |
| Use 'spark.version' parameter to build ignite-spark module for a specific Spark version. Version should be >= 2.0.0. |
| For example: |
| |
| mvn clean install -Pall-java,all-scala,licenses -DskipTests -Dhadoop.version=2.4.2 -Dspark.version=2.1.1 |
| |
| 2) Assembly Hadoop Accelerator: |
| |
| mvn initialize -Prelease -Dignite.edition=hadoop |
| |
| Look for apache-ignite-hadoop-<version>-bin.zip in ./target/bin directory. Resulting binary |
| assembly will also include integration module for Apache Spark. |
| |
| NOTE: JDK version should be 1.7.0-* or >= 1.8.0-u40. |
| |
| |
| Ignite C++ Build Instructions |
| ============================= |
| Instructions can be found at modules/platforms/cpp/DEVNOTES.txt. |
| |
| |
| Apache Ignite RPM Package Build Instructions |
| ============================================ |
| 1) Install dependencies |
| |
| yum install -y rpmdevtools rpm-build |
| |
| 2) Create directory layout |
| |
| rpmdev-setuptree |
| |
| 3) Copy build specification and additional sources required for build |
| |
| cp -rfv packaging/rpm/* ~/rpmbuild |
| |
| 4) Copy built binary from target/bin to sources directory |
| |
| cp -rfv target/bin/apache-ignite-<version>-bin.zip ~/rpmbuild/SOURCES/apache-ignite.zip |
| |
| 5) Run build process |
| |
| rpmbuild -bb ~/rpmbuild/SPECS/apache-ignite.spec |
| |
| NOTE: to build also SRPM package, run with -ba flag instead |
| |
| Package will be available in ~/rpmbuild/RPMS/noarch |
| |
| |
| Install and Run Apache Ignite from RPM |
| ====================================== |
| 1) Install package |
| |
| yum localinstall -y apache-ignite-<version>.rpm |
| |
| 2) Start Apache Ignite service |
| |
| systemctl start apache-ignite@<config name> |
| |
| NOTE: <config name> - relative to /etc/apache-ignite configuration file name |
| |
| Example: |
| |
| systemctl start apache-ignite@default-config.xml |
| |
| 3) See logs in /var/log/apache-ignite or journalctl -xe |
| |
| |
| Ignite Release Instructions |
| =========================== |
| 1) Use your people.apache.org/keys/committer/<username>.asc key to generate KEYS file. |
| Download https://dist.apache.org/repos/dist/release/ignite/KEYS and append you key using commands: |
| |
| gpg --list-sigs <keyname> >> KEYS |
| gpg --armor --export <keyname> >> KEYS |
| |
| Upload modified KEYS file. |
| |
| 2) 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. |
| |
| 3) Deploy Ignite release candidate to maven repository and dev-svn, make tag: |
| |
| 3.1) Deploy Ignite to maven repository, prepares sources and fabric edition binaries. |
| |
| mvn deploy -Papache-release,gpg,all-java,all-scala,licenses,deploy-ignite-site -Dignite.edition=fabric -DskipTests |
| |
| 3.2) Javadoc generation: |
| |
| mvn initialize -Pjavadoc |
| |
| 3.3) Assembly Apache Ignite Fabric: |
| |
| mvn initialize -Prelease |
| |
| 3.4) Assembly Hadoop Accelerator: |
| |
| mvn initialize -Prelease -Dignite.edition=hadoop |
| |
| NOTE: Binary artifact name can be changed by setting additional property -Dignite.zip.pattern. Binary artifact will be |
| created inside /target/bin folder when release profile is used. |
| |
| NOTE: Sources artifact name is fixed. Sources artifact will be created inside /target dir when apache-release profile is used. |
| |
| NOTE: Nexus staging (repository.apache.org) should be closed with appropriate comment contains release version and |
| release candidate number, for example "Apache Ignite 1.0.0-rc7", when mvn deploy finished. |
| |
| 3.5) Checkout https://dist.apache.org/repos/dist/dev/ignite svn. Create release candidate folder with name |
| equals to release version with "-rc*" ending, for example "1.0.0-rc7", at svn root. |
| Copy /target/site folder content to svn/ignite/<rc-version> folder and commit with appropriate comment. |
| |
| 3.6) Make appropriate git tag for release candidate, for example "ignite-X.Y.Z-rc1". |
| |
| 4) Start vote based on https://dist.apache.org/repos/dist/dev/ignite/<rc-version>. |
| |
| 5) Release nexus staging, move binaries and sources from https://dist.apache.org/repos/dist/dev/ignite/<rc-version> |
| to https://dist.apache.org/repos/dist/release/ignite/<version> when version accepted. |
| Use svn mv ^/dev/ignite/<rc-version> ^/release/ignite/<version> command for proper moving. |
| |
| 6) Make appropriate git tag for released version, for example "ignite-X.Y.Z". |
| |
| 7) Send an email to dev@ignite.apache.org contains release svn url. |
| |
| |
| JCache TCK compliance |
| ====================== |
| To test compliance with JCache TCK use: |
| |
| mvn test -P-release,jcache-tck -pl :ignite-core -am |
| |
| |
| Ignite Mesos Maven Build Instructions |
| ===================================== |
| |
| cd ./modules/mesos |
| mvn clean package |
| |
| Look for ignite-mesos-<version>.jar in ./target directory. |
| |
| |
| Ignite Yarn Maven Build Instructions |
| ==================================== |
| |
| cd ./modules/yarn |
| mvn clean package |
| |
| Look for ignite-yarn-<version>.jar in ./target directory. |
| |
| |
| Run tests |
| ========= |
| To run tests locally use: |
| |
| mvn clean test -U -Plgpl,examples,-clean-libs,-release -Dmaven.test.failure.ignore=true -DfailIfNoTests=false -Dtest=%TEST_PATTERN% |
| |
| For example, %TEST_PATTERN% can be 'org.apache.ignite.testsuites.IgniteBasicTestSuite' or 'GridCacheLocalAtomicFullApiSelfTest#testGet' |
| |
| |
| 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 |
| |