Files
getdown/pom.xml
T
Mark Johnson 7b215a0b2d Fix the getdown manifest for maven builds.
We have an ant build.xml and a maven pom.xml.  At some point I guess the
build switched to maven, which didn't have the special manifest to use
for the jar to work around all the Java permission changes.  If you want
getdown to work with the latest Java, you will need to use this update.
2014-12-04 15:02:44 -08:00

349 lines
11 KiB
XML

<?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>7</version>
</parent>
<groupId>com.threerings</groupId>
<artifactId>getdown</artifactId>
<packaging>jar</packaging>
<version>1.5-SNAPSHOT</version>
<name>getdown</name>
<description>An application installer and updater.</description>
<url>https://github.com/threerings/getdown</url>
<issueManagement>
<url>https://github.com/threerings/getdown/issues</url>
</issueManagement>
<licenses>
<license>
<name>GNU Lesser General Public License (LGPL), Version 2.1</name>
<url>http://www.fsf.org/licensing/licenses/lgpl.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<id>samskivert</id>
<name>Michael Bayne</name>
<email>mdb@samskivert.com</email>
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/threerings/getdown.git</connection>
<developerConnection>scm:git:git@github.com:threerings/getdown.git</developerConnection>
<url>https://github.com/threerings/getdown</url>
</scm>
<repositories>
<repository>
<id>lib-repo</id>
<url>file://${basedir}/lib</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.samskivert</groupId>
<artifactId>samskivert</artifactId>
<version>1.2</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.4</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>jregistrykey</groupId>
<artifactId>jregistrykey</artifactId>
<version>1.0</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.7.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>java</groupId>
<artifactId>plugin</artifactId>
<version>1.5</version>
<scope>system</scope>
<systemPath>${plugin.jar.path}</systemPath>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource> <!-- reiterate standard dir since we're customizing, yay! -->
<directory>src/main/resources</directory>
</resource>
<resource> <!-- include the LICENSE file in the jar -->
<directory>.</directory>
<includes><include>LICENSE</include></includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
<fork>true</fork>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
<compilerArgs>
<arg>-Xlint</arg>
<arg>-Xlint:-serial</arg>
<arg>-Xlint:-path</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<configuration>
<quiet>true</quiet>
<show>public</show>
</configuration>
</plugin>
<plugin>
<groupId>com.github.wvengen</groupId>
<artifactId>proguard-maven-plugin</artifactId>
<version>2.0.8</version>
<executions>
<execution>
<phase>package</phase>
<goals><goal>proguard</goal></goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>net.sf.proguard</groupId>
<artifactId>proguard-base</artifactId>
<version>5.1</version>
<scope>runtime</scope>
</dependency>
</dependencies>
<configuration>
<proguardVersion>5.1</proguardVersion>
<outputDirectory>${project.build.directory}</outputDirectory>
<outjar>${project.build.finalName}.jar</outjar>
<injar>${project.build.finalName}.jar</injar>
<assembly>
<inclusions>
<inclusion>
<groupId>com.samskivert</groupId>
<artifactId>samskivert</artifactId>
<filter>!**/Log4JLogger*,!**/*.java,com/samskivert/Log.class,**/samskivert/io/**,
**/samskivert/swing/**,**/samskivert/text/**,**/samskivert/util/**</filter>
</inclusion>
<inclusion>
<groupId>jregistrykey</groupId>
<artifactId>jregistrykey</artifactId>
</inclusion>
<inclusion>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
</inclusion>
</inclusions>
</assembly>
<obfuscate>true</obfuscate>
<options>
<option>-keep public class com.threerings.getdown.** { *; }</option>
<option>-keep public class ca.beq.util.win32.registry.** { *; }</option>
<option>-keepattributes Exceptions, InnerClasses, Signature</option>
</options>
<libs>
<lib>${rt.jar.path}</lib>
</libs>
<addMavenDescriptor>false</addMavenDescriptor>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<manifest>
<mainClass>com.threerings.getdown.launcher.GetdownApp</mainClass>
</manifest>
<manifestEntries>
<Permissions>all-permissions</Permissions>
<Application-Name>Getdown</Application-Name>
<Codebase>*</Codebase>
<Application-Library-Allowable-Codebase>*</Application-Library-Allowable-Codebase>
<Caller-Allowable-Codebase>*</Caller-Allowable-Codebase>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>eclipse</id>
<activation>
<property>
<name>m2e.version</name>
</property>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<!-- Tell m2eclipse to ignore the enforcer plugin from our parent. Otherwise it warns
about not being able to run it. -->
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<versionRange>[1.0,)</versionRange>
<goals>
<goal>enforce</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>release-sign-artifacts</id>
<activation>
<property><name>performRelease</name><value>true</value></property>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
<configuration>
<keyname>mdb@samskivert.com</keyname>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- finagling to deal with rt.jar not existing on Macs, thanks Apple! -->
<profile>
<id>mac</id>
<activation>
<file><exists>${java.home}/../Classes/classes.jar</exists></file>
</activation>
<properties>
<rt.jar.path>${java.home}/../Classes/classes.jar</rt.jar.path>
</properties>
</profile>
<profile>
<id>non-mac-jre</id>
<activation>
<file><exists>${java.home}/../lib/rt.jar</exists></file>
</activation>
<properties>
<rt.jar.path>${java.home}/../lib/rt.jar</rt.jar.path>
</properties>
</profile>
<profile>
<id>non-mac-jdk</id>
<activation>
<file><exists>${java.home}/lib/rt.jar</exists></file>
</activation>
<properties>
<rt.jar.path>${java.home}/lib/rt.jar</rt.jar.path>
</properties>
</profile>
<!-- finagling to deal with plugin.jar not being bundled with OpenJDK -->
<profile>
<id>standard-jdk</id>
<activation>
<file><exists>${java.home}/lib/plugin.jar</exists></file>
</activation>
<properties>
<plugin.jar.path>${java.home}/lib/plugin.jar</plugin.jar.path>
</properties>
</profile>
<profile>
<id>icedtea-web</id>
<activation>
<file><exists>/usr/share/icedtea-web/plugin.jar</exists></file>
</activation>
<properties>
<plugin.jar.path>/usr/share/icedtea-web/plugin.jar</plugin.jar.path>
</properties>
</profile>
<!-- For deploying to a local place -->
<profile>
<id>deploy-local</id>
<distributionManagement>
<repository>
<id>deploy-local-dir</id>
<name>Local Maven repository</name>
<url>file://${deploy.local.dir}</url>
</repository>
<snapshotRepository>
<id>deploy-local-dir</id>
<name>Local Maven repository</name>
<url>file://${deploy.local.dir}</url>
</snapshotRepository>
</distributionManagement>
</profile>
</profiles>
</project>