JAL-3130 adapted getdown src. attempt 2. first attempt failed due to cp'ed .git files
[jalview.git] / getdown / src / getdown / launcher / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <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">
3   <modelVersion>4.0.0</modelVersion>
4   <parent>
5     <groupId>com.threerings.getdown</groupId>
6     <artifactId>getdown</artifactId>
7     <version>1.8.3-SNAPSHOT</version>
8   </parent>
9
10   <artifactId>getdown-launcher</artifactId>
11   <packaging>jar</packaging>
12   <name>Getdown Launcher</name>
13   <description>The Getdown app updater/launcher</description>
14
15   <repositories>
16     <repository>
17       <id>lib-repo</id>
18       <url>file://${basedir}/../lib</url>
19     </repository>
20   </repositories>
21
22   <dependencies>
23     <dependency>
24       <groupId>com.threerings.getdown</groupId>
25       <artifactId>getdown-core</artifactId>
26       <version>${project.version}</version>
27     </dependency>
28     <dependency>
29       <groupId>com.samskivert</groupId>
30       <artifactId>samskivert</artifactId>
31       <version>1.2</version>
32     </dependency>
33     <dependency>
34       <groupId>jregistrykey</groupId>
35       <artifactId>jregistrykey</artifactId>
36       <version>1.0</version>
37       <optional>true</optional>
38     </dependency>
39   </dependencies>
40
41   <build>
42     <plugins>
43       <plugin>
44         <groupId>com.github.wvengen</groupId>
45         <artifactId>proguard-maven-plugin</artifactId>
46         <version>2.0.14</version>
47         <executions>
48          <execution>
49            <phase>package</phase>
50             <goals><goal>proguard</goal></goals>
51          </execution>
52         </executions>
53         <dependencies>
54           <dependency>
55             <groupId>net.sf.proguard</groupId>
56             <artifactId>proguard-base</artifactId>
57             <version>6.0.3</version>
58             <scope>runtime</scope>
59           </dependency>
60         </dependencies>
61         <configuration>
62           <proguardVersion>6.0.3</proguardVersion>
63           <outputDirectory>${project.build.directory}</outputDirectory>
64           <outjar>${project.build.finalName}.jar</outjar>
65           <injar>${project.build.finalName}.jar</injar>
66           <assembly>
67             <inclusions>
68               <inclusion>
69                 <groupId>com.threerings.getdown</groupId>
70                 <artifactId>getdown-core</artifactId>
71               </inclusion>
72               <inclusion>
73                 <groupId>com.samskivert</groupId>
74                 <artifactId>samskivert</artifactId>
75                 <filter>
76                   !**/*.java,
77                   !**/swing/RuntimeAdjust*,
78                   !**/swing/util/ButtonUtil*,
79                   !**/util/CalendarUtil*,
80                   !**/util/Calendars*,
81                   !**/util/Log4JLogger*,
82                   !**/util/PrefsConfig*,
83                   !**/util/SignalUtil*,
84                   com/samskivert/Log.class,
85                   **/samskivert/io/**,
86                   **/samskivert/swing/**,
87                   **/samskivert/text/**,
88                   **/samskivert/util/**
89                 </filter>
90               </inclusion>
91               <inclusion>
92                 <groupId>jregistrykey</groupId>
93                 <artifactId>jregistrykey</artifactId>
94               </inclusion>
95             </inclusions>
96           </assembly>
97           <obfuscate>true</obfuscate>
98           <options>
99             <option>-keep public class com.threerings.getdown.** { *; }</option>
100             <option>-keep public class ca.beq.util.win32.registry.** { *; }</option>
101             <option>-keepattributes Exceptions, InnerClasses, Signature</option>
102           </options>
103           <libs>
104             <lib>${rt.jar.path}</lib>
105           </libs>
106           <addMavenDescriptor>false</addMavenDescriptor>
107         </configuration>
108       </plugin>
109
110       <plugin>
111         <groupId>org.apache.maven.plugins</groupId>
112         <artifactId>maven-jar-plugin</artifactId>
113         <version>3.1.0</version>
114         <configuration>
115           <archive>
116             <manifest>
117               <mainClass>com.threerings.getdown.launcher.GetdownApp</mainClass>
118             </manifest>
119             <manifestEntries>
120               <Permissions>all-permissions</Permissions>
121               <Application-Name>Getdown</Application-Name>
122               <Codebase>*</Codebase>
123               <Application-Library-Allowable-Codebase>*</Application-Library-Allowable-Codebase>
124               <Caller-Allowable-Codebase>*</Caller-Allowable-Codebase>
125               <Trusted-Library>true</Trusted-Library>
126             </manifestEntries>
127           </archive>
128         </configuration>
129       </plugin>
130     </plugins>
131   </build>
132
133   <profiles>
134     <!-- finagling to find rt.jar -->
135     <profile>
136       <id>non-mac-jre</id>
137       <activation>
138         <file><exists>${java.home}/../lib/rt.jar</exists></file>
139       </activation>
140       <properties>
141         <rt.jar.path>${java.home}/../lib/rt.jar</rt.jar.path>
142       </properties>
143     </profile>
144     <profile>
145       <id>non-mac-jdk</id>
146       <activation>
147         <file><exists>${java.home}/lib/rt.jar</exists></file>
148       </activation>
149       <properties>
150         <rt.jar.path>${java.home}/lib/rt.jar</rt.jar.path>
151       </properties>
152     </profile>
153     <profile>
154       <id>java-9-jdk</id>
155       <activation>
156         <file><exists>${java.home}/jmods/java.base.jmod</exists></file>
157       </activation>
158       <build>
159         <plugins>
160           <plugin>
161             <groupId>com.github.wvengen</groupId>
162             <artifactId>proguard-maven-plugin</artifactId>
163             <configuration>
164               <libs>
165                 <lib>${java.home}/jmods/java.base.jmod</lib>
166                 <lib>${java.home}/jmods/java.desktop.jmod</lib>
167                 <lib>${java.home}/jmods/java.logging.jmod</lib>
168                 <lib>${java.home}/jmods/jdk.jsobject.jmod</lib>
169               </libs>
170             </configuration>
171           </plugin>
172         </plugins>
173       </build>
174     </profile>
175   </profiles>
176 </project>