ion-java icon indicating copy to clipboard operation
ion-java copied to clipboard

Refactor project layout for ease of testing

Open popematt opened this issue 1 year ago • 0 comments

If we refactor the repo into a few different gradle subprojects, I think it could make it easier and more convenient to run the tests.

Subprojects:

  • ion-java
    • The main library. Probably needs to be moved from being the root project to being a subproject. It is possible that the other changes can be done while leaving the main lib at the root, but it will probably make the build logic easier if we move it.
  • ion-java-cli
    • The existing ion-java-cli. No changes needed
  • ion-java-benchmark-cli
    • By embedding it here, we no longer need to publish to maven local to run performance test on a local copy of ion-java
    • We could deprecate the existing ion-java-benchmark-cli repo, or we might be able to embed it as a git submodule.
  • ion-tests
    • This is just a thin wrapper over the ion-tests repository so that we can use it as a test dependency, and any time that something in ion-tests gets changed, gradle knows that the test task in ion-java is stale and needs to be rerun.
    • Perhaps we just add build scripts to ion-tests for various build tools so that packages that depend on it will rebuild the tests when changes have been made.

popematt avatar Feb 21 '24 18:02 popematt