Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,10 @@ User Interface related Features:

CDS Maven Plugin Features:

- Install [Node.js](srv/pom.xml#L161) in the default version.
- Execute arbitrary [npm](srv/pom.xml#L161) commands.
- [Generate](srv/pom.xml#L193) Java POJOs for type-safe access to the CDS model.
- [Clean](srv/pom.xml#L154) project from artifacts of the previous build.
- Install [Node.js](srv/pom.xml#L147) in the default version.
- Execute arbitrary [npm](srv/pom.xml#L164) commands.
- [Generate](srv/pom.xml#L179) Java POJOs for type-safe access to the CDS model.
- [Clean](srv/pom.xml#L140) project from artifacts of the previous build.

# Getting Started

Expand Down
300 changes: 163 additions & 137 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,151 +1,177 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>my</groupId>
<artifactId>bookshop-parent</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>
<groupId>my</groupId>
<artifactId>bookshop-parent</artifactId>
<version>${revision}</version>
<packaging>pom</packaging>

<name>bookshop parent</name>
<name>bookshop parent</name>

<properties>
<!-- OUR VERSION -->
<revision>1.0.0-SNAPSHOT</revision>
<modules>
<module>srv</module>
</modules>

<!-- DEPENDENCIES VERSION -->
<jdk.version>25</jdk.version>
<cds.services.version>5.1.1</cds.services.version>
<spring.boot.version>4.1.1</spring.boot.version>
<cf-java-logging-support.version>4.3.0</cf-java-logging-support.version>
<testcontainers.version>1.21.4</testcontainers.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<properties>
<!-- OUR VERSION -->
<revision>1.0.0-SNAPSHOT</revision>

<modules>
<module>srv</module>
</modules>
<!-- DEPENDENCIES VERSION -->
<jdk.version>25</jdk.version>
<cds.services.version>5.1.1</cds.services.version>
<spring.boot.version>4.1.1</spring.boot.version>
<cf-java-logging-support.version>4.3.0</cf-java-logging-support.version>
<testcontainers.version>1.21.4</testcontainers.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencyManagement>
<dependencies>
<!-- CDS SERVICES -->
<dependency>
<groupId>com.sap.cds</groupId>
<artifactId>cds-services-bom</artifactId>
<version>${cds.services.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependencyManagement>
<dependencies>
<!-- CDS SERVICES -->
<dependency>
<groupId>com.sap.cds</groupId>
<artifactId>cds-services-bom</artifactId>
<version>${cds.services.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>

<!-- SPRING BOOT -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<!-- SPRING BOOT -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<build>
<pluginManagement>
<plugins>
<!-- MAKE CDS PLUGIN RUNNABLE FROM ROOT -->
<plugin>
<groupId>com.sap.cds</groupId>
<artifactId>cds-maven-plugin</artifactId>
<version>${cds.services.version}</version>
</plugin>
</plugins>
</pluginManagement>
<build>
<pluginManagement>
<plugins>
<!-- MAKE CDS PLUGIN RUNNABLE FROM ROOT -->
<plugin>
<groupId>com.sap.cds</groupId>
<artifactId>cds-maven-plugin</artifactId>
<version>${cds.services.version}</version>
</plugin>
</plugins>
</pluginManagement>

<plugins>
<!-- JAVA VERSION -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.16.0</version>
<configuration>
<release>${jdk.version}</release>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugins>
<!-- JAVA VERSION -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.16.0</version>
<configuration>
<release>${jdk.version}</release>
<encoding>UTF-8</encoding>
</configuration>
</plugin>

<!-- MAKE SPRING BOOT PLUGIN RUNNABLE FROM ROOT -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<!-- MAKE SPRING BOOT PLUGIN RUNNABLE FROM ROOT -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring.boot.version}</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>

<!-- SUREFIRE PLUGIN -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<failIfNoTests>true</failIfNoTests>
</configuration>
</plugin>
<!-- SUREFIRE PLUGIN -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<failIfNoTests>true</failIfNoTests>
</configuration>
</plugin>

<!-- POM FLATTENING FOR CI FRIENDLY VERSIONS -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>1.8.0</version>
<configuration>
<updatePomFile>true</updatePomFile>
<flattenMode>resolveCiFriendliesOnly</flattenMode>
</configuration>
<executions>
<execution>
<id>flatten</id>
<phase>process-resources</phase>
<goals>
<goal>flatten</goal>
</goals>
</execution>
<execution>
<id>flatten.clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- POM FLATTENING FOR CI FRIENDLY VERSIONS -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>1.8.0</version>
<configuration>
<updatePomFile>true</updatePomFile>
<flattenMode>resolveCiFriendliesOnly</flattenMode>
</configuration>
<executions>
<execution>
<id>flatten</id>
<goals>
<goal>flatten</goal>
</goals>
<phase>process-resources</phase>
</execution>
<execution>
<id>flatten.clean</id>
<goals>
<goal>clean</goal>
</goals>
<phase>clean</phase>
</execution>
</executions>
</plugin>

<!-- PROJECT STRUCTURE CHECKS -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.6.3</version>
<executions>
<execution>
<id>Project Structure Checks</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.9.14</version>
</requireMavenVersion>
<requireJavaVersion>
<version>${jdk.version}</version>
</requireJavaVersion>
<reactorModuleConvergence />
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
<!-- PROJECT STRUCTURE CHECKS -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.6.3</version>
<executions>
<execution>
<id>Project Structure Checks</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<requireMavenVersion>
<version>3.9.14</version>
</requireMavenVersion>
<requireJavaVersion>
<version>${jdk.version}</version>
</requireJavaVersion>
<reactorModuleConvergence/>
</rules>
<fail>true</fail>
</configuration>
</execution>
</executions>
</plugin>
<!-- CODE FORMATTING -->
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>3.10.2</version>
<configuration>
<java>
<googleJavaFormat>
<style>GOOGLE</style>
</googleJavaFormat>
</java>
<pom>
<includes>
<include>pom.xml</include>
</includes>
<sortPom/>
</pom>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
<phase>process-sources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Loading