Multi-threaded DLL (do not use libcmt.lib)
[yaz4j-moved-to-github.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 5ccbea7..9c659b2 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -1,10 +1,14 @@
-<project>
+<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">
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.yaz4j</groupId>
   <artifactId>yaz4j-lib</artifactId>
-  <version>1.4-SNAPSHOT</version>
+  <version>1.6-SNAPSHOT</version>
   <packaging>pom</packaging>
 
+  <prerequisites>
+    <maven>3.0.4</maven>
+  </prerequisites>
+
   <!-- Project Information -->
   <name>yaz4j</name>
   <url>http://www.indexdata.com/yaz4j/</url>
@@ -12,7 +16,7 @@
   <licenses>
     <license>
       <name>BSD</name>
-      <url>http://www.opensource.org/licenses/bsd-license.php</url>
+      <url>http://www.opensource.org/licenses/BSD-3-Clause</url>
     </license>
   </licenses>
   <description>Java wrapper for the ZOOM API of YAZ</description>
 
       <plugin>
         <artifactId>maven-antrun-plugin</artifactId>
+        <version>1.8</version>
         <executions>
           <execution>
             <id>generate-sources</id>
             <phase>generate-sources</phase>
             <inherited>false</inherited>
             <configuration>
-              <tasks>
-                <echo message="Using include: ${yaz.include}"/>
-                <mkdir dir="target/generated-sources/java/org/yaz4j/jni"/>
+              <target>
+                <echo message="Using include: ${yaz.include}" />
+                <mkdir dir="target/generated-sources/java/org/yaz4j/jni" />
                 <mkdir dir="target/generated-sources/native" />
                 <exec executable="${swig}">
                   <arg value="-Isrc/main/native" />
-                  <arg value="${yaz.include}"/>
-                  <arg value="-outdir"/>
-                  <arg value="${basedir}/target/generated-sources/java/org/yaz4j/jni"/>
-                  <arg value="-package"/>
-                  <arg value="org.yaz4j.jni"/>
-                  <arg value="-o"/>
-                  <arg value="${basedir}/target/generated-sources/native/libyaz4j.cpp"/>
-                  <arg value="-c++"/>
-                  <arg value="-java"/>
-                  <arg value="src/main/swig/libyaz4j.i"/>
+                  <arg value="${yaz.include}" />
+                  <arg value="-outdir" />
+                  <arg value="${basedir}/target/generated-sources/java/org/yaz4j/jni" />
+                  <arg value="-package" />
+                  <arg value="org.yaz4j.jni" />
+                  <arg value="-o" />
+                  <arg value="${basedir}/target/generated-sources/native/libyaz4j.cpp" />
+                  <arg value="-c++" />
+                  <arg value="-java" />
+                  <arg value="src/main/swig/libyaz4j.i" />
                 </exec>
-              </tasks>
+              </target>
             </configuration>
             <goals>
               <goal>run</goal>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-checkstyle-plugin</artifactId>
+        <version>2.15</version>
         <configuration>
           <enableRSS>false</enableRSS>
           <include>**/*.java</include>
         <artifactId>
           maven-project-info-reports-plugin
         </artifactId>
+        <version>2.8</version>
         <reportSets>
           <reportSet>
             <reports>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-javadoc-plugin</artifactId>
+        <version>2.10.3</version>
         <configuration>
           <chartset>UTF-8</chartset>
           <excludePackageNames>org.yaz4j.jni</excludePackageNames>
       <uniqueVersion>false</uniqueVersion>
       <id>id-maven-repo</id>
       <name>Index Data Maven Repository</name>
-      <url>scp://maven.indexdata.com:222/var/www/maven/repository</url>
+      <url>scp://maven.indexdata.com:22/var/www/maven/repository</url>
     </repository>
     <site>
       <id>id-website</id>
       <properties>
         <platform>win32</platform>
         <yaz.path>C:\Program Files\YAZ</yaz.path>
-        <swig>C:\Program Files\swigwin-2.0.7\swig</swig>
+        <swig>swig</swig>
         <!-- needed by swig -->
         <yaz.include>"-I${yaz.path}\include"</yaz.include>
-        <yaz.libs>"${yaz.path}\lib\yaz4.lib"</yaz.libs>
+        <yaz.libs>"${yaz.path}\lib\yaz5.lib"</yaz.libs>
       </properties>
       <modules>
         <module>win32</module>
         </os>
       </activation>
       <properties>
-        <platform>linux</platform>
+        <platform>linux</platform> <!-- no solaris etc -->
         <packaging>so</packaging>
         <!-- yaz-config executable -->
         <yaz.config>yaz-config</yaz.config>
                   <goal>run</goal>
                 </goals>
                 <configuration>
-                  <tasks>
-                    <exec executable="${yaz.config}" 
-                      outputproperty="yaz-config.include">
+                  <target>
+                    <exec executable="${yaz.config}" outputproperty="yaz-config.include" errorproperty="yaz-config.error">
                       <arg value="--include" />
                     </exec>
-                    <condition property="yaz.include" 
-                      value="-I/usr/include"
-                      else="${yaz-config.include}">
-                      <equals arg1="${yaz-config.include}" arg2=""/>
+                    <echo message="yaz-config error (if any): ${yaz-config.error}" />
+                    <condition property="yaz.include" value="-I/usr/include" else="${yaz-config.include}">
+                      <equals arg1="${yaz-config.include}" arg2="" />
                     </condition>
-                    <echo message="YAZ INCLUDE=${yaz.include}"/>
-                    <mkdir dir="${basedir}/target"/>
-                    <echo file="${basedir}/target/swig.properties"
-                      message="yaz.include=${yaz.include}"/>
-                  </tasks>
+                    <echo message="YAZ INCLUDE=${yaz.include}" />
+                    <mkdir dir="${basedir}/target" />
+                    <echo file="${basedir}/target/swig.properties" message="yaz.include=${yaz.include}" />
+                  </target>
                 </configuration>
               </execution>
             </executions>
     </profile>
 
     <profile>
-      <!-- osx is both 'unix' and 'mac' -->
+      <!-- osx family is both 'unix' and 'mac' -->
       <id>osx</id>
       <activation>
         <os>
       <properties>
         <platform>osx</platform>
         <packaging>dylib</packaging>
-        <javahOS>mac</javahOS>
+        <javahOS>darwin</javahOS>
+        <jdkIncludePath>${java.home}/../include</jdkIncludePath>
+      </properties>
+      <modules>
+        <module>unix</module>
+      </modules>
+    </profile>
+
+    <profile>
+      <!-- Apple JDK has a different include layout -->
+      <id>apple-jdk</id>
+      <activation>
+        <property>
+          <name>java.vendor</name>
+          <value>Apple Inc.</value>
+        </property>
+      </activation>
+      <properties>
         <jdkIncludePath>${java.home}/../Headers</jdkIncludePath>
       </properties>
       <modules>
         <module>unix</module>
       </modules>
     </profile>
+
   </profiles>
 </project>