diff options
Diffstat (limited to '')
| -rwxr-xr-x | README.md | 20 | ||||
| -rw-r--r-- | icons/icon.icns | bin | 0 -> 22895 bytes | |||
| -rw-r--r-- | pom.xml | 133 | 
3 files changed, 126 insertions, 27 deletions
@@ -7,7 +7,7 @@ Goals:  - [X] Accept mp3 song files  - [ ] UI improvements  - [ ] Code cleanup -- [ ] Installer / Linux package +- [X] Installer / Linux package  Todo - needs design:  - Improve errorList and error handling @@ -20,8 +20,22 @@ Todo - bugs:  - Fix notesEditor note preview being too small with no notes  - Properly center background image -# Installation -Coming soon. +# Building +### Run the app +Run the Driver class from your IDE (known to work with Intellij) + +OR + +Execute the maven goal javafx:run +- windows: `mvnw.cmd javafx:run` +- linux: `./mvnw javafx:run` + +### Create an installer for your OS +Execute the maven package phase +- windows: `mvnw.cmd package` +- linux: `./mvnw package` + +The installer executables should output to `target/dist`  # Development Links diff --git a/icons/icon.icns b/icons/icon.icns Binary files differnew file mode 100644 index 0000000..2aaa7d2 --- /dev/null +++ b/icons/icon.icns @@ -59,8 +59,24 @@      </dependencies>      <build> +        <pluginManagement> +            <plugins> +                <plugin> +                    <groupId>fr.jcgay.maven.plugins</groupId> +                    <artifactId>buildplan-maven-plugin</artifactId> +                    <version>1.5</version> +                </plugin> +            </plugins> +        </pluginManagement> +          <plugins>              <plugin> +                <groupId>fr.jcgay.maven.plugins</groupId> +                <artifactId>buildplan-maven-plugin</artifactId> +                <version>1.5</version> +            </plugin> + +            <plugin>                  <groupId>org.apache.maven.plugins</groupId>                  <artifactId>maven-compiler-plugin</artifactId>                  <version>3.11.0</version> @@ -74,21 +90,27 @@                  <groupId>org.openjfx</groupId>                  <artifactId>javafx-maven-plugin</artifactId>                  <version>0.0.8</version> + +                <configuration> +                    <mainClass>net.sowgro.npehero/net.sowgro.npehero.Driver</mainClass> +                    <launcher>app</launcher> +                    <jlinkZipName>NPEHero</jlinkZipName> +                    <jlinkImageName>app</jlinkImageName> +                    <noManPages>true</noManPages> +                    <stripDebug>true</stripDebug> +                    <noHeaderFiles>true</noHeaderFiles> +                    <jmodsPath>/home/sowgro/Code/jdk-22_windows-x64_bin/jdk-22.0.2</jmodsPath> +                    <options>-Dprism.forceGPU=true</options> +                    <compress>2</compress> +                </configuration> +                  <executions>                      <execution> -                        <!-- Default configuration for running with: mvn clean javafx:run -->                          <id>default-cli</id> -                        <configuration> -                            <mainClass>net.sowgro.npehero/net.sowgro.npehero.Driver</mainClass> -                            <launcher>app</launcher> -                            <jlinkZipName>NPEHero</jlinkZipName> -                            <jlinkImageName>app</jlinkImageName> -                            <noManPages>true</noManPages> -                            <stripDebug>true</stripDebug> -                            <noHeaderFiles>true</noHeaderFiles> -                            <jmodsPath>/home/sowgro/Code/jdk-22_windows-x64_bin/jdk-22.0.2</jmodsPath> -                            <options>-Dprism.forceGPU=true</options> -                        </configuration> +                        <goals> +                            <goal>jlink</goal> +                        </goals> +                        <phase>package</phase>                      </execution>                  </executions>              </plugin> @@ -105,26 +127,89 @@                      <runtimeImage>target/app</runtimeImage>                      <module>net.sowgro.npehero/net.sowgro.npehero.Driver</module>                      <destination>target/dist</destination> -                    <icon>icons/icon.png</icon> +                    <!-- <icon>icons/icon.png</icon> in profile --> +                      <linuxShortcut>true</linuxShortcut> +                    <linuxMenuGroup>Game</linuxMenuGroup> +                    <linuxRpmLicenseType>MIT</linuxRpmLicenseType> + +                    <winShortcut>true</winShortcut> +                    <winDirChooser>true</winDirChooser> +                    <winShortcut>true</winShortcut> + +                    <macPackageIdentifier>net.sowgro.npehero</macPackageIdentifier> +                    <macAppCategory>music-games</macAppCategory>                  </configuration>                  <executions>                      <execution> -                        <id>mac</id> -                        <configuration> -                            <icon>icons/icons.icns</icon> -                        </configuration> -                    </execution> -                    <execution> -                        <id>win</id> -                        <configuration> -                            <icon>icons/icon.ico</icon> -                            <winMenu>true</winMenu> -                        </configuration> +                        <goals> +                            <goal>jpackage</goal> +                        </goals> +                        <phase>package</phase>                      </execution>                  </executions>              </plugin>          </plugins>      </build> + +    <profiles> +        <profile> +            <id>win</id> +            <activation> +                <os> +                    <family>windows</family> +                </os> +            </activation> +            <build> +                <plugins> +                    <plugin> +                        <groupId>org.panteleyev</groupId> +                        <artifactId>jpackage-maven-plugin</artifactId> +                        <configuration> +                            <icon>icons/icon.ico</icon> +                        </configuration> +                    </plugin> +                </plugins> +            </build> +        </profile> +        <profile> +            <id>mac</id> +            <activation> +                <os> +                    <family>mac</family> +                </os> +            </activation> +            <build> +                <plugins> +                    <plugin> +                        <groupId>org.panteleyev</groupId> +                        <artifactId>jpackage-maven-plugin</artifactId> +                        <configuration> +                            <icon>icons/icon.icns</icon> +                        </configuration> +                    </plugin> +                </plugins> +            </build> +        </profile> +        <profile> +            <id>linux</id> +            <activation> +                <os> +                    <family>linux</family> +                </os> +            </activation> +            <build> +                <plugins> +                    <plugin> +                        <groupId>org.panteleyev</groupId> +                        <artifactId>jpackage-maven-plugin</artifactId> +                        <configuration> +                            <icon>icons/icon.png</icon> +                        </configuration> +                    </plugin> +                </plugins> +            </build> +        </profile> +    </profiles>  </project>
\ No newline at end of file  | 
