IGNITE-8907: [ML] Using vectors in featureExtractor
[ignite.git] / DEVNOTES.txt
1 Ignite Fabric Maven Build Instructions
2 ======================================
3 1) Optional: build Apache Ignite.NET as described at modules/platforms/dotnet/DEVNOTES.txt.
4
5 2) Compile and install:
6
7         mvn clean install -Pall-java,all-scala,licenses -DskipTests
8
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.)
11
12         mvn clean install -Pall-java,all-scala,licenses -DskipTests -DclientDocs
13
14 3) Javadoc generation (optional):
15
16         mvn initialize -Pjavadoc
17
18 4) Assembly Apache Ignite fabric:
19
20         mvn initialize -Prelease
21
22 Look for apache-ignite-fabric-<version>-bin.zip in ./target/bin directory.
23
24
25 Ignite Fabric with LGPL Maven Build Instructions
26 ================================================
27 1) Optional: build Apache Ignite.NET as described at modules/platforms/dotnet/DEVNOTES.txt.
28
29 2) Compile and install:
30
31         mvn clean install -Pall-java,all-scala,licenses -DskipTests
32
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.)
35
36         mvn clean install -Pall-java,all-scala,licenses -DskipTests -DclientDocs
37
38 3) Javadoc generation with LGPL (optional):
39
40         mvn initialize -Pjavadoc,lgpl
41
42 4) Assembly Apache Ignite fabric with LGPL dependencies:
43
44         mvn initialize -Prelease,lgpl -Dignite.edition=fabric-lgpl
45
46    Look for apache-ignite-fabric-lgpl-<version>-bin.zip in ./target/bin directory.
47
48
49 Ignite Hadoop Accelerator Maven Build Instructions
50 ==================================================
51 1) Compile and install:
52
53         mvn clean install -Pall-java,all-scala,licenses -DskipTests
54
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.
57    For example:
58
59         mvn clean install -Pall-java,all-scala,licenses -DskipTests -Dhadoop.version=2.4.2 -Dspark.version=2.1.1
60
61 2) Assembly Hadoop Accelerator:
62
63         mvn initialize -Prelease -Dignite.edition=hadoop
64
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.
67
68    NOTE: JDK version should be 1.7.0-* or >= 1.8.0-u40.
69
70
71 Ignite C++ Build Instructions
72 =============================
73 Instructions can be found at modules/platforms/cpp/DEVNOTES.txt.
74
75
76 Apache Ignite RPM Package Build Instructions
77 ============================================
78 1) Build Apache Ignite binary archive (instructions above)
79
80 2) Run packaging script and follow messages if they required interaction
81
82         packaging/package.sh --rpm
83
84    Packages will be available in packaging/ directory
85
86
87 Apache Ignite DEB Package Build Instructions
88 ============================================
89 1) Build Apache Ignite binary archive (instructions above)
90
91 2) Build Apache Ignite RPM package (also above)
92
93 3) Run packaging script and follow messages if they required interaction
94
95         packaging/package.sh --deb
96
97    Packages will be available in packaging/ directory
98
99    NOTE: to build both packages type at once, run
100
101         packaging/package.sh --rpm --deb
102
103
104 Install and Run Apache Ignite from packages
105 ===========================================
106 1) Install package with YUM or APT respectively
107
108         yum localinstall -y apache-ignite-<version>.noarch.rpm
109             or
110         dpkg -i apache-ignite_<version>_all.deb
111
112 2) Start Apache Ignite service
113
114         systemctl start apache-ignite@<config name>
115
116    NOTE: <config name> - relative to /etc/apache-ignite configuration file name
117
118    Example:
119
120         systemctl start apache-ignite@default-config.xml
121
122 3) See logs in /var/log/apache-ignite or journalctl -xe
123
124
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:
129
130         gpg --list-sigs <keyname> >> KEYS
131         gpg --armor --export <keyname> >> KEYS
132
133    Upload modified KEYS file.
134
135 2) Specify gpg profile at settings.xml. It will be used to sign sources and artifacts.
136
137 <profile>
138    <id>gpg</id>
139    <properties>
140       <gpg.keyname>keyname</gpg.keyname>
141       <gpg.passphrase>passphrase</gpg.passphrase>
142    </properties>
143 </profile>
144
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.
147
148 3) Deploy Ignite release candidate to maven repository and dev-svn, make tag:
149
150    3.1) Deploy Ignite to maven repository, prepares sources and fabric edition binaries.
151
152                 mvn deploy -Papache-release,gpg,all-java,all-scala,licenses,deploy-ignite-site -Dignite.edition=fabric -DskipTests
153
154    3.2) Javadoc generation:
155
156                 mvn initialize -Pjavadoc
157
158    3.3) Assembly Apache Ignite Fabric:
159
160                 mvn initialize -Prelease
161
162    3.4) Assembly Hadoop Accelerator:
163
164                 mvn initialize -Prelease -Dignite.edition=hadoop
165
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.
168
169    NOTE: Sources artifact name is fixed. Sources artifact will be created inside /target dir when apache-release profile is used.
170
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.
173
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.
177
178    3.6) Make appropriate git tag for release candidate, for example "ignite-X.Y.Z-rc1".
179
180 4) Start vote based on https://dist.apache.org/repos/dist/dev/ignite/<rc-version>.
181
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.
185
186 6) Make appropriate git tag for released version, for example "ignite-X.Y.Z".
187
188 7) Send an email to dev@ignite.apache.org contains release svn url.
189
190
191 JCache TCK compliance
192 ======================
193 To test compliance with JCache TCK use:
194
195         mvn test -P-release,jcache-tck -pl :ignite-core -am
196
197
198 Ignite Mesos Maven Build Instructions
199 =====================================
200
201         cd ./modules/mesos
202         mvn clean package
203
204 Look for ignite-mesos-<version>.jar in ./target directory.
205
206
207 Ignite Yarn Maven Build Instructions
208 ====================================
209
210         cd ./modules/yarn
211         mvn clean package
212
213 Look for ignite-yarn-<version>.jar in ./target directory.
214
215
216 Run tests
217 =========
218 To run tests locally use:
219
220         mvn clean test -U -Plgpl,examples,-clean-libs,-release -Dmaven.test.failure.ignore=true -DfailIfNoTests=false -Dtest=%TEST_PATTERN%
221
222 For example, %TEST_PATTERN% can be 'org.apache.ignite.testsuites.IgniteBasicTestSuite' or 'GridCacheLocalAtomicFullApiSelfTest#testGet'
223
224
225 Apache RAT Instructions
226 =======================
227 To check license headers use:
228
229         mvn clean validate -Pcheck-licenses
230
231 For more information (e.g. exclude list) see "check-licenses" profile in "parent/pom.xml".
232
233
234 Useful Release Commands
235 =======================
236 ZIP:
237         zip -r9 apache-ignite-X.X.X-src.zip apache-ignite-X.X.X-src
238 GPG:
239         gpg --armor --output apache-ignite-X.X.X-src.zip.asc --detach-sig apache-ignite-X.X.X-src.zip
240