Skip to content

Convert the existing project to a multi-module project#28

Closed
philliplbryant wants to merge 8 commits intoCol-E:masterfrom
philliplbryant:enhancement/BENTO-25
Closed

Convert the existing project to a multi-module project#28
philliplbryant wants to merge 8 commits intoCol-E:masterfrom
philliplbryant:enhancement/BENTO-25

Conversation

@philliplbryant
Copy link
Copy Markdown

@philliplbryant philliplbryant commented Apr 8, 2026

Converts the existing project to a multi-module project using the Kotlin DSL for Gradle.

Please note, assuming approval of this pull request and permission to do so in a follow on pull request, I am still planning to convert Gradle from using the Kotlin DSL to the Groovy DSL but would like to do so after adding the persistence modules (#13), which will follow shortly, and contains multiple Gradle precompiled script plugins and convention plugins.

Please this pull request also contains changes for the following issues

* Convert the existing project to a multi-module project.
@@ -1,4 +1,4 @@
package software.coley.boxfx.demo;
package software.coley.boxfx.demo.basic;
Copy link
Copy Markdown
Author

@philliplbryant philliplbryant Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I moved the application source code to the basic-demo submodule under demos, from the src/test directory to the src/main directory, and modified the package names to match the module names and path.

The change to the basic-demo submodule under demos was done in anticipation of a second demo for persistence, which is named persistence-demo.

The change from src/test to src/main is for compatibility with the Gradle Application plugin which, by default, does not support running applications from src/test. Rather, it compiles and launches the application using the main source set. This also follows the standard Gradle project layout where src/main contains the primary code that defines the component's functionality, while src/test is reserved for automated tests.

// These properties are defined in gradle.properties
group = property("group") as String
version = property("version") as String

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The artifact ID will change to the module name, core, also in anticipation of publishing additional artifacts for persistence.

Comment thread gradle.properties
#******************************************************************************

group=software.coley.bentofx
version=0.15.2-SNAPSHOT
Copy link
Copy Markdown
Author

@philliplbryant philliplbryant Apr 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might want to change the version from a snapshot version, or could continue using snapshot version until persistence is complete.

It's also possible to move the group name to one of the precompiled Gradle plugin scripts and the version to the TOML file where the other versions are defined. Let me know if this should be changed.

Comment thread gradle.properties Outdated
# This is an unpublished work of SAIC.
# Copyright (c) 2026 SAIC. All Rights Reserved.
#******************************************************************************

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed the group name. GAVs are updated in README.md

Comment thread README.md
@@ -2,30 +2,57 @@

A docking system for JavaFX.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a TOC as the readme grows when adding persistence.

@Col-E
Copy link
Copy Markdown
Owner

Col-E commented Apr 9, 2026

Regarding the conversion to Kotlin DSL - I was not anticipating this given #12 and last comment of #13

Comment thread .run/Basic Demo.run.xml Outdated
Comment thread build-logic/src/main/kotlin/bento.project.application-convention.gradle.kts Outdated
@philliplbryant
Copy link
Copy Markdown
Author

Regarding the conversion to Kotlin DSL - I was not anticipating this given #12 and last comment of #13

I am still planning to convert Gradle from using the Kotlin DSL to the Groovy DSL but would like to do so after adding the persistence modules (#13), which will follow shortly, and contains multiple Gradle precompiled script plugins and convention plugins.

I included this note and some other comments in the pull request description. If this is problematic, can we create an "integration branch" into which all changes related to the persistence work can be incrementally merged until complete?

@Col-E Col-E added the enhancement New feature or request label Apr 9, 2026
* Remove IntelliJ run configuration and ignore new ones.
* Update the read-me details informing users how to run the basic demo application.
* Delete image files that aren't used yet (but will be used by the persistence demo).
* Add the local Maven repository to repositories used for dependency resolution.
* Define JUnit dependency and add its BOM to the platform - this is a placeholder for future tests and to remove incompatibilities in the platform module that are declared as incompatible with Gradle 10.
* Remove copyright headers.
This reverts commit 15c8e60.
@philliplbryant
Copy link
Copy Markdown
Author

Propose deleting this in favor of changes aggregated into #29

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants