Blame view

pom.xml 6.93 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
14
	<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>
	
	<!-- The developers 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
30
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>
	<build>
254ea0dd   Nathanael Jourdane   mvn: Move plugins...
31

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