OSDN Git Service

Macのアプリケーションバンドル作成方法の変更
[charactermanaj/CharacterManaJ.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index 3d58b1d..283e5a7 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -1,24 +1,23 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+<project xmlns="http://maven.apache.org/POM/4.0.0"\r
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">\r
        <modelVersion>4.0.0</modelVersion>\r
 \r
        <groupId>jp.seraphyware.charactermanaj</groupId>\r
        <artifactId>CharacterManaJ</artifactId>\r
-       <version>0.9.9.8</version>\r
+       <version>0.9.9.9</version>\r
 \r
        <url>https://osdn.net/projects/charactermanaj/</url>\r
 \r
        <properties>\r
-               <appname>CharacterManaJ</appname>\r
-               <exename>${appname}.exe</exename>\r
-               <email>seraphy@users.osdn.me</email>\r
+               <buildBy>seraphy@users.osdn.me</buildBy>\r
                <mainClass>charactermanaj.CharacterManaJ</mainClass>\r
                <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\r
-               <maven.compiler.source>1.5</maven.compiler.source>\r
-               <maven.compiler.target>1.5</maven.compiler.target>\r
-               <animalSnifferArtifact>java15</animalSnifferArtifact>\r
-               <animalSnifferArtifactVersion>1.0</animalSnifferArtifactVersion>\r
-               <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'</maven.build.timestamp.format>\r
+               <maven.compiler.source>1.6</maven.compiler.source>\r
+               <maven.compiler.target>1.6</maven.compiler.target>\r
+               <animalSnifferArtifact>java16</animalSnifferArtifact>\r
+               <animalSnifferArtifactVersion>1.1</animalSnifferArtifactVersion>\r
+               <maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format>\r
        </properties>\r
 \r
        <dependencies>\r
                                </configuration>\r
                        </plugin>\r
                        <plugin>\r
+                               <!-- 互換性チェック -->\r
+                               <groupId>org.codehaus.mojo</groupId>\r
+                               <artifactId>animal-sniffer-maven-plugin</artifactId>\r
+                               <version>1.16</version>\r
+                               <configuration>\r
+                                       <signature>\r
+                                               <groupId>org.codehaus.mojo.signature</groupId>\r
+                                               <artifactId>${animalSnifferArtifact}</artifactId>\r
+                                               <version>${animalSnifferArtifactVersion}</version>\r
+                                       </signature>\r
+                                       <ignoreDependencies>true</ignoreDependencies>\r
+                               </configuration>\r
+                               <executions>\r
+                                       <execution>\r
+                                               <id>check-java-api</id>\r
+                                               <phase>test</phase>\r
+                                               <goals>\r
+                                                       <goal>check</goal>\r
+                                               </goals>\r
+                                       </execution>\r
+                               </executions>\r
+                       </plugin>\r
+                       <plugin>\r
                                <!-- 実行可能jar本体のパッケージを行う (package時) -->\r
                                <groupId>org.apache.maven.plugins</groupId>\r
                                <artifactId>maven-jar-plugin</artifactId>\r
-                               <version>2.6</version>\r
+                               <version>3.1.0</version>\r
                                <configuration>\r
                                        <finalName>${project.artifactId}</finalName>\r
                                        <archive>\r
@@ -68,9 +90,9 @@
                                                <manifestEntries>\r
                                                        <!-- 起動時のスプラッシュ画像 -->\r
                                                        <SplashScreen-Image>splash.png</SplashScreen-Image>\r
-                                                       <Built-By>${email}</Built-By>\r
+                                                       <Built-By>${buildBy}</Built-By>\r
                                                        <Build-At>${maven.build.timestamp}</Build-At>\r
-                                                       <Implementation-Vendor><![CDATA[Copyright (C) 2010 ${email}]]></Implementation-Vendor>\r
+                                                       <Implementation-Vendor><![CDATA[Copyright (C) ${maven.build.timestamp} ${buildBy}]]></Implementation-Vendor>\r
                                                </manifestEntries>\r
                                        </archive>\r
                                </configuration>\r
                                                                </goals>\r
                                                                <configuration>\r
                                                                        <headerType>gui</headerType>\r
-                                                                       <outfile>target/${exename}</outfile>\r
+                                                                       <outfile>target/${project.artifactId}.exe</outfile>\r
                                                                        <jar>target/${project.artifactId}.jar</jar>\r
                                                                        <errTitle>Failed to execute the ${project.artifactId}</errTitle>\r
                                                                        <icon>icon.ico</icon>\r
                                                                        <versionInfo>\r
                                                                                <fileVersion>${project.version}</fileVersion>\r
                                                                                <txtFileVersion>${project.version}</txtFileVersion>\r
-                                                                               <fileDescription>${appname}</fileDescription>\r
-                                                                               <copyright>${maven.build.timestamp} ${email}</copyright>\r
+                                                                               <fileDescription>${project.artifactId}</fileDescription>\r
+                                                                               <copyright>${maven.build.timestamp} ${buildBy}</copyright>\r
                                                                                <productVersion>${project.version}</productVersion>\r
                                                                                <txtProductVersion>${project.version}</txtProductVersion>\r
-                                                                               <productName>${appname}</productName>\r
-                                                                               <internalName>${appname}</internalName>\r
-                                                                               <originalFilename>${exename}</originalFilename>\r
+                                                                               <productName>${project.artifactId}</productName>\r
+                                                                               <internalName>${project.artifactId}</internalName>\r
+                                                                               <originalFilename>${project.artifactId}.exe</originalFilename>\r
                                                                        </versionInfo>\r
                                                                </configuration>\r
                                                        </execution>\r
                                                                        <goal>single</goal>\r
                                                                </goals>\r
                                                                <configuration>\r
-                                                                       <finalName>${appname}_${project.version}_with_JRE.zip</finalName>\r
+                                                                       <finalName>${project.artifactId}_${project.version}_with_JRE</finalName>\r
                                                                        <appendAssemblyId>false</appendAssemblyId>\r
                                                                        <descriptors>\r
                                                                                <descriptor>src/main/assembly/charactermanaj_with_jre_zip.xml</descriptor>\r
                                                                        <goal>single</goal>\r
                                                                </goals>\r
                                                                <configuration>\r
-                                                                       <finalName>${appname}_${project.version}.zip</finalName>\r
+                                                                       <finalName>${project.artifactId}_${project.version}</finalName>\r
                                                                        <appendAssemblyId>false</appendAssemblyId>\r
                                                                        <descriptors>\r
                                                                                <descriptor>src/main/assembly/charactermanaj_zip.xml</descriptor>\r
                                        <family>mac</family>\r
                                </os>\r
                        </activation>\r
+                       <properties>\r
+                               <copyJrePath>${java.home}</copyJrePath>\r
+                       </properties>\r
                        <build>\r
                                <plugins>\r
                                        <plugin>\r
-                                               <!-- 生成されたjarをdistフォルダにコピーする-->\r
-                                               <artifactId>maven-resources-plugin</artifactId>\r
-                                               <version>2.7</version>\r
+                                               <!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-antrun-plugin -->\r
+                                               <groupId>org.apache.maven.plugins</groupId>\r
+                                               <artifactId>maven-antrun-plugin</artifactId>\r
+                                               <version>1.8</version>\r
                                                <executions>\r
                                                        <execution>\r
-                                                               <id>copy-jar</id>\r
                                                                <phase>package</phase>\r
-                                                               <goals>\r
-                                                                       <goal>copy-resources</goal>\r
-                                                               </goals>\r
                                                                <configuration>\r
-                                                                       <outputDirectory>${basedir}/dist</outputDirectory>\r
-                                                                       <resources>\r
-                                                                               <resource>\r
-                                                                                       <directory>${basedir}/target</directory>\r
-                                                                                       <includes>\r
-                                                                                               <include>${project.artifactId}.jar</include>\r
-                                                                                       </includes>\r
-                                                                                       <filtering>false</filtering>\r
-                                                                               </resource>\r
-                                                                               <resource>\r
-                                                                                       <directory>src/main/attachment</directory>\r
-                                                                                       <includes>\r
-                                                                                               <include>charactermanaj.l4j.ini</include>\r
-                                                                                               <include>README_mac.txt</include>\r
-                                                                                       </includes>\r
-                                                                                       <filtering>false</filtering>\r
-                                                                               </resource>\r
-                                                                       </resources>\r
+                                                                       <tasks>\r
+                                                                               <delete dir="${project.build.directory}/appbundle"/>\r
+                                                                               <mkdir dir="${project.build.directory}/appbundle"/>\r
+                                                                               <copy todir="${project.build.directory}/appbundle">\r
+                                                                                       <fileset dir="${project.basedir}/src/main/attachment/bundle">\r
+                                                                                               <include name="**/*"/>\r
+                                                                                       </fileset>\r
+                                                                               </copy>\r
+                                                                               <copy todir="${project.build.directory}/appbundle/CharacterManaJ.app/Contents/Resources">\r
+                                                                                       <fileset dir="${project.basedir}">\r
+                                                                                               <include name="icon.icns"/>\r
+                                                                                       </fileset>\r
+                                                                                       <fileset dir="${project.build.directory}">\r
+                                                                                               <include name="${project.artifactId}.jar"/>\r
+                                                                                       </fileset>\r
+                                                                               </copy>\r
+                                                                               <chmod dir="${project.build.directory}/appbundle/CharacterManaJ.app/Contents/MacOS"\r
+                                                                                       perm="a+rx" includes="**/*.sh"/>\r
+                                                                               <copy todir="${project.build.directory}/appbundle">\r
+                                                                                       <fileset dir="${project.basedir}/src/main/attachment">\r
+                                                                                               <include name="README_mac.txt"/>\r
+                                                                                       </fileset>\r
+                                                                               </copy>\r
+\r
+                                                                               <delete file="${project.build.directory}/${project.artifactId}${project.version}.dmg"/>\r
+                                                                               <exec executable="hdiutil">\r
+                                                                                       <arg value="create"/>\r
+                                                                                       <arg value="-srcfolder"/>\r
+                                                                                       <arg value="${project.build.directory}/appbundle"/>\r
+                                                                                       <arg value="-volname"/>\r
+                                                                                       <arg value="${project.artifactId}_${project.version}.dmg"/>\r
+                                                                                       <arg value="${project.build.directory}/${project.artifactId}_${project.version}.dmg"/>\r
+                                                                               </exec>\r
+                                                                               <exec executable="hdiutil">\r
+                                                                                       <arg value="internet-enable"/>\r
+                                                                                       <arg value="-yes"/>\r
+                                                                                       <arg value="${project.build.directory}/${project.artifactId}_${project.version}.dmg"/>\r
+                                                                               </exec>\r
+\r
+                                                                               <delete dir="${project.build.directory}/appbundle/CharacterManaJ.app/Contents/Plugins/JRE"/>\r
+                                                                               <copy todir="${project.build.directory}/appbundle/CharacterManaJ.app/Contents/Plugins/JRE">\r
+                                                                                       <fileset dir="${copyJrePath}">\r
+                                                                                               <include name="**/*"/>\r
+                                                                                       </fileset>\r
+                                                                               </copy>\r
+                                                                               <chmod dir="${project.build.directory}/appbundle/CharacterManaJ.app/Contents/Plugins/JRE"\r
+                                                                                       perm="a+rx" includes="bin/*"/>\r
+                                                                               <delete file="${project.build.directory}/${project.artifactId}${project.version}_with_jre.dmg"/>\r
+                                                                               <exec executable="hdiutil">\r
+                                                                                       <arg value="create"/>\r
+                                                                                       <arg value="-srcfolder"/>\r
+                                                                                       <arg value="${project.build.directory}/appbundle"/>\r
+                                                                                       <arg value="-volname"/>\r
+                                                                                       <arg value="${project.artifactId}_${project.version}.dmg"/>\r
+                                                                                       <arg value="${project.build.directory}/${project.artifactId}_${project.version}_with_jre.dmg"/>\r
+                                                                               </exec>\r
+                                                                               <exec executable="hdiutil">\r
+                                                                                       <arg value="internet-enable"/>\r
+                                                                                       <arg value="-yes"/>\r
+                                                                                       <arg value="${project.build.directory}/${project.artifactId}_${project.version}_with_jre.dmg"/>\r
+                                                                               </exec>\r
+                                                                       </tasks>\r
                                                                </configuration>\r
-                                                       </execution>\r
-                                               </executions>\r
-                                       </plugin>\r
-                                       <plugin>\r
-                                               <!-- 配布用dmg作成のためのシェルの呼び出し -->\r
-                                               <groupId>org.codehaus.mojo</groupId>\r
-                                               <artifactId>exec-maven-plugin</artifactId>\r
-                                               <version>1.6.0</version>\r
-                                               <executions>\r
-                                                       <execution>\r
-                                                               <id>make-dmg</id>\r
-                                                               <phase>package</phase>\r
                                                                <goals>\r
-                                                                       <goal>exec</goal>\r
+                                                                       <goal>run</goal>\r
                                                                </goals>\r
-                                                               <configuration>\r
-                                                                       <executable>sh</executable>\r
-                                                                       <workingDirectory>${basedir}/dist</workingDirectory>\r
-                                                                       <commandlineArgs>-c 'chmod +x *.sh;./build_all.sh'</commandlineArgs>\r
-                                                               </configuration>\r
                                                        </execution>\r
                                                </executions>\r
                                        </plugin>\r