Revert "Multi-threaded DLL model for (avoid using libcmt.lib)"
[yaz4j-moved-to-github.git] / pom.xml
1 <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/maven-v4_0_0.xsd">
2   <modelVersion>4.0.0</modelVersion>
3   <groupId>org.yaz4j</groupId>
4   <artifactId>yaz4j-lib</artifactId>
5   <version>1.6-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-3-Clause</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}" outputproperty="yaz-config.include" errorproperty="yaz-config.error">
287                       <arg value="--include" />
288                     </exec>
289                     <echo message="yaz-config error (if any): ${yaz-config.error}" />
290                     <condition property="yaz.include" value="-I/usr/include" else="${yaz-config.include}">
291                       <equals arg1="${yaz-config.include}" arg2="" />
292                     </condition>
293                     <echo message="YAZ INCLUDE=${yaz.include}" />
294                     <mkdir dir="${basedir}/target" />
295                     <echo file="${basedir}/target/swig.properties" message="yaz.include=${yaz.include}" />
296                   </target>
297                 </configuration>
298               </execution>
299             </executions>
300           </plugin>
301           <plugin> 
302             <groupId>org.codehaus.mojo</groupId> 
303             <artifactId>properties-maven-plugin</artifactId> 
304             <version>1.0-alpha-1</version> 
305             <executions> 
306               <execution> 
307                 <id>read-swig-config</id> 
308                 <phase>initialize</phase> 
309                 <goals> 
310                   <goal>read-project-properties</goal> 
311                 </goals> 
312                 <configuration> 
313                   <files> 
314                     <file>${basedir}/target/swig.properties</file> 
315                   </files> 
316                 </configuration> 
317               </execution> 
318             </executions> 
319           </plugin>
320         </plugins>
321       </build>
322     </profile>
323
324     <profile>
325       <!-- osx family is both 'unix' and 'mac' -->
326       <id>osx</id>
327       <activation>
328         <os>
329           <family>mac</family>
330         </os>
331       </activation>
332       <properties>
333         <platform>osx</platform>
334         <packaging>dylib</packaging>
335         <javahOS>darwin</javahOS>
336         <jdkIncludePath>${java.home}/../include</jdkIncludePath>
337       </properties>
338       <modules>
339         <module>unix</module>
340       </modules>
341     </profile>
342
343     <profile>
344       <!-- Apple JDK has a different include layout -->
345       <id>apple-jdk</id>
346       <activation>
347         <property>
348           <name>java.vendor</name>
349           <value>Apple Inc.</value>
350         </property>
351       </activation>
352       <properties>
353         <jdkIncludePath>${java.home}/../Headers</jdkIncludePath>
354       </properties>
355       <modules>
356         <module>unix</module>
357       </modules>
358     </profile>
359
360   </profiles>
361 </project>
362