Skip to content

Removes unintentional empty projects#14156

Draft
tresat wants to merge 10 commits intotriplea-game:mainfrom
tresat:tt/build/remove-phantom-projects
Draft

Removes unintentional empty projects#14156
tresat wants to merge 10 commits intotriplea-game:mainfrom
tresat:tt/build/remove-phantom-projects

Conversation

@tresat
Copy link
Contributor

@tresat tresat commented Feb 16, 2026

See: https://docs.gradle.org/current/userguide/best_practices_structuring_builds.html#avoid_empty_projects.

There were :game-app, :http-clients and :lib projects created that weren't necessary.

This also avoids the need to type out :game-app:game-core, and instead allows the use of just :game-core.

Most important, it stops Gradle from assuming these 3 dirs contain Gradle projects, which they don't, improving performance and comprehensibility.

- Move a couple things into the convention.
- Remove need for another gradle/scripts file.
Moves test map resources to the testFixtures resources directory, allowing for better build organization.

Creates a utility class to encapsulate the logic for loading game data from XML files, which simplifies testing.  This class handles resource files packaged in jars.  Updates tests to use it.
@tresat tresat force-pushed the tt/build/remove-phantom-projects branch 2 times, most recently from 565154b to 21e5afb Compare February 16, 2026 20:32
@tresat
Copy link
Contributor Author

tresat commented Feb 16, 2026

Some common objections to this are:

  • Now I can no longer see project grouping via the name. If this is important, we can rename + relocate to include some prefixes, for example: /game-app/game-core could move to /game-app/app-game-core and /lib/java-extras could move to /lib/lib-java-extras.
  • Now there might be name collisions, between a project in /game-app and one in /lib. Prefixes avoid this, but it's not yet a problem.

Another common pattern is to add the prefixes, then relocate ALL projects into a /subprojects root dir. This presents a nice IDE experience, when navigating source code, and keeps the top-level dirs from multiplying.

@tresat tresat force-pushed the tt/build/remove-phantom-projects branch from 21e5afb to 4db099f Compare February 16, 2026 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant