提交 75237b89 编写于 作者: M Mathieu Bastian

Adding the ability to independently create windows and compressed dmg artifacts

上级 fb7f2621
......@@ -481,22 +481,56 @@
<build>
<plugins>
<!-- Disable the ZIP goal in the non-deployment or release mode -->
<!-- Disable the ZIP goal in the non-deployment or release mode. Also set up the location of the gephi.conf -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>nbm-maven-plugin</artifactId>
<configuration>
<!-- Set up the gephi.conf for the final artifact -->
<etcConfFile>${basedir}/target/${brandingToken}.conf</etcConfFile>
</configuration>
<executions>
<execution>
<id>default-standalone-zip</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugin>
<!-- Copy ressources gephi.conf and Info.plist with filtering (replacing 'project.version' by the actual version -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>generate-app-conf-file</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>${brandingToken}.conf</include>
<include>Info.plist</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<escapeString>\</escapeString>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<!-- The deployment profile is built for daily releases. It builts everything except the installers -->
<!-- The deployment profile is built for daily releases. It builds the standalone
zip and the autoupdate site. It can be used with deploy-dmg to include the dmg as well. -->
<profile>
<id>deployment</id>
<build>
......@@ -506,10 +540,6 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>nbm-maven-plugin</artifactId>
<configuration>
<!-- Set up the gephi.conf for the final artifact -->
<etcConfFile>${basedir}/target/${brandingToken}.conf</etcConfFile>
</configuration>
<executions>
<execution>
<id>default-standalone-zip</id>
......@@ -535,34 +565,60 @@
</systemPropertyVariables>
</configuration>
</plugin>
<!-- Attach the final ZIP files for deployment -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>attach-zip</id>
<phase>pre-integration-test</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
<type>zip</type>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
<!-- Copy ressources gephi.conf and Info.plist with filtering (replacing 'project.version' by the actual version -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>generate-app-conf-file</id>
<phase>generate-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>${brandingToken}.conf</include>
<include>Info.plist</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
<escapeString>\</escapeString>
</configuration>
</execution>
</executions>
<!-- Upload the autoupdate site automatically -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<executions>
<execution>
<id>upload-jar-to-folder</id>
<phase>deploy</phase>
<goals>
<goal>upload</goal>
</goals>
</execution>
</executions>
<configuration>
<fromDir>${gephi.updates.site}</fromDir>
<includes>*</includes>
<url>${gephi.snapshot.repository.url}</url>
<toDir>external</toDir>
<serverId>${gephi.snapshot.repository.id}</serverId>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- Profile used along with deployment to create the dmg archive -->
<profile>
<id>deploy-dmg</id>
<build>
<plugins>
<!-- Create the Mac OS X application bundle and dmg file -->
<plugin>
......@@ -584,9 +640,10 @@
<mkdir dir="${project.build.directory}/${gephi.appbundle.name}.app"/>
<mkdir dir="${project.build.directory}/${gephi.appbundle.name}.app/Contents/MacOS"/>
<unjar src="${project.build.directory}/${project.build.finalName}.zip"
dest="${project.build.directory}/${gephi.appbundle.name}.app/Contents/Resources/"/>
<copy todir="${project.build.directory}/${gephi.appbundle.name}.app/Contents/Resources/${brandingToken}">
<fileset dir="${project.build.directory}/${brandingToken}"/>
</copy>
<copy tofile="${project.build.directory}/${gephi.appbundle.name}.app/Contents/Resources/${brandingToken}.icns" file="src/main/app-resources/${brandingToken}.icns" />
<copy tofile="${project.build.directory}/${gephi.appbundle.name}.app/Contents/Info.plist" file="${project.build.directory}/Info.plist"/>
......@@ -622,16 +679,13 @@
<arg value="${gephi.appbundle.name}.app"/>
<arg value="${gephi.appbundle.name}.app"/>
</exec>
<!-- <gzip src="${project.build.directory}/{project.artifactId}-${project.version}.dmg"
destfile="${project.build.directory}/{project.artifactId}-${project.version}.dmg.gz"/>-->
</target>
</configuration>
</execution>
</executions>
</plugin>
<!-- Attach the final DMG and ZIP files for deployment -->
<!-- Attach the final DMG for deployment -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
......@@ -648,37 +702,11 @@
<file>${project.build.directory}/${project.artifactId}-${project.version}.dmg</file>
<type>dmg</type>
</artifact>
<artifact>
<file>${project.build.directory}/${project.artifactId}-${project.version}.zip</file>
<type>zip</type>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
<!-- Upload the autoupdate site automatically -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<executions>
<execution>
<id>upload-jar-to-folder</id>
<phase>deploy</phase>
<goals>
<goal>upload</goal>
</goals>
</execution>
</executions>
<configuration>
<fromDir>${gephi.updates.site}</fromDir>
<includes>*</includes>
<url>${gephi.snapshot.repository.url}</url>
<toDir>external</toDir>
<serverId>${gephi.snapshot.repository.id}</serverId>
</configuration>
</plugin>
</plugins>
</build>
</profile>
......@@ -688,6 +716,8 @@
<id>release-windows</id>
<build>
<plugins>
<!-- Copy and filter the InnoSetup config file, as well as icons -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
......@@ -719,6 +749,84 @@
</configuration>
</execution>
</executions>
</plugin>
<!-- Execute InnoSetup with the gephi.iss script -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>create-windows-installer</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<delete file="${project.artifactId}-${project.version}.exe" failonerror="false"/>
<exec dir="${project.build.directory}" executable="${gephi.innosetup.path}/Compil32.exe">
<arg line="/cc '${project.build.directory}/windows/${brandingToken}.iss'" />
</exec>
</target>
</configuration>
</execution>
</executions>
</plugin>
<!-- Deploy exe artifact -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<executions>
<execution>
<phase>deploy</phase>
<goals>
<goal>deploy-file</goal>
</goals>
<configuration>
<packaging>exe</packaging>
<generatePom>false</generatePom>
<url>${gephi.release.repository.url}</url>
<artifactId>${project.artifactId}</artifactId>
<groupId>${project.groupId}</groupId>
<version>${project.version}</version>
<file>${project.build.directory}/${project.artifactId}-${project.version}.exe</file>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Profile activated for macos release. Need to be called with profile deploy-dmg. -->
<profile>
<id>release-macos</id>
<build>
<plugins>
<!-- Deploy exe artifact -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<executions>
<execution>
<phase>deploy</phase>
<goals>
<goal>deploy-file</goal>
</goals>
<configuration>
<packaging>dmg</packaging>
<generatePom>false</generatePom>
<url>${gephi.release.repository.url}</url>
<artifactId>${project.artifactId}</artifactId>
<groupId>${project.groupId}</groupId>
<version>${project.version}</version>
<file>${project.build.directory}/${project.artifactId}-${project.version}.dmg</file>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
......
......@@ -121,7 +121,7 @@
<gephi.maven-dependency-plugin.version>2.4</gephi.maven-dependency-plugin.version>
<gephi.maven-deploy-plugin.version>2.6</gephi.maven-deploy-plugin.version>
<gephi.maven-deploy-plugin.version>2.7</gephi.maven-deploy-plugin.version>
<gephi.maven-doap-plugin.version>1.1</gephi.maven-doap-plugin.version>
......@@ -342,7 +342,7 @@
<phase>package</phase>
<goals>
<goal>jar</goal>
<goal>test-jar</goal>
<!--<goal>test-jar</goal>-->
</goals>
</execution>
</executions>
......@@ -410,56 +410,96 @@
<installerOsMacosx>false</installerOsMacosx>
</configuration>
</plugin>
<!-- Javadoc settings -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<show>private</show>
<nohelp>true</nohelp>
<detectLinks>true</detectLinks>
<detectOfflineLinks>true</detectOfflineLinks>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>deploy</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
<execution>
<id>aggregate-javadoc</id>
<goals>
<goal>aggregate</goal>
</goals>
<phase>site</phase>
</plugins>
</build>
<!-- Profiles -->
<profiles>
<!-- Profile for nighly builds and releases -->
<profile>
<id>deployment</id>
<build>
<plugins>
<!-- Javadoc settings -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<show>public</show>
<stylesheetfile>src/main/javadoc/stylesheet.css</stylesheetfile>
<doctitle>Gephi ${project.version} API Index</doctitle>
<subpackages>org.gephi.clustering.api:org.gephi.clustering.spi:org.gephi.data.attributes.api:org.gephi.data.attributes.spi:org.gephi.data.attributes.type:org.gephi.data.properties:org.gephi.datalab.api:org.gephi.datalab.spi:org.gephi.datalab.spi.columns:org.gephi.datalab.spi.columns.merge:org.gephi.datalab.spi.edges:org.gephi.datalab.spi.general:org.gephi.datalab.spi.nodes:org.gephi.datalab.spi.rows.merge:org.gephi.datalab.spi.values:org.gephi.dynamic.api:org.gephi.filters.api:org.gephi.filters.spi:org.gephi.graph.api:org.gephi.graph.spi:org.gephi.io.exporter.api:org.gephi.io.exporter.spi:org.gephi.io.generator.api:org.gephi.io.generator.spi:org.gephi.io.importer.api:org.gephi.io.importer.spi:org.gephi.io.processor.spi:org.gephi.layout.api:org.gephi.layout.spi:org.gephi.partition.api:org.gephi.partition.spi:org.gephi.perspective.api:org.gephi.perspective.spi:org.gephi.preview.api:org.gephi.preview.spi:org.gephi.preview.types:org.gephi.project.api:org.gephi.project.spi:org.gephi.ranking.api:org.gephi.ranking.spi:org.gephi.statistics.api:org.gephi.statistics.spi:org.gephi.timeline.api:org.gephi.tools.api:org.gephi.tools.spi:org.gephi.utils.longtask.api:org.gephi.utils.longtask.spi:org.gephi.utils.progress</subpackages>
<show>private</show>
<nohelp>true</nohelp>
<detectLinks>true</detectLinks>
<detectOfflineLinks>true</detectOfflineLinks>
</configuration>
</execution>
</executions>
</plugin>
<executions>
<execution>
<id>attach-javadocs</id>
<phase>deploy</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
<execution>
<id>aggregate-javadoc</id>
<goals>
<goal>aggregate</goal>
</goals>
<phase>site</phase>
<configuration>
<show>public</show>
<stylesheetfile>src/main/javadoc/stylesheet.css</stylesheetfile>
<doctitle>Gephi ${project.version} API Index</doctitle>
<subpackages>org.gephi.clustering.api:org.gephi.clustering.spi:org.gephi.data.attributes.api:org.gephi.data.attributes.spi:org.gephi.data.attributes.type:org.gephi.data.properties:org.gephi.datalab.api:org.gephi.datalab.spi:org.gephi.datalab.spi.columns:org.gephi.datalab.spi.columns.merge:org.gephi.datalab.spi.edges:org.gephi.datalab.spi.general:org.gephi.datalab.spi.nodes:org.gephi.datalab.spi.rows.merge:org.gephi.datalab.spi.values:org.gephi.dynamic.api:org.gephi.filters.api:org.gephi.filters.spi:org.gephi.graph.api:org.gephi.graph.spi:org.gephi.io.exporter.api:org.gephi.io.exporter.spi:org.gephi.io.generator.api:org.gephi.io.generator.spi:org.gephi.io.importer.api:org.gephi.io.importer.spi:org.gephi.io.processor.spi:org.gephi.layout.api:org.gephi.layout.spi:org.gephi.partition.api:org.gephi.partition.spi:org.gephi.perspective.api:org.gephi.perspective.spi:org.gephi.preview.api:org.gephi.preview.spi:org.gephi.preview.types:org.gephi.project.api:org.gephi.project.spi:org.gephi.ranking.api:org.gephi.ranking.spi:org.gephi.statistics.api:org.gephi.statistics.spi:org.gephi.timeline.api:org.gephi.tools.api:org.gephi.tools.spi:org.gephi.utils.longtask.api:org.gephi.utils.longtask.spi:org.gephi.utils.progress</subpackages>
</configuration>
</execution>
</executions>
</plugin>
<!-- Sources plugin -->
<plugin>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<phase>deploy</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!-- Sources plugin -->
<plugin>
<artifactId>maven-source-plugin</artifactId>
<executions>
<execution>
<id>attach-sources</id>
<phase>deploy</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Profile activated for windows/macos release only. Should be called alone so it only creates the windows installer/compressed dmg -->
<profile>
<id>release-extra</id>
<build>
<plugins>
<!-- Skip the standard deploy phase -->
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<!-- Skip the standard install phase -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<id>default-install</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<!-- List of modules -->
<modules>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册