Skip to content

Commit 27794a5

Browse files
matiwinnetouMateusz Czeladka
andauthored
refactor: streamline spring boot configuration. (#424)
Co-authored-by: Mateusz Czeladka <[email protected]>
1 parent 3bf2723 commit 27794a5

File tree

12 files changed

+95
-30
lines changed

12 files changed

+95
-30
lines changed

api/Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM ubuntu:24.04 AS build-common
22
WORKDIR /build
33

44
RUN apt update --fix-missing \
5-
&& apt install -y --no-install-recommends openjdk-21-jdk maven curl \
5+
&& apt install -y --no-install-recommends openjdk-21-jdk maven curl ca-certificates \
66
&& apt clean
77

88
COPY ./pom.xml /build/pom.xml
@@ -11,12 +11,12 @@ COPY ./yaci-indexer /build/yaci-indexer
1111
COPY ./test-data-generator /build/test-data-generator
1212
COPY ./.git .git
1313

14-
RUN --mount=type=cache,target=/root/.m2 mvn clean package -DskipTests
14+
RUN --mount=type=cache,target=/root/.m2 mvn -U clean package -DskipTests
1515

1616
WORKDIR /app
1717
RUN cp /build/api/target/*.jar /app/api.jar
1818
RUN rm -rf /build
1919

2020
ENTRYPOINT ["java", "--enable-preview", "-jar", "/app/api.jar"]
2121

22-
CMD ["/bin/sh", "-c", "bash"]
22+
CMD ["/bin/sh", "-c", "bash"]

api/pom.xml

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
33
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
44
<modelVersion>4.0.0</modelVersion>
5+
56
<parent>
67
<artifactId>base</artifactId>
78
<groupId>org.cardanofoundation.rosetta-java</groupId>
@@ -30,6 +31,14 @@
3031
<artifactId>junit-jupiter</artifactId>
3132
<scope>test</scope>
3233
</dependency>
34+
<dependency>
35+
<groupId>org.springframework.boot</groupId>
36+
<artifactId>spring-boot-starter</artifactId>
37+
</dependency>
38+
<dependency>
39+
<groupId>org.springframework.boot</groupId>
40+
<artifactId>spring-boot-starter-security</artifactId>
41+
</dependency>
3342
<dependency>
3443
<groupId>org.springframework.boot</groupId>
3544
<artifactId>spring-boot-starter-web</artifactId>
@@ -52,10 +61,6 @@
5261
<groupId>org.springframework.data</groupId>
5362
<artifactId>spring-data-commons</artifactId>
5463
</dependency>
55-
<dependency>
56-
<groupId>org.springframework.boot</groupId>
57-
<artifactId>spring-boot-starter-security</artifactId>
58-
</dependency>
5964
<dependency>
6065
<groupId>org.springframework.boot</groupId>
6166
<artifactId>spring-boot-starter-validation</artifactId>
@@ -131,24 +136,26 @@
131136
<groupId>org.springframework.boot</groupId>
132137
<artifactId>spring-boot-starter-data-jpa</artifactId>
133138
</dependency>
139+
134140
<dependency>
135141
<artifactId>hibernate-jpamodelgen</artifactId>
136142
<groupId>org.hibernate.orm</groupId>
137143
<version>6.2.0.Final</version>
138144
<scope>provided</scope>
139145
</dependency>
140146

141-
142147
<dependency>
143148
<groupId>org.postgresql</groupId>
144149
<artifactId>postgresql</artifactId>
145150
<scope>runtime</scope>
146151
</dependency>
152+
147153
<dependency>
148154
<groupId>commons-validator</groupId>
149155
<artifactId>commons-validator</artifactId>
150156
<version>1.9.0</version>
151157
</dependency>
158+
152159
<dependency>
153160
<groupId>io.swagger.parser.v3</groupId>
154161
<artifactId>swagger-parser</artifactId>
@@ -165,8 +172,6 @@
165172
<dependency>
166173
<groupId>io.hypersistence</groupId>
167174
<artifactId>hypersistence-utils-hibernate-63</artifactId>
168-
<version>3.7.0</version>
169-
<scope>compile</scope>
170175
</dependency>
171176
<dependency>
172177
<groupId>${project.groupId}</groupId>

docker/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ RUN mkdir -p /node/postgres
192192
RUN rm -rf /var/lib/postgresql/${PG_VERSION}/main
193193

194194
# Install jdk 21
195-
RUN apt install -y --no-install-recommends openjdk-21-jdk jq bc sudo curl \
195+
RUN apt install -y --no-install-recommends jq bc sudo curl \
196196
&& apt clean
197197

198198
# Copy cardano node

pom.xml

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,16 @@
2626
</licenses>
2727

2828
<properties>
29+
<maven.compiler.proc>full</maven.compiler.proc>
2930
<revision>1.2.8</revision>
3031
<java.version>21</java.version>
3132
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
32-
<version.spring-boot>3.4.3</version.spring-boot>
33+
<version.spring-boot>3.4.4</version.spring-boot>
3334
<version.springdoc-openapi-ui>1.6.15</version.springdoc-openapi-ui>
3435
<version.openapi-generator-maven-plugin>6.4.0</version.openapi-generator-maven-plugin>
3536
<version.maven-compiler-plugin>3.13.0</version.maven-compiler-plugin>
3637
<version.maven-surefire-plugin>3.2.5</version.maven-surefire-plugin>
38+
<version.hibernate-types>3.7.1</version.hibernate-types>
3739
<version.jacoco-maven-plugin>0.8.11</version.jacoco-maven-plugin>
3840
<version.flatten-maven-plugin>1.3.0</version.flatten-maven-plugin>
3941
<version.lombok>1.18.38</version.lombok>
@@ -90,6 +92,18 @@
9092
</repositories>
9193
<dependencyManagement>
9294
<dependencies>
95+
<dependency>
96+
<groupId>org.springframework.boot</groupId>
97+
<artifactId>spring-boot-starter</artifactId>
98+
<version>${version.spring-boot}</version>
99+
</dependency>
100+
<dependency>
101+
<groupId>org.springframework.boot</groupId>
102+
<artifactId>spring-boot-dependencies</artifactId>
103+
<type>pom</type>
104+
<version>${version.spring-boot}</version>
105+
<scope>import</scope>
106+
</dependency>
93107
<dependency>
94108
<groupId>org.cardanofoundation</groupId>
95109
<artifactId>cf-cardano-conversions-java</artifactId>
@@ -100,13 +114,6 @@
100114
<artifactId>vavr</artifactId>
101115
<version>${version.vavr}</version>
102116
</dependency>
103-
<dependency>
104-
<groupId>org.springframework.boot</groupId>
105-
<artifactId>spring-boot-dependencies</artifactId>
106-
<type>pom</type>
107-
<version>${version.spring-boot}</version>
108-
<scope>import</scope>
109-
</dependency>
110117
<dependency>
111118
<groupId>org.springdoc</groupId>
112119
<artifactId>springdoc-openapi-ui</artifactId>
@@ -143,6 +150,11 @@
143150
<artifactId>yaci</artifactId>
144151
<version>${version.yaci}</version>
145152
</dependency>
153+
<dependency>
154+
<groupId>io.hypersistence</groupId>
155+
<artifactId>hypersistence-utils-hibernate-63</artifactId>
156+
<version>${version.hibernate-types}</version>
157+
</dependency>
146158
<dependency>
147159
<groupId>com.h2database</groupId>
148160
<artifactId>h2</artifactId>

test-data-generator/pom.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,13 @@
6363
<version>${version.maven-compiler-plugin}</version>
6464
<configuration>
6565
<release>21</release>
66+
<annotationProcessorPaths>
67+
<path>
68+
<groupId>org.projectlombok</groupId>
69+
<artifactId>lombok</artifactId>
70+
<version>${version.lombok}</version>
71+
</path>
72+
</annotationProcessorPaths>
6673
</configuration>
6774
</plugin>
6875
</plugins>

yaci-indexer/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ COPY ./yaci-indexer /build/yaci-indexer
1111
COPY ./test-data-generator /build/test-data-generator
1212
COPY ./.git .git
1313

14-
RUN --mount=type=cache,target=/root/.m2 mvn clean package -DskipTests
14+
RUN --mount=type=cache,target=/root/.m2 mvn -U clean package -DskipTests
1515

1616
WORKDIR /app
1717
RUN cp /build/yaci-indexer/target/*.jar /app/yaci-indexer.jar

yaci-indexer/pom.xml

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,21 @@
44
<modelVersion>4.0.0</modelVersion>
55

66
<parent>
7-
<groupId>org.springframework.boot</groupId>
8-
<artifactId>spring-boot-starter-parent</artifactId>
9-
<version>3.3.10</version>
10-
<relativePath/> <!-- lookup parent from repository -->
7+
<artifactId>base</artifactId>
8+
<groupId>org.cardanofoundation.rosetta-java</groupId>
9+
<version>${revision}</version>
1110
</parent>
1211

13-
<groupId>org.cardanofoundation.rosetta-java</groupId>
1412
<artifactId>yaci-indexer</artifactId>
1513
<version>1.0.0</version>
1614
<name>yaci-indexer</name>
15+
1716
<description>yaci-indexer</description>
17+
<packaging>jar</packaging>
18+
1819
<properties>
1920
<java.version>21</java.version>
21+
<maven.compiler.proc>full</maven.compiler.proc>
2022
<yaci-store.version>0.1.2</yaci-store.version>
2123
<sonar.exclusions>src/main/java/org/cardanofoundation/rosetta/yaciindexer/stores/txsize/model/*</sonar.exclusions>
2224
<version.spotless-maven-plugin>2.43.0</version.spotless-maven-plugin>
@@ -38,7 +40,6 @@
3840
<groupId>org.springframework.boot</groupId>
3941
<artifactId>spring-boot-starter</artifactId>
4042
</dependency>
41-
4243
<dependency>
4344
<groupId>org.springframework.boot</groupId>
4445
<artifactId>spring-boot-starter-test</artifactId>
@@ -88,6 +89,10 @@
8889
<artifactId>yaci-store-epoch-spring-boot-starter</artifactId>
8990
<version>${yaci-store.version}</version>
9091
</dependency>
92+
<dependency>
93+
<groupId>io.hypersistence</groupId>
94+
<artifactId>hypersistence-utils-hibernate-63</artifactId>
95+
</dependency>
9196
<!-- Add mysql or H2 or Postgres dependency based on your database -->
9297
<dependency>
9398
<groupId>org.postgresql</groupId>
@@ -100,6 +105,31 @@
100105
<plugin>
101106
<groupId>org.springframework.boot</groupId>
102107
<artifactId>spring-boot-maven-plugin</artifactId>
108+
<version>${version.spring-boot}</version>
109+
<executions>
110+
<execution>
111+
<goals>
112+
<goal>repackage</goal>
113+
<goal>build-info</goal>
114+
</goals>
115+
</execution>
116+
</executions>
117+
118+
</plugin>
119+
<plugin>
120+
<groupId>org.apache.maven.plugins</groupId>
121+
<artifactId>maven-compiler-plugin</artifactId>
122+
<version>${version.maven-compiler-plugin}</version>
123+
<configuration>
124+
<release>21</release>
125+
<annotationProcessorPaths>
126+
<path>
127+
<groupId>org.projectlombok</groupId>
128+
<artifactId>lombok</artifactId>
129+
<version>${version.lombok}</version>
130+
</path>
131+
</annotationProcessorPaths>
132+
</configuration>
103133
</plugin>
104134
<plugin>
105135
<groupId>com.diffplug.spotless</groupId>

yaci-indexer/src/main/resources/application-h2-testdata.properties

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,6 @@
77
spring.datasource.url=jdbc:h2:file:./testData/devkit.db
88
spring.datasource.username=rosetta_db_admin
99
spring.datasource.password=weakpwd#123_d
10-
spring.h2.console.enabled=true
10+
spring.h2.console.enabled=true
11+
12+
spring.jpa.hibernate.ddl-auto=update

yaci-indexer/src/main/resources/application-h2.properties

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,6 @@
77
spring.datasource.url=jdbc:h2:mem:${DB_NAME:rosetta-java}
88
spring.datasource.username=${DB_USER:rosetta_db_admin}
99
spring.datasource.password=${DB_SECRET:weakpwd#123_d}
10-
spring.h2.console.enabled=true
10+
spring.h2.console.enabled=true
11+
12+
spring.jpa.hibernate.ddl-auto=update

yaci-indexer/src/main/resources/application-postgres.properties

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,6 @@
66
##################### Postgres DB #######################
77
spring.datasource.url=jdbc:postgresql://${DB_HOST:localhost}:${DB_PORT:5433}/${DB_NAME:rosetta-java}?currentSchema=${DB_SCHEMA:preprod}
88
spring.datasource.username=${DB_USER:rosetta_db_admin}
9-
spring.datasource.password=${DB_SECRET:weakpwd#123_d}
9+
spring.datasource.password=${DB_SECRET:weakpwd#123_d}
10+
11+
spring.jpa.hibernate.ddl-auto=none

0 commit comments

Comments
 (0)