ion-java
ion-java copied to clipboard
Refactor project layout for ease of testing
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
- The existing
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-clirepo, 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
testtask inion-javais stale and needs to be rerun. - Perhaps we just add build scripts to
ion-testsfor various build tools so that packages that depend on it will rebuild the tests when changes have been made.
- 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