OSDN Git Service

スプラッシュが抜けていたので訂正
[charactermanaj/CharacterManaJ.git] / pom.xml
1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
2         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
3         <modelVersion>4.0.0</modelVersion>\r
4 \r
5         <groupId>jp.seraphyware.charactermanaj</groupId>\r
6         <artifactId>CharacterManaJ</artifactId>\r
7         <version>0.9.9.8</version>\r
8 \r
9         <url>https://osdn.net/projects/charactermanaj/</url>\r
10 \r
11         <properties>\r
12                 <buildBy>seraphy@users.osdn.me</buildBy>\r
13                 <mainClass>charactermanaj.CharacterManaJ</mainClass>\r
14                 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\r
15                 <maven.compiler.source>1.5</maven.compiler.source>\r
16                 <maven.compiler.target>1.5</maven.compiler.target>\r
17                 <animalSnifferArtifact>java15</animalSnifferArtifact>\r
18                 <animalSnifferArtifactVersion>1.0</animalSnifferArtifactVersion>\r
19                 <maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>\r
20         </properties>\r
21 \r
22         <dependencies>\r
23                 <!-- https://mvnrepository.com/artifact/com.apple/AppleJavaExtensions -->\r
24                 <dependency>\r
25                         <groupId>com.apple</groupId>\r
26                         <artifactId>AppleJavaExtensions</artifactId>\r
27                         <version>1.4</version>\r
28                         <scope>provided</scope>\r
29                 </dependency>\r
30 \r
31                 <!-- テスト -->\r
32                 <dependency>\r
33                         <groupId>junit</groupId>\r
34                         <artifactId>junit</artifactId>\r
35                         <version>4.11</version>\r
36                         <scope>test</scope>\r
37                 </dependency>\r
38         </dependencies>\r
39 \r
40         <build>\r
41                 <plugins>\r
42                         <plugin>\r
43                                 <!-- コンパイラープラグイン -->\r
44                                 <groupId>org.apache.maven.plugins</groupId>\r
45                                 <artifactId>maven-compiler-plugin</artifactId>\r
46                                 <version>3.1</version>\r
47                                 <configuration>\r
48                                         <source>${maven.compiler.source}</source>\r
49                                         <target>${maven.compiler.target}</target>\r
50                                         <compilerArgument>-Xlint:all</compilerArgument>\r
51                                 </configuration>\r
52                         </plugin>\r
53                         <plugin>\r
54                                 <!-- 互換性チェック -->\r
55                                 <groupId>org.codehaus.mojo</groupId>\r
56                                 <artifactId>animal-sniffer-maven-plugin</artifactId>\r
57                                 <version>1.16</version>\r
58                                 <configuration>\r
59                                         <signature>\r
60                                                 <groupId>org.codehaus.mojo.signature</groupId>\r
61                                                 <artifactId>${animalSnifferArtifact}</artifactId>\r
62                                                 <version>${animalSnifferArtifactVersion}</version>\r
63                                         </signature>\r
64                                         <ignoreDependencies>true</ignoreDependencies>\r
65                                 </configuration>\r
66                                 <executions>\r
67                                         <execution>\r
68                                                 <id>check-java-api</id>\r
69                                                 <phase>test</phase>\r
70                                                 <goals>\r
71                                                         <goal>check</goal>\r
72                                                 </goals>\r
73                                         </execution>\r
74                                 </executions>\r
75                         </plugin>\r
76                         <plugin>\r
77                                 <!-- 実行可能jar本体のパッケージを行う (package時) -->\r
78                                 <groupId>org.apache.maven.plugins</groupId>\r
79                                 <artifactId>maven-jar-plugin</artifactId>\r
80                                 <version>2.6</version>\r
81                                 <configuration>\r
82                                         <finalName>${project.artifactId}</finalName>\r
83                                         <archive>\r
84                                                 <manifest>\r
85                                                         <mainClass>${mainClass}</mainClass>\r
86                                                         <addDefaultImplementationEntries>true</addDefaultImplementationEntries>\r
87                                                         <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>\r
88                                                 </manifest>\r
89                                                 <manifestEntries>\r
90                                                         <!-- 起動時のスプラッシュ画像 -->\r
91                                                         <SplashScreen-Image>splash.png</SplashScreen-Image>\r
92                                                         <Built-By>${buildBy}</Built-By>\r
93                                                         <Build-At>${maven.build.timestamp}</Build-At>\r
94                                                         <Implementation-Vendor><![CDATA[Copyright (C) ${maven.build.timestamp} ${buildBy}]]></Implementation-Vendor>\r
95                                                 </manifestEntries>\r
96                                         </archive>\r
97                                 </configuration>\r
98                         </plugin>\r
99                 </plugins>\r
100         </build>\r
101 \r
102         <profiles>\r
103                 <profile>\r
104                         <!-- Windowsの場合のビルド -->\r
105                         <id>windows-profile</id>\r
106                         <activation>\r
107                                 <os>\r
108                                         <family>windows</family>\r
109                                 </os>\r
110                         </activation>\r
111                         <properties>\r
112                                 <jre.dir>${java.home}</jre.dir>\r
113                         </properties>\r
114                         <build>\r
115                                 <plugins>\r
116                                         <plugin>\r
117                                                 <!-- Launch4jによるjarファイルのexe化を行う. http://launch4j.sourceforge.net/docs.html -->\r
118                                                 <groupId>org.bluestemsoftware.open.maven.plugin</groupId>\r
119                                                 <artifactId>launch4j-plugin</artifactId>\r
120                                                 <version>1.5.0.0</version>\r
121                                                 <executions>\r
122                                                         <execution>\r
123                                                                 <id>l4j-gui</id>\r
124                                                                 <phase>package</phase>\r
125                                                                 <goals>\r
126                                                                         <goal>launch4j</goal>\r
127                                                                 </goals>\r
128                                                                 <configuration>\r
129                                                                         <headerType>gui</headerType>\r
130                                                                         <outfile>target/${project.artifactId}.exe</outfile>\r
131                                                                         <jar>target/${project.artifactId}.jar</jar>\r
132                                                                         <errTitle>Failed to execute the ${project.artifactId}</errTitle>\r
133                                                                         <icon>icon.ico</icon>\r
134                                                                         <jre>\r
135                                                                                 <path>jre</path>\r
136                                                                                 <minVersion>1.5.0</minVersion>\r
137                                                                                 <initialHeapSize>64</initialHeapSize>\r
138                                                                                 <maxHeapSize>128</maxHeapSize>\r
139                                                                         </jre>\r
140                                                                         <versionInfo>\r
141                                                                                 <fileVersion>${project.version}</fileVersion>\r
142                                                                                 <txtFileVersion>${project.version}</txtFileVersion>\r
143                                                                                 <fileDescription>${project.artifactId}</fileDescription>\r
144                                                                                 <copyright>${maven.build.timestamp} ${buildBy}</copyright>\r
145                                                                                 <productVersion>${project.version}</productVersion>\r
146                                                                                 <txtProductVersion>${project.version}</txtProductVersion>\r
147                                                                                 <productName>${project.artifactId}</productName>\r
148                                                                                 <internalName>${project.artifactId}</internalName>\r
149                                                                                 <originalFilename>${project.artifactId}.exe</originalFilename>\r
150                                                                         </versionInfo>\r
151                                                                 </configuration>\r
152                                                         </execution>\r
153                                                 </executions>\r
154                                         </plugin>\r
155                                         <plugin>\r
156                                                 <groupId>org.apache.maven.plugins</groupId>\r
157                                                 <artifactId>maven-assembly-plugin</artifactId>\r
158                                                 <version>2.6</version>\r
159                                                 <executions>\r
160                                                         <execution>\r
161                                                                 <!-- JREつきの配布用zipを生成する -->\r
162                                                                 <id>create-distribution-with-jre</id>\r
163                                                                 <phase>package</phase>\r
164                                                                 <goals>\r
165                                                                         <goal>single</goal>\r
166                                                                 </goals>\r
167                                                                 <configuration>\r
168                                                                         <finalName>${project.artifactId}_${project.version}_with_JRE.zip</finalName>\r
169                                                                         <appendAssemblyId>false</appendAssemblyId>\r
170                                                                         <descriptors>\r
171                                                                                 <descriptor>src/main/assembly/charactermanaj_with_jre_zip.xml</descriptor>\r
172                                                                         </descriptors>\r
173                                                                 </configuration>\r
174                                                         </execution>\r
175                                                         <execution>\r
176                                                                 <!-- JRE無しの配布用zipを生成する -->\r
177                                                                 <id>create-distribution</id>\r
178                                                                 <phase>package</phase>\r
179                                                                 <goals>\r
180                                                                         <goal>single</goal>\r
181                                                                 </goals>\r
182                                                                 <configuration>\r
183                                                                         <finalName>${project.artifactId}_${project.version}.zip</finalName>\r
184                                                                         <appendAssemblyId>false</appendAssemblyId>\r
185                                                                         <descriptors>\r
186                                                                                 <descriptor>src/main/assembly/charactermanaj_zip.xml</descriptor>\r
187                                                                         </descriptors>\r
188                                                                 </configuration>\r
189                                                         </execution>\r
190                                                 </executions>\r
191                                         </plugin>\r
192                                 </plugins>\r
193                         </build>\r
194                 </profile>\r
195 \r
196                 <profile>\r
197                         <!-- MAC OSXの場合のビルド -->\r
198                         <id>osx-profile</id>\r
199                         <activation>\r
200                                 <os>\r
201                                         <family>mac</family>\r
202                                 </os>\r
203                         </activation>\r
204                         <properties>\r
205                                 <!-- ${hava.home}は、\r
206                                 /Library/Java/JavaVirtualMachines/jdkXXX.jdk/Contents/Home/jre/ を指すので\r
207                                 /Library/Java/JavaVirtualMachines/jdkXXX.jdk/ を指すように親を3つ戻す -->\r
208                                 <copyJrePath>${java.home}/../../../</copyJrePath>\r
209                         </properties>\r
210                         <build>\r
211                                 <plugins>\r
212                                         <plugin>\r
213                                                 <!-- MacのAppBundleを作成する\r
214                                                         https://github.com/federkasten/appbundle-maven-plugin\r
215                                                         https://stackoverflow.com/questions/39193868/bundle-java-program-for-mac-users-with-maven-from-gnu-linux\r
216                                                 -->\r
217                                                 <groupId>sh.tak.appbundler</groupId>\r
218                                                 <artifactId>appbundle-maven-plugin</artifactId>\r
219                                                 <version>1.2.0</version>\r
220                                                 <configuration>\r
221                                                         <mainClass>${mainClass}</mainClass>\r
222                                                         <iconFile>icon.icns</iconFile>\r
223                                                         <workingDirectory>$APP_ROOT/../</workingDirectory>\r
224                                                         <generateDiskImageFile>true</generateDiskImageFile>\r
225                                                         <jvmOptions>\r
226                                                                 <jvmOption>-splash:$APP_ROOT/Contents/Resources/splash.png</jvmOption>\r
227                                                                 <jvmOption>-Xms96m</jvmOption>\r
228                                                                 <jvmOption>-Xmx128m</jvmOption>\r
229                                                         </jvmOptions>\r
230                                                         <additionalResources>\r
231                                                                 <fileSet>\r
232                                                                         <directory>src/main/attachment</directory>\r
233                                                                         <includes>\r
234                                                                                 <include>README_mac.txt</include>\r
235                                                                         </includes>\r
236                                                                 </fileSet>\r
237                                                                 <fileSet>\r
238                                                                         <directory>src/main/attachment/bundle</directory>\r
239                                                                         <includes>\r
240                                                                                 <include>**/*</include>\r
241                                                                         </includes>\r
242                                                                 </fileSet>\r
243                                                         </additionalResources>\r
244                                                 </configuration>\r
245                                                 <executions>\r
246                                                         <execution>\r
247                                                                 <id>MakeDMG</id>\r
248                                                                 <configuration>\r
249                                                                         <diskImageFile>${project.build.directory}/${project.artifactId}_${project.version}.dmg</diskImageFile>\r
250                                                                 </configuration>\r
251                                                                 <phase>package</phase>\r
252                                                                 <goals>\r
253                                                                         <goal>bundle</goal>\r
254                                                                 </goals>\r
255                                                         </execution>\r
256                                                         <execution>\r
257                                                                 <id>MakeDMGWithJRE</id>\r
258                                                                 <configuration>\r
259                                                                         <jrePath>${copyJrePath}</jrePath>\r
260                                                                         <diskImageFile>${project.build.directory}/${project.artifactId}_${project.version}_with_JRE.dmg</diskImageFile>\r
261                                                                 </configuration>\r
262                                                                 <phase>package</phase>\r
263                                                                 <goals>\r
264                                                                         <goal>bundle</goal>\r
265                                                                 </goals>\r
266                                                         </execution>\r
267                                                 </executions>\r
268                                         </plugin>\r
269                                 </plugins>\r
270                         </build>\r
271                 </profile>\r
272         </profiles>\r
273 </project>\r