RPM for yaz4j YAZJ-21
[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         <version>1.8</version>
117         <executions>
118           <execution>
119             <id>generate-sources</id>
120             <phase>generate-sources</phase>
121             <inherited>false</inherited>
122             <configuration>
123               <target>
124                 <echo message="Using include: ${yaz.include}"/>
125                 <mkdir dir="target/generated-sources/java/org/yaz4j/jni"/>
126                 <mkdir dir="target/generated-sources/native" />
127                 <exec executable="${swig}">
128                   <arg value="-Isrc/main/native" />
129                   <arg value="${yaz.include}"/>
130                   <arg value="-outdir"/>
131                   <arg value="${basedir}/target/generated-sources/java/org/yaz4j/jni"/>
132                   <arg value="-package"/>
133                   <arg value="org.yaz4j.jni"/>
134                   <arg value="-o"/>
135                   <arg value="${basedir}/target/generated-sources/native/libyaz4j.cpp"/>
136                   <arg value="-c++"/>
137                   <arg value="-java"/>
138                   <arg value="src/main/swig/libyaz4j.i"/>
139                 </exec>
140               </target>
141             </configuration>
142             <goals>
143               <goal>run</goal>
144             </goals>
145           </execution>
146         </executions>
147       </plugin>
148     </plugins>
149
150   </build>
151
152   <!-- Reporting -->
153   <reporting>
154     <plugins>
155       <plugin>
156         <groupId>org.apache.maven.plugins</groupId>
157         <artifactId>maven-checkstyle-plugin</artifactId>
158         <version>2.15</version>
159         <configuration>
160           <enableRSS>false</enableRSS>
161           <include>**/*.java</include>
162           <sourceDirectory>src/main/java</sourceDirectory>
163         </configuration>
164       </plugin>
165
166       <plugin>
167         <groupId>org.apache.maven.plugins</groupId>
168         <artifactId>
169           maven-project-info-reports-plugin
170         </artifactId>
171         <version>2.8</version>
172         <reportSets>
173           <reportSet>
174             <reports>
175               <report>dependencies</report>
176               <report>project-team</report>
177               <report>mailing-list</report>
178               <report>issue-tracking</report>
179               <report>summary</report>
180               <report>scm</report>
181               <report>index</report>
182             </reports>
183           </reportSet>
184         </reportSets>
185       </plugin>
186       <plugin>
187         <groupId>org.apache.maven.plugins</groupId>
188         <artifactId>maven-javadoc-plugin</artifactId>
189         <version>2.10.3</version>
190         <configuration>
191           <chartset>UTF-8</chartset>
192           <excludePackageNames>org.yaz4j.jni</excludePackageNames>
193         </configuration>
194       </plugin>
195     </plugins>
196   </reporting>
197   <!-- ////////////// -->
198
199   <!-- Environment Information -->
200   <mailingLists>
201     <mailingList>
202       <name>Yazlist</name>
203       <subscribe />
204       <unsubscribe />
205       <post>yazlist@lists.indexdata.dk</post>
206       <archive>http://lists.indexdata.dk/pipermail/yazlist/</archive>
207     </mailingList>
208   </mailingLists>
209
210   <scm>
211     <connection>scm:git:git://git.indexdata.com/yaz4j</connection>
212     <url>http://git.indexdata.com/?p=yaz4j.git</url>
213   </scm>
214
215   <issueManagement>
216     <system>JIRA</system>
217     <url>http://jira.indexdata.com</url>
218   </issueManagement>
219
220   <distributionManagement>
221     <repository>
222       <uniqueVersion>false</uniqueVersion>
223       <id>id-maven-repo</id>
224       <name>Index Data Maven Repository</name>
225       <url>scp://maven.indexdata.com:22/var/www/maven/repository</url>
226     </repository>
227     <site>
228       <id>id-website</id>
229       <url>scpexe://www.indexdata.com/var/www/software/yaz4j/site</url>
230     </site>
231   </distributionManagement>
232
233   <profiles>
234     <profile>
235       <id>win32</id>
236       <activation>
237         <os>
238           <family>windows</family>
239         </os>
240       </activation>
241       <properties>
242         <platform>win32</platform>
243         <yaz.path>C:\Program Files\YAZ</yaz.path>
244         <swig>swig</swig>
245         <!-- needed by swig -->
246         <yaz.include>"-I${yaz.path}\include"</yaz.include>
247         <yaz.libs>"${yaz.path}\lib\yaz5.lib"</yaz.libs>
248       </properties>
249       <modules>
250         <module>win32</module>
251       </modules>
252     </profile>
253
254     <profile>
255       <id>unix</id>
256       <activation>
257         <os>
258           <family>unix</family>
259         </os>
260       </activation>
261       <properties>
262         <platform>linux</platform> <!-- no solaris etc -->
263         <packaging>so</packaging>
264         <!-- yaz-config executable -->
265         <yaz.config>yaz-config</yaz.config>
266         <swig>swig</swig>
267         <javahOS>linux</javahOS>
268         <jdkIncludePath>${java.home}/../include</jdkIncludePath>
269       </properties>
270       <modules>
271         <module>unix</module>
272       </modules>
273       <build>
274         <plugins>
275           <plugin>
276             <artifactId>maven-antrun-plugin</artifactId>
277             <executions>
278               <execution>
279                 <id>write-swig-include</id>
280                 <phase>initialize</phase>
281                 <goals>
282                   <goal>run</goal>
283                 </goals>
284                 <configuration>
285                   <target>
286                     <exec executable="${yaz.config}" 
287                       outputproperty="yaz-config.include"
288                       errorproperty="yaz-config.error">
289                       <arg value="--include" />
290                     </exec>
291                     <echo 
292                       message="yaz-config error (if any): ${yaz-config.error}"/>
293                     <condition property="yaz.include" 
294                       value="-I/usr/include"
295                       else="${yaz-config.include}">
296                       <equals arg1="${yaz-config.include}" arg2=""/>
297                     </condition>
298                     <echo message="YAZ INCLUDE=${yaz.include}"/>
299                     <mkdir dir="${basedir}/target"/>
300                     <echo file="${basedir}/target/swig.properties"
301                       message="yaz.include=${yaz.include}"/>
302                   </target>
303                 </configuration>
304               </execution>
305             </executions>
306           </plugin>
307           <plugin> 
308             <groupId>org.codehaus.mojo</groupId> 
309             <artifactId>properties-maven-plugin</artifactId> 
310             <version>1.0-alpha-1</version> 
311             <executions> 
312               <execution> 
313                 <id>read-swig-config</id> 
314                 <phase>initialize</phase> 
315                 <goals> 
316                   <goal>read-project-properties</goal> 
317                 </goals> 
318                 <configuration> 
319                   <files> 
320                     <file>${basedir}/target/swig.properties</file> 
321                   </files> 
322                 </configuration> 
323               </execution> 
324             </executions> 
325           </plugin>
326         </plugins>
327       </build>
328     </profile>
329
330     <profile>
331       <!-- osx family is both 'unix' and 'mac' -->
332       <id>osx</id>
333       <activation>
334         <os>
335           <family>mac</family>
336         </os>
337       </activation>
338       <properties>
339         <platform>osx</platform>
340         <packaging>dylib</packaging>
341         <javahOS>darwin</javahOS>
342         <jdkIncludePath>${java.home}/../include</jdkIncludePath>
343       </properties>
344       <modules>
345         <module>unix</module>
346       </modules>
347     </profile>
348
349     <profile>
350       <!-- Apple JDK has a different include layout -->
351       <id>apple-jdk</id>
352       <activation>
353         <property>
354           <name>java.vendor</name>
355           <value>Apple Inc.</value>
356         </property>
357       </activation>
358       <properties>
359         <jdkIncludePath>${java.home}/../Headers</jdkIncludePath>
360       </properties>
361       <modules>
362         <module>unix</module>
363       </modules>
364     </profile>
365
366   </profiles>
367 </project>
368