1 <project xmlns="http://maven.apache.org/POM/4.0.0"
\r
2 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
\r
3 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
\r
4 <modelVersion>4.0.0</modelVersion>
\r
6 <groupId>jp.seraphyware.charactermanaj</groupId>
\r
7 <artifactId>CharacterManaJ</artifactId>
\r
8 <version>0.9.9.9</version>
\r
10 <url>https://osdn.net/projects/charactermanaj/</url>
\r
13 <connection>scm:git:https://scm.osdn.net/gitroot/charactermanaj/CharacterManaJ.git</connection>
\r
15 <url>https://osdn.net/projects/charactermanaj/scm/git/CharacterManaJ/</url>
\r
21 <name>seraphy</name>
\r
22 <email>seraphy@users.osdn.me</email>
\r
23 <url>https://osdn.net/users/seraphy/</url>
\r
24 <organization>seraphyware</organization>
\r
26 <role>architect</role>
\r
27 <role>developer</role>
\r
29 <timezone>Asia/Tokyo</timezone>
\r
34 <mainClass>charactermanaj.CharacterManaJ</mainClass>
\r
35 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
\r
36 <maven.compiler.source>1.6</maven.compiler.source>
\r
37 <maven.compiler.target>1.6</maven.compiler.target>
\r
38 <animalSnifferArtifact>java16</animalSnifferArtifact>
\r
39 <animalSnifferArtifactVersion>1.1</animalSnifferArtifactVersion>
\r
40 <maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>
\r
44 <!-- https://mvnrepository.com/artifact/com.apple/AppleJavaExtensions -->
\r
46 <groupId>com.apple</groupId>
\r
47 <artifactId>AppleJavaExtensions</artifactId>
\r
48 <version>1.4</version>
\r
49 <scope>provided</scope>
\r
54 <groupId>junit</groupId>
\r
55 <artifactId>junit</artifactId>
\r
56 <version>4.11</version>
\r
63 <!-- 現在時刻からユニークなビルド番号を生成する
\r
64 (使うか否かに関わらず、SCMの設定が必要。
\r
65 buildNumberの連番を使う場合はローカルにプロパティファイルが作成される) -->
\r
67 <groupId>org.codehaus.mojo</groupId>
\r
68 <artifactId>buildnumber-maven-plugin</artifactId>
\r
69 <version>1.4</version>
\r
72 <phase>validate</phase>
\r
79 <doCheck>false</doCheck>
\r
80 <doUpdate>true</doUpdate>
\r
81 <format>{0,date,yyyyMM}.{0,date,ddHHmm}</format>
\r
83 <item>timestamp</item>
\r
88 <!-- コンパイラープラグイン -->
\r
89 <groupId>org.apache.maven.plugins</groupId>
\r
90 <artifactId>maven-compiler-plugin</artifactId>
\r
91 <version>3.1</version>
\r
93 <source>${maven.compiler.source}</source>
\r
94 <target>${maven.compiler.target}</target>
\r
95 <compilerArgument>-Xlint:all</compilerArgument>
\r
100 <groupId>org.codehaus.mojo</groupId>
\r
101 <artifactId>animal-sniffer-maven-plugin</artifactId>
\r
102 <version>1.16</version>
\r
105 <groupId>org.codehaus.mojo.signature</groupId>
\r
106 <artifactId>${animalSnifferArtifact}</artifactId>
\r
107 <version>${animalSnifferArtifactVersion}</version>
\r
109 <ignoreDependencies>true</ignoreDependencies>
\r
113 <id>check-java-api</id>
\r
114 <phase>test</phase>
\r
122 <!-- 実行可能jar本体のパッケージを行う (package時) -->
\r
123 <groupId>org.apache.maven.plugins</groupId>
\r
124 <artifactId>maven-jar-plugin</artifactId>
\r
125 <version>3.1.0</version>
\r
127 <finalName>${project.artifactId}</finalName>
\r
130 <mainClass>${mainClass}</mainClass>
\r
131 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
\r
132 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
\r
135 <!-- 起動時のスプラッシュ画像 -->
\r
136 <SplashScreen-Image>splash.png</SplashScreen-Image>
\r
137 <Build-At>${maven.build.timestamp}</Build-At>
\r
138 <Built-By>${project.developers[0].id}</Built-By>
\r
139 <Build-Timestamp>${maven.build.timestamp}</Build-Timestamp>
\r
140 <Specification-Title>${project.name}</Specification-Title>
\r
141 <Specification-Version>${project.version}</Specification-Version>
\r
142 <Specification-Vendor>${project.organization.name}</Specification-Vendor>
\r
143 <Implementation-Title>${project.name}</Implementation-Title>
\r
144 <Implementation-Version>${project.version}.${buildNumber}</Implementation-Version>
\r
145 <Implementation-Vendor-Id>${project.organization.name}</Implementation-Vendor-Id>
\r
146 <Implementation-Vendor>${project.organization.name}</Implementation-Vendor>
\r
156 <!-- Windowsの場合のビルド -->
\r
157 <id>windows-profile</id>
\r
160 <family>windows</family>
\r
164 <jre.dir>${java.home}</jre.dir>
\r
169 <!-- Launch4jによるjarファイルのexe化を行う. http://launch4j.sourceforge.net/docs.html -->
\r
170 <groupId>org.bluestemsoftware.open.maven.plugin</groupId>
\r
171 <artifactId>launch4j-plugin</artifactId>
\r
172 <version>1.5.0.0</version>
\r
176 <phase>package</phase>
\r
178 <goal>launch4j</goal>
\r
181 <headerType>gui</headerType>
\r
182 <outfile>target/${project.artifactId}.exe</outfile>
\r
183 <jar>target/${project.artifactId}.jar</jar>
\r
184 <errTitle>Failed to execute the ${project.artifactId}</errTitle>
\r
185 <icon>icon.ico</icon>
\r
188 <minVersion>1.5.0</minVersion>
\r
189 <initialHeapSize>64</initialHeapSize>
\r
190 <maxHeapSize>128</maxHeapSize>
\r
193 <fileVersion>${project.version}</fileVersion>
\r
194 <txtFileVersion>${project.version}.${buildNumber}</txtFileVersion>
\r
195 <fileDescription>${project.artifactId} ${project.version} ${buildNumber}</fileDescription>
\r
196 <copyright><![CDATA[${maven.build.timestamp} ${project.developers[0].id}]]></copyright>
\r
197 <productVersion>${project.version}</productVersion>
\r
198 <txtProductVersion>${project.version}</txtProductVersion>
\r
199 <productName>${project.artifactId}</productName>
\r
200 <internalName>${project.artifactId}</internalName>
\r
201 <originalFilename>${project.artifactId}.exe</originalFilename>
\r
208 <groupId>org.apache.maven.plugins</groupId>
\r
209 <artifactId>maven-assembly-plugin</artifactId>
\r
210 <version>2.6</version>
\r
213 <!-- JREつきの配布用zipを生成する -->
\r
214 <id>create-distribution-with-jre</id>
\r
215 <phase>package</phase>
\r
217 <goal>single</goal>
\r
220 <finalName>${project.artifactId}_${project.version}_with_JRE</finalName>
\r
221 <appendAssemblyId>false</appendAssemblyId>
\r
223 <descriptor>src/main/assembly/charactermanaj_with_jre_zip.xml</descriptor>
\r
228 <!-- JRE無しの配布用zipを生成する -->
\r
229 <id>create-distribution</id>
\r
230 <phase>package</phase>
\r
232 <goal>single</goal>
\r
235 <finalName>${project.artifactId}_${project.version}</finalName>
\r
236 <appendAssemblyId>false</appendAssemblyId>
\r
238 <descriptor>src/main/assembly/charactermanaj_zip.xml</descriptor>
\r
249 <!-- MAC OSXの場合のビルド -->
\r
250 <id>osx-profile</id>
\r
253 <family>mac</family>
\r
257 <copyJrePath>${java.home}</copyJrePath>
\r
262 <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-antrun-plugin -->
\r
263 <groupId>org.apache.maven.plugins</groupId>
\r
264 <artifactId>maven-antrun-plugin</artifactId>
\r
265 <version>1.8</version>
\r
268 <phase>package</phase>
\r
271 <delete dir="${project.build.directory}/appbundle" />
\r
272 <mkdir dir="${project.build.directory}/appbundle" />
\r
273 <copy todir="${project.build.directory}/appbundle">
\r
275 dir="${project.basedir}/src/main/attachment/bundle">
\r
276 <include name="**/*" />
\r
277 <exclude name="**/Info.plist" />
\r
280 <copy todir="${project.build.directory}/appbundle">
\r
282 <!-- ${project.developers[0].name} だと、うまく変数展開できないため -->
\r
283 <filter token="NSHumanReadableCopyright"
\r
284 value="${maven.build.timestamp} ${project.organization.name} ${project.organization.url}" />
\r
285 <!-- 内部用バージョンだが、iosではiTunes ConnectのApp一般情報のバージョンと同一であること。
\r
286 a.b.cの3つに整数が連結された形式が推奨される。 -->
\r
287 <filter token="BundleVersion" value="${project.version}" />
\r
288 <!-- ビルド連番を表す。a.b.cの3つに整数が連結された形式が推奨とされているが、
\r
289 実際は、ただの連番(整数値)で良い。iTunes Connectにアップロードする際に、
\r
290 アップロードするごとに異なる値でなければならないため、連番の類が適当とされる -->
\r
291 <filter token="BundleShortVersionString" value="${buildNumber}" />
\r
294 dir="${project.basedir}/src/main/attachment/bundle">
\r
295 <include name="**/Info.plist" />
\r
299 todir="${project.build.directory}/appbundle/CharacterManaJ.app/Contents/Resources">
\r
300 <fileset dir="${project.basedir}">
\r
301 <include name="icon.icns" />
\r
303 <fileset dir="${project.build.directory}">
\r
304 <include name="${project.artifactId}.jar" />
\r
308 <chmod dir="${project.build.directory}/appbundle/CharacterManaJ.app/Contents/MacOS"
\r
309 perm="a+rx" includes="**/*.sh"/>
\r
310 <copy todir="${project.build.directory}/appbundle">
\r
311 <fileset dir="${project.basedir}/src/main/attachment">
\r
312 <include name="README_mac.txt"/>
\r
316 <delete file="${project.build.directory}/${project.artifactId}${project.version}.dmg"/>
\r
317 <exec executable="hdiutil">
\r
318 <arg value="create"/>
\r
320 <arg value="HFS+"/>
\r
321 <arg value="-format"/>
\r
322 <arg value="UDZO"/>
\r
323 <arg value="-srcfolder"/>
\r
324 <arg value="${project.build.directory}/appbundle"/>
\r
325 <arg value="-volname"/>
\r
326 <arg value="${project.artifactId}_${project.version}.dmg"/>
\r
327 <arg value="${project.build.directory}/${project.artifactId}_${project.version}.dmg"/>
\r
329 <exec executable="hdiutil">
\r
330 <arg value="internet-enable"/>
\r
331 <arg value="-yes"/>
\r
332 <arg value="${project.build.directory}/${project.artifactId}_${project.version}.dmg"/>
\r
335 <delete dir="${project.build.directory}/appbundle/CharacterManaJ.app/Contents/Plugins/JRE"/>
\r
336 <copy todir="${project.build.directory}/appbundle/CharacterManaJ.app/Contents/Plugins/JRE">
\r
337 <fileset dir="${copyJrePath}">
\r
338 <include name="**/*"/>
\r
341 <chmod dir="${project.build.directory}/appbundle/CharacterManaJ.app/Contents/Plugins/JRE"
\r
342 perm="a+rx" includes="bin/*"/>
\r
343 <delete file="${project.build.directory}/${project.artifactId}${project.version}_with_jre.dmg"/>
\r
344 <exec executable="hdiutil">
\r
345 <arg value="create"/>
\r
347 <arg value="HFS+"/>
\r
348 <arg value="-format"/>
\r
349 <arg value="UDZO"/>
\r
350 <arg value="-srcfolder"/>
\r
351 <arg value="${project.build.directory}/appbundle"/>
\r
352 <arg value="-volname"/>
\r
353 <arg value="${project.artifactId}_${project.version}.dmg"/>
\r
354 <arg value="${project.build.directory}/${project.artifactId}_${project.version}_with_jre.dmg"/>
\r
356 <exec executable="hdiutil">
\r
357 <arg value="internet-enable"/>
\r
358 <arg value="-yes"/>
\r
359 <arg value="${project.build.directory}/${project.artifactId}_${project.version}_with_jre.dmg"/>
\r