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