aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorneothemachine <[email protected]>2013-02-13 21:32:52 +0100
committerneothemachine <[email protected]>2013-02-13 21:32:52 +0100
commitb79943c371c60434ca78b57677bcba7cd98a4e00 (patch)
tree2d711bd9857d6bd432a55f29038574d85d327d50
parent770fbc9f7660221b9a0f349e0c840c284157075b (diff)
added new distribution module which builds zips with all deps
also, simplified assembly exclusion filter in examples project
-rw-r--r--ardor3d-distribution/assembly-jogl.xml42
-rw-r--r--ardor3d-distribution/assembly-lwjgl.xml62
-rw-r--r--ardor3d-distribution/pom.xml61
-rw-r--r--ardor3d-examples/assembly.xml5
-rw-r--r--pom.xml1
5 files changed, 169 insertions, 2 deletions
diff --git a/ardor3d-distribution/assembly-jogl.xml b/ardor3d-distribution/assembly-jogl.xml
new file mode 100644
index 0000000..f36104e
--- /dev/null
+++ b/ardor3d-distribution/assembly-jogl.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<assembly>
+
+ <id>jogl</id>
+ <formats>
+ <format>zip</format>
+ </formats>
+ <includeBaseDirectory>false</includeBaseDirectory>
+
+ <moduleSets>
+ <moduleSet>
+
+ <!-- Enable access to all projects in the current multimodule build! -->
+ <useAllReactorProjects>true</useAllReactorProjects>
+
+ <!-- Now, select which projects to include in this module-set. -->
+ <includes>
+ <include>com.ardor3d:ardor3d-animation</include>
+ <include>com.ardor3d:ardor3d-awt</include>
+ <include>com.ardor3d:ardor3d-collada</include>
+ <include>com.ardor3d:ardor3d-core</include>
+ <include>com.ardor3d:ardor3d-effects</include>
+ <include>com.ardor3d:ardor3d-extras</include>
+ <include>com.ardor3d:ardor3d-jogl</include>
+ <include>com.ardor3d:ardor3d-math</include>
+ <include>com.ardor3d:ardor3d-savable</include>
+ <include>com.ardor3d:ardor3d-swt</include>
+ <include>com.ardor3d:ardor3d-terrain</include>
+ <include>com.ardor3d:ardor3d-ui</include>
+ </includes>
+ <binaries>
+ <unpack>false</unpack>
+ <dependencySets>
+ <dependencySet>
+ <unpack>false</unpack>
+ <scope>runtime</scope>
+ </dependencySet>
+ </dependencySets>
+ </binaries>
+ </moduleSet>
+ </moduleSets>
+</assembly>
diff --git a/ardor3d-distribution/assembly-lwjgl.xml b/ardor3d-distribution/assembly-lwjgl.xml
new file mode 100644
index 0000000..5669172
--- /dev/null
+++ b/ardor3d-distribution/assembly-lwjgl.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<assembly>
+
+ <id>lwjgl</id>
+ <formats>
+ <format>zip</format>
+ </formats>
+ <includeBaseDirectory>false</includeBaseDirectory>
+
+ <moduleSets>
+ <moduleSet>
+ <useAllReactorProjects>true</useAllReactorProjects>
+
+ <includes>
+ <include>com.ardor3d:ardor3d-animation</include>
+ <include>com.ardor3d:ardor3d-awt</include>
+ <include>com.ardor3d:ardor3d-collada</include>
+ <include>com.ardor3d:ardor3d-core</include>
+ <include>com.ardor3d:ardor3d-effects</include>
+ <include>com.ardor3d:ardor3d-extras</include>
+ <include>com.ardor3d:ardor3d-lwjgl</include>
+ <include>com.ardor3d:ardor3d-math</include>
+ <include>com.ardor3d:ardor3d-savable</include>
+ <include>com.ardor3d:ardor3d-swt</include>
+ <include>com.ardor3d:ardor3d-terrain</include>
+ <include>com.ardor3d:ardor3d-ui</include>
+ </includes>
+
+ <binaries>
+ <unpack>false</unpack>
+ <dependencySets>
+ <dependencySet>
+ <excludes>
+ <exclude>*:lwjgl*natives-*</exclude>
+ <exclude>*:jinput*natives-*</exclude>
+ </excludes>
+ </dependencySet>
+ </dependencySets>
+ </binaries>
+ </moduleSet>
+ </moduleSets>
+
+ <fileSets>
+ <fileSet>
+ <directory>target/natives</directory>
+ <outputDirectory>natives</outputDirectory>
+ <!-- This is kind of a workaround. Ideally, we would tell the maven-nativedependencies-plugin
+ to *not* unpack the jogl/gluegen native jars. Jogl has its own native library
+ classloader which unpacks the jars. At the moment, there is no other choice
+ if all platforms should be supported, because the filenames of the native
+ libs are overlapping each other in jogl (e.g. for natives-linux-amd64 and
+ natives-linux-i586). -->
+ <excludes>
+ <exclude>*jogl*</exclude>
+ <exclude>*nativewindow*</exclude>
+ <exclude>*newt*</exclude>
+ <exclude>*gluegen*</exclude>
+ <exclude>META-INF/</exclude>
+ </excludes>
+ </fileSet>
+ </fileSets>
+</assembly>
diff --git a/ardor3d-distribution/pom.xml b/ardor3d-distribution/pom.xml
new file mode 100644
index 0000000..7429808
--- /dev/null
+++ b/ardor3d-distribution/pom.xml
@@ -0,0 +1,61 @@
+<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>
+ <parent>
+ <groupId>com.ardor3d</groupId>
+ <artifactId>ardor3d</artifactId>
+ <version>0.9-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+
+ <artifactId>distribution</artifactId>
+ <packaging>pom</packaging>
+ <name>Distribution</name>
+
+ <dependencies>
+ <!-- NOTE: This dependency is only required to sort this project to the
+ end of the line in the multimodule build. -->
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>ardor3d-examples</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>2.4</version>
+ <executions>
+ <execution>
+ <id>distro-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+ <descriptor>assembly-jogl.xml</descriptor>
+ <descriptor>assembly-lwjgl.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>com.googlecode.mavennatives</groupId>
+ <artifactId>maven-nativedependencies-plugin</artifactId>
+ <version>0.0.7</version>
+ <executions>
+ <execution>
+ <id>unpacknatives</id>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/ardor3d-examples/assembly.xml b/ardor3d-examples/assembly.xml
index 7a0d556..b77ead8 100644
--- a/ardor3d-examples/assembly.xml
+++ b/ardor3d-examples/assembly.xml
@@ -30,6 +30,7 @@
<exclude>*nativewindow*</exclude>
<exclude>*newt*</exclude>
<exclude>*gluegen*</exclude>
+ <exclude>META-INF/</exclude>
</excludes>
</fileSet>
</fileSets>
@@ -37,8 +38,8 @@
<dependencySet>
<useProjectArtifact>false</useProjectArtifact>
<excludes>
- <exclude>*:*:*:lwjgl*natives-*:*</exclude>
- <exclude>*:*:*:jinput*natives-*:*</exclude>
+ <exclude>*:lwjgl*natives-*</exclude>
+ <exclude>*:jinput*natives-*</exclude>
</excludes>
<outputDirectory>lib</outputDirectory>
</dependencySet>
diff --git a/pom.xml b/pom.xml
index a113311..2d3c2ab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,6 +22,7 @@
<module>ardor3d-ui</module>
<module>ardor3d-terrain</module>
<module>ardor3d-examples</module>
+ <module>ardor3d-distribution</module>
</modules>
<scm>