From 64c3380f23db8985d8d0b5ad5c20030628a088cc Mon Sep 17 00:00:00 2001 From: arnaudlabourel <arnaud.labourel@univ-amu.fr> Date: Tue, 24 Oct 2023 15:30:10 +0200 Subject: [PATCH] updated gradle config with shadow for jar --- build.gradle | 19 +++++++++---------- settings.gradle | 2 ++ .../app/SimulatorApplication.java} | 15 ++++++++++----- .../java/firefighter/app/SimulatorMain.java | 7 +++++++ .../controller/Controller.java | 16 ++++++++-------- .../controller/PersistentToggleGroup.java | 2 +- .../java/{ => firefighter}/model/Board.java | 2 +- .../model/FirefighterBoard.java | 2 +- .../{ => firefighter}/model/ModelElement.java | 2 +- .../{ => firefighter}/model/Position.java | 2 +- .../view/FirefighterGrid.java | 4 ++-- .../java/{ => firefighter}/view/Grid.java | 5 ++--- .../{ => firefighter}/view/ViewElement.java | 2 +- src/main/java/module-info.java | 8 ++++++++ .../{ => firefighter}/view/DarkTheme.css | 0 .../{ => firefighter}/view/view.fxml | 4 ++-- 16 files changed, 56 insertions(+), 36 deletions(-) rename src/main/java/{FirefighterApplication.java => firefighter/app/SimulatorApplication.java} (80%) create mode 100644 src/main/java/firefighter/app/SimulatorMain.java rename src/main/java/{ => firefighter}/controller/Controller.java (91%) rename src/main/java/{ => firefighter}/controller/PersistentToggleGroup.java (96%) rename src/main/java/{ => firefighter}/model/Board.java (87%) rename src/main/java/{ => firefighter}/model/FirefighterBoard.java (99%) rename src/main/java/{ => firefighter}/model/ModelElement.java (64%) rename src/main/java/{ => firefighter}/model/Position.java (64%) rename src/main/java/{ => firefighter}/view/FirefighterGrid.java (97%) rename src/main/java/{ => firefighter}/view/Grid.java (74%) rename src/main/java/{ => firefighter}/view/ViewElement.java (88%) create mode 100644 src/main/java/module-info.java rename src/main/resources/{ => firefighter}/view/DarkTheme.css (100%) rename src/main/resources/{ => firefighter}/view/view.fxml (93%) diff --git a/build.gradle b/build.gradle index d1f46e6..0f1ef0d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,13 +1,14 @@ plugins { + id("com.github.johnrengelman.shadow") version "8.1.1" id 'application' - id "org.openjfx.javafxplugin" version "0.0.14" - id 'com.github.johnrengelman.shadow' version '8.1.1' + id 'java' + id "org.openjfx.javafxplugin" version "0.1.0" } javafx { version = "21" - modules = [ 'javafx.controls', 'javafx.fxml' ] + modules = [ 'javafx.controls', 'javafx.fxml', 'javafx.graphics'] } @@ -29,13 +30,11 @@ test { } application { - mainClass.set("FirefighterApplication") + mainClass.set("firefighter.app.SimulatorMain") } -jar { - manifest { - attributes("Implementation-Title": project.name, - "Implementation-Version": version, - "Main-Class": application.mainClass) +tasks { + shadowJar { + exclude("module-info.class") } -} \ No newline at end of file +} diff --git a/settings.gradle b/settings.gradle index b9eacbe..5d3f861 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,2 +1,4 @@ rootProject.name = 'firefighter' +include 'src:main:aapp' +findProject(':src:main:aapp')?.name = 'aapp' diff --git a/src/main/java/FirefighterApplication.java b/src/main/java/firefighter/app/SimulatorApplication.java similarity index 80% rename from src/main/java/FirefighterApplication.java rename to src/main/java/firefighter/app/SimulatorApplication.java index e43ebd9..b4392e2 100644 --- a/src/main/java/FirefighterApplication.java +++ b/src/main/java/firefighter/app/SimulatorApplication.java @@ -1,5 +1,6 @@ -import controller.Controller; -import javafx.application.Application; +package firefighter.app; + +import firefighter.controller.Controller; import javafx.application.Platform; import javafx.fxml.FXMLLoader; import javafx.scene.Parent; @@ -9,8 +10,8 @@ import javafx.stage.Stage; import java.io.IOException; import java.net.URL; -public class FirefighterApplication extends Application { - private static final String VIEW_RESOURCE_PATH = "/view/view.fxml"; +public class SimulatorApplication extends javafx.application.Application { + private static final String VIEW_RESOURCE_PATH = "/firefighter/view/view.fxml"; private static final String APP_NAME = "Firefighter simulator"; private static final int ROW_COUNT = 20; private static final int COLUMN_COUNT = 20; @@ -38,7 +39,7 @@ public class FirefighterApplication extends Application { private void initializeView() throws IOException { FXMLLoader loader = new FXMLLoader(); - URL location = FirefighterApplication.class.getResource(VIEW_RESOURCE_PATH); + URL location = SimulatorApplication.class.getResource(VIEW_RESOURCE_PATH); loader.setLocation(location); view = loader.load(); Controller controller = loader.getController(); @@ -51,4 +52,8 @@ public class FirefighterApplication extends Application { primaryStage.setScene(scene); primaryStage.show(); } + + public static void main(String[] args) { + launch(args); + } } diff --git a/src/main/java/firefighter/app/SimulatorMain.java b/src/main/java/firefighter/app/SimulatorMain.java new file mode 100644 index 0000000..18533e3 --- /dev/null +++ b/src/main/java/firefighter/app/SimulatorMain.java @@ -0,0 +1,7 @@ +package firefighter.app; + +public class SimulatorMain { + public static void main(String[] args){ + SimulatorApplication.main(args); + } +} diff --git a/src/main/java/controller/Controller.java b/src/main/java/firefighter/controller/Controller.java similarity index 91% rename from src/main/java/controller/Controller.java rename to src/main/java/firefighter/controller/Controller.java index c4e3232..335bf3e 100644 --- a/src/main/java/controller/Controller.java +++ b/src/main/java/firefighter/controller/Controller.java @@ -1,4 +1,4 @@ -package controller; +package firefighter.controller; import javafx.animation.Animation; import javafx.animation.KeyFrame; @@ -11,12 +11,12 @@ import javafx.scene.control.ToggleButton; import javafx.scene.control.ToggleGroup; import javafx.util.Duration; import javafx.util.Pair; -import model.Board; -import model.ModelElement; -import model.FirefighterBoard; -import model.Position; -import view.FirefighterGrid; -import view.ViewElement; +import firefighter.model.Board; +import firefighter.model.ModelElement; +import firefighter.model.FirefighterBoard; +import firefighter.model.Position; +import firefighter.view.FirefighterGrid; +import firefighter.view.ViewElement; import java.util.ArrayList; import java.util.List; @@ -52,7 +52,7 @@ public class Controller { } private void setModel(FirefighterBoard firefighterBoard) { - this.board = requireNonNull(firefighterBoard, "model is null"); + this.board = requireNonNull(firefighterBoard, "firefighter.model is null"); } private void updateBoard(){ diff --git a/src/main/java/controller/PersistentToggleGroup.java b/src/main/java/firefighter/controller/PersistentToggleGroup.java similarity index 96% rename from src/main/java/controller/PersistentToggleGroup.java rename to src/main/java/firefighter/controller/PersistentToggleGroup.java index 7c2c4b5..a7e930b 100644 --- a/src/main/java/controller/PersistentToggleGroup.java +++ b/src/main/java/firefighter/controller/PersistentToggleGroup.java @@ -1,4 +1,4 @@ -package controller; +package firefighter.controller; import javafx.collections.ListChangeListener.Change; import javafx.scene.control.Toggle; diff --git a/src/main/java/model/Board.java b/src/main/java/firefighter/model/Board.java similarity index 87% rename from src/main/java/model/Board.java rename to src/main/java/firefighter/model/Board.java index 5e24f47..a17de30 100644 --- a/src/main/java/model/Board.java +++ b/src/main/java/firefighter/model/Board.java @@ -1,4 +1,4 @@ -package model; +package firefighter.model; import java.util.List; diff --git a/src/main/java/model/FirefighterBoard.java b/src/main/java/firefighter/model/FirefighterBoard.java similarity index 99% rename from src/main/java/model/FirefighterBoard.java rename to src/main/java/firefighter/model/FirefighterBoard.java index 910e036..29af45a 100644 --- a/src/main/java/model/FirefighterBoard.java +++ b/src/main/java/firefighter/model/FirefighterBoard.java @@ -1,4 +1,4 @@ -package model; +package firefighter.model; import java.util.*; diff --git a/src/main/java/model/ModelElement.java b/src/main/java/firefighter/model/ModelElement.java similarity index 64% rename from src/main/java/model/ModelElement.java rename to src/main/java/firefighter/model/ModelElement.java index 759eee5..ca8f16a 100644 --- a/src/main/java/model/ModelElement.java +++ b/src/main/java/firefighter/model/ModelElement.java @@ -1,4 +1,4 @@ -package model; +package firefighter.model; public enum ModelElement { FIREFIGHTER, FIRE diff --git a/src/main/java/model/Position.java b/src/main/java/firefighter/model/Position.java similarity index 64% rename from src/main/java/model/Position.java rename to src/main/java/firefighter/model/Position.java index 08c95ad..9941e11 100644 --- a/src/main/java/model/Position.java +++ b/src/main/java/firefighter/model/Position.java @@ -1,4 +1,4 @@ -package model; +package firefighter.model; public record Position(int row, int column) { diff --git a/src/main/java/view/FirefighterGrid.java b/src/main/java/firefighter/view/FirefighterGrid.java similarity index 97% rename from src/main/java/view/FirefighterGrid.java rename to src/main/java/firefighter/view/FirefighterGrid.java index 085ad2c..1e46ca8 100644 --- a/src/main/java/view/FirefighterGrid.java +++ b/src/main/java/firefighter/view/FirefighterGrid.java @@ -1,9 +1,9 @@ -package view; +package firefighter.view; import javafx.scene.canvas.Canvas; import javafx.scene.paint.Color; import javafx.util.Pair; -import model.Position; +import firefighter.model.Position; import java.util.List; diff --git a/src/main/java/view/Grid.java b/src/main/java/firefighter/view/Grid.java similarity index 74% rename from src/main/java/view/Grid.java rename to src/main/java/firefighter/view/Grid.java index ee8a612..bc0b487 100644 --- a/src/main/java/view/Grid.java +++ b/src/main/java/firefighter/view/Grid.java @@ -1,8 +1,7 @@ -package view; +package firefighter.view; -import javafx.scene.paint.Color; import javafx.util.Pair; -import model.Position; +import firefighter.model.Position; import java.util.List; diff --git a/src/main/java/view/ViewElement.java b/src/main/java/firefighter/view/ViewElement.java similarity index 88% rename from src/main/java/view/ViewElement.java rename to src/main/java/firefighter/view/ViewElement.java index ffb7611..0181e55 100644 --- a/src/main/java/view/ViewElement.java +++ b/src/main/java/firefighter/view/ViewElement.java @@ -1,4 +1,4 @@ -package view; +package firefighter.view; import javafx.scene.paint.Color; diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java new file mode 100644 index 0000000..c82befa --- /dev/null +++ b/src/main/java/module-info.java @@ -0,0 +1,8 @@ +module firefighter { + requires javafx.controls; + requires javafx.fxml; + requires javafx.graphics; + opens firefighter.controller to javafx.fxml; + exports firefighter.app; + opens firefighter.app to javafx.fxml; +} \ No newline at end of file diff --git a/src/main/resources/view/DarkTheme.css b/src/main/resources/firefighter/view/DarkTheme.css similarity index 100% rename from src/main/resources/view/DarkTheme.css rename to src/main/resources/firefighter/view/DarkTheme.css diff --git a/src/main/resources/view/view.fxml b/src/main/resources/firefighter/view/view.fxml similarity index 93% rename from src/main/resources/view/view.fxml rename to src/main/resources/firefighter/view/view.fxml index e8b0ffc..9ae1576 100644 --- a/src/main/resources/view/view.fxml +++ b/src/main/resources/firefighter/view/view.fxml @@ -3,12 +3,12 @@ <?import javafx.scene.control.Button?> <?import javafx.scene.layout.HBox?> <?import javafx.scene.layout.VBox?> -<?import view.FirefighterGrid?> +<?import firefighter.view.FirefighterGrid?> <?import javafx.scene.control.ToggleButton?> <HBox styleClass="background" stylesheets="@DarkTheme.css" xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml" - fx:controller="controller.Controller"> + fx:controller="firefighter.controller.Controller"> <VBox> <Button fx:id="restartButton" maxHeight="-Infinity" maxWidth="-Infinity" mnemonicParsing="false" onAction="#restartButtonAction" prefHeight="24.0" prefWidth="200.0" -- GitLab