1 Ignite Fabric Maven Build Instructions
2 ======================================
3 1) Optional: build Apache Ignite.NET as described at modules/platforms/dotnet/DEVNOTES.txt.
5 2) Compile and install:
7 mvn clean install -Pall-java,all-scala,licenses -DskipTests
9 or if you have built Apache Ignite.NET on the first step use following command:
10 (Note that 'doxygen' should be installed before running this command.)
12 mvn clean install -Pall-java,all-scala,licenses -DskipTests -DclientDocs
14 3) Javadoc generation (optional):
16 mvn initialize -Pjavadoc
18 4) Assembly Apache Ignite fabric:
20 mvn initialize -Prelease
22 Look for apache-ignite-fabric-<version>-bin.zip in ./target/bin directory.
25 Ignite Fabric with LGPL Maven Build Instructions
26 ================================================
27 1) Optional: build Apache Ignite.NET as described at modules/platforms/dotnet/DEVNOTES.txt.
29 2) Compile and install:
31 mvn clean install -Pall-java,all-scala,licenses -DskipTests
33 or if you have built Apache Ignite.NET on the first step use following command:
34 (Note that 'doxygen' should be installed before running this command.)
36 mvn clean install -Pall-java,all-scala,licenses -DskipTests -DclientDocs
38 3) Javadoc generation with LGPL (optional):
40 mvn initialize -Pjavadoc,lgpl
42 4) Assembly Apache Ignite fabric with LGPL dependencies:
44 mvn initialize -Prelease,lgpl -Dignite.edition=fabric-lgpl
46 Look for apache-ignite-fabric-lgpl-<version>-bin.zip in ./target/bin directory.
49 Ignite Hadoop Accelerator Maven Build Instructions
50 ==================================================
51 1) Compile and install:
53 mvn clean install -Pall-java,all-scala,licenses -DskipTests
55 Use 'hadoop.version' parameter to build Ignite against a specific Hadoop version.
56 Use 'spark.version' parameter to build ignite-spark module for a specific Spark version. Version should be >= 2.0.0.
59 mvn clean install -Pall-java,all-scala,licenses -DskipTests -Dhadoop.version=2.4.2 -Dspark.version=2.1.1
61 2) Assembly Hadoop Accelerator:
63 mvn initialize -Prelease -Dignite.edition=hadoop
65 Look for apache-ignite-hadoop-<version>-bin.zip in ./target/bin directory. Resulting binary
66 assembly will also include integration module for Apache Spark.
68 NOTE: JDK version should be 1.7.0-* or >= 1.8.0-u40.
71 Ignite C++ Build Instructions
72 =============================
73 Instructions can be found at modules/platforms/cpp/DEVNOTES.txt.
76 Apache Ignite RPM Package Build Instructions
77 ============================================
78 1) Build Apache Ignite binary archive (instructions above)
80 2) Run packaging script and follow messages if they required interaction
82 packaging/package.sh --rpm
84 Packages will be available in packaging/ directory
87 Apache Ignite DEB Package Build Instructions
88 ============================================
89 1) Build Apache Ignite binary archive (instructions above)
91 2) Build Apache Ignite RPM package (also above)
93 3) Run packaging script and follow messages if they required interaction
95 packaging/package.sh --deb
97 Packages will be available in packaging/ directory
99 NOTE: to build both packages type at once, run
101 packaging/package.sh --rpm --deb
104 Install and Run Apache Ignite from packages
105 ===========================================
106 1) Install package with YUM or APT respectively
108 yum localinstall -y apache-ignite-<version>.noarch.rpm
110 dpkg -i apache-ignite_<version>_all.deb
112 2) Start Apache Ignite service
114 systemctl start apache-ignite@<config name>
116 NOTE: <config name> - relative to /etc/apache-ignite configuration file name
120 systemctl start apache-ignite@default-config.xml
122 3) See logs in /var/log/apache-ignite or journalctl -xe
125 Ignite Release Instructions
126 ===========================
127 1) Use your people.apache.org/keys/committer/<username>.asc key to generate KEYS file.
128 Download https://dist.apache.org/repos/dist/release/ignite/KEYS and append you key using commands:
130 gpg --list-sigs <keyname> >> KEYS
131 gpg --armor --export <keyname> >> KEYS
133 Upload modified KEYS file.
135 2) Specify gpg profile at settings.xml. It will be used to sign sources and artifacts.
140 <gpg.keyname>keyname</gpg.keyname>
141 <gpg.passphrase>passphrase</gpg.passphrase>
145 Ensure you have RELEASE (not SNAPSHOT) version at Ignite poms.
146 Maven release plugin release:prepare goal can be used to make release tag.
148 3) Deploy Ignite release candidate to maven repository and dev-svn, make tag:
150 3.1) Deploy Ignite to maven repository, prepares sources and fabric edition binaries.
152 mvn deploy -Papache-release,gpg,all-java,all-scala,licenses,deploy-ignite-site -Dignite.edition=fabric -DskipTests
154 3.2) Javadoc generation:
156 mvn initialize -Pjavadoc
158 3.3) Assembly Apache Ignite Fabric:
160 mvn initialize -Prelease
162 3.4) Assembly Hadoop Accelerator:
164 mvn initialize -Prelease -Dignite.edition=hadoop
166 NOTE: Binary artifact name can be changed by setting additional property -Dignite.zip.pattern. Binary artifact will be
167 created inside /target/bin folder when release profile is used.
169 NOTE: Sources artifact name is fixed. Sources artifact will be created inside /target dir when apache-release profile is used.
171 NOTE: Nexus staging (repository.apache.org) should be closed with appropriate comment contains release version and
172 release candidate number, for example "Apache Ignite 1.0.0-rc7", when mvn deploy finished.
174 3.5) Checkout https://dist.apache.org/repos/dist/dev/ignite svn. Create release candidate folder with name
175 equals to release version with "-rc*" ending, for example "1.0.0-rc7", at svn root.
176 Copy /target/site folder content to svn/ignite/<rc-version> folder and commit with appropriate comment.
178 3.6) Make appropriate git tag for release candidate, for example "ignite-X.Y.Z-rc1".
180 4) Start vote based on https://dist.apache.org/repos/dist/dev/ignite/<rc-version>.
182 5) Release nexus staging, move binaries and sources from https://dist.apache.org/repos/dist/dev/ignite/<rc-version>
183 to https://dist.apache.org/repos/dist/release/ignite/<version> when version accepted.
184 Use svn mv ^/dev/ignite/<rc-version> ^/release/ignite/<version> command for proper moving.
186 6) Make appropriate git tag for released version, for example "ignite-X.Y.Z".
188 7) Send an email to dev@ignite.apache.org contains release svn url.
191 JCache TCK compliance
192 ======================
193 To test compliance with JCache TCK use:
195 mvn test -P-release,jcache-tck -pl :ignite-core -am
198 Ignite Mesos Maven Build Instructions
199 =====================================
204 Look for ignite-mesos-<version>.jar in ./target directory.
207 Ignite Yarn Maven Build Instructions
208 ====================================
213 Look for ignite-yarn-<version>.jar in ./target directory.
218 To run tests locally use:
220 mvn clean test -U -Plgpl,examples,-clean-libs,-release -Dmaven.test.failure.ignore=true -DfailIfNoTests=false -Dtest=%TEST_PATTERN%
222 For example, %TEST_PATTERN% can be 'org.apache.ignite.testsuites.IgniteBasicTestSuite' or 'GridCacheLocalAtomicFullApiSelfTest#testGet'
225 Apache RAT Instructions
226 =======================
227 To check license headers use:
229 mvn clean validate -Pcheck-licenses
231 For more information (e.g. exclude list) see "check-licenses" profile in "parent/pom.xml".
234 Useful Release Commands
235 =======================
237 zip -r9 apache-ignite-X.X.X-src.zip apache-ignite-X.X.X-src
239 gpg --armor --output apache-ignite-X.X.X-src.zip.asc --detach-sig apache-ignite-X.X.X-src.zip