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