-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUILDING.txt
287 lines (240 loc) · 12.9 KB
/
BUILDING.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
$JOMC$
Build Requirements
------------------
In order to build JOMC artifacts, the following software needs to be
installed.
o Java Development Kit (JDK), Version 1.7 or higher
Please consult the operating system documentation on how to install a Java
development kit.
o Apache Maven 3.x
The following link redirects to the official Apache Maven website.
http://www.jomc.org/redirect/mng
In order to build JOMC release artifacts, the following software needs to be
installed in addition.
o GnuPG
The following link redirects to the official GnuPG website.
http://www.jomc.org/redirect/gpg
Building Snapshot Artifacts
---------------------------
For building snapshot artifacts, no further setup is required.
Artifact sources are compiled by executing:
cmd> mvn compile
Unit tests are run by executing:
cmd> mvn test
Snapshot archives are created by executing:
cmd> mvn package
Snapshot artifacts are installed by executing:
cmd> mvn install
The project site is build by executing:
cmd> mvn site
Building Release Artifacts
--------------------------
For building release artifacts, various properties need to be set. This is
done by using the '-D' command line option. To minimize the number of '-D'
options, a profile can be added to the local Maven settings.xml file. The
following link redirects to the official Maven settings reference.
http://www.jomc.org/redirect/msettings
<profile>
<id>jomc.org</id>
<properties>
<!-- -->
<!-- -->
<!-- Source Code Management System Properties -->
<!-- ======================================== -->
<!-- -->
<!-- The 'jomc.scm.username' property must be set to the name of the -->
<!-- user used for authentication with the project source code -->
<!-- management system. -->
<!-- -->
<jomc.scm.username>Username</jomc.scm.username>
<!-- -->
<!-- The 'jomc.scm.password' property must be set to the password -->
<!-- used for authentication with the project source code management -->
<!-- system. To avoid storing cleartext passwords, this property -->
<!-- should be set using the '-D' command line option. -->
<!-- -->
<jomc.scm.password>Password</jomc.scm.password>
<!-- -->
<!-- -->
<!-- Issue Management System Properties -->
<!-- ======================================== -->
<!-- -->
<!-- The 'jomc.trac.username' property must be set to the name of -->
<!-- the user used for authentication with the project issue -->
<!-- management system. -->
<!-- -->
<jomc.trac.username>Username</jomc.trac.username>
<!-- -->
<!-- The 'jomc.trac.password' property must be set to the password -->
<!-- used for authentication with the project issue management -->
<!-- system. To avoid storing cleartext passwords, this property -->
<!-- should be set using the '-D' command line option. -->
<!-- -->
<jomc.trac.password>Password</jomc.trac.password>
<!-- -->
<!-- -->
<!-- Code Signing Properties -->
<!-- ======================= -->
<!-- -->
<!-- Code signing is backed by the 'maven-jarsigner-plugin'. -->
<!-- The following link redirects to the official documentation of -->
<!-- that plugin. http://www.jomc.org/redirect/mjarsigner -->
<!-- -->
<!-- -->
<!-- The 'jarsigner.keystore' property may be set to the location of -->
<!-- the keystore used for signing Java archives. -->
<!-- -->
<!-- <jarsigner.keystore>Location</jarsigner.keystore> -->
<!-- -->
<!-- The 'jarsigner.storepass' property may be set to the password -->
<!-- of the keystore used for signing Java archives. To avoid -->
<!-- storing cleartext passwords, this property should be set using -->
<!-- the '-D' command line option. -->
<!-- -->
<!-- <jarsigner.storepass>Password</jarsigner.storepass> -->
<!-- -->
<!-- The 'jarsigner.alias' property must be set to the alias of the -->
<!-- certificate used for signing Java archives. -->
<!-- -->
<jarsigner.alias>Alias</jarsigner.alias>
<!-- -->
<!-- The 'jarsigner.keypass' property may be set to the password of -->
<!-- the certificate used for signing Java archives. To avoid -->
<!-- storing cleartext passwords, this property should be set using -->
<!-- the '-D' command line option. -->
<!-- -->
<!-- <jarsigner.keypass>Password</jarsigner.keypass> -->
<!-- -->
<!-- The 'jarsigner.tsa' property must be set to an URL of a -->
<!-- timestamping authority used for signing Java archives. -->
<!-- -->
<!-- For example: -->
<!-- https://timestamp.geotrust.com/tsa -->
<!-- -->
<jarsigner.tsa>URL</jarsigner.tsa>
<!-- -->
<!-- -->
<!-- Artifact Signing Properties -->
<!-- =========================== -->
<!-- -->
<!-- Artifact signing is backed by the 'maven-gpg-plugin'. -->
<!-- The following link redirects to the official documentation of -->
<!-- that plugin. http://www.jomc.org/redirect/mgpg -->
<!-- -->
<!-- -->
<!-- The 'gpg.keyname' property may be set to the name of the GPG -->
<!-- key used for signing artifacts. -->
<!-- -->
<!-- <gpg.keyname>Key</gpg.keyname> -->
<!-- -->
<!-- The 'gpg.passphrase' property may be set to the passphrase of -->
<!-- the GPG key used for signing artifacts. To avoid storing -->
<!-- cleartext passwords, this property should be set using the '-D' -->
<!-- command line option. -->
<!-- -->
<!-- <gpg.passphrase>Passphrase</gpg.passphrase> -->
<!-- -->
<!-- -->
</properties>
</profile>
That profile is enabled by using the '-P' command line option.
Release archives are created by executing:
cmd> mvn -Pjomc-release,jomc.org verify
Release artifacts are installed by executing:
cmd> mvn -Pjomc-release,jomc.org install
Deploying Snapshot Artifacts
----------------------------
Snapshot artifacts are deployed by executing:
cmd> mvn deploy
For this to work, a server definition needs to be specified in the local
Maven settings.xml file used for authentication with the remote snapshot
repository.
<server>
<id>sonatype-nexus-snapshots</id>
<username>OSS Username</username>
<password>OSS Password</password>
</server>
Optionally, to use deployed snapshot artifacts, a corresponding profile
may be added to the local Maven settings.xml file.
<profile>
<id>oss.sonatype.org</id>
<repositories>
<repository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>sonatype-nexus-snapshots</id>
<name>Sonatype Nexus Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
That profile is enabled by using the '-P' command line option.
For example:
cmd> mvn -Poss.sonatype.org compile
cmd> mvn -Poss.sonatype.org test
cmd> mvn -Poss.sonatype.org package
cmd> mvn -Poss.sonatype.org install
cmd> mvn -Poss.sonatype.org site
The following link redirects to the repository hosting service used by this
project. http://www.jomc.org/redirect/oss
Deploying Release Artifacts
---------------------------
For deploying releases, various server definitions need to be specified in
the local Maven settings.xml file used for authentication with the remote
staging repository, the remote file release server and the remote XML schema
server.
<server>
<id>sonatype-nexus-staging</id>
<username>OSS Username</username>
<password>OSS Password</password>
</server>
<server>
<id>frs.jomc.org</id>
<username>FRS Username</username>
<password>FRS Password</password>
</server>
<server>
<id>xml.jomc.org</id>
<username>XML Username</username>
<password>XML Password</password>
</server>
Release artifacts are deployed by executing:
cmd> mvn -Pjomc-release,jomc.org deploy
Project Site Deployment
-----------------------
For deploying the project web site, a server definition needs to be
specified in the local Maven settings.xml file used for authentication with
the project web server.
<server>
<id>www.jomc.org</id>
<username>Username</username>
<password>Password</password>
</server>
The project web site is deployed by executing:
cmd> mvn site-deploy
Releasing Artifacts
-------------------
The release process is backed by the 'maven-release-plugin'. The following
link redirects to the official documentation of that plugin.
http://www.jomc.org/redirect/mrelease
Releases are prepared by executing:
cmd> mvn release:prepare -Pjomc.org
Releases are performed by executing:
cmd> mvn release:perform -Pjomc-release,jomc.org