Skip to content

Commit 762fcb6

Browse files
committed
Merge branch 'RM-5325_exclude_test_dependecies' into 'master'
RM-5325: remove test dependecy requirements when buildingj with '-Dmaven.test.skip=true' See merge request cdoc2/cdoc2-capsule-server!63
2 parents 8c1963b + b9d83f8 commit 762fcb6

File tree

12 files changed

+184
-66
lines changed

12 files changed

+184
-66
lines changed

CHANGELOG.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
# Changelog
22

3-
## [1.4.2] x-expiry-time (2025-03-18)
3+
## [1.4.2] Return `x-expiry-time` header to `GET /key-capsules/{transactionId}` (2025-03-26)
44

55
### Bugfixes
66
* Return `x-expiry-time` header to `GET` `/key-capsules/{transactionId}` as specified in
77
[cdoc2-key-capsules 2.1.0 OAS ](https://github.com/open-eid/cdoc2-openapi/blob/04eac9013b919c405eee6e88f497897758af29a0/cdoc2-key-capsules-openapi.yaml#L38)
88

99
### Internal
10-
* Update dependency versions to latest (Spring Boot 3.4.3, BC 1.80 and others)
10+
* Update dependency versions to latest (Spring Boot 3.3.3 -> 3.4.3, BC 1.80 and others)
11+
* remove test dependencies requirements when building with `-Dmaven.test.skip=true`
12+
(although `-Dmaven.test.skip=true` doesn't compile tests, Maven still required test dependencies
13+
and failed when those didn't exist)
1114

1215
## [1.4.1] Bug fixes (2024-09-19)
1316

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ So defining single Maven package repo from `open-eid` is enough for pulling cdoc
5959
mvn clean install
6060
```
6161

62+
### Build Docker/OCI images locally
63+
64+
```bash
65+
bash build-images.sh
66+
```
67+
6268
### GitHub workflow build
6369

6470
Maven build is executed for GH event `pull_request` an and `push` to 'master'.
@@ -77,8 +83,8 @@ See [getting-started.md](getting-started.md) and [admin-guide.md](admin-guide.md
7783

7884
Download `cdoc2-put-server` and `cdoc2-get-server` images from [open-eid Container registry](https://github.com/orgs/open-eid/packages?ecosystem=container)
7985

80-
* See [cdoc2-gatling-tests/setup-load-testing](https://github.com/open-eid/cdoc2-gatling-tests/tree/master/setup-load-testing) for `docker run` examples
81-
* See [cdoc2-java-ref-impl/test/config/server/docker-compose.yml](https://github.com/open-eid/cdoc2-java-ref-impl/blob/master/test/config/server/docker-compose.yml) for `docker compose` example
86+
* See [cdoc2-gatling-tests/doc2-capsule-server/setup-load-testing](https://github.com/open-eid/cdoc2-gatling-tests/tree/master/cdoc2-capsule-server/setup-load-testing) for `docker run` examples
87+
* See [cdoc2-java-ref-impl/test/config/capsule-server/docker-compose.yml](https://github.com/open-eid/cdoc2-java-ref-impl/blob/master/test/config/capsule-server/docker-compose.yml) for `docker compose` example
8288

8389
To create `cdoc2` database required by `put-server` and `get-server` see [postgres.README.md](postgres.README.md)
8490

build-get-server-image.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/usr/bin/env bash
2+
3+
# build Docker images for get-server, put-server and
4+
5+
# build Docker image locally
6+
#set -x
7+
8+
GET_SERVER_VERSION=$(mvn help:evaluate -f get-server -Dexpression=project.version -q -DforceStdout)
9+
10+
DOCKER_REGISTRY=ghcr.io
11+
DOCKER_REPOSITORY=open-eid
12+
IMAGE_NAME=$(mvn help:evaluate -f get-server -Dexpression=project.artifactId -q -DforceStdout)
13+
14+
mvn install -Dmaven.test.skip=true
15+
16+
mvn spring-boot:build-image -f get-server \
17+
-Dmaven.test.skip=true \
18+
-Dspring-boot.build-image.publish=false \
19+
-Dspring-boot.build-image.imageName=${DOCKER_REGISTRY}/${DOCKER_REPOSITORY}/${IMAGE_NAME}:${GET_SERVER_VERSION} \
20+
-Dspring-boot.build-image.tags=${DOCKER_REGISTRY}/${DOCKER_REPOSITORY}/${IMAGE_NAME}:latest \
21+
-Dspring-boot.build-image.createdDate=now

build-images.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/usr/bin/env bash
2+
3+
# build Docker images locally
4+
PROJECT_DIR=$(pwd)
5+
6+
bash build-get-server-image.sh
7+
bash build-put-server-image.sh
8+
9+
cd $PROJECT_DIR/server-db
10+
bash build-image.sh
11+
12+
cd $PROJECT_DIR

build-put-server-image.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#!/usr/bin/env bash
2+
3+
# build Docker images for get-server, put-server and
4+
5+
# build Docker image locally
6+
#set -x
7+
8+
PUT_SERVER_VERSION=$(mvn help:evaluate -f put-server -Dexpression=project.version -q -DforceStdout)
9+
10+
DOCKER_REGISTRY=ghcr.io
11+
DOCKER_REPOSITORY=open-eid
12+
IMAGE_NAME=$(mvn help:evaluate -f put-server -Dexpression=project.artifactId -q -DforceStdout)
13+
14+
mvn install -Dmaven.test.skip=true
15+
16+
mvn spring-boot:build-image -f put-server \
17+
-Dmaven.test.skip=true \
18+
-Dspring-boot.build-image.publish=false \
19+
-Dspring-boot.build-image.imageName=${DOCKER_REGISTRY}/${DOCKER_REPOSITORY}/${IMAGE_NAME}:${PUT_SERVER_VERSION} \
20+
-Dspring-boot.build-image.tags=${DOCKER_REGISTRY}/${DOCKER_REPOSITORY}/${IMAGE_NAME}:latest \
21+
-Dspring-boot.build-image.createdDate=now

get-server/pom.xml

Lines changed: 36 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,41 @@
4747
</properties>
4848
</profile>
4949

50+
<profile>
51+
<id>no-maven.test.skip-defined</id>
52+
<!-- remove test dependencies when maven.test.skip=true is defined -->
53+
<!-- although maven.test.skip=true doesn't compile tests, maven still requires test dependencies -->
54+
<activation>
55+
<property>
56+
<name>!maven.test.skip</name> <!-- Activates when maven.test.skip is NOT defined -->
57+
</property>
58+
</activation>
59+
<dependencies>
60+
<!-- cdoc2 dependencies required for compiling tests -->
61+
<dependency>
62+
<groupId>ee.cyber.cdoc2</groupId>
63+
<artifactId>cdoc2-lib</artifactId>
64+
<version>2.0.1</version>
65+
<scope>test</scope>
66+
</dependency>
67+
<dependency>
68+
<groupId>ee.cyber.cdoc2</groupId>
69+
<artifactId>cdoc2-lib</artifactId>
70+
<version>2.0.1</version>
71+
<type>test-jar</type>
72+
<scope>test</scope>
73+
</dependency>
74+
<dependency>
75+
<groupId>ee.cyber.cdoc2</groupId>
76+
<artifactId>cdoc2-common-server</artifactId>
77+
<version>2.2.0-SNAPSHOT</version>
78+
<type>test-jar</type>
79+
<scope>test</scope>
80+
</dependency>
81+
</dependencies>
82+
</profile>
83+
84+
5085
<profile>
5186
<id>github_ci_fork</id>
5287
<!-- for forks use base maven repo "open-eid/cdoc2-java-ref-impl" -->
@@ -180,21 +215,6 @@
180215
<version>0.1.1-SNAPSHOT</version>
181216
</dependency>
182217

183-
<dependency>
184-
<groupId>ee.cyber.cdoc2</groupId>
185-
<artifactId>cdoc2-lib</artifactId>
186-
<version>2.0.1</version>
187-
<scope>test</scope>
188-
</dependency>
189-
190-
<dependency>
191-
<groupId>ee.cyber.cdoc2</groupId>
192-
<artifactId>cdoc2-common-server</artifactId>
193-
<version>2.2.0-SNAPSHOT</version>
194-
<type>test-jar</type>
195-
<scope>test</scope>
196-
</dependency>
197-
198218
<dependency>
199219
<groupId>org.springframework.boot</groupId>
200220
<artifactId>spring-boot-starter</artifactId>
@@ -250,7 +270,7 @@
250270
<dependency>
251271
<groupId>org.liquibase</groupId>
252272
<artifactId>liquibase-core</artifactId>
253-
<version>4.29.2</version>
273+
<version>4.31.1</version>
254274
<scope>test</scope>
255275
</dependency>
256276
<dependency>
@@ -259,13 +279,6 @@
259279
<version>5.4.2</version>
260280
<scope>test</scope>
261281
</dependency>
262-
<dependency>
263-
<groupId>ee.cyber.cdoc2</groupId>
264-
<artifactId>cdoc2-lib</artifactId>
265-
<version>2.0.1</version>
266-
<type>test-jar</type>
267-
<scope>test</scope>
268-
</dependency>
269282
</dependencies>
270283

271284
<build>

put-server/pom.xml

Lines changed: 37 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,42 @@
4747
</properties>
4848
</profile>
4949

50+
<profile>
51+
<id>no-maven.test.skip-defined</id>
52+
<!-- remove test dependencies when maven.test.skip=true is defined -->
53+
<!-- although maven.test.skip=true doesn't compile tests, maven still requires test dependencies -->
54+
<activation>
55+
<property>
56+
<name>!maven.test.skip</name> <!-- Activates when maven.test.skip is NOT defined -->
57+
</property>
58+
</activation>
59+
<dependencies>
60+
<!-- cdoc2 dependencies required for compiling tests -->
61+
<dependency>
62+
<groupId>ee.cyber.cdoc2</groupId>
63+
<artifactId>cdoc2-lib</artifactId>
64+
<version>2.0.1</version>
65+
<scope>test</scope>
66+
</dependency>
67+
<dependency>
68+
<groupId>ee.cyber.cdoc2</groupId>
69+
<!-- cdoc2-lib src/test compiled classes-->
70+
<artifactId>cdoc2-lib</artifactId>
71+
<version>2.0.1</version>
72+
<type>test-jar</type>
73+
<scope>test</scope>
74+
</dependency>
75+
<dependency>
76+
<groupId>ee.cyber.cdoc2</groupId>
77+
<artifactId>cdoc2-common-server</artifactId>
78+
<version>2.2.0-SNAPSHOT</version>
79+
<type>test-jar</type>
80+
<scope>test</scope>
81+
</dependency>
82+
</dependencies>
83+
</profile>
84+
85+
5086
<profile>
5187
<id>github_ci_fork</id>
5288
<!-- for forks use base maven repo "open-eid/cdoc2-java-ref-impl" -->
@@ -181,31 +217,6 @@
181217
<version>2.2.1-SNAPSHOT</version>
182218
</dependency>
183219

184-
<dependency>
185-
<groupId>ee.cyber.cdoc2</groupId>
186-
<artifactId>cdoc2-common-server</artifactId>
187-
<version>2.2.0-SNAPSHOT</version>
188-
<type>test-jar</type>
189-
<scope>test</scope>
190-
</dependency>
191-
192-
<dependency>
193-
<groupId>ee.cyber.cdoc2</groupId>
194-
<artifactId>cdoc2-lib</artifactId>
195-
<version>2.0.1</version>
196-
<scope>test</scope>
197-
</dependency>
198-
199-
<dependency>
200-
<groupId>ee.cyber.cdoc2</groupId>
201-
<artifactId>cdoc2-lib</artifactId>
202-
<!-- for successful pkcs11 tests version must be at least 2.0.1-SNAPSHOT-->
203-
<version>2.0.1</version>
204-
<!-- cdoc2-lib src/test compiled classes-->
205-
<type>test-jar</type>
206-
<scope>test</scope>
207-
</dependency>
208-
209220
<dependency>
210221
<groupId>org.springframework.boot</groupId>
211222
<artifactId>spring-boot-starter</artifactId>
@@ -261,7 +272,7 @@
261272
<dependency>
262273
<groupId>org.liquibase</groupId>
263274
<artifactId>liquibase-core</artifactId>
264-
<version>4.29.2</version>
275+
<version>4.31.1</version>
265276
<scope>test</scope>
266277
</dependency>
267278
<dependency>

server-common/pom.xml

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,33 @@
1414
<packaging>jar</packaging>
1515

1616
<properties>
17-
<org-testcontainers.version>1.19.8</org-testcontainers.version>
17+
<org-testcontainers.version>1.20.6</org-testcontainers.version>
1818
</properties>
1919

20+
<profiles>
21+
<profile>
22+
<id>no-maven.test.skip-defined</id>
23+
<!-- remove test dependencies when maven.test.skip=true is defined -->
24+
<!-- although maven.test.skip=true doesn't compile tests, maven still requires test dependencies -->
25+
<activation>
26+
<property>
27+
<name>!maven.test.skip</name> <!-- Activates when maven.test.skip is NOT defined -->
28+
</property>
29+
</activation>
30+
<dependencies>
31+
<!-- cdoc2 dependencies from other repos required only for tests -->
32+
<dependency>
33+
<groupId>ee.cyber.cdoc2</groupId>
34+
<artifactId>cdoc2-client</artifactId>
35+
<version>1.5.1</version>
36+
<scope>test</scope>
37+
</dependency>
38+
39+
</dependencies>
40+
</profile>
41+
</profiles>
42+
43+
2044
<dependencies>
2145
<dependency>
2246
<groupId>ee.cyber.cdoc2</groupId>
@@ -68,13 +92,7 @@
6892
<dependency>
6993
<groupId>ee.cyber.cdoc2</groupId>
7094
<artifactId>cdoc2-server-db</artifactId>
71-
<version>2.2.0</version>
72-
<scope>test</scope>
73-
</dependency>
74-
<dependency>
75-
<groupId>ee.cyber.cdoc2</groupId>
76-
<artifactId>cdoc2-client</artifactId>
77-
<version>1.5.1</version>
95+
<version>2.2.1-SNAPSHOT</version>
7896
<scope>test</scope>
7997
</dependency>
8098

@@ -105,13 +123,13 @@
105123
<dependency>
106124
<groupId>org.apache.httpcomponents.client5</groupId>
107125
<artifactId>httpclient5</artifactId>
108-
<version>5.3.1</version>
126+
<version>5.4.2</version>
109127
<scope>test</scope>
110128
</dependency>
111129
<dependency>
112130
<groupId>jakarta.validation</groupId>
113131
<artifactId>jakarta.validation-api</artifactId>
114-
<version>3.0.2</version>
132+
<version>3.1.1</version>
115133
<scope>compile</scope>
116134
</dependency>
117135
</dependencies>

server-common/src/test/java/ee/cyber/cdoc2/server/BaseInitializationTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ abstract class BaseInitializationTest {
4444

4545
@BeforeAll
4646
public static void startPostgresContainer() {
47-
postgresContainer = new PostgreSQLContainer<>("postgres:11.1")
47+
postgresContainer = new PostgreSQLContainer<>("postgres:14.17") //Jammy 22.04 default version
4848
.withDatabaseName("integration-tests-db")
4949
.withUsername("sa")
5050
.withPassword("sa");

server-db/build-image.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/usr/bin/env bash
2+
# build cdoc2-server-liquibase locally
3+
4+
GET_SERVER_VERSION=$(cd .. && mvn help:evaluate -f get-server -Dexpression=project.version -q -DforceStdout)
5+
DOCKER_REGISTRY=ghcr.io
6+
DOCKER_REPOSITORY=open-eid
7+
8+
LIQUIBASE_IMAGE_NAME=cdoc2-server-liquibase
9+
10+
# version shows what version of get-server is used in pair with liquibase image
11+
# Docker version should be same as get-server-version although server-db pom version might be different
12+
docker build -t ${DOCKER_REGISTRY}/${DOCKER_REPOSITORY}/${LIQUIBASE_IMAGE_NAME}:${GET_SERVER_VERSION} ../server-db/src/main/resources/db
13+
docker tag ${DOCKER_REGISTRY}/${DOCKER_REPOSITORY}/${LIQUIBASE_IMAGE_NAME}:${GET_SERVER_VERSION} ${DOCKER_REGISTRY}/${DOCKER_REPOSITORY}/${LIQUIBASE_IMAGE_NAME}:latest

0 commit comments

Comments
 (0)