Deal with empty include path
[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>
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                       <arg value="--include" />
281                     </exec>
282                     <condition property="yaz.include" 
283                       value="-I/usr/include"
284                       else="${yaz-config.include}">
285                       <equals arg1="${yaz-config.include}" arg2=""/>
286                     </condition>
287                     <echo message="YAZ INCLUDE=${yaz.include}"/>
288                     <mkdir dir="${basedir}/target"/>
289                     <echo file="${basedir}/target/swig.properties"
290                       message="yaz.include=${yaz.include}"/>
291                   </tasks>
292                 </configuration>
293               </execution>
294             </executions>
295           </plugin>
296           <plugin> 
297             <groupId>org.codehaus.mojo</groupId> 
298             <artifactId>properties-maven-plugin</artifactId> 
299             <version>1.0-alpha-1</version> 
300             <executions> 
301               <execution> 
302                 <id>read-swig-config</id> 
303                 <phase>initialize</phase> 
304                 <goals> 
305                   <goal>read-project-properties</goal> 
306                 </goals> 
307                 <configuration> 
308                   <files> 
309                     <file>${basedir}/target/swig.properties</file> 
310                   </files> 
311                 </configuration> 
312               </execution> 
313             </executions> 
314           </plugin>
315         </plugins>
316       </build>
317     </profile>
318
319     <profile>
320       <!-- osx is both 'unix' and 'mac' -->
321       <id>osx</id>
322       <activation>
323         <os>
324           <family>mac</family>
325         </os>
326       </activation>
327       <properties>
328         <platform>osx</platform>
329         <packaging>dylib</packaging>
330         <javahOS>mac</javahOS>
331         <jdkIncludePath>${java.home}/../Headers</jdkIncludePath>
332       </properties>
333       <modules>
334         <module>unix</module>
335       </modules>
336     </profile>
337   </profiles>
338 </project>
339