gephi
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>org.gephi</groupId> <artifactId>gephi</artifactId> <version>0.10.1</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <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"> <modelVersion>4.0.0</modelVersion> <!-- Parent POM --> <parent> <groupId>org.gephi</groupId> <artifactId>gephi-parent</artifactId> <version>0.10.1</version> <relativePath>../..</relativePath> </parent> <artifactId>gephi</artifactId> <packaging>nbm-application</packaging> <version>0.10.1</version> <name>gephi-app</name> <properties> <jarGoalPhase>package</jarGoalPhase> <skipCreateTargz>true</skipCreateTargz> <skipCreateExe>true</skipCreateExe> <skipCreateDmg>true</skipCreateDmg> <skipAppleNotarization>true</skipAppleNotarization> </properties> <!-- For site only --> <distributionManagement> <site> <id>github</id> <url>scm:git:https://github.com/gephi/gephi.git</url> </site> </distributionManagement> <!-- Dependencies --> <dependencies> <dependency> <groupId>org.netbeans.cluster</groupId> <artifactId>platform</artifactId> <type>pom</type> <exclusions> <exclusion> <artifactId>org-jdesktop-layout</artifactId> <groupId>org.netbeans.api</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-api-search</artifactId> <groupId>org.netbeans.api</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-api-visual</artifactId> <groupId>org.netbeans.api</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-core-execution</artifactId> <groupId>org.netbeans.modules</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-core-netigso</artifactId> <groupId>org.netbeans.api</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-core-osgi</artifactId> <groupId>org.netbeans.modules</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-libs-jsr223</artifactId> <groupId>org.netbeans.api</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-libs-testng</artifactId> <groupId>org.netbeans.api</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-libs-junit4</artifactId> <groupId>org.netbeans.api</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-modules-netbinox</artifactId> <groupId>org.netbeans.api</groupId> </exclusion> <exclusion> <artifactId>org-openide-compat</artifactId> <groupId>org.netbeans.api</groupId> </exclusion> <exclusion> <artifactId>org-openide-options</artifactId> <groupId>org.netbeans.api</groupId> </exclusion> <exclusion> <artifactId>org-openide-util-enumerations</artifactId> <groupId>org.netbeans.api</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-modules-editor-mimelookup-impl</artifactId> <groupId>org.netbeans.modules</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-modules-javahelp</artifactId> <groupId>org.netbeans.api</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-modules-spi-actions</artifactId> <groupId>org.netbeans.modules</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-modules-junitlib</artifactId> <groupId>org.netbeans.modules</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-api-htmlui</artifactId> <groupId>org.netbeans.api</groupId> </exclusion> <exclusion> <artifactId>org-netbeans-modules-templatesui</artifactId> <groupId>org.netbeans.modules</groupId> </exclusion> <exclusion> <groupId>org.netbeans.html</groupId> <artifactId>net.java.html</artifactId> </exclusion> <exclusion> <groupId>org.netbeans.html</groupId> <artifactId>net.java.html.boot</artifactId> </exclusion> <exclusion> <groupId>org.netbeans.html</groupId> <artifactId>net.java.html.boot.fx</artifactId> </exclusion> <exclusion> <groupId>org.netbeans.html</groupId> <artifactId>net.java.html.boot.script</artifactId> </exclusion> <exclusion> <groupId>org.netbeans.html</groupId> <artifactId>net.java.html.geo</artifactId> </exclusion> <exclusion> <groupId>org.netbeans.html</groupId> <artifactId>net.java.html.json</artifactId> </exclusion> <exclusion> <groupId>org.netbeans.html</groupId> <artifactId>net.java.html.sound</artifactId> </exclusion> <exclusion> <groupId>org.netbeans.html</groupId> <artifactId>ko4j</artifactId> </exclusion> <exclusion> <groupId>org.netbeans.html</groupId> <artifactId>xhr4j</artifactId> </exclusion> <exclusion> <groupId>org.netbeans.api</groupId> <artifactId>org-netbeans-libs-junit5</artifactId> </exclusion> <exclusion> <groupId>org.netbeans.modules</groupId> <artifactId>org-netbeans-modules-htmlui</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.netbeans.api</groupId> <artifactId>org-netbeans-modules-nbjunit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>utils-longtask</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>project-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>graph-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>io-exporter-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>preview-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>io-exporter-preview</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>preview-export-ui</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>utils</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>datalab-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>visualization-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>preview-plugin</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>db-drivers</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>io-importer-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>ui-utils</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>ui-components</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>settings-upgrader</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>statistics-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>statistics-plugin</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>statistics-plugin-ui</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>timeline-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>tools-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>algorithms-plugin</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>mostrecentfiles-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-project</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>visualization</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>tools-plugin</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>welcome-screen</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-context</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-branding</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>layout-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>io-generator-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>io-generator-plugin</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>generator-plugin-ui</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>io-exporter-plugin</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-statistics</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>filters-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>layout-plugin</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-generate</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-datalab</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>appearance-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-appearance</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>io-importer-plugin</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>filters-plugin</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>filters-impl</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>export-plugin-ui</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-io-export</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>perspective-api</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>import-plugin-ui</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-window</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>datalab-plugin</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>filters-plugin-ui</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-layout</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-import</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-preview</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>appearance-plugin</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>appearance-plugin-ui</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-tools</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-timeline</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-filters</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>core-library-wrapper</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>ui-library-wrapper</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-icons</artifactId> </dependency> <dependency> <groupId>${project.groupId}</groupId> <artifactId>desktop-search</artifactId> </dependency> </dependencies> <build> <plugins> <!-- Build jar only when not in deployment mode so install does not fail due to no attached artifacts --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration combine.self="override"> <!-- Override for not using the archive - manifestFile from parent pom --> </configuration> <executions> <execution> <phase>${jarGoalPhase}</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <!-- Disable the ZIP goal. Also set up the location of the gephi.conf --> <plugin> <groupId>org.apache.netbeans.utilities</groupId> <artifactId>nbm-maven-plugin</artifactId> <configuration> <!-- Set up the gephi.conf for the final artifact --> <etcConfFile>${basedir}/target/${brandingToken}.conf</etcConfFile> <!-- Source of the NBMs for auto update --> <distBase>central::default::${gephi.update.center.source}</distBase> </configuration> <executions> <execution> <id>default-standalone-zip</id> <phase>none</phase> </execution> </executions> </plugin> <!-- Do not generate a source jar --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <configuration> <skipSource>true</skipSource> </configuration> </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> <include>Entitlements.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 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> <properties> <jarGoalPhase>none</jarGoalPhase> </properties> <!-- Localization dependency --> <dependencies> <dependency> <groupId>nl.cloudfarming.client</groupId> <artifactId>lib-platform-l10n</artifactId> <version>${gephi.platform.localization.version}</version> </dependency> </dependencies> <build> <plugins> <!-- Enable artifact deploy --> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <configuration> <skipNexusStagingDeployMojo>false</skipNexusStagingDeployMojo> </configuration> </plugin> <!-- Permits NbModuleSuite to be run in integration-test phase: --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <systemPropertyVariables> <all.clusters>${all.clusters}</all.clusters> <branding.token>${brandingToken}</branding.token> </systemPropertyVariables> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>replace-windows-icon</id> <phase>package</phase> <goals> <goal>run</goal> </goals> <configuration> <skip>${skipCreateExe}</skip> <!-- Target that replaces the icon for the launcher exe with our own icon. --> <target name="replaceWindowsLauncherIcon" description="Replace the icon for the Windows launcher exe"> <!-- Windows --> <echo message="Replacing icon of Windows launcher executable."/> <exec dir="src/main/app-resources" executable="ReplaceVistaIcon.exe" resolveexecutable="true" osfamily="windows"> <arg line="${project.build.directory}/${brandingToken}/bin/${brandingToken}.exe gephi.ico 0"/> </exec> <exec dir="src/main/app-resources" executable="ReplaceVistaIcon.exe" resolveexecutable="true" osfamily="windows"> <arg line="${project.build.directory}/${brandingToken}/bin/${brandingToken}.exe gephifile.ico 1"/> </exec> <exec dir="src/main/app-resources" executable="ReplaceVistaIcon.exe" resolveexecutable="true" osfamily="windows"> <arg line="${project.build.directory}/${brandingToken}/bin/${brandingToken}64.exe gephi.ico 0"/> </exec> <exec dir="src/main/app-resources" executable="ReplaceVistaIcon.exe" resolveexecutable="true" osfamily="windows"> <arg line="${project.build.directory}/${brandingToken}/bin/${brandingToken}64.exe gephifile.ico 1"/> </exec> </target> </configuration> </execution> <execution> <id>download-jre</id> <phase>package</phase> <goals> <goal>run</goal> </goals> <configuration> <target name="downloadJRE" description="Download JRE"> <!-- Download JRE (Mac OS X) --> <exec dir="${project.build.directory}" os="Mac OS X" executable="curl" failonerror="true"> <arg line="-L"/> <arg line="-C"/> <arg line="-"/> <arg line="-o"/> <arg line="jre-${gephi.bundle.arch}.zip"/> <arg line="${gephi.bundle.jre.macos}"/> </exec> <!-- Download JRE (Windows) --> <exec dir="${project.build.directory}" osfamily="windows" executable="curl" failonerror="true"> <arg line="-L"/> <arg line="-C"/> <arg line="-"/> <arg line="-o"/> <arg line="jre-${gephi.bundle.arch}.zip"/> <arg line="${gephi.bundle.jre.windows}"/> </exec> <!-- Download JRE (Linux) --> <exec dir="${project.build.directory}" os="Linux" executable="curl" failonerror="true"> <arg line="-L"/> <arg line="-C"/> <arg line="-"/> <arg line="-o"/> <arg line="jre-${gephi.bundle.arch}.zip"/> <arg line="${gephi.bundle.jre.linux}"/> </exec> <!-- Unzip archive --> <mkdir dir="${project.build.directory}/${brandingToken}/jre-${gephi.bundle.arch}"/> <exec dir="${project.build.directory}" executable="tar"> <arg line="-zxf"/> <arg line="jre-${gephi.bundle.arch}.zip"/> <arg line="-C "${brandingToken}/jre-${gephi.bundle.arch}""/> </exec> </target> </configuration> </execution> <!-- Execute InnoSetup with the gephi.iss script --> <execution> <id>create-windows-installer</id> <phase>package</phase> <goals> <goal>run</goal> </goals> <configuration> <skip>${skipCreateExe}</skip> <target name="createInstaller" description="Create Windows installer with InnoSetup"> <echo message="Creating windows installer with InnoSetup"/> <delete file="${project.artifactId}-${project.version}-${gephi.bundle.arch}.setup.exe" failonerror="false"/> <!-- Get the JRE folder name --> <path id="jre_name"> <dirset dir="${project.build.directory}/${brandingToken}/jre-${gephi.bundle.arch}" includes="jdk*" /> </path> <property name="bundle.jre.path" refid="jre_name" /> <basename property="bundle.jre.name" file="${bundle.jre.path}"/> <!-- Configure relative JRE path into gephi.conf --> <replace file="${project.build.directory}/${brandingToken}/etc/${brandingToken}.conf" token="#jdkhome="/path/to/jdk"" value="jdkhome="jre-${gephi.bundle.arch}\${bundle.jre.name}""/> <chmod file="${project.build.directory}/${brandingToken}/jre-${gephi.bundle.arch}/**" perm="+x" type="both"/> <!-- Windows --> <exec dir="${project.build.directory}" executable="${gephi.innosetup.path}/Compil32.exe" osfamily="windows" failonerror="true"> <arg line="/cc "${brandingToken}.iss"" /> </exec> </target> </configuration> </execution> <!-- Create the Mac OS X application bundle and dmg file --> <execution> <id>create-app-bundle</id> <phase>package</phase> <goals> <goal>run</goal> </goals> <configuration> <skip>${skipCreateDmg}</skip> <target> <!-- Clean --> <delete includeEmptyDirs="true" failonerror="false" removeNotFollowedSymlinks="true"> <fileset dir="${project.build.directory}/${gephi.appbundle.name}.app" followsymlinks="false"/> <fileset dir="${project.build.directory}/${gephi.app.title}" followsymlinks="false"/> <fileset dir="${project.build.directory}/${project.artifactId}-${project.version}-${gephi.bundle.arch}.dmg" followsymlinks="false"/> </delete> <delete file="${project.build.directory}/${project.artifactId}-${project.version}-${gephi.bundle.arch}.dmg" failonerror="false"/> <!-- Delete Windows Executables --> <delete file="${project.build.directory}/${brandingToken}/bin/${brandingToken}.exe" failonerror="false"/> <delete file="${project.build.directory}/${brandingToken}/bin/${brandingToken}64.exe" failonerror="false"/> <!-- Create folders --> <mkdir dir="${project.build.directory}/${gephi.appbundle.name}.app"/> <mkdir dir="${project.build.directory}/${gephi.appbundle.name}.app/Contents/MacOS"/> <!-- Copy application --> <copy todir="${project.build.directory}/${gephi.appbundle.name}.app/Contents/Resources/${brandingToken}"> <fileset dir="${project.build.directory}/${brandingToken}"/> </copy> <!-- Copy logo and configuration files --> <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"/> <!-- Move Native Launcher into MacOS/gephi and modify the exec script to be runable --> <copy tofile="${project.build.directory}/${gephi.appbundle.name}.app/Contents/MacOS/${brandingToken}" file="../../src/macosx-launcher/Binaries/AppLauncher_x86_64" /> <chmod file="${project.build.directory}/${gephi.appbundle.name}.app/Contents/MacOS/${brandingToken}" perm="ugo+rx"/> <chmod file="${project.build.directory}/${gephi.appbundle.name}.app/Contents/Resources/${brandingToken}/bin/${brandingToken}" perm="ugo+rx"/> <!-- Get the JRE folder name --> <path id="jre_name"> <dirset dir="${project.build.directory}/${brandingToken}/jre-${gephi.bundle.arch}" includes="jdk*" /> </path> <property name="bundle.jre.path" refid="jre_name" /> <basename property="bundle.jre.name" file="${bundle.jre.path}"/> <!-- Move the JRE in the /Contents/PlugIns folder and cleanup --> <move file="${project.build.directory}/${gephi.appbundle.name}.app/Contents/Resources/${brandingToken}/jre-${gephi.bundle.arch}/${bundle.jre.name}" todir="${project.build.directory}/${gephi.appbundle.name}.app/Contents/PlugIns" /> <delete includeEmptyDirs="true"> <fileset dir="${project.build.directory}/${gephi.appbundle.name}.app/Contents/Resources/${brandingToken}/jre-${gephi.bundle.arch}"/> </delete> <!-- Remove quarantine bit set recursively on JRE --> <exec dir="${project.build.directory}" os="Mac OS X" executable="xattr"> <arg line="-rd"/> <arg line="com.apple.quarantine"/> <arg line=""${gephi.appbundle.name}.app/Contents/PlugIns""/> </exec> <!-- Configure relative JRE path into gephi.conf --> <replace file="${project.build.directory}/${gephi.appbundle.name}.app/Contents/Resources/${brandingToken}/etc/${brandingToken}.conf" token="#jdkhome="/path/to/jdk"" value="jdkhome="../../PlugIns/${bundle.jre.name}/Contents/Home""/> <chmod file="${project.build.directory}/${gephi.appbundle.name}.app/Contents/PlugIns/**" perm="+x" type="both"/> <!-- Codesign --> <exec executable="/bin/bash" os="Mac OS X" failonerror="true"> <arg value="src/main/app-resources/codesign.sh" /> <arg value="${project.build.directory}/${gephi.appbundle.name}.app" /> <arg value="${gephi.codesign.identity}" /> </exec> <!-- Create application folder and add Applications dynamic link --> <mkdir dir="${project.build.directory}/${gephi.app.title}"/> <move file="${project.build.directory}/${gephi.appbundle.name}.app" todir="${project.build.directory}/${gephi.app.title}/" /> <symlink link="${project.build.directory}/${gephi.app.title}/Applications" resource="/Applications" failonerror="false" /> <!-- Create DMG (Mac OS X) --> <exec dir="${project.build.directory}" os="Mac OS X" executable="hdiutil"> <arg value="create"/> <arg value="-noanyowners"/> <arg value="-imagekey"/> <arg value="zlib-level=9"/> <arg value="-srcfolder"/> <arg value="${project.build.directory}/${gephi.app.title}"/> <arg value="${project.artifactId}-${project.version}-${gephi.bundle.arch}.dmg"/> </exec> <!-- Codesign dmg --> <exec dir="${project.build.directory}" os="Mac OS X" executable="codesign"> <arg value="--sign"/> <arg value="${gephi.codesign.identity}"/> <arg value="--timestamp"/> <arg value="-i"/> <arg value="org.gephi"/> <arg value="${project.artifactId}-${project.version}-${gephi.bundle.arch}.dmg"/> </exec> </target> </configuration> </execution> <!-- Notarize DMG using Apple's notarization service (requires Xcode 13) --> <execution> <id>notarize-dmg</id> <phase>package</phase> <goals> <goal>run</goal> </goals> <configuration> <skip>${skipAppleNotarization}</skip> <target> <!-- Send DMG file to Apple's notarization service --> <exec dir="${project.build.directory}" os="Mac OS X" executable="xcrun" failonerror="true"> <arg value="notarytool"/> <arg value="submit"/> <arg value="${project.artifactId}-${project.version}-${gephi.bundle.arch}.dmg"/> <arg value="--apple-id"/> <arg value="${gephi.apple.notarization.username}"/> <arg value="--password"/> <arg value="${gephi.apple.notarization.password}"/> <arg value="--team-id"/> <arg value="${gephi.apple.notarization.teamId}"/> <arg value="--wait"/> <arg value="--timeout"/> <arg value="${gephi.apple.notarization.timeout}"/> </exec> <!-- Staple the notarization ticket to the DMG bundle --> <exec dir="${project.build.directory}" os="Mac OS X" executable="xcrun" failonerror="true"> <arg value="stapler"/> <arg value="staple"/> <arg value="${project.artifactId}-${project.version}-${gephi.bundle.arch}.dmg"/> </exec> </target> </configuration> </execution> <!-- Create tar.gz bundle for Linux --> <execution> <id>create-targz</id> <phase>package</phase> <goals> <goal>run</goal> </goals> <configuration> <skip>${skipCreateTargz}</skip> <target> <!-- Get the JRE folder name --> <path id="jre_name"> <dirset dir="${project.build.directory}/${brandingToken}/jre-${gephi.bundle.arch}" includes="jdk*" /> </path> <property name="bundle.jre.path" refid="jre_name" /> <basename property="bundle.jre.name" file="${bundle.jre.path}"/> <!-- Configure relative JRE path into gephi.conf --> <replace file="${project.build.directory}/${brandingToken}/etc/${brandingToken}.conf" token="#jdkhome="/path/to/jdk"" value="jdkhome="jre-${gephi.bundle.arch}/${bundle.jre.name}""/> <chmod file="${project.build.directory}/${brandingToken}/jre-${gephi.bundle.arch}/**" perm="+x" type="both"/> </target> </configuration> </execution> </executions> </plugin> <!-- Assembler to produce linux's tar.gz --> <plugin> <artifactId>maven-assembly-plugin</artifactId> <executions> <execution> <id>linux-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> <configuration> <skipAssembly>${skipCreateTargz}</skipAssembly> <tarLongFileMode>gnu</tarLongFileMode> <finalName>${brandingToken}-${project.version}</finalName> <descriptors> <descriptor>src/assemble/linux.xml</descriptor> </descriptors> <attach>false</attach> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <!-- Attach tar.gz artifact --> <execution> <id>attach-linux</id> <phase>package</phase> <goals> <goal>attach-artifact</goal> </goals> <configuration> <skipAttach>${skipCreateTargz}</skipAttach> <artifacts> <artifact> <file>${basedir}/target/${brandingToken}-${project.version}-linux-${gephi.bundle.arch}.tar.gz</file> <type>tar.gz</type> <classifier>linux-${gephi.bundle.arch}</classifier> </artifact> </artifacts> </configuration> </execution> <!-- Attach the final exe installer for deployment --> <execution> <id>attach-exe</id> <phase>package</phase> <goals> <goal>attach-artifact</goal> </goals> <configuration> <skipAttach>${skipCreateExe}</skipAttach> <artifacts> <artifact> <file>${project.build.directory}/${project.artifactId}-${project.version}-${gephi.bundle.arch}.setup.exe</file> <type>exe</type> <classifier>windows-${gephi.bundle.arch}</classifier> </artifact> </artifacts> </configuration> </execution> <!-- Attach the final DMG for deployment --> <execution> <id>attach-dmg</id> <phase>package</phase> <goals> <goal>attach-artifact</goal> </goals> <configuration> <skipAttach>${skipCreateDmg}</skipAttach> <artifacts> <artifact> <file>${project.build.directory}/${project.artifactId}-${project.version}-${gephi.bundle.arch}.dmg</file> <type>dmg</type> <classifier>macos-${gephi.bundle.arch}</classifier> </artifact> </artifacts> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Profile used along with deployment to create the autoupdate site --> <profile> <id>create-autoupdate</id> <build> <plugins> <!-- NBM Plugin settings. Enable the autoupdate generation --> <plugin> <groupId>org.apache.netbeans.utilities</groupId> <artifactId>nbm-maven-plugin</artifactId> <executions> <execution> <id>autoupdate</id> <goals> <goal>autoupdate</goal> </goals> </execution> </executions> </plugin> <!-- Copy only update.xml and update.xml.gz to a custom autoupdate_site folder --> <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <id>copy-autoupdate</id> <phase>package</phase> <configuration> <target> <copy todir="${project.build.directory}/autoupdate_site"> <fileset dir="${project.build.directory}/netbeans_site"> <include name="updates.xml*"/> <type type="file"/> </fileset> </copy> </target> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Profile used along with deployment to create the sources artifact --> <profile> <id>create-sources</id> <build> <plugins> <!-- Attach parent's sources artifact --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>attach-sources</id> <phase>pre-integration-test</phase> <goals> <goal>attach-artifact</goal> </goals> <configuration> <artifacts> <artifact> <file>${basedir}/../../target/${brandingToken}-${project.version}-sources.tar.gz</file> <type>tar.gz</type> <classifier>sources</classifier> </artifact> </artifacts> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Attach aggregate Javadoc, need to be run with site phase --> <profile> <id>create-javadoc</id> <build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>attach-javadoc-artifacts</id> <phase>package</phase> <goals> <goal>attach-artifact</goal> </goals> <configuration> <artifacts> <artifact> <!-- Aggregate file is generated in gephi-parent but attached here --> <file>${project.parent.basedir}/target/${project.artifactId}-parent-${project.version}-javadoc.jar</file> <type>jar</type> <classifier>javadoc</classifier> </artifact> </artifacts> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Profile used along with deployment to create the tar.gz artifact --> <profile> <id>create-targz</id> <properties> <skipCreateTargz>false</skipCreateTargz> </properties> </profile> <!-- Profile activated for windows release in addition of deployement. Create the installer. --> <profile> <id>create-exe</id> <properties> <skipCreateExe>false</skipCreateExe> </properties> <build> <plugins> <!-- Copy and filter the InnoSetup config file, as well as icons --> <plugin> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>generate-iss-file</id> <phase>generate-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <escapeString>!!!</escapeString> <outputDirectory>${basedir}/target</outputDirectory> <resources> <resource> <directory>src/main/app-resources</directory> <includes> <include>${brandingToken}.iss</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/app-resources</directory> <includes> <include>${brandingToken}.ico</include> <include>${brandingToken}file128.png</include> <include>COPYING.txt</include> </includes> <filtering>false</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <!-- Sign the installer using the codesign certificate --> <plugin> <groupId>net.jsign</groupId> <artifactId>jsign-maven-plugin</artifactId> <executions> <execution> <id>sign-exe</id> <goals> <goal>sign</goal> </goals> <configuration> <fileset> <directory>target</directory> <includes> <include>*.exe</include> </includes> </fileset> <name>Gephi</name> <url>https://gephi.org</url> <keystore>${gephi.windows.codesign.keystore}</keystore> <storepass>${gephi.windows.codesign.password}</storepass> <tsaurl>http://timestamp.sectigo.com</tsaurl> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <!-- Profile used along with deployment to create the dmg archive --> <profile> <id>create-dmg</id> <properties> <skipCreateDmg>false</skipCreateDmg> </properties> </profile> <!-- Profile used along with deployment and create-dmg to notarize the bundle --> <profile> <id>notarize-dmg</id> <properties> <skipAppleNotarization>false</skipAppleNotarization> </properties> </profile> <!-- Profile that pushes the /autoupdate_site folder to GitHub's gephi-repository --> <profile> <id>push-site</id> <build> <plugins> <!-- Publish site folder to GitHub's gh-pages branch --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-publish-plugin</artifactId> <configuration> <content>${project.build.directory}/autoupdate_site</content> <scmBranch>gh-pages</scmBranch> <checkinComment>Autoupdate update for ${project.version}</checkinComment> <subDirectory>${gephi.minor.version}/autoupdate</subDirectory> <serverId>github</serverId> </configuration> </plugin> </plugins> </build> </profile> </profiles> </project>