Rewrote assemblies to provide distributions for JREs for OS X, Windows and Linux

- Added an assembly for each platform (including platform-independent,
which perhaps should be “no-jre”).
- Added dependencies for each jre.  The dependencies are hosted in our
protege maven repo (I don’t think this should be in git and on github).
- Customised the run scripts for each platform specific installation.

- TODO:  Add filtering for common properties.
- TODO:  Investigate the maven iterator plugin so that we can have just
one assembly.xml (I’ve designed the layout with this in mind).
Esse commit está contido em:
Matthew Horridge
2015-03-17 10:20:25 -07:00
commit a070b84bd3
11 arquivos alterados com 253 adições e 35 exclusões
+15 -1
Ver Arquivo
@@ -154,7 +154,19 @@
<dependency>
<groupId>edu.stanford.protege</groupId>
<artifactId>os.x.jre</artifactId>
<artifactId>jre.os-x</artifactId>
<version>1.8.0_40</version>
</dependency>
<dependency>
<groupId>edu.stanford.protege</groupId>
<artifactId>jre.win</artifactId>
<version>1.8.0_40</version>
</dependency>
<dependency>
<groupId>edu.stanford.protege</groupId>
<artifactId>jre.linux</artifactId>
<version>1.8.0_40</version>
</dependency>
@@ -176,6 +188,8 @@
<descriptors>
<descriptor>src/main/assembly/protege-platform-independent.xml</descriptor>
<descriptor>src/main/assembly/protege-os-x.xml</descriptor>
<descriptor>src/main/assembly/protege-win.xml</descriptor>
<descriptor>src/main/assembly/protege-linux.xml</descriptor>
</descriptors>
</configuration>
</execution>
@@ -0,0 +1,105 @@
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>linux</id>
<formats>
<format>dir</format>
</formats>
<baseDirectory>Protege-${project.version}</baseDirectory>
<fileSets>
<fileSet>
<directory>src/main/felix</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>**/*</include>
</includes>
</fileSet>
<fileSet>
<directory>src/main/logging</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>**/*</include>
</includes>
</fileSet>
<fileSet>
<directory>src/main/env/linux</directory>
<outputDirectory>.</outputDirectory>
<fileMode>744</fileMode>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>.</outputDirectory>
<includes>
<include>edu.stanford.protege:jre.linux:jar</include>
</includes>
<unpack>true</unpack>
<unpackOptions>
<excludes>
<exclude>META-INF</exclude>
<exclude>META-INF/**/*</exclude>
</excludes>
</unpackOptions>
<!--
This is unsatisfactory as it applies to everything. However, I'm not sure
how to do this otherwise. (Note, listing the artifact twice with different
includes and excludes doesn't help as it gets skipped the second time.
-->
<fileMode>744</fileMode>
<useStrictFiltering>true</useStrictFiltering>
</dependencySet>
<dependencySet>
<outputDirectory>bin</outputDirectory>
<includes>
<include>edu.stanford.protege:ProtegeLauncher:jar</include>
<include>org.apache.felix:org.apache.felix.main:jar</include>
</includes>
<useStrictFiltering>true</useStrictFiltering>
<outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
</dependencySet>
<dependencySet>
<outputDirectory>bundles</outputDirectory>
<includes>
<include>edu.stanford.protege:org.protege.common:jar</include>
<include>edu.stanford.protege:org.protege.editor.core.application:jar</include>
<include>org.eclipse.equinox:org.eclipse.equinox.common:jar</include>
<include>org.eclipse.equinox:org.eclipse.equinox.registry:jar</include>
<include>org.eclipse.equinox:org.eclipse.equinox.supplement:jar</include>
</includes>
<useStrictFiltering>true</useStrictFiltering>
<outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
</dependencySet>
<dependencySet>
<outputDirectory>plugins</outputDirectory>
<includes>
<include>net.sourceforge.owlapi:owlapi-osgidistribution:jar</include>
<include>edu.stanford.protege:ca.uvic.cs.chisel.cajun:jar</include>
<include>edu.stanford.protege:org.coode.dlquery:jar</include>
<include>edu.stanford.protege:org.coode.owlviz:jar</include>
<include>edu.stanford.protege:org.protege.editor.owl:jar</include>
<include>edu.stanford.protege:org.protege.editor.owl.codegeneration:jar</include>
<include>edu.stanford.protege:org.protege.editor.owl.diff:jar</include>
<include>edu.stanford.protege:org.protege.editor.owl.rdf:jar</include>
<include>edu.stanford.protege:org.protege.explanation:jar</include>
<include>edu.stanford.protege:org.protege.integration.hermit:jar</include>
<include>edu.stanford.protege:org.protege.ontograf:jar</include>
<include>edu.stanford.protege:org.protege.owl.diff:jar</include>
<include>edu.stanford.protege:org.protege.owl.rdf:jar</include>
<include>com.google.guava:guava:jar</include>
</includes>
<useStrictFiltering>true</useStrictFiltering>
<outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
</dependencySet>
</dependencySets>
</assembly>
@@ -2,7 +2,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>OS-X</id>
<id>os-x</id>
<formats>
<format>dir</format>
</formats>
@@ -27,29 +27,19 @@
</fileSet>
<fileSet>
<directory>src/main/jre/osx</directory>
<directory>src/main/env/os-x</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>**/*</include>
</includes>
<fileMode>744</fileMode>
</fileSet>
</fileSets>
<files>
<file>
<source>src/main/jre/osx/run.command</source>
<outputDirectory>.</outputDirectory>
<fileMode>744</fileMode>
</file>
</files>
<dependencySets>
<dependencySet>
<outputDirectory>.</outputDirectory>
<includes>
<include>edu.stanford.protege:os.x.jre:jar</include>
<include>edu.stanford.protege:jre.os-x:jar</include>
</includes>
<unpack>true</unpack>
<unpackOptions>
@@ -64,9 +54,9 @@
includes and excludes doesn't help as it gets skipped the second time.
-->
<fileMode>744</fileMode>
<useStrictFiltering>true</useStrictFiltering>
</dependencySet>
<dependencySet>
<outputDirectory>bin</outputDirectory>
<includes>
@@ -2,7 +2,7 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>NO-JRE</id>
<id>platform-independent</id>
<formats>
<format>dir</format>
</formats>
@@ -26,27 +26,16 @@
</includes>
</fileSet>
<fileSet>
<directory>src/main/env/platform-independent</directory>
<outputDirectory>.</outputDirectory>
<fileMode>744</fileMode>
</fileSet>
</fileSets>
<files>
<file>
<source>src/main/scripts/nix/run.sh</source>
<outputDirectory>.</outputDirectory>
<fileMode>744</fileMode>
</file>
<file>
<source>src/main/scripts/osx/run.command</source>
<outputDirectory>.</outputDirectory>
<fileMode>744</fileMode>
</file>
<file>
<source>src/main/scripts/win/run.bat</source>
<outputDirectory>.</outputDirectory>
<fileMode>744</fileMode>
</file>
</files>
<dependencySets>
<dependencySet>
<outputDirectory>bin</outputDirectory>
<includes>
@@ -0,0 +1,105 @@
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
<id>win</id>
<formats>
<format>dir</format>
</formats>
<baseDirectory>Protege-${project.version}</baseDirectory>
<fileSets>
<fileSet>
<directory>src/main/felix</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>**/*</include>
</includes>
</fileSet>
<fileSet>
<directory>src/main/logging</directory>
<outputDirectory>.</outputDirectory>
<includes>
<include>**/*</include>
</includes>
</fileSet>
<fileSet>
<directory>src/main/env/win</directory>
<outputDirectory>.</outputDirectory>
<fileMode>744</fileMode>
</fileSet>
</fileSets>
<dependencySets>
<dependencySet>
<outputDirectory>.</outputDirectory>
<includes>
<include>edu.stanford.protege:jre.win:jar</include>
</includes>
<unpack>true</unpack>
<unpackOptions>
<excludes>
<exclude>META-INF</exclude>
<exclude>META-INF/**/*</exclude>
</excludes>
</unpackOptions>
<!--
This is unsatisfactory as it applies to everything. However, I'm not sure
how to do this otherwise. (Note, listing the artifact twice with different
includes and excludes doesn't help as it gets skipped the second time.
-->
<fileMode>744</fileMode>
<useStrictFiltering>true</useStrictFiltering>
</dependencySet>
<dependencySet>
<outputDirectory>bin</outputDirectory>
<includes>
<include>edu.stanford.protege:ProtegeLauncher:jar</include>
<include>org.apache.felix:org.apache.felix.main:jar</include>
</includes>
<useStrictFiltering>true</useStrictFiltering>
<outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
</dependencySet>
<dependencySet>
<outputDirectory>bundles</outputDirectory>
<includes>
<include>edu.stanford.protege:org.protege.common:jar</include>
<include>edu.stanford.protege:org.protege.editor.core.application:jar</include>
<include>org.eclipse.equinox:org.eclipse.equinox.common:jar</include>
<include>org.eclipse.equinox:org.eclipse.equinox.registry:jar</include>
<include>org.eclipse.equinox:org.eclipse.equinox.supplement:jar</include>
</includes>
<useStrictFiltering>true</useStrictFiltering>
<outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
</dependencySet>
<dependencySet>
<outputDirectory>plugins</outputDirectory>
<includes>
<include>net.sourceforge.owlapi:owlapi-osgidistribution:jar</include>
<include>edu.stanford.protege:ca.uvic.cs.chisel.cajun:jar</include>
<include>edu.stanford.protege:org.coode.dlquery:jar</include>
<include>edu.stanford.protege:org.coode.owlviz:jar</include>
<include>edu.stanford.protege:org.protege.editor.owl:jar</include>
<include>edu.stanford.protege:org.protege.editor.owl.codegeneration:jar</include>
<include>edu.stanford.protege:org.protege.editor.owl.diff:jar</include>
<include>edu.stanford.protege:org.protege.editor.owl.rdf:jar</include>
<include>edu.stanford.protege:org.protege.explanation:jar</include>
<include>edu.stanford.protege:org.protege.integration.hermit:jar</include>
<include>edu.stanford.protege:org.protege.ontograf:jar</include>
<include>edu.stanford.protege:org.protege.owl.diff:jar</include>
<include>edu.stanford.protege:org.protege.owl.rdf:jar</include>
<include>com.google.guava:guava:jar</include>
</includes>
<useStrictFiltering>true</useStrictFiltering>
<outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
</dependencySet>
</dependencySets>
</assembly>
+13
Ver Arquivo
@@ -0,0 +1,13 @@
#!/bin/sh
cd `dirname $0`
jre/bin/java -Xmx500M -Xms250M \
-Dlog4j.configuration=file:log4j.xml \
-DentityExpansionLimit=100000000 \
-Dfile.encoding=UTF-8 \
-classpath bin/org.apache.felix.main.jar:bin/ProtegeLauncher.jar \
$CMD_OPTIONS org.protege.osgi.framework.Launcher
+2
Ver Arquivo
@@ -0,0 +1,2 @@
jre/bin/java -Dlog4j.configuration=file:log4j.xml -DentityExpansionLimit=100000000 -Dfile.encoding=utf-8 -Dorg.protege.plugin.dir=plugins -classpath bin/felix.jar;bin/ProtegeLauncher.jar org.protege.osgi.framework.Launcher