Skip to content

Commit

Permalink
Updated static executable based (ie NON-PDE) plugins to compile such …
Browse files Browse the repository at this point in the history
…that they can be used with maven and not have to be built separately in the build system.

It does add a new maven command that needs run before normal clean install:

mvn -Pbuild-nonpde clean install which builds the maven compatible versions of the static executables.
  • Loading branch information
bherr2 committed Dec 5, 2017
1 parent 4d405cb commit 615e44c
Show file tree
Hide file tree
Showing 109 changed files with 10,052 additions and 2,437 deletions.
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,8 @@

# Maven
log/
target/
target/

# releng
dist/
build/
214 changes: 158 additions & 56 deletions analysis/edu.iu.nwb.analysis.averageshortestpath/build.xml
Original file line number Diff line number Diff line change
@@ -1,56 +1,158 @@
<!-- This file in almost all cases will not need edited -->
<project name="Static Executable Integration Template" basedir="." default="compile">
<property file="manifest.properties"/>

<property name="repository.dir" value="${basedir}"/>
<property name="build.dir" value="${repository.dir}/build"/>
<property name="lib.dir" value="${repository.dir}/lib"/>
<property name="out.dir" value="${build.dir}/out"/>
<property name="global.properties" value="${repository.dir}/manifest.properties"/>
<property name="gui.file" value="${repository.dir}/gui.xml"/>
<property name="dest.gui.file" value="${out.dir}/OSGI-INF/metatype/METADATA.XML"/>
<property name="l10n.dir" value="${repository.dir}/l10n" />
<property name="dest.l10n.dir" value="${out.dir}/OSGI-INF/l10n"/>
<property name="template.file" value="${lib.dir}/component.xml"/>

<target name="compile" depends="copy.files"
description="Compile an OSGi Bundle of the Static Executable">

<createManifest basedir="${out.dir}"
baseproperties="${global.properties}"
template="${template.file}"/>

<copy file="${gui.file}" tofile="${dest.gui.file}" failonerror="false"/>

<copy todir="${dest.l10n.dir}">
<fileset dir="${l10n.dir}"/>
</copy>

<jar destfile="${build.dir}/${Bundle-SymbolicName}_${Bundle-Version}.jar"
basedir="${out.dir}" manifest="${out.dir}/META-INF/MANIFEST.MF"/>
</target>

<target name="copy.files" description="Copying files" depends="tasks.init">
<copy todir="${out.dir}">
<fileset dir="${repository.dir}">
<include name="**/*"/>
<exclude name="${lib.dir},${build.dir},${l10n.dir}"/>
<exclude name="l10n/**/*"/>
<exclude name="build/**/*"/>
<exclude name="lib/**/*"/>
<exclude name="src/**/*"/>
<exclude name="*"/>
</fileset>
</copy>
</target>

<target name="tasks.init" description="Initialize TaskDefinitions">
<taskdef name="createManifest"
classname="org.cishell.templates.staticexecutable.StaticExecutableIntegrationTask"
classpath="${lib.dir}/cishell_templates.jar"/>
</target>

<target name="clean" description="Clean build directory">
<delete dir="${build.dir}"/>
</target>
</project>
<!-- This file in almost all cases will not need edited -->
<project name="Static Executable Integration Template" basedir="." default="compile">
<property file="manifest.properties"/>

<property name="repository.dir" value="${basedir}"/>
<property name="build.dir" value="${repository.dir}/build"/>
<property name="lib.dir" value="${repository.dir}/lib"/>
<property name="out.dir" value="${build.dir}/out"/>
<property name="global.properties" value="${repository.dir}/manifest.properties"/>
<property name="gui.file" value="${repository.dir}/gui.xml"/>
<property name="dest.gui.file" value="${out.dir}/OSGI-INF/metatype/METADATA.XML"/>
<property name="l10n.dir" value="${repository.dir}/l10n" />
<property name="dest.l10n.dir" value="${out.dir}/OSGI-INF/l10n"/>
<property name="template.file" value="${lib.dir}/component.xml"/>

<target name="compile" depends="mavenize,copy.files,write-build-properties,write-pom"
description="Compile an OSGi Bundle of the Static Executable">

<createManifest basedir="${out.dir}"
baseproperties="${global.properties}"
template="${template.file}"/>

<copy file="${gui.file}" tofile="${dest.gui.file}" failonerror="false"/>

<copy todir="${dest.l10n.dir}">
<fileset dir="${l10n.dir}"/>
</copy>

<jar destfile="${build.dir}/${Bundle-SymbolicName}_${Bundle-Version}.jar"
basedir="${out.dir}" manifest="${out.dir}/META-INF/MANIFEST.MF"/>
</target>

<target name="copy.files" description="Copying files" depends="tasks.init">
<copy todir="${out.dir}">
<fileset dir="${repository.dir}">
<include name="**/*"/>
<exclude name="${lib.dir},${build.dir},${l10n.dir}"/>
<exclude name="l10n/**/*"/>
<exclude name="build/**/*"/>
<exclude name="lib/**/*"/>
<exclude name="*"/>
</fileset>
</copy>
</target>

<target name="tasks.init" description="Initialize TaskDefinitions">
<taskdef name="createManifest"
classname="org.cishell.templates.staticexecutable.StaticExecutableIntegrationTask"
classpath="${lib.dir}/cishell_templates.jar"/>
</target>

<target name="clean" description="Clean build directory">
<delete dir="${build.dir}"/>
</target>

<target name="write-build-properties">
<echo file="${out.dir}/build.properties"><![CDATA[bin.includes = META-INF/,\
.,\
OSGI-INF/,\
ALGORITHM/
]]>
</echo>
</target>

<target name="write-pom">
<echo file="${out.dir}/pom.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<artifactId>${Bundle-SymbolicName}</artifactId>
<groupId>${Bundle-SymbolicName}</groupId>
<version>${Bundle-Version}</version>
<parent>
<artifactId>builder</artifactId>
<groupId>${Bundle-SymbolicName}</groupId>
<version>${Bundle-Version}</version>
<relativePath>../..</relativePath>
</parent>
<packaging>eclipse-plugin</packaging>
</project>
]]>
</echo>
</target>

<target name="mavenize">
<echo file="${repository.dir}/pom.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<artifactId>builder</artifactId>
<groupId>${Bundle-SymbolicName}</groupId>
<version>${Bundle-Version}</version>
<packaging>pom</packaging>
<parent>
<artifactId>plugins</artifactId>
<groupId>org.cishell</groupId>
<version>1.2.0</version>
<relativePath>../..</relativePath>
</parent>
<profiles>
<profile>
<id>build</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>build/out</module>
</modules>
</profile>
<profile>
<id>build-nonpde</id>
<modules></modules>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>algorithm-build</id>
<phase>install</phase>
<configuration>
<tasks>
<ant antfile="build.xml" target="compile"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>algorithm-clean</id>
<phase>clean</phase>
<configuration>
<tasks>
<ant antfile="build.xml" target="clean"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>
]]>
</echo>
</target>
</project>
69 changes: 69 additions & 0 deletions analysis/edu.iu.nwb.analysis.averageshortestpath/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<artifactId>builder</artifactId>
<groupId>edu.iu.nwb.analysis.averageshortestpath</groupId>
<version>1.0.0</version>
<packaging>pom</packaging>

<parent>
<artifactId>plugins</artifactId>
<groupId>org.cishell</groupId>
<version>1.2.0</version>
<relativePath>../..</relativePath>
</parent>

<profiles>
<profile>
<id>build</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<modules>
<module>build/out</module>
</modules>
</profile>
<profile>
<id>build-nonpde</id>
<modules></modules>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>algorithm-build</id>
<phase>install</phase>
<configuration>
<tasks>
<ant antfile="build.xml" target="compile"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>algorithm-clean</id>
<phase>clean</phase>
<configuration>
<tasks>
<ant antfile="build.xml" target="clean"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>


Loading

0 comments on commit 615e44c

Please sign in to comment.