1<?xml version="1.0" encoding="UTF-8"?> 2<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/xsd/maven-4.0.0.xsd"> 3 <modelVersion>4.0.0</modelVersion> 4 5 <groupId>vw</groupId> 6 <artifactId>vw-jni-${os.version}-${os.arch}</artifactId> 7 <version>1.0.0-SNAPSHOT</version> 8 <name>Vowpal Wabbit JNI Layer</name> 9 10 <properties> 11 <slf4j.version>1.7.6</slf4j.version> 12 <junit.version>4.11</junit.version> 13 </properties> 14 15 <dependencies> 16 <dependency> 17 <groupId>org.slf4j</groupId> 18 <artifactId>slf4j-api</artifactId> 19 <version>${slf4j.version}</version> 20 </dependency> 21 <dependency> 22 <groupId>junit</groupId> 23 <artifactId>junit</artifactId> 24 <version>${junit.version}</version> 25 <scope>test</scope> 26 </dependency> 27 </dependencies> 28 29 <build> 30 <testResources> 31 <testResource> 32 <directory>${project.build.directory}</directory> 33 <includes> 34 <include>vw_jni.lib</include> 35 </includes> 36 </testResource> 37 </testResources> 38 <plugins> 39 <plugin> 40 <groupId>org.apache.maven.plugins</groupId> 41 <artifactId>maven-compiler-plugin</artifactId> 42 <version>3.2</version> 43 <configuration> 44 <source>1.6</source> 45 <target>1.6</target> 46 </configuration> 47 </plugin> 48 <plugin> 49 <groupId>org.apache.maven.plugins</groupId> 50 <artifactId>maven-antrun-plugin</artifactId> 51 <version>1.7</version> 52 <executions> 53 <execution> 54 <id>Build VW</id> 55 <phase>process-classes</phase> 56 <goals> 57 <goal>run</goal> 58 </goals> 59 <configuration> 60 <exportAntProperties>true</exportAntProperties> 61 <target> 62 <exec executable="make" failonerror="true" /> 63 </target> 64 </configuration> 65 </execution> 66 <execution> 67 <id>Clean VW</id> 68 <phase>clean</phase> 69 <goals> 70 <goal>run</goal> 71 </goals> 72 <configuration> 73 <exportAntProperties>true</exportAntProperties> 74 <target> 75 <exec executable="make" failonerror="true"> 76 <arg value="clean" /> 77 </exec> 78 </target> 79 </configuration> 80 </execution> 81 </executions> 82 </plugin> 83 <plugin> 84 <groupId>org.apache.maven.plugins</groupId> 85 <artifactId>maven-enforcer-plugin</artifactId> 86 <version>1.1</version> 87 <executions> 88 <execution> 89 <id>enforce-ban-duplicate-classes</id> 90 <goals> 91 <goal>enforce</goal> 92 </goals> 93 <configuration> 94 <rules> 95 <banDuplicateClasses> 96 <findAllDuplicates>true</findAllDuplicates> 97 </banDuplicateClasses> 98 </rules> 99 <fail>true</fail> 100 </configuration> 101 </execution> 102 <execution> 103 <id>enforce-ban-version-downgrades</id> 104 <goals> 105 <goal>enforce</goal> 106 </goals> 107 <configuration> 108 <rules> 109 <requireUpperBoundDeps /> 110 </rules> 111 </configuration> 112 </execution> 113 </executions> 114 <dependencies> 115 <dependency> 116 <groupId>org.codehaus.mojo</groupId> 117 <artifactId>extra-enforcer-rules</artifactId> 118 <version>1.0-alpha-3</version> 119 </dependency> 120 </dependencies> 121 </plugin> 122 <plugin> 123 <groupId>org.apache.maven.plugins</groupId> 124 <artifactId>maven-surefire-plugin</artifactId> 125 <version>2.17</version> 126 <executions> 127 <execution> 128 <id>surefire-test</id> 129 <phase>test</phase> 130 <goals> 131 <goal>test</goal> 132 </goals> 133 </execution> 134 </executions> 135 <configuration> 136 <redirectTestOutputToFile>true</redirectTestOutputToFile> 137 </configuration> 138 </plugin> 139 <plugin> 140 <artifactId>maven-resources-plugin</artifactId> 141 <version>2.7</version> 142 <executions> 143 <execution> 144 <id>copy-resources</id> 145 <phase>process-classes</phase> 146 <goals> 147 <goal>copy-resources</goal> 148 </goals> 149 <configuration> 150 <outputDirectory>${project.build.outputDirectory}</outputDirectory> 151 <resources> 152 <resource> 153 <directory>${project.build.directory}</directory> 154 <includes> 155 <include>vw_jni.lib</include> 156 </includes> 157 </resource> 158 </resources> 159 </configuration> 160 </execution> 161 </executions> 162 </plugin> 163 <plugin> 164 <groupId>org.apache.maven.plugins</groupId> 165 <artifactId>maven-release-plugin</artifactId> 166 <version>2.4.2</version> 167 <dependencies> 168 <dependency> 169 <groupId>org.apache.maven.scm</groupId> 170 <artifactId>maven-scm-provider-gitexe</artifactId> 171 <version>1.3</version> 172 </dependency> 173 </dependencies> 174 <executions> 175 <execution> 176 <id>default</id> 177 <goals> 178 <goal>perform</goal> 179 </goals> 180 <configuration> 181 <pomFileName>java/pom.xml</pomFileName> 182 </configuration> 183 </execution> 184 </executions> 185 </plugin> 186 </plugins> 187 </build> 188</project> 189