-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Consider reverting split into individual module jars #431
Comments
Hi @axelfontaine, Thanks for your feedback! Actually, the reason for it wasn't the size. We did the repository split because of:
Does it cause some issues to you? Or maybe you just want to see something like |
Here is my pom.xml so far: <dependency>
<groupId>org.testcontainers</groupId>
<artifactId>postgresql</artifactId>
<version>${version.testcontainers}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<version>${version.testcontainers}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mariadb</artifactId>
<version>1.3.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>oracle-xe</artifactId>
<version>1.2.1</version>
<scope>test</scope>
</dependency> What do we have here:
The fact that the version numbers started to drift is a clear indication that your current structure makes releasing too hard and ends up making life for end-users harder than it should be. Alternatives:
Neither of these has an impact on the ability to create 3rd party or commercial modules. The same classes from core are still extendable and once can still create their own specialized containers. The only consequence would be potentially longer CI times which can most likely be largely alleviated with test parallelization. |
We're in the middle of the split process, this is why some deps are not aligned with But I get your point. We were also thinking to crowdsource CI environment because CI times are critical for us ATM and Travis doesn't allow more than 5 executors per project for OSS. Windows / Mac OS X is another topic when we talk about CI :) |
Apache Camel is a good example of mega project, which is why all plugins are aligned. |
I think Spring project as a similar problem, with lots of different modules and repos and they've solved it in Spring-Boot with the Spring-Boot-Parents and BOMs I think? |
This is now further discussed in #564. |
Not only is the current setup harder to maintain for you, but it is also hard for users to integrate. Just give us one single jar. Nice and simple. The modules are ultra-small anyway so a few K of overhead in the main jar are well worth it when one factors in the simplicity gains.
The text was updated successfully, but these errors were encountered: