Skip to content

Commit

Permalink
Adding the ability to build with the maven version of modern docking …
Browse files Browse the repository at this point in the history
…by running 'gradlew build -PuseMavenVersion=true'.

Fixing an issue with module-info.java when building the repo straight from GitHub without the package rename. Modules don't like empty or non-existent packages. A new copy of module-info.java will be copied when building.
  • Loading branch information
andrewauclair committed Jul 3, 2024
1 parent e29ee14 commit 6fc1494
Show file tree
Hide file tree
Showing 11 changed files with 99 additions and 17 deletions.
10 changes: 8 additions & 2 deletions demo-multi-app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,14 @@ sourceSets.test.java.srcDirs = ['test']
sourceSets.main.resources.srcDirs = ['resources']

dependencies {
implementation project(':docking-ui')
implementation project(':docking-multi-app')
if (project.hasProperty("useMavenVersion")) {
implementation 'io.github.andrewauclair:modern-docking-ui:' + version
implementation 'io.github.andrewauclair:modern-docking-multi-app:' + version
}
else {
implementation project(':docking-ui')
implementation project(':docking-multi-app')
}

implementation 'com.formdev:flatlaf:3.4.1'
implementation 'com.formdev:flatlaf-extras:3.4.1'
Expand Down
10 changes: 8 additions & 2 deletions demo-single-app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,14 @@ sourceSets.test.java.srcDirs = ['test']
sourceSets.main.resources.srcDirs = ['resources']

dependencies {
implementation project(':docking-ui')
implementation project(':docking-single-app')
if (project.hasProperty("useMavenVersion")) {
implementation 'io.github.andrewauclair:modern-docking-ui:' + version
implementation 'io.github.andrewauclair:modern-docking-single-app:' + version
}
else {
implementation project(':docking-ui')
implementation project(':docking-single-app')
}

implementation 'com.formdev:flatlaf:3.4.1'
implementation 'com.formdev:flatlaf-extras:3.4.1'
Expand Down
10 changes: 0 additions & 10 deletions docking-api/src/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,6 @@
exports ModernDocking.ui;
exports ModernDocking.api;

exports io.github.andrewauclair.moderndocking;
exports io.github.andrewauclair.moderndocking.event;
exports io.github.andrewauclair.moderndocking.exception;
exports io.github.andrewauclair.moderndocking.layouts;
exports io.github.andrewauclair.moderndocking.persist;
exports io.github.andrewauclair.moderndocking.settings;
exports io.github.andrewauclair.moderndocking.ui;
exports io.github.andrewauclair.moderndocking.api;

// export our internal package only to our other extension modules
exports ModernDocking.internal to modern_docking.ui_ext, modern_docking.single_app, modern_docking.multi_app;
exports io.github.andrewauclair.moderndocking.internal to modern_docking.ui_ext, modern_docking.single_app, modern_docking.multi_app;
}
7 changes: 6 additions & 1 deletion docking-multi-app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,12 @@ base {

// NOTE: do not add new dependencies here, Modern Docking is a zero-dependency library
dependencies {
api project(':docking-api')
if (project.hasProperty("useMavenVersion")) {
implementation 'io.github.andrewauclair:modern-docking-api:' + version
}
else {
api project(':docking-api')
}
}

java {
Expand Down
7 changes: 6 additions & 1 deletion docking-single-app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,12 @@ base {

// NOTE: do not add new dependencies here, Modern Docking is a zero-dependency library
dependencies {
api project(':docking-api')
if (project.hasProperty("useMavenVersion")) {
implementation 'io.github.andrewauclair:modern-docking-api:' + version
}
else {
api project(':docking-api')
}
}

java {
Expand Down
7 changes: 6 additions & 1 deletion docking-ui/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,12 @@ base {
}

dependencies {
api project(':docking-api')
if (project.hasProperty("useMavenVersion")) {
implementation 'io.github.andrewauclair:modern-docking-api:' + version
}
else {
api project(':docking-api')
}

implementation 'com.formdev:flatlaf:3.4.1'
implementation 'com.formdev:flatlaf-extras:3.4.1'
Expand Down
29 changes: 29 additions & 0 deletions package-renamer/docking-api-module-info.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/**
* Module for the Modern Docking framework
*/
module modern_docking.api {
requires java.desktop;
requires java.logging;

exports ModernDocking;
exports ModernDocking.event;
exports ModernDocking.exception;
exports ModernDocking.layouts;
exports ModernDocking.persist;
exports ModernDocking.settings;
exports ModernDocking.ui;
exports ModernDocking.api;

exports io.github.andrewauclair.moderndocking;
exports io.github.andrewauclair.moderndocking.event;
exports io.github.andrewauclair.moderndocking.exception;
exports io.github.andrewauclair.moderndocking.layouts;
exports io.github.andrewauclair.moderndocking.persist;
exports io.github.andrewauclair.moderndocking.settings;
exports io.github.andrewauclair.moderndocking.ui;
exports io.github.andrewauclair.moderndocking.api;

// export our internal package only to our other extension modules
exports ModernDocking.internal to modern_docking.ui_ext, modern_docking.single_app, modern_docking.multi_app;
exports io.github.andrewauclair.moderndocking.internal to modern_docking.ui_ext, modern_docking.single_app, modern_docking.multi_app;
}
10 changes: 10 additions & 0 deletions package-renamer/docking-multi-app-module-info.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/**
* Module for the Modern Docking framework
*/
module modern_docking.multi_app {
requires modern_docking.api;
requires java.desktop;

exports ModernDocking.app;
exports io.github.andrewauclair.moderndocking.app;
}
10 changes: 10 additions & 0 deletions package-renamer/docking-single-app-module-info.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/**
* Module for the Modern Docking framework
*/
module modern_docking.single_app {
requires modern_docking.api;
requires java.desktop;

exports ModernDocking.app;
exports io.github.andrewauclair.moderndocking.app;
}
11 changes: 11 additions & 0 deletions package-renamer/docking-ui-module-info.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/**
* Module for the Modern Docking framework
*/
module modern_docking.ui_ext {
requires modern_docking.api;
requires java.desktop;
requires com.formdev.flatlaf.extras;

exports ModernDocking.ext.ui;
exports io.github.andrewauclair.moderndocking.ext.ui;
}
5 changes: 5 additions & 0 deletions package-renamer/src/Main.java
Original file line number Diff line number Diff line change
Expand Up @@ -141,5 +141,10 @@ public static void main(String[] args) throws IOException {
renameFolders(new File("docking-single-app/src"));
renameFolders(new File("docking-multi-app/src"));
renameFolders(new File("docking-ui/src"));

FileUtils.copyFile(new File("package-renamer/docking-api-module-info.java"), new File("docking-api/src/module-info.java"));
FileUtils.copyFile(new File("package-renamer/docking-ui-module-info.java"), new File("docking-ui/src/module-info.java"));
FileUtils.copyFile(new File("package-renamer/docking-single-app-module-info.java"), new File("docking-single-app/src/module-info.java"));
FileUtils.copyFile(new File("package-renamer/docking-multi-app-module-info.java"), new File("docking-multi-app/src/module-info.java"));
}
}

0 comments on commit 6fc1494

Please sign in to comment.