Require minimum maven version
[yaz4j-moved-to-github.git] / pom.xml
1 <project>
2   <modelVersion>4.0.0</modelVersion>
3   <groupId>org.yaz4j</groupId>
4   <artifactId>yaz4j-lib</artifactId>
5   <version>1.5-SNAPSHOT</version>
6   <packaging>pom</packaging>
7
8   <prerequisites>
9     <maven>3.0.4</maven>
10   </prerequisites>
11
12   <!-- Project Information -->
13   <name>yaz4j</name>
14   <url>http://www.indexdata.com/yaz4j/</url>
15   <inceptionYear>2008</inceptionYear>
16   <licenses>
17     <license>
18       <name>BSD</name>
19       <url>http://www.opensource.org/licenses/bsd-license.php</url>
20     </license>
21   </licenses>
22   <description>Java wrapper for the ZOOM API of YAZ</description>
23
24   <organization>
25     <name>Index Data</name>
26   </organization>
27
28   <developers>
29     <developer>
30       <name>Rob Styles</name>
31       <id>rob</id>
32       <email>Rob.Styles@talis.com</email>
33       <organization>Talis</organization>
34       <organizationUrl>http://www.talis.com/</organizationUrl>
35       <roles />
36       <timezone />
37     </developer>
38     <developer>
39       <name>Adam Dickmeiss</name>
40       <id>adam</id>
41       <email>adam@indexdata.dk</email>
42       <organization>Index Data</organization>
43       <organizationUrl>http://www.indexdata.com/</organizationUrl>
44       <roles />
45       <timezone />
46     </developer>
47     <developer>
48       <name>Jakub Skoczen</name>
49       <id>jakub</id>
50       <email>jakub@indexdata.dk</email>
51       <organization>Index Data</organization>
52       <organizationUrl>http://www.indexdata.com/</organizationUrl>
53       <roles />
54       <timezone />
55     </developer>
56     <developer>
57       <name>Juan Cayetano</name>
58       <id>cayetano</id>
59       <email>juancayetano.delgado@gmail.com</email>
60       <organization />
61       <organizationUrl />
62       <roles />
63       <timezone />
64     </developer>
65   </developers>
66
67   <modules>
68     <module>any</module>
69   </modules>
70
71   <dependencies>
72     <dependency>
73       <groupId>junit</groupId>
74       <artifactId>junit</artifactId>
75       <version>4.3.1</version>
76       <scope>test</scope>
77     </dependency>
78   </dependencies>
79
80   <properties>
81     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
82   </properties>
83
84   <build>
85
86     <extensions>
87       <extension>
88         <groupId>org.apache.maven.wagon</groupId>
89         <artifactId>wagon-ssh</artifactId>
90         <version>1.0-beta-6</version>
91       </extension>
92       <extension>
93         <groupId>org.apache.maven.wagon</groupId>
94         <artifactId>wagon-ssh-external</artifactId>
95         <version>2.2</version>
96       </extension>
97     </extensions> 
98
99     <plugins>
100
101       <plugin>
102         <groupId>org.apache.maven.plugins</groupId>
103         <artifactId>maven-release-plugin</artifactId>
104         <version>2.2.2</version>
105         <configuration>
106           <preparationGoals>clean verify</preparationGoals>
107           <releaseProfiles>production</releaseProfiles>
108           <tagNameFormat>v@{project.version}</tagNameFormat>
109           <pushChanges>false</pushChanges>
110           <localCheckout>true</localCheckout>
111         </configuration>
112       </plugin>
113
114       <plugin>
115         <artifactId>maven-antrun-plugin</artifactId>
116         <executions>
117           <execution>
118             <id>generate-sources</id>
119             <phase>generate-sources</phase>
120             <inherited>false</inherited>
121             <configuration>
122               <tasks>
123                 <echo message="Using include: ${yaz.include}"/>
124                 <mkdir dir="target/generated-sources/java/org/yaz4j/jni"/>
125                 <mkdir dir="target/generated-sources/native" />
126                 <exec executable="${swig}">
127                   <arg value="-Isrc/main/native" />
128                   <arg value="${yaz.include}"/>
129                   <arg value="-outdir"/>
130                   <arg value="${basedir}/target/generated-sources/java/org/yaz4j/jni"/>
131                   <arg value="-package"/>
132                   <arg value="org.yaz4j.jni"/>
133                   <arg value="-o"/>
134                   <arg value="${basedir}/target/generated-sources/native/libyaz4j.cpp"/>
135                   <arg value="-c++"/>
136                   <arg value="-java"/>
137                   <arg value="src/main/swig/libyaz4j.i"/>
138                 </exec>
139               </tasks>
140             </configuration>
141             <goals>
142               <goal>run</goal>
143             </goals>
144           </execution>
145         </executions>
146       </plugin>
147     </plugins>
148
149   </build>
150
151   <!-- Reporting -->
152   <reporting>
153     <plugins>
154       <plugin>
155         <groupId>org.apache.maven.plugins</groupId>
156         <artifactId>maven-checkstyle-plugin</artifactId>
157         <configuration>
158           <enableRSS>false</enableRSS>
159           <include>**/*.java</include>
160           <sourceDirectory>src/main/java</sourceDirectory>
161         </configuration>
162       </plugin>
163
164       <plugin>
165         <groupId>org.apache.maven.plugins</groupId>
166         <artifactId>
167           maven-project-info-reports-plugin
168         </artifactId>
169         <reportSets>
170           <reportSet>
171             <reports>
172               <report>dependencies</report>
173               <report>project-team</report>
174               <report>mailing-list</report>
175               <report>issue-tracking</report>
176               <report>summary</report>
177               <report>scm</report>
178               <report>index</report>
179             </reports>
180           </reportSet>
181         </reportSets>
182       </plugin>
183       <plugin>
184         <groupId>org.apache.maven.plugins</groupId>
185         <artifactId>maven-javadoc-plugin</artifactId>
186         <configuration>
187           <chartset>UTF-8</chartset>
188           <excludePackageNames>org.yaz4j.jni</excludePackageNames>
189         </configuration>
190       </plugin>
191     </plugins>
192   </reporting>
193   <!-- ////////////// -->
194
195   <!-- Environment Information -->
196   <mailingLists>
197     <mailingList>
198       <name>Yazlist</name>
199       <subscribe />
200       <unsubscribe />
201       <post>yazlist@lists.indexdata.dk</post>
202       <archive>http://lists.indexdata.dk/pipermail/yazlist/</archive>
203     </mailingList>
204   </mailingLists>
205
206   <scm>
207     <connection>scm:git:git://git.indexdata.com/yaz4j</connection>
208     <url>http://git.indexdata.com/?p=yaz4j.git</url>
209   </scm>
210
211   <issueManagement>
212     <system>JIRA</system>
213     <url>http://jira.indexdata.com</url>
214   </issueManagement>
215
216   <distributionManagement>
217     <repository>
218       <uniqueVersion>false</uniqueVersion>
219       <id>id-maven-repo</id>
220       <name>Index Data Maven Repository</name>
221       <url>scp://maven.indexdata.com:22/var/www/maven/repository</url>
222     </repository>
223     <site>
224       <id>id-website</id>
225       <url>scpexe://www.indexdata.com/var/www/software/yaz4j/site</url>
226     </site>
227   </distributionManagement>
228
229   <profiles>
230     <profile>
231       <id>win32</id>
232       <activation>
233         <os>
234           <family>windows</family>
235         </os>
236       </activation>
237       <properties>
238         <platform>win32</platform>
239         <yaz.path>C:\Program Files\YAZ</yaz.path>
240         <swig>swig</swig>
241         <!-- needed by swig -->
242         <yaz.include>"-I${yaz.path}\include"</yaz.include>
243         <yaz.libs>"${yaz.path}\lib\yaz5.lib"</yaz.libs>
244       </properties>
245       <modules>
246         <module>win32</module>
247       </modules>
248     </profile>
249
250     <profile>
251       <id>unix</id>
252       <activation>
253         <os>
254           <family>unix</family>
255         </os>
256       </activation>
257       <properties>
258         <platform>linux</platform> <!-- no solaris etc -->
259         <packaging>so</packaging>
260         <!-- yaz-config executable -->
261         <yaz.config>yaz-config</yaz.config>
262         <swig>swig</swig>
263         <javahOS>linux</javahOS>
264         <jdkIncludePath>${java.home}/../include</jdkIncludePath>
265       </properties>
266       <modules>
267         <module>unix</module>
268       </modules>
269       <build>
270         <plugins>
271           <plugin>
272             <artifactId>maven-antrun-plugin</artifactId>
273             <executions>
274               <execution>
275                 <id>write-swig-include</id>
276                 <phase>initialize</phase>
277                 <goals>
278                   <goal>run</goal>
279                 </goals>
280                 <configuration>
281                   <tasks>
282                     <exec executable="${yaz.config}" 
283                       outputproperty="yaz-config.include"
284                       errorproperty="yaz-config.error">
285                       <arg value="--include" />
286                     </exec>
287                     <echo 
288                       message="yaz-config error (if any): ${yaz-config.error}"/>
289                     <condition property="yaz.include" 
290                       value="-I/usr/include"
291                       else="${yaz-config.include}">
292                       <equals arg1="${yaz-config.include}" arg2=""/>
293                     </condition>
294                     <echo message="YAZ INCLUDE=${yaz.include}"/>
295                     <mkdir dir="${basedir}/target"/>
296                     <echo file="${basedir}/target/swig.properties"
297                       message="yaz.include=${yaz.include}"/>
298                   </tasks>
299                 </configuration>
300               </execution>
301             </executions>
302           </plugin>
303           <plugin> 
304             <groupId>org.codehaus.mojo</groupId> 
305             <artifactId>properties-maven-plugin</artifactId> 
306             <version>1.0-alpha-1</version> 
307             <executions> 
308               <execution> 
309                 <id>read-swig-config</id> 
310                 <phase>initialize</phase> 
311                 <goals> 
312                   <goal>read-project-properties</goal> 
313                 </goals> 
314                 <configuration> 
315                   <files> 
316                     <file>${basedir}/target/swig.properties</file> 
317                   </files> 
318                 </configuration> 
319               </execution> 
320             </executions> 
321           </plugin>
322         </plugins>
323       </build>
324     </profile>
325
326     <profile>
327       <!-- osx family is both 'unix' and 'mac' -->
328       <id>osx</id>
329       <activation>
330         <os>
331           <family>mac</family>
332         </os>
333       </activation>
334       <properties>
335         <platform>osx</platform>
336         <packaging>dylib</packaging>
337         <javahOS>darwin</javahOS>
338         <jdkIncludePath>${java.home}/../include</jdkIncludePath>
339       </properties>
340       <modules>
341         <module>unix</module>
342       </modules>
343     </profile>
344
345     <profile>
346       <!-- Apple JDK has a different include layout -->
347       <id>apple-jdk</id>
348       <activation>
349         <property>
350           <name>java.vendor</name>
351           <value>Apple Inc.</value>
352         </property>
353       </activation>
354       <properties>
355         <jdkIncludePath>${java.home}/../Headers</jdkIncludePath>
356       </properties>
357       <modules>
358         <module>unix</module>
359       </modules>
360     </profile>
361
362   </profiles>
363 </project>
364