1+ # Unfortunately this file must be on top root, instead of inside /jacoco folder, due to Dockers absurd limitations
2+ # when it comes to handle relative paths in COPY
3+
4+ FROM amazoncorretto:21-alpine-jdk
5+
6+ ENV JACOCO_HOME=/jacoco
7+
8+ COPY jacoco/jacocoagent.jar ${JACOCO_HOME}/jacocoagent.jar
9+ COPY jacoco/jacococli.jar ${JACOCO_HOME}/jacococli.jar
10+ COPY jacoco/version.txt ${JACOCO_HOME}/version.txt
11+
12+ ENV CLASS_FILES=/classfiles
13+
14+ ### IMPORTANT!!!: must be kept in sync with what declared in run-tools.py, which will need to be updated
15+ ### any time in this file we add a new entry to WFD
16+ COPY jdk_17_gradle/cs/rest/bibliothek/build/classes ${CLASS_FILES}/jdk_17_gradle/cs/rest/bibliothek/build/classes
17+ COPY jdk_8_maven/cs/rest/original/blogapi/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/blogapi/target/classes
18+ COPY jdk_8_maven/cs/rest/original/catwatch/catwatch-backend/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/catwatch/catwatch-backend/target/classes
19+ COPY jdk_11_maven/cs/rest/cwa-verification-server/target/classes ${CLASS_FILES}/jdk_11_maven/cs/rest/cwa-verification-server/target/classes
20+ COPY jdk_8_gradle/cs/rest/erc20-rest-service/build/classes ${CLASS_FILES}/jdk_8_gradle/cs/rest/erc20-rest-service/build/classes
21+ COPY jdk_17_maven/cs/rest/familie-ba-sak/target/classes ${CLASS_FILES}/jdk_17_maven/cs/rest/familie-ba-sak/target/classes
22+ COPY jdk_8_maven/cs/rest/original/features-service/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/features-service/target/classes
23+ COPY jdk_8_maven/cs/rest-gui/genome-nexus/component/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest-gui/genome-nexus/component/target/classes
24+ COPY jdk_8_maven/cs/rest-gui/genome-nexus/model/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest-gui/genome-nexus/model/target/classes
25+ COPY jdk_8_maven/cs/rest-gui/genome-nexus/persistence/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest-gui/genome-nexus/persistence/target/classes
26+ COPY jdk_8_maven/cs/rest-gui/genome-nexus/service/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest-gui/genome-nexus/service/target/classes
27+ COPY jdk_8_maven/cs/rest-gui/genome-nexus/web/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest-gui/genome-nexus/web/target/classes
28+ COPY jdk_8_maven/cs/rest-gui/gestaohospital/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest-gui/gestaohospital/target/classes
29+ COPY jdk_11_maven/cs/rest/http-patch-spring/target/classes ${CLASS_FILES}/jdk_11_maven/cs/rest/http-patch-spring/target/classes
30+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-core/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-core/target/classes
31+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-gui-commons/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-gui-commons/target/classes
32+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/all/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/all/target/classes
33+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ar/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ar/target/classes
34+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ast/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ast/target/classes
35+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/be/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/be/target/classes
36+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/br/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/br/target/classes
37+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ca/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ca/target/classes
38+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/da/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/da/target/classes
39+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/de/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/de/target/classes
40+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/de-DE-x-simple-language/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/de-DE-x-simple-language/target/classes
41+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/el/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/el/target/classes
42+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/en/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/en/target/classes
43+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/eo/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/eo/target/classes
44+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/es/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/es/target/classes
45+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/fa/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/fa/target/classes
46+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/fr/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/fr/target/classes
47+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ga/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ga/target/classes
48+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/gl/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/gl/target/classes
49+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/is/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/is/target/classes
50+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/it/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/it/target/classes
51+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ja/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ja/target/classes
52+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/km/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/km/target/classes
53+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/lt/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/lt/target/classes
54+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ml/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ml/target/classes
55+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/nl/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/nl/target/classes
56+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/pl/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/pl/target/classes
57+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/pt/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/pt/target/classes
58+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ro/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/pt/target/classes
59+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ru/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ru/target/classes
60+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/sk/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/sk/target/classes
61+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/sl/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/sl/target/classes
62+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/sv/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/sv/target/classes
63+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ta/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/ta/target/classes
64+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/tl/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/tl/target/classes
65+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/uk/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/uk/target/classes
66+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/zh/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-language-modules/zh/target/classes
67+ COPY jdk_8_maven/cs/rest/original/languagetool/languagetool-server/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/languagetool/languagetool-server/target/classes
68+ COPY jdk_11_maven/cs/rest-gui/market/market-core/target/classes ${CLASS_FILES}/jdk_11_maven/cs/rest-gui/market/market-core/target/classes
69+ COPY jdk_11_maven/cs/rest-gui/market/market-rest/target/classes ${CLASS_FILES}/jdk_11_maven/cs/rest-gui/market/market-rest/target/classes
70+ COPY jdk_11_maven/cs/rest-gui/market/market-web/target/classes ${CLASS_FILES}/jdk_11_maven/cs/rest-gui/market/market-web/target/classes
71+ COPY jdk_21_maven/cs/rest-gui/microcks/commons/model/target/classes ${CLASS_FILES}/jdk_21_maven/cs/rest-gui/microcks/commons/model/target/classes
72+ COPY jdk_21_maven/cs/rest-gui/microcks/commons/util/target/classes ${CLASS_FILES}/jdk_21_maven/cs/rest-gui/microcks/commons/util/target/classes
73+ COPY jdk_21_maven/cs/rest-gui/microcks/commons/util-el/target/classes ${CLASS_FILES}/jdk_21_maven/cs/rest-gui/microcks/commons/util-el/target/classes
74+ COPY jdk_21_maven/cs/rest-gui/microcks/distro/uber/target/classes ${CLASS_FILES}/jdk_21_maven/cs/rest-gui/microcks/distro/uber/target/classes
75+ COPY jdk_21_maven/cs/rest-gui/microcks/distro/uber-async-minion/target/classes ${CLASS_FILES}/jdk_21_maven/cs/rest-gui/microcks/distro/uber-async-minion/target/classes
76+ COPY jdk_21_maven/cs/rest-gui/microcks/minions/async/target/classes ${CLASS_FILES}/jdk_21_maven/cs/rest-gui/microcks/minions/async/target/classes
77+ COPY jdk_21_maven/cs/rest-gui/microcks/webapp/target/classes ${CLASS_FILES}/jdk_21_maven/cs/rest-gui/microcks/webapp/target/classes
78+ COPY jdk_8_maven/cs/rest-gui/ocvn/persistence/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest-gui/ocvn/persistence/target/classes
79+ COPY jdk_8_maven/cs/rest-gui/ocvn/persistence-mongodb/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest-gui/ocvn/persistence-mongodb/target/classes
80+ COPY jdk_8_maven/cs/rest-gui/ocvn/web/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest-gui/ocvn/web/target/classes
81+ COPY jdk_17_maven/cs/rest/ohsome-api/target/classes ${CLASS_FILES}/jdk_17_maven/cs/rest/ohsome-api/target/classes
82+ COPY jdk_11_maven/cs/rest/pay-publicapi/target/classes ${CLASS_FILES}/jdk_11_maven/cs/rest/pay-publicapi/target/classes
83+ COPY jdk_21_maven/cs/rest/person-controller/target/classes ${CLASS_FILES}/jdk_21_maven/cs/rest/person-controller/target/classes
84+ COPY jdk_8_maven/cs/rest/original/proxyprint/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/proxyprint/target/classes
85+ COPY jdk_11_maven/cs/rest-gui/quartz-manager/quartz-manager-parent/quartz-manager-common/target/classes ${CLASS_FILES}/jdk_11_maven/cs/rest-gui/quartz-manager/quartz-manager-parent/quartz-manager-common/target/classes
86+ COPY jdk_11_maven/cs/rest-gui/quartz-manager/quartz-manager-parent/quartz-manager-starter-api/target/classes ${CLASS_FILES}/jdk_11_maven/cs/rest-gui/quartz-manager/quartz-manager-parent/quartz-manager-starter-api/target/classes
87+ COPY jdk_11_maven/cs/rest-gui/quartz-manager/quartz-manager-parent/quartz-manager-starter-persistence/target/classes ${CLASS_FILES}/jdk_11_maven/cs/rest-gui/quartz-manager/quartz-manager-parent/quartz-manager-starter-persistence/target/classes
88+ COPY jdk_11_maven/cs/rest-gui/quartz-manager/quartz-manager-parent/quartz-manager-starter-security/target/classes ${CLASS_FILES}/jdk_11_maven/cs/rest-gui/quartz-manager/quartz-manager-parent/quartz-manager-starter-security/target/classes
89+ COPY jdk_11_maven/cs/rest-gui/quartz-manager/quartz-manager-parent/quartz-manager-web-showcase/target/classes ${CLASS_FILES}/jdk_11_maven/cs/rest-gui/quartz-manager/quartz-manager-parent/quartz-manager-web-showcase/target/classes
90+ COPY jdk_11_gradle/cs/rest/reservations-api/build/classes ${CLASS_FILES}/jdk_11_gradle/cs/rest/reservations-api/build/classes
91+ COPY jdk_8_maven/cs/rest/artificial/ncs/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/artificial/ncs/target/classes
92+ COPY jdk_8_maven/cs/rest/artificial/news/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/artificial/news/target/classes
93+ COPY jdk_8_maven/cs/rest/artificial/scs/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/artificial/scs/target/classes
94+ COPY jdk_8_maven/cs/rest/original/restcountries/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/restcountries/target/classes
95+ COPY jdk_8_maven/cs/rest/original/scout-api/api/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/scout-api/api/target/classes
96+ COPY jdk_8_maven/cs/rest/original/scout-api/auth/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/scout-api/auth/target/classes
97+ COPY jdk_8_maven/cs/rest/original/scout-api/data-access/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/scout-api/data-access/target/classes
98+ COPY jdk_8_maven/cs/rest/original/scout-api/data-batch-jobs/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/scout-api/data-batch-jobs/target/classes
99+ COPY jdk_8_maven/cs/rest/original/session-service/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/session-service/target/classes
100+ COPY jdk_8_maven/cs/rest/original/spring-actuator-demo/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/spring-actuator-demo/target/classes
101+ COPY jdk_8_maven/cs/rest/original/spring-batch-rest/api/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/spring-batch-rest/api/target/classes
102+ COPY jdk_8_maven/cs/rest/original/spring-batch-rest/util/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/spring-batch-rest/util/target/classes
103+ COPY jdk_8_maven/cs/rest/original/spring-ecommerce/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/spring-ecommerce/target/classes
104+ COPY jdk_17_maven/cs/rest/spring-rest-example/target/classes ${CLASS_FILES}/jdk_17_maven/cs/rest/spring-rest-example/target/classes
105+ COPY jdk_8_maven/cs/rest/original/swagger-petstore/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/swagger-petstore/target/classes
106+ COPY jdk_17_maven/cs/rest/tiltaksgjennomforing/target/classes ${CLASS_FILES}/jdk_17_maven/cs/rest/tiltaksgjennomforing/target/classes
107+ COPY jdk_11_maven/cs/rest/tracking-system/target/classes ${CLASS_FILES}/jdk_11_maven/cs/rest/tracking-system/target/classes
108+ COPY jdk_8_maven/cs/rest/original/user-management/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/user-management/target/classes
109+ COPY jdk_21_maven/cs/rest-gui/webgoat/target/classes ${CLASS_FILES}/jdk_21_maven/cs/rest-gui/webgoat/target/classes
110+ COPY jdk_8_maven/cs/rest/original/youtube-mock/target/classes ${CLASS_FILES}/jdk_8_maven/cs/rest/original/youtube-mock/target/classes
111+
112+ ENTRYPOINT exec java -jar ${JACOCO_HOME}/jacococli.jar
113+
114+
115+ ###################
116+ ###### NOTES ######
117+ ###################
118+ # Build
119+ # docker build -t webfuzzing/wfd-jacoco:<version> -f Dockerfile-jacoco .
120+ #
121+ # Run
122+ # docker run webfuzzing/wfd-jacoco:<version> <options>
123+ #
124+ # Publish (latest, otherwise tag with :<version>)
125+ # docker login
126+ # docker push webfuzzing/wfd-jacoco
127+ #
128+ # Debugging
129+ # docker run -it --entrypoint sh webfuzzing/wfd-jacoco:<version>
0 commit comments