diff --git a/edu.addressbook.view/build.gradle b/edu.addressbook.view/build.gradle
index a8e32f0..7feb716 100644
--- a/edu.addressbook.view/build.gradle
+++ b/edu.addressbook.view/build.gradle
@@ -9,6 +9,7 @@ plugins {
}
java {
+ modularity.inferModulePath = true
toolchain {
languageVersion = JavaLanguageVersion.of(25)
}
@@ -22,6 +23,10 @@ repositories {
mavenCentral()
}
+application {
+ mainClass = 'edu.addressbook.view.ApplicationView'
+}
+
javafx {
version = "25.0.1"
modules = [ 'javafx.controls', 'javafx.fxml', 'javafx.graphics', 'javafx.web' ]
@@ -42,14 +47,23 @@ dependencies {
}
-// Apply a specific Java toolchain to ease working on different environments.
-java {
- toolchain {
- languageVersion = JavaLanguageVersion.of(25)
- }
+jar {
+ manifest {
+ attributes 'Automatic-Module-Name': group,
+ 'Main-Class': application.mainClass,
+ 'Class-Path': 'edu.addressbook.view edu.addressbook org.aspectj.runtime'
+ }
+ duplicatesStrategy = DuplicatesStrategy.EXCLUDE
+ from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
}
-application {
- // Define the main class for the application.
- mainClass = 'edu.addressbook.view.ApplicationView'
+tasks.named('jar') {
+ manifest {
+ attributes(
+ 'Automatic-Module-Name':'edu.addressbook',
+ 'Implementation-Title': 'edu.addressbook',
+ 'Implementation-Version': 1.0,
+ 'Main-Class': application.mainClass,
+ 'Class-Path': 'edu.addressbook org.aspectj.runtime' )
+ }
}
diff --git a/edu.addressbook.view/gradle/wrapper/gradle-wrapper.jar b/edu.addressbook.view/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index 61285a6..0000000
Binary files a/edu.addressbook.view/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/edu.addressbook.view/gradle/wrapper/gradle-wrapper.properties b/edu.addressbook.view/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index 37f78a6..0000000
--- a/edu.addressbook.view/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
-networkTimeout=10000
-validateDistributionUrl=true
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
diff --git a/edu.addressbook.view/src/main/java/module-info.java b/edu.addressbook.view/src/main/java/module-info.java
new file mode 100644
index 0000000..a9034dc
--- /dev/null
+++ b/edu.addressbook.view/src/main/java/module-info.java
@@ -0,0 +1,14 @@
+module edu.addressbook.view {
+ requires java.desktop;
+ requires transitive javafx.graphics;
+ requires transitive javafx.web;
+ requires transitive javafx.controls;
+
+ opens edu.addressbook;
+
+ opens javafx.web;
+ opens javafx.controls;
+ opens javafx.graphics;
+
+ exports edu.addressbook.view;
+}
\ No newline at end of file
diff --git a/edu.addressbook.view/src/main/resources/book.html b/edu.addressbook.view/src/main/resources/book.html
index d54f579..74a10c9 100644
--- a/edu.addressbook.view/src/main/resources/book.html
+++ b/edu.addressbook.view/src/main/resources/book.html
@@ -16,7 +16,7 @@
Close