Skip to content
This repository was archived by the owner on Oct 8, 2020. It is now read-only.

Commit f604f52

Browse files
Initial support for different Scala versions.
1 parent 1ae94cb commit f604f52

5 files changed

Lines changed: 187 additions & 18 deletions

File tree

pom.xml

Lines changed: 166 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<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">
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>net.sansa-stack</groupId>
5-
<artifactId>sansa-inference-parent</artifactId>
5+
<artifactId>sansa-inference-parent_${scala.binary.version}</artifactId>
66
<version>0.1.0-SNAPSHOT</version>
77
<packaging>pom</packaging>
88
<name>Inference API - Parent</name>
@@ -53,6 +53,7 @@
5353
<properties>
5454
<maven.compiler.source>1.8</maven.compiler.source>
5555
<maven.compiler.target>1.8</maven.compiler.target>
56+
<maven.version>3.3.9</maven.version>
5657
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
5758
<scala.version>2.11.8</scala.version>
5859
<scala.binary.version>2.11</scala.binary.version>
@@ -65,6 +66,9 @@
6566
<sansa.owl.version>${sansa.stack.version}</sansa.owl.version>
6667
<jsa.subversion>1-SNAPSHOT</jsa.subversion>
6768
<jsa.version>${jena.version}-${jsa.subversion}</jsa.version>
69+
<PermGen>64m</PermGen>
70+
<MaxPermGen>512m</MaxPermGen>
71+
<CodeCacheSize>512m</CodeCacheSize>
6872
</properties>
6973

7074
<dependencyManagement>
@@ -155,12 +159,12 @@
155159
<dependency>
156160
<groupId>com.assembla.scala-incubator</groupId>
157161
<artifactId>graph-core_${scala.binary.version}</artifactId>
158-
<version>1.11.0</version>
162+
<version>1.10.0</version>
159163
</dependency>
160164
<dependency>
161165
<groupId>com.assembla.scala-incubator</groupId>
162166
<artifactId>graph-dot_${scala.binary.version}</artifactId>
163-
<version>1.11.0</version>
167+
<version>1.9.0</version>
164168
</dependency>
165169
<dependency>
166170
<groupId>org.jgrapht</groupId>
@@ -246,11 +250,31 @@
246250
<goal>testCompile</goal>
247251
</goals>
248252
<configuration>
253+
<scalaVersion>${scala.version}</scalaVersion>
254+
<recompileMode>incremental</recompileMode>
255+
<useZincServer>true</useZincServer>
249256
<args>
250-
<!--<arg>-make:transitive</arg>-->
257+
<arg>-unchecked</arg>
258+
<arg>-deprecation</arg>
259+
<arg>-feature</arg>
251260
<arg>-dependencyfile</arg>
252261
<arg>${project.build.directory}/.scala_dependencies</arg>
253262
</args>
263+
<jvmArgs>
264+
<jvmArg>-Xms1024m</jvmArg>
265+
<jvmArg>-Xmx1024m</jvmArg>
266+
<jvmArg>-XX:PermSize=${PermGen}</jvmArg>
267+
<jvmArg>-XX:MaxPermSize=${MaxPermGen}</jvmArg>
268+
<jvmArg>-XX:ReservedCodeCacheSize=${CodeCacheSize}</jvmArg>
269+
</jvmArgs>
270+
<javacArgs>
271+
<javacArg>-source</javacArg>
272+
<javacArg>${java.version}</javacArg>
273+
<javacArg>-target</javacArg>
274+
<javacArg>${java.version}</javacArg>
275+
<javacArg>-Xlint:all,-serial,-path</javacArg>
276+
</javacArgs>
277+
254278
</configuration>
255279
</execution>
256280
</executions>
@@ -262,7 +286,7 @@
262286

263287
<plugin>
264288
<artifactId>maven-compiler-plugin</artifactId>
265-
<version>3.5.1</version>
289+
<version>3.6.0</version>
266290
<configuration>
267291
<source>${maven.compiler.source}</source>
268292
<target>${maven.compiler.target}</target>
@@ -290,6 +314,64 @@
290314
<artifactId>gitflow-maven-plugin</artifactId>
291315
<version>1.3.1</version>
292316
</plugin>
317+
318+
<plugin>
319+
<groupId>org.apache.maven.plugins</groupId>
320+
<artifactId>maven-enforcer-plugin</artifactId>
321+
<version>1.4.1</version>
322+
<executions>
323+
<execution>
324+
<id>enforce-versions</id>
325+
<goals>
326+
<goal>enforce</goal>
327+
</goals>
328+
<configuration>
329+
<rules>
330+
<requireMavenVersion>
331+
<version>${maven.version}</version>
332+
</requireMavenVersion>
333+
<requireJavaVersion>
334+
<version>${java.version}</version>
335+
</requireJavaVersion>
336+
<bannedDependencies>
337+
<excludes>
338+
<!--
339+
Akka depends on io.netty:netty, which puts classes under the org.jboss.netty
340+
package. This conflicts with the classes in org.jboss.netty:netty
341+
artifact, so we have to ban that artifact here. In Netty 4.x, the classes
342+
are under the io.netty package, so it's fine for us to depend on both
343+
io.netty:netty and io.netty:netty-all.
344+
-->
345+
<exclude>org.jboss.netty</exclude>
346+
<exclude>org.codehaus.groovy</exclude>
347+
</excludes>
348+
<searchTransitive>true</searchTransitive>
349+
</bannedDependencies>
350+
</rules>
351+
</configuration>
352+
</execution>
353+
</executions>
354+
</plugin>
355+
356+
<plugin>
357+
<groupId>org.codehaus.mojo</groupId>
358+
<artifactId>build-helper-maven-plugin</artifactId>
359+
<version>1.5</version>
360+
<executions>
361+
<execution>
362+
<id>add-source</id>
363+
<phase>generate-sources</phase>
364+
<goals>
365+
<goal>add-source</goal>
366+
</goals>
367+
<configuration>
368+
<sources>
369+
<source>src/main/scala_${scala.binary.version}</source>
370+
</sources>
371+
</configuration>
372+
</execution>
373+
</executions>
374+
</plugin>
293375
</plugins>
294376
</pluginManagement>
295377
</build>
@@ -324,4 +406,83 @@
324406
</repository>
325407
</repositories>
326408

409+
<profiles>
410+
<profile>
411+
<id>scala-2.10</id>
412+
<activation>
413+
<property><name>scala-2.10</name></property>
414+
</activation>
415+
<properties>
416+
<scala.version>2.10.6</scala.version>
417+
<scala.binary.version>2.10</scala.binary.version>
418+
<jline.version>${scala.version}</jline.version>
419+
<jline.groupid>org.scala-lang</jline.groupid>
420+
</properties>
421+
<build>
422+
<plugins>
423+
<plugin>
424+
<groupId>org.apache.maven.plugins</groupId>
425+
<artifactId>maven-enforcer-plugin</artifactId>
426+
<executions>
427+
<execution>
428+
<id>enforce-versions</id>
429+
<goals>
430+
<goal>enforce</goal>
431+
</goals>
432+
<configuration>
433+
<rules>
434+
<bannedDependencies>
435+
<excludes combine.children="append">
436+
<exclude>*:*_2.11</exclude>
437+
</excludes>
438+
</bannedDependencies>
439+
</rules>
440+
</configuration>
441+
</execution>
442+
</executions>
443+
</plugin>
444+
</plugins>
445+
</build>
446+
</profile>
447+
<profile>
448+
<id>scala-2.11</id>
449+
<activation>
450+
<property><name>!scala-2.10</name></property>
451+
</activation>
452+
<properties>
453+
<scala.version>2.11.8</scala.version>
454+
<scala.binary.version>2.11</scala.binary.version>
455+
<jline.version>2.12.1</jline.version>
456+
<jline.groupid>jline</jline.groupid>
457+
</properties>
458+
<build>
459+
<plugins>
460+
<plugin>
461+
<groupId>org.apache.maven.plugins</groupId>
462+
<artifactId>maven-enforcer-plugin</artifactId>
463+
<executions>
464+
<execution>
465+
<id>enforce-versions</id>
466+
<goals>
467+
<goal>enforce</goal>
468+
</goals>
469+
<configuration>
470+
<rules>
471+
<bannedDependencies>
472+
<excludes combine.children="append">
473+
<exclude>*:*_2.10</exclude>
474+
</excludes>
475+
</bannedDependencies>
476+
</rules>
477+
</configuration>
478+
</execution>
479+
</executions>
480+
</plugin>
481+
</plugins>
482+
</build>
483+
</profile>
484+
485+
</profiles>
486+
487+
327488
</project>

sansa-inference-common/pom.xml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<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">
33
<modelVersion>4.0.0</modelVersion>
44
<parent>
5-
<artifactId>sansa-inference-parent</artifactId>
5+
<artifactId>sansa-inference-parent_${scala.binary.version}</artifactId>
66
<groupId>net.sansa-stack</groupId>
77
<version>0.1.0-SNAPSHOT</version>
88
</parent>
9-
<artifactId>sansa-inference-common</artifactId>
9+
<artifactId>sansa-inference-common_${scala.binary.version}</artifactId>
1010
<version>0.1.0-SNAPSHOT</version>
1111
<name>Inference API - Common</name>
1212
<description>A set of common objects used in the Inference API</description>
@@ -81,6 +81,8 @@
8181
<build>
8282
<sourceDirectory>src/main/scala</sourceDirectory>
8383
<testSourceDirectory>src/test/scala</testSourceDirectory>
84+
<outputDirectory>target/scala-${scala.binary.version}/classes</outputDirectory>
85+
<testOutputDirectory>target/scala-${scala.binary.version}/test-classes</testOutputDirectory>
8486
<plugins>
8587
<plugin>
8688
<!-- see http://davidb.github.com/scala-maven-plugin -->

sansa-inference-flink/pom.xml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ under the License.
2222
<modelVersion>4.0.0</modelVersion>
2323
<parent>
2424
<groupId>net.sansa-stack</groupId>
25-
<artifactId>sansa-inference-parent</artifactId>
25+
<artifactId>sansa-inference-parent_${scala.binary.version}</artifactId>
2626
<version>0.1.0-SNAPSHOT</version>
2727
</parent>
28-
<artifactId>sansa-inference-flink</artifactId>
28+
<artifactId>sansa-inference-flink_${scala.binary.version}</artifactId>
2929
<version>0.1.0-SNAPSHOT</version>
3030

3131
<name>Inference API - Flink</name>
@@ -34,12 +34,12 @@ under the License.
3434
<dependencies>
3535
<dependency>
3636
<groupId>net.sansa-stack</groupId>
37-
<artifactId>sansa-inference-common</artifactId>
37+
<artifactId>sansa-inference-common_${scala.binary.version}</artifactId>
3838
<version>${parent.version}</version>
3939
</dependency>
4040
<dependency>
4141
<groupId>net.sansa-stack</groupId>
42-
<artifactId>sansa-inference-tests</artifactId>
42+
<artifactId>sansa-inference-tests_${scala.binary.version}</artifactId>
4343
<version>${parent.version}</version>
4444
<type>test-jar</type>
4545
<scope>test</scope>
@@ -113,6 +113,8 @@ under the License.
113113
except flink and its transitive dependencies. The resulting fat-jar can be executed
114114
on a cluster. Change the value of Program-Class if your program entry point changes. -->
115115
<build>
116+
<outputDirectory>target/scala-${scala.binary.version}/classes</outputDirectory>
117+
<testOutputDirectory>target/scala-${scala.binary.version}/test-classes</testOutputDirectory>
116118
<plugins>
117119
<!-- We use the maven-shade plugin to create a fat jar that contains all dependencies
118120
except flink and it's transitive dependencies. The resulting fat-jar can be executed

sansa-inference-spark/pom.xml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
<modelVersion>4.0.0</modelVersion>
44
<parent>
55
<groupId>net.sansa-stack</groupId>
6-
<artifactId>sansa-inference-parent</artifactId>
6+
<artifactId>sansa-inference-parent_${scala.binary.version}</artifactId>
77
<version>0.1.0-SNAPSHOT</version>
88
</parent>
9-
<artifactId>sansa-inference-spark</artifactId>
9+
<artifactId>sansa-inference-spark_${scala.binary.version}</artifactId>
1010
<version>0.1.0-SNAPSHOT</version>
1111

1212
<name>Inference API - Spark</name>
@@ -19,12 +19,12 @@
1919
<dependencies>
2020
<dependency>
2121
<groupId>net.sansa-stack</groupId>
22-
<artifactId>sansa-inference-common</artifactId>
22+
<artifactId>sansa-inference-common_${scala.binary.version}</artifactId>
2323
<version>${project.parent.version}</version>
2424
</dependency>
2525
<dependency>
2626
<groupId>net.sansa-stack</groupId>
27-
<artifactId>sansa-inference-tests</artifactId>
27+
<artifactId>sansa-inference-tests_${scala.binary.version}</artifactId>
2828
<version>${project.parent.version}</version>
2929
<type>test-jar</type>
3030
<scope>test</scope>
@@ -140,6 +140,8 @@
140140
<build>
141141
<sourceDirectory>src/main/scala</sourceDirectory>
142142
<testSourceDirectory>src/test/scala</testSourceDirectory>
143+
<outputDirectory>target/scala-${scala.binary.version}/classes</outputDirectory>
144+
<testOutputDirectory>target/scala-${scala.binary.version}/test-classes</testOutputDirectory>
143145
<plugins>
144146
<plugin>
145147
<groupId>net.alchim31.maven</groupId>

sansa-inference-tests/pom.xml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22
<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">
33
<modelVersion>4.0.0</modelVersion>
44
<parent>
5-
<artifactId>sansa-inference-parent</artifactId>
5+
<artifactId>sansa-inference-parent_${scala.binary.version}</artifactId>
66
<groupId>net.sansa-stack</groupId>
77
<version>0.1.0-SNAPSHOT</version>
88
</parent>
9-
<artifactId>sansa-inference-tests</artifactId>
9+
<artifactId>sansa-inference-tests_${scala.binary.version}</artifactId>
1010
<version>0.1.0-SNAPSHOT</version>
1111
<name>Inference API - Tests</name>
1212
<description>Contains common data and utils for inference API testing</description>
1313

1414
<dependencies>
1515
<dependency>
1616
<groupId>net.sansa-stack</groupId>
17-
<artifactId>sansa-inference-common</artifactId>
17+
<artifactId>sansa-inference-common_${scala.binary.version}</artifactId>
1818
<version>${parent.version}</version>
1919
</dependency>
2020

@@ -59,6 +59,8 @@
5959
<build>
6060
<sourceDirectory>src/main/scala</sourceDirectory>
6161
<testSourceDirectory>src/test/scala</testSourceDirectory>
62+
<outputDirectory>target/scala-${scala.binary.version}/classes</outputDirectory>
63+
<testOutputDirectory>target/scala-${scala.binary.version}/test-classes</testOutputDirectory>
6264
<plugins>
6365
<plugin>
6466
<!-- see http://davidb.github.com/scala-maven-plugin -->

0 commit comments

Comments
 (0)