Blame view

pom.xml 7.29 KB
f5c356b7   Nathanael Jourdane   add distribution ...
1
<?xml version="1.0" encoding="UTF-8"?>
a7161231   Nathanael Jourdane   Remove classes ge...
2
3
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
6492c851   Nathanael Jourdane   Add a desciption ...
4
5
	
	<!-- Basic informations -->
a7161231   Nathanael Jourdane   Remove classes ge...
6
7
8
9
10
	<modelVersion>4.0.0</modelVersion>
	<groupId>eu.omp.irap.vespa</groupId>
	<artifactId>epntapclient</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<name>epnTAPCLient</name>
6492c851   Nathanael Jourdane   Add a desciption ...
11
12
13
	<description>The Epn-TAP library aims to provide methods to manage resources, services and dataset wich implements the epn-TAP core, in order to get data and deal with it with any other software, ie. though a SAMP hub. It also comes with a GUI, initialy built to be integrated on the Cassis sofware, but it can be launch as standalone.</description>
	<url>http://cassis.irap.omp.eu/</url>
	
e2264856   Nathanael Jourdane   Delete votable pa...
14
	<!-- The developer of the library. -->
a7161231   Nathanael Jourdane   Remove classes ge...
15
16
17
18
19
20
21
22
23
24
	<developers>
		<developer>
			<name>Nathanaƫl Jourdane</name>
			<organization>IRAP/CNRS</organization>
			<organizationUrl>http://www.irap.omp.eu</organizationUrl>
			<roles>
				<role>Developer</role>
			</roles>
		</developer>
	</developers>
6492c851   Nathanael Jourdane   Add a desciption ...
25
26
	
	<!-- The files encoding. -->
a7161231   Nathanael Jourdane   Remove classes ge...
27
28
29
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>
e2264856   Nathanael Jourdane   Delete votable pa...
30
		
a7161231   Nathanael Jourdane   Remove classes ge...
31
	<build>
254ea0dd   Nathanael Jourdane   mvn: Move plugins...
32

a7161231   Nathanael Jourdane   Remove classes ge...
33
		<plugins>
6492c851   Nathanael Jourdane   Add a desciption ...
34
		
18fad48e   Nathanael Jourdane   Improve code-sour...
35
			<!-- Tell to Maven wich Java version is used. -->
a7161231   Nathanael Jourdane   Remove classes ge...
36
			<plugin>
a7161231   Nathanael Jourdane   Remove classes ge...
37
38
39
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.3</version>
				<configuration>
42819b99   Nathanael Jourdane   Make EpnTAPClient...
40
41
					<source>1.7</source>
					<target>1.7</target>
a7161231   Nathanael Jourdane   Remove classes ge...
42
43
				</configuration>
			</plugin>
6492c851   Nathanael Jourdane   Add a desciption ...
44
			
18fad48e   Nathanael Jourdane   Improve code-sour...
45
			<!-- Sign the jar in order to push it to cassis repository. -->
a7161231   Nathanael Jourdane   Remove classes ge...
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
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jarsigner-plugin</artifactId>
				<version>1.4</version>
				<executions>
					<execution>
						<id>sign</id>
						<goals>
							<goal>sign</goal>
						</goals>
					</execution>
					<execution>
						<id>verify</id>
						<goals>
							<goal>verify</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<keystore>cassis.jks</keystore>
					<alias>certificat</alias>
					<storepass>{dCC5JS1OnVcHrOvu9pC6n7EzbASrDafLzK7JhWvZp7Q=}</storepass>
					<verbose>true</verbose>
				</configuration>
			</plugin>
6492c851   Nathanael Jourdane   Add a desciption ...
71
			
18fad48e   Nathanael Jourdane   Improve code-sour...
72
			<!-- Generate model classes (voTable and voResource) from xsd schemas -->
a7161231   Nathanael Jourdane   Remove classes ge...
73
			<plugin>
18fad48e   Nathanael Jourdane   Improve code-sour...
74
75
76
77
78
				<groupId>org.jvnet.jaxb2.maven2</groupId>
				<artifactId>maven-jaxb2-plugin</artifactId>
				<configuration>
					<locale>en</locale>
				</configuration>
44ef2e24   Nathanael Jourdane   mvn: Run jaxb2 pl...
79
80
81
				<executions>
					<execution>
						<goals>
18fad48e   Nathanael Jourdane   Improve code-sour...
82
							<goal>generate</goal>
44ef2e24   Nathanael Jourdane   mvn: Run jaxb2 pl...
83
						</goals>
18fad48e   Nathanael Jourdane   Improve code-sour...
84
85
86
						<configuration>
							<schemaDirectory>src/main/resources/xsd</schemaDirectory>
							<bindingDirectory>src/main/resources/xjb</bindingDirectory>
6492c851   Nathanael Jourdane   Add a desciption ...
87
88
							<!-- The xjb file tels to xjc which xsd file is associated to some Java package. -->
							<!-- It also modify voTable.xsd in order to rename the `Value`, which is a xjc keyword. -->
18fad48e   Nathanael Jourdane   Improve code-sour...
89
						</configuration>
44ef2e24   Nathanael Jourdane   mvn: Run jaxb2 pl...
90
91
					</execution>
				</executions>
a7161231   Nathanael Jourdane   Remove classes ge...
92
			</plugin>
4494f1ae   Nathanael Jourdane   pom.xml update:
93
			<plugin>
6492c851   Nathanael Jourdane   Add a desciption ...
94
95
			
				<!-- Ant executions. -->
4494f1ae   Nathanael Jourdane   pom.xml update:
96
97
98
99
				<artifactId>maven-antrun-plugin</artifactId>
				<version>1.7</version>
				<executions>
					<execution>
6492c851   Nathanael Jourdane   Add a desciption ...
100
						<!-- Add @SuppressWarnings annotations for each class of the generated code. -->
4494f1ae   Nathanael Jourdane   pom.xml update:
101
102
103
104
105
106
						<id>suppress-warning-generated</id>
						<phase>process-sources</phase>
						<goals>
							<goal>run</goal>
						</goals>
						<configuration>
18fad48e   Nathanael Jourdane   Improve code-sour...
107
108
							<target name="Add @SuppressWarnings on generated *.java">
								<replaceregexp byline="true">
2fcfc5f2   Nathanael Jourdane   Remove @SuppressW...
109
110
111
112
113
114
115
116
									<regexp pattern="^@SuppressWarnings\(.*\)" />
									<substitution expression="" />
									<fileset
										dir="${basedir}/target/generated-sources/xjc/eu/omp/irap/vespa/epntapclient/voresource/model/">
										<include name="*.java" />
									</fileset>
								</replaceregexp>
								<replaceregexp byline="true">
18fad48e   Nathanael Jourdane   Improve code-sour...
117
118
119
									<regexp pattern="^public " />
									<substitution expression="@SuppressWarnings(&quot;all&quot;)&#10;public " />
									<fileset
18fad48e   Nathanael Jourdane   Improve code-sour...
120
121
122
123
										dir="${basedir}/target/generated-sources/xjc/eu/omp/irap/vespa/epntapclient/voresource/model/">
										<include name="*.java" />
									</fileset>
								</replaceregexp>
4494f1ae   Nathanael Jourdane   pom.xml update:
124
125
126
127
							</target>
						</configuration>
					</execution>
				</executions>
84c2c43b   Nathanael Jourdane   [pom.xml] auto-cl...
128
			</plugin>
a7161231   Nathanael Jourdane   Remove classes ge...
129
		</plugins>
6492c851   Nathanael Jourdane   Add a desciption ...
130
131
		
		<!-- Avoid Eclipse warnings "Plugin execution not covered by lifecycle configuration" -->
4494f1ae   Nathanael Jourdane   pom.xml update:
132
133
		<pluginManagement>
			<plugins>
4494f1ae   Nathanael Jourdane   pom.xml update:
134
135
136
137
138
139
140
141
142
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
6492c851   Nathanael Jourdane   Add a desciption ...
143
144
145
										<groupId> org.apache.maven.plugins </groupId>
										<artifactId> maven-antrun-plugin </artifactId>
										<versionRange> [1.7,) </versionRange>
4494f1ae   Nathanael Jourdane   pom.xml update:
146
147
148
149
150
151
152
153
										<goals>
											<goal>run</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<execute />
									</action>
								</pluginExecution>
4494f1ae   Nathanael Jourdane   pom.xml update:
154
155
156
157
158
159
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
a7161231   Nathanael Jourdane   Remove classes ge...
160
	</build>
6492c851   Nathanael Jourdane   Add a desciption ...
161
162
	
	<!-- The project dependencies -->
a7161231   Nathanael Jourdane   Remove classes ge...
163
	<dependencies>
e2264856   Nathanael Jourdane   Delete votable pa...
164
165
	
		<!-- A library to deal with JSON files -->
a7161231   Nathanael Jourdane   Remove classes ge...
166
		<dependency>
a7161231   Nathanael Jourdane   Remove classes ge...
167
168
169
170
171
			<groupId>com.google.code.gson</groupId>
			<artifactId>gson</artifactId>
			<version>2.2.2</version>
			<scope>compile</scope>
		</dependency>
e2264856   Nathanael Jourdane   Delete votable pa...
172
173
174
175
176
177
178
179
		
		<!-- A library to deal with VOTables -->
		<dependency>
			<groupId>eu.omp.irap.vespa</groupId>
			<artifactId>votable</artifactId>
			<version>0.0.1-SNAPSHOT</version>
		</dependency>
		
a7161231   Nathanael Jourdane   Remove classes ge...
180
	</dependencies>
6492c851   Nathanael Jourdane   Add a desciption ...
181
	
a7161231   Nathanael Jourdane   Remove classes ge...
182
	<profiles>
6492c851   Nathanael Jourdane   Add a desciption ...
183
184
		<!-- This profile is activated by the "-P jenkins" switch when run on the build server by 
		Jenkins (continuous integration) -->
a7161231   Nathanael Jourdane   Remove classes ge...
185
186
		<profile>
			<id>jenkins</id>
a7161231   Nathanael Jourdane   Remove classes ge...
187
188
			<build>
				<plugins>
a7161231   Nathanael Jourdane   Remove classes ge...
189
190
191
192
193
194
195
196
197
198
					<plugin>
						<artifactId>maven-enforcer-plugin</artifactId>
						<executions>
							<execution>
								<goals>
									<goal>enforce</goal>
								</goals>
								<configuration>
									<rules>
										<evaluateBeanshell>
6492c851   Nathanael Jourdane   Add a desciption ...
199
											<!-- Jenkins should only build -SNAPSHOTs -->
a7161231   Nathanael Jourdane   Remove classes ge...
200
201
202
203
204
205
206
207
208
209
											<condition>"${project.version}".endsWith("-SNAPSHOT")</condition>
											<message>Jenkins should only build -SNAPSHOT versions</message>
										</evaluateBeanshell>
									</rules>
									<fail>true</fail>
								</configuration>
							</execution>
						</executions>
					</plugin>
				</plugins>
a7161231   Nathanael Jourdane   Remove classes ge...
210
211
212
			</build>
		</profile>
	</profiles>
6492c851   Nathanael Jourdane   Add a desciption ...
213
214
	
	<!-- The repository where to deploy the project. -->
a7161231   Nathanael Jourdane   Remove classes ge...
215
216
217
218
219
220
	<repositories>
		<repository>
			<id>IRAP-NEXUS</id>
			<url>https://nexus.irap.omp.eu/content/groups/public</url>
		</repository>
	</repositories>
6492c851   Nathanael Jourdane   Add a desciption ...
221
	
a7161231   Nathanael Jourdane   Remove classes ge...
222
223
224
225
226
227
228
229
230
231
232
233
234
235
	<!-- For using it, (with mvn deploy) it need the <server(s)> config on ~/m2/settings.xml 
		with the logins for nexus. -->
	<distributionManagement>
		<repository>
			<id>deploymentIRAPReleases</id>
			<name>Releases (Nexus)</name>
			<url>https://nexus.irap.omp.eu/content/repositories/releases</url>
		</repository>
		<snapshotRepository>
			<id>deploymentIRAPSnapshots</id>
			<name>Snapshots (Nexus)</name>
			<url>https://nexus.irap.omp.eu/content/repositories/snapshots</url>
		</snapshotRepository>
	</distributionManagement>
f5c356b7   Nathanael Jourdane   add distribution ...
236
</project>