Skip to content

Commit c9e04e3

Browse files
Merge pull request #342 from xenit-eu/DEVEM-545-composev2
Support docker compose v2
2 parents 3324187 + 1a3f384 commit c9e04e3

File tree

11 files changed

+59
-30
lines changed

11 files changed

+59
-30
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ jobs:
1313
name: "build"
1414
runs-on: ubuntu-latest
1515
env:
16-
TEST_GRADLE_VERSION: 6.7
16+
TEST_GRADLE_VERSION: 7.6
1717
steps:
1818
- uses: actions/checkout@v2
1919
with:
2020
fetch-depth: 0
2121
- uses: actions/setup-java@v1
2222
with:
23-
java-version: 11
23+
java-version: 17
2424
- name: Pull docker images
2525
run: 'parallel docker pull -- xenit/alfresco-repository-skeleton:6.0 alfresco/alfresco-content-repository-community:6.0.7-ga tomcat:7-jre8 hello-world alpine:edge'
2626
- name: Check
@@ -49,18 +49,16 @@ jobs:
4949
strategy:
5050
matrix:
5151
gradle-versions:
52-
- 6.2,6.3,6.4
53-
- 6.5,6.6,6.7
54-
- 6.8,6.9,7.0
55-
- 7.1,7.2,7.3
56-
- 7.4,7.5,7.6
52+
- 6.2,6.9
53+
- 7.0,7.6
54+
- 8.0,8.9
5755
steps:
5856
- uses: actions/checkout@v2
5957
with:
6058
fetch-depth: 0
6159
- uses: actions/setup-java@v1
6260
with:
63-
java-version: 11
61+
java-version: 17
6462
- name: Pull docker images
6563
run: 'parallel docker pull -- alfresco/alfresco-content-repository-community:6.0.7-ga tomcat:7-jre8 hello-world alpine:edge'
6664
- name: Check

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# Alfresco Docker Gradle Plugins - Changelog
22

3+
4+
## Version 5.5.0 - 2024-08-06
5+
6+
> [!warning]
7+
> This release drops support for Java < 11
8+
> The docker-compose plugins drop support for Gradle < 7.0
9+
10+
### Changed
11+
12+
* [#342](https://github.com/xenit-eu/alfresco-docker-gradle-plugin/pull/342) - Support docker compose v2
13+
14+
315
## Version 5.4.0 - 2023-02-02
416

517
### Dependencies

UPGRADING-5.5.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Upgrade guide: 5.4 -> 5.5
2+
3+
This version uses docker compose v2 by default. If you still want to keeping using docker-compose v1 instead, put:
4+
5+
```groovy
6+
dockerCompose {
7+
useDockerComposeV2 = false
8+
}
9+
```
10+

build.gradle

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,11 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocatio
1515

1616
group 'eu.xenit.gradle'
1717

18-
sourceCompatibility = 1.8
18+
java {
19+
toolchain {
20+
languageVersion = JavaLanguageVersion.of(11)
21+
}
22+
}
1923

2024
configurations {
2125
packaged
@@ -132,7 +136,7 @@ dependencies {
132136
}
133137

134138
implementation 'com.bmuschko:gradle-docker-plugin:9.3.1'
135-
implementation 'com.avast.gradle:gradle-docker-compose-plugin:0.16.12'
139+
implementation 'com.avast.gradle:gradle-docker-compose-plugin:0.17.7'
136140
testImplementation group: 'junit', name: 'junit', version: '4.13.2'
137141
testImplementation 'org.hamcrest:hamcrest-core:2.2'
138142
testImplementation gradleTestKit()

src/integrationTest/java/eu/xenit/gradle/testrunner/AbstractIntegrationTest.java

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,10 @@
77
import java.io.IOException;
88
import java.nio.file.Files;
99
import java.nio.file.Path;
10-
import java.nio.file.Paths;
1110
import java.util.ArrayList;
1211
import java.util.Arrays;
1312
import java.util.Collection;
14-
import java.util.HashSet;
1513
import java.util.LinkedHashSet;
16-
import java.util.List;
1714
import java.util.Set;
1815
import org.apache.commons.io.FileUtils;
1916
import org.gradle.testkit.runner.BuildResult;
@@ -44,20 +41,11 @@ public static Collection<Object[]> testData() {
4441
});
4542
}
4643
return Arrays.asList(new Object[][]{
47-
{"7.6"},
48-
{"7.5.1"},
49-
{"7.4.2"},
50-
{"7.3.3"},
51-
{"7.2"},
52-
{"7.1.1"},
44+
{"8.9"},
45+
{"8.0.1"},
46+
{"7.6.4"},
5347
{"7.0.2"},
5448
{"6.9.3"},
55-
{"6.8.3"},
56-
{"6.7.1"},
57-
{"6.6.1"},
58-
{"6.5.1"},
59-
{"6.4.1"},
60-
{"6.3"},
6149
{"6.2.2"},
6250
});
6351
}

src/integrationTest/java/eu/xenit/gradle/testrunner/ExampleRunner.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package eu.xenit.gradle.testrunner;
22

3+
import static org.junit.Assume.assumeThat;
34
import static org.junit.Assume.assumeTrue;
45

56
import org.gradle.util.GradleVersion;
7+
import org.hamcrest.Matchers;
68
import org.junit.Test;
79

810
import java.io.IOException;
@@ -43,26 +45,31 @@ public void testApplyAmpsExample() throws IOException {
4345

4446
@Test
4547
public void testExampleDockerPlugin() throws IOException {
48+
assumeThat("The docker-compose plugin requires Gradle 7", GradleVersion.version(gradleVersion), Matchers.greaterThanOrEqualTo(GradleVersion.version("7.0")));
4649
testProjectFolder(EXAMPLES.resolve("example-docker-plugin"));
4750
}
4851

4952
@Test
5053
public void testExampleDockerPluginLegacy() throws IOException {
54+
assumeThat("The docker-compose plugin requires Gradle 7", GradleVersion.version(gradleVersion), Matchers.greaterThanOrEqualTo(GradleVersion.version("7.0")));
5155
testProjectFolder(EXAMPLES.resolve("example-docker-plugin-legacy"));
5256
}
5357

5458
@Test
5559
public void testComposeUp() throws IOException {
60+
assumeThat("The docker-compose plugin requires Gradle 7", GradleVersion.version(gradleVersion), Matchers.greaterThanOrEqualTo(GradleVersion.version("7.0")));
5661
testProjectFolder(EXAMPLES.resolve("example-docker-plugin"), ":integrationTest");
5762
}
5863

5964
@Test
6065
public void testDockerComposeAutoExample() throws IOException {
66+
assumeThat("The docker-compose plugin requires Gradle 7", GradleVersion.version(gradleVersion), Matchers.greaterThanOrEqualTo(GradleVersion.version("7.0")));
6167
testProjectFolder(EXAMPLES.resolve("docker-compose-auto-example"), ":integrationTest");
6268
}
6369

6470
@Test
6571
public void testDockerComposeExample() throws IOException {
72+
assumeThat("The docker-compose plugin requires Gradle 7", GradleVersion.version(gradleVersion), Matchers.greaterThanOrEqualTo(GradleVersion.version("7.0")));
6673
testProjectFolder(EXAMPLES.resolve("docker-compose-example"), ":integrationTest");
6774
}
6875

src/integrationTest/java/eu/xenit/gradle/testrunner/Reproductions.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import static org.junit.Assert.assertEquals;
44
import static org.junit.Assert.assertNotNull;
55
import static org.junit.Assert.assertTrue;
6+
import static org.junit.Assume.assumeThat;
67

78
import eu.xenit.gradle.docker.alfresco.tasks.extension.internal.DockerfileWithWarsExtensionImpl;
89
import java.io.IOException;
@@ -12,6 +13,8 @@
1213
import org.gradle.testkit.runner.BuildResult;
1314
import org.gradle.testkit.runner.BuildTask;
1415
import org.gradle.testkit.runner.TaskOutcome;
16+
import org.gradle.util.GradleVersion;
17+
import org.hamcrest.Matchers;
1518
import org.junit.Ignore;
1619
import org.junit.Test;
1720

@@ -81,6 +84,7 @@ public void testDockerAlfrescoPluginWithoutConfiguration() throws IOException {
8184

8285
@Test
8386
public void testAlfrescoAmpDependencyOrder() throws IOException {
87+
assumeThat("The amp plugin requires Gradle 7.1", GradleVersion.version(gradleVersion), Matchers.greaterThanOrEqualTo(GradleVersion.version("7.1")));
8488
testProjectFolder(REPRODUCTIONS.resolve("alfresco-amp-dependency-order"), ":applyAlfrescoAmp");
8589

8690
}
@@ -103,6 +107,7 @@ public void testIssue97() throws IOException {
103107

104108
@Test
105109
public void testIssue96() throws IOException {
110+
assumeThat("The docker-compose plugin requires Gradle 7", GradleVersion.version(gradleVersion), Matchers.greaterThanOrEqualTo(GradleVersion.version("7.0")));
106111
final String folder = "issue-96";
107112
final String task = ":buildDockerImage";
108113

@@ -116,6 +121,7 @@ public void testIssue96() throws IOException {
116121

117122
@Test
118123
public void testIssue104() throws IOException {
124+
assumeThat("The docker-compose plugin requires Gradle 7", GradleVersion.version(gradleVersion), Matchers.greaterThanOrEqualTo(GradleVersion.version("7.0")));
119125
final String folder = "issue-104";
120126
final String task = ":functionalTest";
121127

@@ -133,6 +139,7 @@ public void testIssue107() throws IOException {
133139

134140
@Test
135141
public void testIssue50() throws IOException {
142+
assumeThat("The amp plugin requires Gradle 7.1", GradleVersion.version(gradleVersion), Matchers.greaterThanOrEqualTo(GradleVersion.version("7.1")));
136143
testProjectFolder(REPRODUCTIONS.resolve("issue-50"), ":alfrescoWar");
137144
}
138145

src/integrationTest/reproductions/alfresco-amp-dependency-order/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
2-
id "eu.xenit.amp" version "1.0.1"
3-
id "eu.xenit.alfresco" version "1.0.1"
2+
id "eu.xenit.amp" version "1.2.0"
3+
id "eu.xenit.alfresco" version "1.2.0"
44
id "eu.xenit.docker-alfresco"
55
}
66

src/integrationTest/reproductions/issue-50/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
2-
id "eu.xenit.amp" version "1.0.1"
3-
id "eu.xenit.alfresco" version "1.0.1"
2+
id "eu.xenit.amp" version "1.2.0"
3+
id "eu.xenit.alfresco" version "1.2.0"
44
id "eu.xenit.docker-alfresco"
55
}
66

src/main/java/eu/xenit/gradle/docker/compose/DockerComposeExtensionOverride.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,9 @@ protected ComposeSettings cloneAsNested(String name) {
7878
r.setProjectNamePrefix(this.getProjectNamePrefix());
7979

8080
r.getExecutable().set(this.getExecutable().get());
81+
r.getUseDockerComposeV2().set(this.getUseDockerComposeV2().get());
8182
r.getDockerExecutable().set(this.getDockerExecutable().get());
82-
r.getEnvironment().set(new HashMap<String, Object>(this.getEnvironment().get()));
83+
r.getEnvironment().set(new HashMap<>(this.getEnvironment().get()));
8384

8485
r.getDockerComposeWorkingDirectory().set(this.getDockerComposeWorkingDirectory().getOrNull());
8586
r.getDockerComposeStopTimeout().set(this.getDockerComposeStopTimeout().get());

0 commit comments

Comments
 (0)