Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decide how to package/organize test-helper sources #23

Open
magicDGS opened this issue Sep 9, 2018 · 0 comments
Open

Decide how to package/organize test-helper sources #23

magicDGS opened this issue Sep 9, 2018 · 0 comments

Comments

@magicDGS
Copy link
Member

magicDGS commented Sep 9, 2018

After #14, the test-module (org.htsjdk.test) is included into the main artifact for the core-module because there are problems with circular dependencies (see discussion in #14 (comment) and #14 (comment)).

We should separate the artifacts to provide everything as an independent one (e.g., htsjdk-core.jar, htsjdk-testutils.jar, htsjdk-cram.jar), but also keeping the uber-jar with all the project (htsjdk-all.jar) separated from the test-utilities, which are dependent on some frameworks exclusively for testing (TestNG, Mockito, etc).

Several ideas to fix this are:

  • Generate an artifact from the core-module tests, which contains the test-utilities (but also the tests), and use it as a dependent artifact for the rest of the modules (also, provide it for downstream projects).
  • Create a new test-module containing in the sources the test-utilities to distribute (maybe including some files to also attach for downstream testing) and in the test-sources testing also the core-module. Thus, unit-tests for a concrete class in core would live in the test-module src/test folder. This will require some guidelines to indicate that the tests should be moved there.
  • Something similar to GATK (Splitting out gatk-testUtils as a separate artifact broadinstitute/gatk#5112), where the sources for the test-utils live in a different source set that is build in a different artifact.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants