Skip to content

Commit e689558

Browse files
authored
feat(docker): add App CDS for Docker image (#630)
1 parent f2702ff commit e689558

File tree

3 files changed

+49
-3
lines changed

3 files changed

+49
-3
lines changed

.dockerignore

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
.idea/
2+
target/

Dockerfile

+8-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,12 @@ RUN ./mvnw -V -B -ff -P docker package -q
55

66
FROM eclipse-temurin:21-jre-alpine
77
WORKDIR /app
8-
COPY --from=build /build/cli/target/openapi-diff-cli-*-all.jar /app/openapi-diff.jar
9-
ENTRYPOINT ["java", "-jar", "/app/openapi-diff.jar"]
8+
COPY --from=build /build/cli/target/openapi-diff.jar /app/openapi-diff.jar
9+
COPY --from=build /build/core/src/test/resources/petstore_v2_* /tmp
10+
RUN java -XX:ArchiveClassesAtExit=/app/appcds.jsa \
11+
-jar /app/openapi-diff.jar \
12+
/tmp/petstore_v2_1.yaml \
13+
/tmp/petstore_v2_2.yaml \
14+
&& rm -f /tmp/petstore_v2_*
15+
ENTRYPOINT ["java", "-Xshare:on", "-XX:SharedArchiveFile=/app/appcds.jsa", "-jar", "/app/openapi-diff.jar"]
1016
CMD ["--help"]

cli/pom.xml

+39-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@
1313
<name>openapi-diff-cli</name>
1414
<description>CLI for openapi-diff</description>
1515

16+
<properties>
17+
<mainClass>org.openapitools.openapidiff.cli.Main</mainClass>
18+
</properties>
19+
1620
<dependencies>
1721
<dependency>
1822
<groupId>org.openapitools.openapidiff</groupId>
@@ -52,7 +56,7 @@
5256
<shadedClassifierName>all</shadedClassifierName>
5357
<transformers>
5458
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
55-
<mainClass>org.openapitools.openapidiff.cli.Main</mainClass>
59+
<mainClass>${mainClass}</mainClass>
5660
</transformer>
5761
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
5862
<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer" />
@@ -64,4 +68,38 @@
6468
</plugin>
6569
</plugins>
6670
</build>
71+
72+
<profiles>
73+
<profile>
74+
<id>docker</id>
75+
<build>
76+
<plugins>
77+
<plugin>
78+
<groupId>org.apache.maven.plugins</groupId>
79+
<artifactId>maven-shade-plugin</artifactId>
80+
<executions>
81+
<execution>
82+
<phase>package</phase>
83+
<goals>
84+
<goal>shade</goal>
85+
</goals>
86+
<configuration>
87+
<createDependencyReducedPom>false</createDependencyReducedPom>
88+
<finalName>openapi-diff</finalName>
89+
<transformers>
90+
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
91+
<mainClass>${mainClass}</mainClass>
92+
</transformer>
93+
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
94+
<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer" />
95+
<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer" />
96+
</transformers>
97+
</configuration>
98+
</execution>
99+
</executions>
100+
</plugin>
101+
</plugins>
102+
</build>
103+
</profile>
104+
</profiles>
67105
</project>

0 commit comments

Comments
 (0)