hashgraph / hedera-services

Crypto, token, consensus, file, and smart contract services for the Hedera public ledger
Apache License 2.0
268 stars 120 forks source link

Modularization: Module info for tests #5275

Open swirlds-automation opened 1 year ago

swirlds-automation commented 1 year ago

Currently the test folders does not have a module info. This is very problematic since information that is only needed for tests needs to be defined in the src/main/java/module-info.java. The API/IMPL split of the new config api (#5885) shows some examples of the problems.

swirlds-automation commented 1 year ago

part of epic https://github.com/swirlds/swirlds-platform/issues/5004 author:hendrikebbers, createdAt:2022-09-15T20:22:03Z, updatedAt=2022-09-15T20:22:03Z

swirlds-automation commented 1 year ago

Looks like this is not that easy by using Gradle...

For Maven a setup can be found here: https://sormuras.github.io/blog/2018-09-11-testing-in-the-modular-world.html

Gradle defines to not having a module-info.java for tests as best practice: https://docs.gradle.org/current/userguide/java_testing.html#sec:java_testing_modular_patching

@nathanklick we should do a discussion in future before I continue here. author:hendrikebbers, createdAt:2022-09-18T01:01:08Z, updatedAt=2022-09-18T01:01:08Z

swirlds-automation commented 1 year ago

my current work can be found in this branch: https://github.com/swirlds/swirlds-platform/tree/05892-D-initial-test-refactoring author:hendrikebbers, createdAt:2022-09-18T01:01:58Z, updatedAt=2022-09-18T01:01:58Z

swirlds-automation commented 1 year ago

The changes in the branch show, that I needed to switch a lot of API from package protected to public since 2 modules can not contain the same package. author:hendrikebbers, createdAt:2022-09-18T01:07:12Z, updatedAt=2022-09-18T01:07:12Z

swirlds-automation commented 1 year ago

migrated from: url=https://github.com/swirlds/swirlds-platform/issues/5892 author:hendrikebbers, #:5892, createdAt:2022-08-29T11:22:45Z, updatedAt=2023-02-17T22:15:27Z labels=Migration:Base