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

Cleanup compile time dependencies #230

Merged
merged 4 commits into from
Mar 3, 2022
Merged

Conversation

remcowesterhoud
Copy link
Contributor

@remcowesterhoud remcowesterhoud commented Mar 3, 2022

Description

This PR gets rid of dependencies to any slf4j implementation. Instead we make use of the slf4j-api. In our tests we still need to provide an implementation which is done by adding slf4j-simple as a test scoped dependency. I got rid of log4j as slf4j-simple is more lightweight.

I've also gone through the other dependencies. As a result of the module split some of these were unused, or wrongly scoped. This PR also solves these issues.

Related issues

closes #174

Definition of Done

Not all items need to be done depending on the issue and the pull request.

Code changes:

  • The changes are backwards compatibility with previous versions
  • If it fixes a bug then PRs are created to backport the fix

Testing:

  • There are unit/integration tests that verify all acceptance criterias of the issue
  • New tests are written to ensure backwards compatibility with further versions
  • The behavior is tested manually

Documentation:

  • Javadoc has been written
  • The documentation is updated

slf4j-simple is more lightweight than log4j. We should replace the usage with slf4j-simple. First step is deleting the dependency to log4j.
We shouldn't add a logging implementation to our dependencies. This is troublesome for users, as they'll have to the same logging implementation. Or they have to exclude the dependency manually.

By changing the compile time scoped dependencies to slf4j-api we can solve this problem. Wherever we need an implementation, we should add it to the test scoped dependencies.
The QA tests use apache commons for some convenience. Before we got this as a transitive dependency. Since we use it we should explicitly declare it in the pom.
As a leftover from the module split there are some modules which contain dependencies that are no longer used in the module. This change removes these dependencies.

It also fixes the scope of 1 dependency to test scope.
Copy link
Contributor

@pihme pihme left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me.

Please merge as soon as convenient. This will come in handy for me working on #227 and fighting against dependency checker.

@github-actions
Copy link

github-actions bot commented Mar 3, 2022

Unit Test Results

128 files  128 suites   5m 56s ⏱️
325 tests 325 ✔️ 0 💤 0
788 runs  788 ✔️ 0 💤 0

Results for commit 08aec5e.

♻️ This comment has been updated with latest results.

@remcowesterhoud remcowesterhoud merged commit 6cfabc5 into main Mar 3, 2022
@remcowesterhoud remcowesterhoud deleted the 174_compile_time_deps branch March 3, 2022 09:11
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.

Review compile time dependencies
2 participants