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

chore: Reduce dependencies in Citrus core modules #1019

Merged
merged 3 commits into from
Oct 16, 2023

Conversation

christophd
Copy link
Member

This PR aims to reduce the dependencies in the core modules citrus-api and citrus-base

Before the change the core modules did use Spring Framework mainly for String utility reasons and its resource management (Classpath and FileSystem resources)

The PR replaces this with Java 9+ and own implementations in order to not have a dependency in citrus-api and citrus-base

So the changes in this PR are:

  • Use own String utils for basic operations (e.g. hasText())
  • Avoid using Spring CollectionUtils isEmpty()
  • Use Java 9+ String utilities (e.g. String.join(), Stream API with its joining() collectors)
  • Use own resource implementation for classpath and file system resources

The changes effect all other Citrus modules, too as they were also using the Spring utils a lot. However Spring keeps being an important part of Citrus.

After the changes in this PR these modules do require Spring capabilities:

  • citrus-spring
  • citrus-spring-integration
  • citrus-jms
  • citrus-http
  • citrus-ws
  • citrus-mail
  • citrus-sql
  • citrus-validation-json
  • citrus-validation-xml
  • citrus-websocket

All other modules (e.g. citrus-kafka, citrus-camel, citrus-cucumber, citrus-junit5, citrus-testng, ...) do not require Spring and may only have it as an optional (provided) dependency because of the Spring bean application context support in Citrus.

- Reduce amount of dependencies in citrus-api and citrus-base modules
- Use own String utils for basic operations (e.g. hasText())
- Avoid using Spring CollectionUtils isEmpty()
- Avoid using Spring util.Assert notNull()
- Use Java 9+ String utilities (e.g. String.join(), Stream API with joining() collectors)
- Use own resource implementation for classpath and file system resources
- Reduce amount of dependencies (e.g. Spring) in Citrus modules
@christophd christophd force-pushed the chore/reduce-dependencies branch from 48fbdb0 to 590968c Compare October 13, 2023 08:46
@christophd christophd merged commit e8d1403 into main Oct 16, 2023
1 check passed
@bbortt bbortt deleted the chore/reduce-dependencies branch October 16, 2023 06:44
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.

1 participant