Commit c3f53b3
authored
Deprecate ambiguous constructors (#2839)
Our constructors for `GenericContainer` and all the classes that inherit from it tend to be a bit inconsistent. In some places, a no-args constructor is favoured, in other places a String parameter is favoured - which can be either a full image name or a tag.
This raises confusion, and in the case of an image tag being the parameter, it restricts which images people can easily use.
Another problem this raises is when the container class specifies a default tag version: this frequently falls out of date. We're stuck for options: some users (and image maintainers) would like to see newer image versions being used, but this could be a breaking change for existing users. This is especially risky when a major version bump is proposed.
This change aims to:
- Deprecate 'ambiguous' constructors for containers - any no-args or String-arg constructor gets this treatment.
- Introduce a new constructor which accepts a `DockerImageName` object. This class is preferred to a String because its meaning is unambiguous.
- Enhance `DockerImageName` with a static factory method and a convenience `withTag` method so that users can easily create and derive new instances.
- Update all modules to follow suit1 parent fd823a1 commit c3f53b3
File tree
181 files changed
+1445
-565
lines changed- core/src
- main/java/org/testcontainers
- containers
- dockerclient
- images
- builder/dockerfile/traits
- utility
- test/java
- alt/testcontainers/images
- org/testcontainers
- containers
- output
- dockerclient
- images
- builder
- junit
- wait/strategy
- utility
- docs
- examples
- junit4
- generic/src/test/java
- generic
- org/testcontainers/containers/startupcheck
- redis/src/test/java/quickstart
- junit5/redis/src/test/java/quickstart
- features
- examples
- disque-job-queue/src/test/java
- gradle/wrapper
- linked-container/src/test/java/com/example/linkedcontainer
- mongodb-container/src/test/java/org/testcontainers/containers
- redis-backed-cache-testng/src/test/java
- redis-backed-cache/src/test/java
- singleton-container/src/test/java/com/example
- solr-container/src/test/java/com/example
- spring-boot/src/test/java/com/example
- modules
- cassandra/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers/containers
- clickhouse/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers
- junit/clickhouse
- cockroachdb/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers
- junit/cockroachdb
- couchbase/src
- main/java/org/testcontainers/couchbase
- test/java/org/testcontainers/couchbase
- db2/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers
- junit/db2
- dynalite/src
- main/java/org/testcontainers/dynamodb
- test/java/org/testcontainers/dynamodb
- elasticsearch/src
- main/java/org/testcontainers/elasticsearch
- test/java/org/testcontainers/elasticsearch
- influxdb/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers/containers
- jdbc/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers/jdbc
- junit-jupiter/src/test/java/org/testcontainers/junit/jupiter
- inheritance
- kafka/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers/containers
- localstack/src
- main/java/org/testcontainers/containers/localstack
- test/java/org/testcontainers/containers/localstack
- mariadb/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers
- containers
- junit/mariadb
- mockserver/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers/containers
- mongodb/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers/containers
- mssqlserver/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers
- containers
- junit/mssqlserver
- mysql/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers
- containers
- junit/mysql
- neo4j/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers/containers
- nginx/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers/junit
- oracle-xe/src/main/java/org/testcontainers/containers
- orientdb/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers/containers
- postgresql/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers
- containers
- junit/postgresql
- presto/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers
- containers
- pulsar/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers/containers
- rabbitmq/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers/containers
- selenium/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers
- junit
- solr/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers/containers
- spock/src/test/groovy/org/testcontainers/spock
- toxiproxy/src
- main/java/org/testcontainers/containers
- test/java/org/testcontainers/containers
- vault/src
- main/java/org/testcontainers/vault
- test/java/org/testcontainers/vault
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
181 files changed
+1445
-565
lines changedLines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
63 | | - | |
| 63 | + | |
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
586 | 586 | | |
587 | 587 | | |
588 | 588 | | |
589 | | - | |
| 589 | + | |
590 | 590 | | |
591 | 591 | | |
592 | 592 | | |
| |||
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
15 | 20 | | |
16 | 21 | | |
17 | 22 | | |
| |||
Lines changed: 18 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
16 | 15 | | |
17 | 16 | | |
18 | 17 | | |
| |||
55 | 54 | | |
56 | 55 | | |
57 | 56 | | |
| 57 | + | |
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| |||
227 | 227 | | |
228 | 228 | | |
229 | 229 | | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
230 | 243 | | |
231 | 244 | | |
232 | 245 | | |
233 | 246 | | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
234 | 251 | | |
235 | 252 | | |
236 | 253 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
Lines changed: 7 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
19 | | - | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
20 | 25 | | |
21 | 26 | | |
22 | 27 | | |
| |||
39 | 44 | | |
40 | 45 | | |
41 | 46 | | |
42 | | - | |
| 47 | + | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
52 | 52 | | |
53 | 53 | | |
54 | 54 | | |
55 | | - | |
| 55 | + | |
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
43 | | - | |
| 43 | + | |
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
39 | 39 | | |
40 | 40 | | |
41 | 41 | | |
42 | | - | |
| 42 | + | |
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
| |||
0 commit comments