<?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>com.sap.cloud.sdk</groupId>
	<artifactId>sdk-parent</artifactId>
	<version>3.53.0</version>
	<packaging>pom</packaging>
	<name>SAP Cloud SDK - Parent POM</name>
	<description>Parent POM of the SAP Cloud SDK.</description>
	<url>https://sap.github.io/cloud-sdk/docs/java/getting-started</url>
	<organization>
		<name>SAP SE</name>
		<url>https://www.sap.com</url>
	</organization>
	<licenses>
		<license>
			<name>SAP DEVELOPER LICENSE AGREEMENT</name>
			<url>https://tools.hana.ondemand.com/developer-license-3_1.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>
	<developers>
		<developer>
			<name>SAP</name>
			<email>cloudsdk@sap.com</email>
			<organization>SAP SE</organization>
			<organizationUrl>https://www.sap.com</organizationUrl>
		</developer>
	</developers>
	<modules>
		<module>archetypes</module>
		<module>bom</module>
		<module>cloudplatform</module>
		<module>datamodel</module>
		<module>frameworks</module>
		<module>modules-bom</module>
		<module>plugins</module>
		<module>quality</module>
		<module>testutil</module>
	</modules>
	<scm>
		<connection />
		<url />
	</scm>
	<properties>
		<x-sap-release-audience>Public</x-sap-release-audience>
		<x-sap-release-maturity>Stable</x-sap-release-maturity>
		<!-- do not modify the following line, it is updated by the versioning script -->
		<sdk.version>3.53.0</sdk.version>
		<maven.version>3.5</maven.version>
		<java.version>1.8</java.version>
		<java.failOnWarning>true</java.failOnWarning>
		<java.compilerArgument />
		<audience />
		<javadoc.opts />
		<project.rootdir>${project.basedir}</project.rootdir>
		<project.build.resourceEncoding>UTF-8</project.build.resourceEncoding>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<project.build.generated-sources>${project.build.directory}/generated-sources/java</project.build.generated-sources>
		<project.build.javaCodeFormatter>${project.rootdir}/codestyle/java_formatter.xml</project.build.javaCodeFormatter>
		<!-- Quality assurance -->
		<enforcer.skipBanLoggingFrameworks>false</enforcer.skipBanLoggingFrameworks>
		<enforcer.skipEnforceScopeLoggerBridges>false</enforcer.skipEnforceScopeLoggerBridges>
		<enforcer.skipEnforceScopeJavaEE>false</enforcer.skipEnforceScopeJavaEE>
		<enforcer.skipEnforceScopeLombok>false</enforcer.skipEnforceScopeLombok>
		<enforcer.skipBanHighLicenseRisk>false</enforcer.skipBanHighLicenseRisk>
		<enforcer.skipBanGeneratedModulesReference>false</enforcer.skipBanGeneratedModulesReference>
		<enforcer.skipBanWiremockCompileScope>false</enforcer.skipBanWiremockCompileScope>
		<surefire.forkCount>4</surefire.forkCount>
		<surefire.include>*</surefire.include>
		<surefire.exclude />
		<surefire.groups />
		<surefire.excludedGroups />
		<surefire.maxMemorySize>1024m</surefire.maxMemorySize>
		<surefire.logLevel>warn</surefire.logLevel>
		<!--
        Use the argLine property to define the arguments for the JVMs that are forked by the surefire plugin.
        This avoids the need to use late property evaluation for configuring the jacoco plugin.
        Relying on late evaluation of properties such as @{argLine} can result in issues with certain IDEs.

        For more details, visit:
        https://www.eclemma.org/jacoco/trunk/doc/prepare-agent-mojo.html
        -->
		<argLine>-Xmx${surefire.maxMemorySize} -Dorg.slf4j.simpleLogger.defaultLogLevel=${surefire.logLevel}</argLine>
		<jacoco.executionDataFile>${project.build.directory}/coverage-reports/jacoco.exec</jacoco.executionDataFile>
		<jacoco.includes>*</jacoco.includes>
		<jacoco.excludes>org.apache.*</jacoco.excludes>
		<sonar.java.coveragePlugin>jacoco</sonar.java.coveragePlugin>
		<sonar.jacoco.reportPath>${jacoco.executionDataFile}</sonar.jacoco.reportPath>
		<sonar.language>java</sonar.language>
		<sonar.javascript.jslint.reportPath>${project.build.directory}/jslint.xml</sonar.javascript.jslint.reportPath>
		<codeAnalysisExclusions />
		<test.systems>${project.rootdir}/systems</test.systems>
		<test.credentials>${project.rootdir}/credentials</test.credentials>
		<japicmp.skip>false</japicmp.skip>
		<!-- JUnit 5 version has to be here for the engines -->
		<junit.jupiter.version>5.7.2</junit.jupiter.version>
		<!-- SDK-internal dependencies -->
		<codemodel.version>2.6</codemodel.version>
		<javapoet.version>1.13.0</javapoet.version>
		<olingo-v4.version>4.8.0</olingo-v4.version>
		<commons-cli.version>1.4</commons-cli.version>
		<joda-time.version>2.10.10</joda-time.version>
		<jooq.version>3.14.12</jooq.version>
		<joor.version>0.9.14</joor.version>
		<pmd.version>6.37.0</pmd.version>
		<jdom2.version>2.0.6</jdom2.version>
		<mojo-executor.version>2.3.1</mojo-executor.version>
		<maven-plugin.version>3.6.0</maven-plugin.version>
		<maven-plugin-testing.version>3.3.0</maven-plugin-testing.version>
		<json-unit-assertj.version>2.28.0</json-unit-assertj.version>
		<restassured.version>4.3.0</restassured.version>
		<hamcrest.version>2.2</hamcrest.version>
		<caffeine.version>2.9.2</caffeine.version>
		<h2.version>1.4.200</h2.version>
		<junitparams.version>1.1.1</junitparams.version>
		<cds4j.version>1.16.0</cds4j.version>
		<cds.services.version>1.7.0</cds.services.version>
		<node.version>v12.16.1</node.version>
		<cds4j-api.version>1.11.0</cds4j-api.version>
		<okhttp.version>4.9.1</okhttp.version>
		<okio.version>2.9.0</okio.version>
		<woodstox.version>5.3.0</woodstox.version>
		<!-- ATTENTION: Changes here must be reflected in archetype "scp-cf-spring" -->
		<!-- CONVERGENCE: com.sap.cloud.security.xsuaa:parent  -->
		<!-- see https://github.com/SAP/cloud-security-xsuaa-integration/blob/master/pom.xml -->
		<spring-boot.version>2.5.3</spring-boot.version>
		<reactor.version>3.4.9</reactor.version>
		<com-sap-core-jpaas-security.version>1.4.90</com-sap-core-jpaas-security.version>
		<sqlite-jdbc.version>3.36.0.1</sqlite-jdbc.version>
		<tomcat.version>8.5.69</tomcat.version>
		<system-lambda.version>1.2.0</system-lambda.version>
		<aqmp-client.version>5.13.0</aqmp-client.version>
		<rabbitmq-mock.version>1.1.1</rabbitmq-mock.version>
		<findbugs-annotations.version>3.0.1u2</findbugs-annotations.version>
		<openapi-generator.version>5.0.0-beta3</openapi-generator.version>
		<!-- ATTENTION: Version here must reflect the version in "openapi-generator" -->
		<!-- CONVERGENCE: org.openapitools:openapi-generator  -->
		<hibernate-core.version>5.5.6</hibernate-core.version>
		<!-- Dependency convergence dependencies -->
		<protobuf-java.version>3.17.3</protobuf-java.version>
		<checkerframework.version>2.9.0</checkerframework.version>
		<errorprone.version>2.9.0</errorprone.version>
		<plexus-utils.version>3.4.0</plexus-utils.version>
		<plexus-component-annotations.version>2.1.0</plexus-component-annotations.version>
		<stax2-api.version>4.2.1</stax2-api.version>
		<jackson-coreutils.version>1.8</jackson-coreutils.version>
		<netty.version>4.1.66.Final</netty.version>
		<bouncycastle.version>1.69</bouncycastle.version>
		<jakarta-activation.version>2.0.0</jakarta-activation.version>
		<jakarta-xml-bind.version>2.3.3</jakarta-xml-bind.version>
		<json-smart.version>2.4.7</json-smart.version>
		<qdox.version>2.0.0</qdox.version>
		<wiremock.version>2.30.1</wiremock.version>
		<checkstyle.version>8.41</checkstyle.version>
		<javaparser.version>3.22.1</javaparser.version>
	</properties>
	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>com.sap.cloud.sdk</groupId>
				<artifactId>sdk-bom</artifactId>
				<version>${sdk.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<!-- SDK-internal dependencies -->
			<dependency>
				<groupId>org.junit.jupiter</groupId>
				<artifactId>junit-jupiter-engine</artifactId>
				<version>${junit.jupiter.version}</version>
			</dependency>
			<dependency>
				<groupId>org.junit.vintage</groupId>
				<artifactId>junit-vintage-engine</artifactId>
				<version>${junit.jupiter.version}</version>
			</dependency>
			<dependency>
				<groupId>com.sun.codemodel</groupId>
				<artifactId>codemodel</artifactId>
				<version>${codemodel.version}</version>
			</dependency>
			<dependency>
				<groupId>com.squareup</groupId>
				<artifactId>javapoet</artifactId>
				<version>${javapoet.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.olingo</groupId>
				<artifactId>odata-commons-core</artifactId>
				<version>${olingo-v4.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.olingo</groupId>
				<artifactId>odata-commons-api</artifactId>
				<version>${olingo-v4.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.olingo</groupId>
				<artifactId>odata-client-core</artifactId>
				<version>${olingo-v4.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.olingo</groupId>
				<artifactId>odata-client-api</artifactId>
				<version>${olingo-v4.version}</version>
			</dependency>
			<dependency>
				<groupId>commons-cli</groupId>
				<artifactId>commons-cli</artifactId>
				<version>${commons-cli.version}</version>
			</dependency>
			<dependency>
				<groupId>joda-time</groupId>
				<artifactId>joda-time</artifactId>
				<version>${joda-time.version}</version>
			</dependency>
			<dependency>
				<groupId>org.jooq</groupId>
				<artifactId>jooq</artifactId>
				<version>${jooq.version}</version>
			</dependency>
			<dependency>
				<groupId>org.jooq</groupId>
				<artifactId>joor-java-8</artifactId>
				<version>${joor.version}</version>
			</dependency>
			<dependency>
				<groupId>net.sourceforge.pmd</groupId>
				<artifactId>pmd-core</artifactId>
				<version>${pmd.version}</version>
			</dependency>
			<dependency>
				<groupId>net.sourceforge.pmd</groupId>
				<artifactId>pmd-java</artifactId>
				<version>${pmd.version}</version>
			</dependency>
			<dependency>
				<groupId>net.sourceforge.pmd</groupId>
				<artifactId>pmd-test</artifactId>
				<version>${pmd.version}</version>
			</dependency>
			<dependency>
				<groupId>io.rest-assured</groupId>
				<artifactId>rest-assured</artifactId>
				<version>${restassured.version}</version>
			</dependency>
			<dependency>
				<groupId>io.rest-assured</groupId>
				<artifactId>json-path</artifactId>
				<version>${restassured.version}</version>
			</dependency>
			<dependency>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-core</artifactId>
				<version>${hamcrest.version}</version>
			</dependency>
			<dependency>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest-library</artifactId>
				<version>${hamcrest.version}</version>
			</dependency>
			<dependency>
				<groupId>org.hamcrest</groupId>
				<artifactId>hamcrest</artifactId>
				<version>${hamcrest.version}</version>
			</dependency>
			<dependency>
				<groupId>org.jdom</groupId>
				<artifactId>jdom2</artifactId>
				<version>${jdom2.version}</version>
			</dependency>
			<dependency>
				<groupId>com.github.ben-manes.caffeine</groupId>
				<artifactId>jcache</artifactId>
				<version>${caffeine.version}</version>
			</dependency>
			<dependency>
				<groupId>org.twdata.maven</groupId>
				<artifactId>mojo-executor</artifactId>
				<version>${mojo-executor.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-core</artifactId>
				<version>${maven-plugin.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-model</artifactId>
				<version>${maven-plugin.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-artifact</artifactId>
				<version>${maven-plugin.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-plugin-api</artifactId>
				<version>${maven-plugin.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven</groupId>
				<artifactId>maven-compat</artifactId>
				<version>${maven-plugin.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven.plugin-testing</groupId>
				<artifactId>maven-plugin-testing-harness</artifactId>
				<version>${maven-plugin-testing.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.maven.plugin-tools</groupId>
				<artifactId>maven-plugin-annotations</artifactId>
				<version>${maven-plugin.version}</version>
			</dependency>
			<dependency>
				<groupId>net.javacrumbs.json-unit</groupId>
				<artifactId>json-unit-assertj</artifactId>
				<version>${json-unit-assertj.version}</version>
			</dependency>
			<dependency>
				<groupId>com.h2database</groupId>
				<artifactId>h2</artifactId>
				<version>${h2.version}</version>
			</dependency>
			<dependency>
				<groupId>org.xerial</groupId>
				<artifactId>sqlite-jdbc</artifactId>
				<version>${sqlite-jdbc.version}</version>
			</dependency>
			<dependency>
				<groupId>pl.pragmatists</groupId>
				<artifactId>JUnitParams</artifactId>
				<version>${junitparams.version}</version>
			</dependency>
			<dependency>
				<groupId>com.thoughtworks.qdox</groupId>
				<artifactId>qdox</artifactId>
				<version>${qdox.version}</version>
			</dependency>
			<!-- required for convergence of dependencies -->
			<dependency>
				<groupId>com.google.errorprone</groupId>
				<artifactId>error_prone_annotations</artifactId>
				<version>${errorprone.version}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.plexus</groupId>
				<artifactId>plexus-utils</artifactId>
				<version>${plexus-utils.version}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.plexus</groupId>
				<artifactId>plexus-component-annotations</artifactId>
				<version>${plexus-component-annotations.version}</version>
			</dependency>
			<dependency>
				<groupId>org.codehaus.woodstox</groupId>
				<artifactId>stax2-api</artifactId>
				<version>${stax2-api.version}</version>
			</dependency>
			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcpkix-jdk15on</artifactId>
				<version>${bouncycastle.version}</version>
			</dependency>
			<dependency>
				<groupId>org.bouncycastle</groupId>
				<artifactId>bcprov-jdk15on</artifactId>
				<version>${bouncycastle.version}</version>
			</dependency>
			<dependency>
				<groupId>com.squareup.okio</groupId>
				<artifactId>okio</artifactId>
				<version>${okio.version}</version>
			</dependency>
			<dependency>
				<groupId>com.squareup.okhttp3</groupId>
				<artifactId>okhttp</artifactId>
				<version>${okhttp.version}</version>
			</dependency>
			<dependency>
				<groupId>com.squareup.okhttp3</groupId>
				<artifactId>mockwebserver</artifactId>
				<version>${okhttp.version}</version>
			</dependency>
			<dependency>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-starter-reactor-netty</artifactId>
				<version>${spring-boot.version}</version>
			</dependency>
			<dependency>
				<groupId>io.projectreactor</groupId>
				<artifactId>reactor-core</artifactId>
				<version>${reactor.version}</version>
			</dependency>
			<dependency>
				<groupId>com.sap.core.jpaas.security</groupId>
				<artifactId>com.sap.core.jpaas.security.utils</artifactId>
				<version>${com-sap-core-jpaas-security.version}</version>
			</dependency>
			<dependency>
				<groupId>com.github.stefanbirkner</groupId>
				<artifactId>system-lambda</artifactId>
				<version>${system-lambda.version}</version>
			</dependency>
			<dependency>
				<groupId>com.rabbitmq</groupId>
				<artifactId>amqp-client</artifactId>
				<version>${aqmp-client.version}</version>
			</dependency>
			<dependency>
				<groupId>com.github.fridujo</groupId>
				<artifactId>rabbitmq-mock</artifactId>
				<version>${rabbitmq-mock.version}</version>
			</dependency>
			<dependency>
				<groupId>com.google.code.findbugs</groupId>
				<artifactId>annotations</artifactId>
				<version>${findbugs-annotations.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.tomcat</groupId>
				<artifactId>tomcat-annotations-api</artifactId>
				<version>${tomcat.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.tomcat</groupId>
				<artifactId>tomcat-jdbc</artifactId>
				<version>${tomcat.version}</version>
			</dependency>
			<dependency>
				<groupId>org.openapitools</groupId>
				<artifactId>openapi-generator</artifactId>
				<version>${openapi-generator.version}</version>
			</dependency>
			<dependency>
				<groupId>com.github.fge</groupId>
				<artifactId>jackson-coreutils</artifactId>
				<version>${jackson-coreutils.version}</version>
			</dependency>
			<dependency>
				<groupId>org.hibernate</groupId>
				<artifactId>hibernate-core</artifactId>
				<version>${hibernate-core.version}</version>
			</dependency>
			<dependency>
				<groupId>com.google.protobuf</groupId>
				<artifactId>protobuf-java</artifactId>
				<version>${protobuf-java.version}</version>
			</dependency>
			<dependency>
				<groupId>io.netty</groupId>
				<artifactId>netty-bom</artifactId>
				<version>${netty.version}</version>
			</dependency>
			<dependency>
				<groupId>com.sap.cds</groupId>
				<artifactId>cds4j-api</artifactId>
				<version>${cds4j-api.version}</version>
			</dependency>
			<dependency>
				<groupId>com.sap.cds</groupId>
				<artifactId>cds-services-api</artifactId>
				<version>${cds.services.version}</version>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.woodstox</groupId>
				<artifactId>woodstox-core</artifactId>
				<version>${woodstox.version}</version>
			</dependency>
			<dependency>
				<groupId>jakarta.activation</groupId>
				<artifactId>jakarta.activation-api</artifactId>
				<version>${jakarta-activation.version}</version>
			</dependency>
			<dependency>
				<groupId>jakarta.xml.bind</groupId>
				<artifactId>jakarta.xml.bind-api</artifactId>
				<version>${jakarta-xml-bind.version}</version>
			</dependency>
			<dependency>
				<groupId>net.minidev</groupId>
				<artifactId>json-smart</artifactId>
				<version>${json-smart.version}</version>
			</dependency>
			<dependency>
				<groupId>com.github.tomakehurst</groupId>
				<artifactId>wiremock-jre8-standalone</artifactId>
				<version>${wiremock.version}</version>
			</dependency>
			<dependency>
				<groupId>com.github.javaparser</groupId>
				<artifactId>javaparser-core</artifactId>
				<version>${javaparser.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>
	<dependencies>
		<!-- add logger for tests -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-simple</artifactId>
			<scope>test</scope>
		</dependency>
		<!-- add engine for junit 4+5 here to ensure they are available everywhere in the project -->
		<dependency>
			<groupId>org.junit.jupiter</groupId>
			<artifactId>junit-jupiter-engine</artifactId>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.junit.vintage</groupId>
			<artifactId>junit-vintage-engine</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>
	<build>
		<resources>
			<resource>
				<directory>${project.basedir}/src/main/resources</directory>
			</resource>
			<!-- include README and LICENSE in all jar files -->
			<resource>
				<filtering>false</filtering>
				<directory>${project.rootdir}</directory>
				<includes>
					<include>README</include>
					<include>LICENSE</include>
				</includes>
			</resource>
		</resources>
		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>3.0.0-M3</version>
					<executions>
						<execution>
							<id>enforce-project-rules</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<rules>
									<requireMavenVersion>
										<version>${maven.version}</version>
									</requireMavenVersion>
									<requireJavaVersion>
										<version>${java.version}</version>
									</requireJavaVersion>
									<banDistributionManagement />
									<banDuplicatePomDependencyVersions />
									<dependencyConvergence />
								</rules>
							</configuration>
						</execution>
						<execution>
							<id>ban-deprecated-dependencies</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<rules>
									<bannedDependencies>
										<message>Do not use deprecated dependencies.</message>
										<excludes>
											<exclude>javax.servlet:servlet-api</exclude>
											<!-- use javax.servlet:javax.servlet-api -->
											<exclude>javax.ws.rs:jsr311-api</exclude>
											<!-- use javax.ws.rs:javax.ws.rs-api -->
											<exclude>commons-httpclient:commons-httpclient</exclude>
										</excludes>
									</bannedDependencies>
								</rules>
							</configuration>
						</execution>
						<execution>
							<id>ban-logging-frameworks</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<skip>${enforcer.skipBanLoggingFrameworks}</skip>
								<rules>
									<bannedDependencies>
										<message>Do not use and do exclude all transitive uses of logging frameworks.</message>
										<excludes>
											<exclude>org.slf4j:slf4j-simple</exclude>
											<exclude>commons-logging</exclude>
											<exclude>ch.qos.logback</exclude>
											<exclude>org.apache.logging.log4j</exclude>
											<exclude>org.apache.log4j</exclude>
											<exclude>log4j</exclude>
											<exclude>org.tinylog</exclude>
										</excludes>
										<includes>
											<include>org.slf4j:slf4j-simple:*:*:test</include>
										</includes>
									</bannedDependencies>
								</rules>
							</configuration>
						</execution>
						<execution>
							<id>enforce-scope-logger-bridges</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<skip>${enforcer.skipEnforceScopeLoggerBridges}</skip>
								<rules>
									<bannedDependencies>
										<message>Logger bridges must use scope runtime or test.</message>
										<excludes>
											<exclude>org.slf4j:jul-to-slf4j</exclude>
											<exclude>org.slf4j:jcl-over-slf4j</exclude>
											<exclude>org.slf4j:log4j-over-slf4j</exclude>
										</excludes>
										<includes>
											<include>org.slf4j:jul-to-slf4j:*:*:runtime</include>
											<include>org.slf4j:jul-to-slf4j:*:*:test</include>
											<include>org.slf4j:jcl-over-slf4j:*:*:runtime</include>
											<include>org.slf4j:jcl-over-slf4j:*:*:test</include>
											<include>org.slf4j:log4j-over-slf4j:*:*:runtime</include>
											<include>org.slf4j:log4j-over-slf4j:*:*:test</include>
										</includes>
									</bannedDependencies>
								</rules>
							</configuration>
						</execution>
						<execution>
							<id>enforce-scope-javaee</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<skip>${enforcer.skipEnforceScopeJavaEE}</skip>
								<rules>
									<bannedDependencies>
										<message>Use Java EE modules with scope provided or test.</message>
										<excludes>
											<exclude>javax:javaee-api</exclude>
											<exclude>javax:javaee-web-api</exclude>
											<exclude>javax:javax.ejb-api</exclude>
											<exclude>javax.inject:javax.inject</exclude>
											<exclude>javax.validation:validation-api</exclude>
											<exclude>javax.servlet:javax.servlet-api</exclude>
											<exclude>javax.ws.rs:javax.ws.rs-api</exclude>
										</excludes>
										<includes>
											<include>javax:javaee-api:*:*:provided</include>
											<include>javax:javaee-api:*:*:test</include>
											<include>javax:javaee-web-api:*:*:provided</include>
											<include>javax:javaee-web-api:*:*:test</include>
											<include>javax:javax.ejb-api:*:*:provided</include>
											<include>javax:javax.ejb-api:*:*:test</include>
											<include>javax.inject:javax.inject:*:*:provided</include>
											<include>javax.inject:javax.inject:*:*:test</include>
											<include>javax.validation:validation-api:*:*:provided</include>
											<include>javax.validation:validation-api:*:*:test</include>
											<include>javax.servlet:javax.servlet-api:*:*:provided</include>
											<include>javax.servlet:javax.servlet-api:*:*:test</include>
											<include>javax.ws.rs:javax.ws.rs-api:*:*:provided</include>
											<include>javax.ws.rs:javax.ws.rs-api:*:*:test</include>
										</includes>
									</bannedDependencies>
								</rules>
							</configuration>
						</execution>
						<execution>
							<id>enforce-scope-lombok</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<skip>${enforcer.skipEnforceScopeLombok}</skip>
								<rules>
									<bannedDependencies>
										<message>Use lombok with scope provided.</message>
										<excludes>
											<exclude>org.projectlombok:lombok</exclude>
										</excludes>
										<includes>
											<include>org.projectlombok:lombok:*:*:provided</include>
										</includes>
									</bannedDependencies>
								</rules>
							</configuration>
						</execution>
						<execution>
							<id>ban-high-license-risk-dependencies</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<skip>${enforcer.skipBanHighLicenseRisk}</skip>
								<rules>
									<bannedDependencies>
										<message>Do not include any high license risk dependencies without team coordination.</message>
										<excludes>
											<exclude>org.hibernate:hibernate-core</exclude>
										</excludes>
									</bannedDependencies>
								</rules>
							</configuration>
						</execution>
						<execution>
							<id>ban-api-dependencies</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<skip>${enforcer.skipBanGeneratedModulesReference}</skip>
								<rules>
									<bannedDependencies>
										<message>Do not reference generated API modules (or modules transitively referencing generated API modules), as they might be removed by profiles.</message>
										<excludes>
											<!--
                                            This list is created by adding all modules that are excluded by the sdk.code.scanning profile fixing the reported issues.
                                            An issue can be fixed by either removing the dependency (preferred solution, if possible), or adding the reported module here and excluding it via the mentioned profile.
                                            In general this list should be in sync with the list of modules excluded by the sdk.code.scanning profile.
                                            -->
											<exclude>com.sap.cloud.sdk.s4hana:s4hana-api-odata</exclude>
											<exclude>com.sap.cloud.sdk.s4hana:s4hana-api-odata-v4</exclude>
											<exclude>com.sap.cloud.sdk.datamodel:odata-api-sample</exclude>
											<exclude>com.sap.cloud.sdk.datamodel:odata-v4-api-sample</exclude>
											<exclude>com.sap.cloud.sdk.datamodel:openapi-api-sample</exclude>
											<exclude>com.sap.cloud.sdk.s4hana:s4hana-all</exclude>
											<exclude>com.sap.cloud.sdk.s4hana:s4hana-api-messaging</exclude>
											<exclude>com.sap.cloud.sdk.datamodel:messaging-api-sample</exclude>
											<exclude>com.sap.cloud.sdk.tests:integration-tests</exclude>
											<exclude>com.sap.cloud.sdk.tests:performance-tests</exclude>
											<exclude>com.sap.cloud.sdk.tests:end-to-end-tests</exclude>
										</excludes>
									</bannedDependencies>
								</rules>
							</configuration>
						</execution>
						<execution>
							<id>enforce-scope-wiremock</id>
							<goals>
								<goal>enforce</goal>
							</goals>
							<configuration>
								<skip>${enforcer.skipBanWiremockCompileScope}</skip>
								<rules>
									<bannedDependencies>
										<message>Do not use Wiremock with scope compile. Use scope test instead.</message>
										<excludes>
											<exclude>com.github.tomakehurst:wiremock-jre8-standalone:*:*:compile</exclude>
											<exclude>com.github.tomakehurst:wiremock-standalone:*:*:compile</exclude>
											<exclude>com.github.tomakehurst:wiremock:*:*:compile</exclude>
											<exclude>com.github.tomakehurst:wiremock-jre8:*:*:compile</exclude>
										</excludes>
										<includes>
											<exclude>com.github.tomakehurst:wiremock-jre8-standalone:*:*:test</exclude>
											<exclude>com.github.tomakehurst:wiremock-standalone:*:*:test</exclude>
											<exclude>com.github.tomakehurst:wiremock:*:*:test</exclude>
											<exclude>com.github.tomakehurst:wiremock-jre8:*:*:test</exclude>
										</includes>
									</bannedDependencies>
								</rules>
							</configuration>
						</execution>
					</executions>
					<configuration>
						<fail>true</fail>
					</configuration>
				</plugin>
				<plugin>
					<groupId>net.revelc.code.formatter</groupId>
					<artifactId>formatter-maven-plugin</artifactId>
					<!--Updating the formatter plugin to 2.8.0 or later changes the code formatting in many files
                    given the same config file. The reason is unknown, as there are no release notes
                     available for this plugin.-->
					<version>2.7.5</version>
					<executions>
						<execution>
							<phase>process-sources</phase>
							<goals>
								<goal>format</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<configFile>${project.build.javaCodeFormatter}</configFile>
						<encoding>${project.build.sourceEncoding}</encoding>
						<directories>
							<directory>${project.basedir}/src/main/java</directory>
							<directory>${project.basedir}/src/test/java</directory>
						</directories>
					</configuration>
				</plugin>
				<plugin>
					<groupId>net.revelc.code</groupId>
					<artifactId>impsort-maven-plugin</artifactId>
					<version>1.6.2</version>
					<executions>
						<execution>
							<id>sort-imports</id>
							<goals>
								<goal>sort</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<groups>java.,javax.,org.,com.</groups>
						<staticGroups>java,*</staticGroups>
						<staticAfter>false</staticAfter>
						<removeUnused>true</removeUnused>
						<excludes>
							<exclude>**/test/resources/**</exclude>
						</excludes>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-dependency-plugin</artifactId>
					<version>3.1.2</version>
					<executions>
						<execution>
							<id>analyze</id>
							<phase>process-test-classes</phase>
							<goals>
								<goal>analyze-only</goal>
							</goals>
						</execution>
						<execution>
							<id>analyze-dep-mgt</id>
							<phase>process-test-classes</phase>
							<goals>
								<goal>analyze-dep-mgt</goal>
							</goals>
						</execution>
						<execution>
							<id>analyze-duplicate</id>
							<phase>process-test-classes</phase>
							<goals>
								<goal>analyze-duplicate</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<failOnWarning>true</failOnWarning>
						<failBuild>true</failBuild>
						<ignoreNonCompile>true</ignoreNonCompile>
						<ignoredUnusedDeclaredDependencies combine.children="append">
							<!-- ignore annotations that are not visible on bytecode level -->
							<ignoredUnusedDeclaredDependency>com.google.code.findbugs:jsr305</ignoredUnusedDeclaredDependency>
							<ignoredUnusedDeclaredDependency>org.slf4j:slf4j-api</ignoredUnusedDeclaredDependency>
							<ignoredUnusedDeclaredDependency>org.projectlombok:lombok</ignoredUnusedDeclaredDependency>
						</ignoredUnusedDeclaredDependencies>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-clean-plugin</artifactId>
					<version>3.1.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.8.1</version>
					<configuration>
						<compilerVersion>${java.version}</compilerVersion>
						<source>${java.version}</source>
						<target>${java.version}</target>
						<testSource>${java.version}</testSource>
						<testTarget>${java.version}</testTarget>
						<showWarnings>true</showWarnings>
						<showDeprecation>true</showDeprecation>
						<failOnWarning>${java.failOnWarning}</failOnWarning>
						<compilerArgument>${java.compilerArgument}</compilerArgument>
						<compilerArgs combine.children="append">
							<arg>-bootclasspath</arg>
							<arg>${java.home}/lib/rt.jar</arg>
							<arg>-Xlint:all</arg>
							<arg>-Xlint:-processing</arg>
						</compilerArgs>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>3.2.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.2.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-install-plugin</artifactId>
					<version>3.0.0-M1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>3.0.0-M1</version>
					<configuration>
						<retryFailedDeploymentCount>3</retryFailedDeploymentCount>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>3.9.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-archetype-plugin</artifactId>
					<version>3.2.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-plugin-plugin</artifactId>
					<version>3.6.1</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>build-helper-maven-plugin</artifactId>
					<version>3.2.0</version>
					<executions>
						<execution>
							<id>remove-old-artifacts</id>
							<phase>verify</phase>
							<goals>
								<goal>remove-project-artifact</goal>
							</goals>
							<configuration>
								<removeAll>false</removeAll>
								<failOnError>false</failOnError>
							</configuration>
						</execution>
						<execution>
							<id>add-source</id>
							<phase>generate-sources</phase>
							<goals>
								<goal>add-source</goal>
							</goals>
							<configuration>
								<sources>
									<source>${project.build.generated-sources}</source>
								</sources>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.jacoco</groupId>
					<artifactId>jacoco-maven-plugin</artifactId>
					<version>0.8.7</version>
					<executions>
						<execution>
							<id>prepare-agent</id>
							<goals>
								<goal>prepare-agent</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<destFile>${jacoco.executionDataFile}</destFile>
						<dataFile>${jacoco.executionDataFile}</dataFile>
						<includes>${jacoco.includes}</includes>
						<excludes>${jacoco.excludes}</excludes>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>3.0.0-M5</version>
					<configuration>
						<includes>
							<include>${surefire.include}</include>
						</includes>
						<excludes>
							<exclude>${surefire.exclude}</exclude>
						</excludes>
						<forkCount>${surefire.forkCount}</forkCount>
						<reuseForks>false</reuseForks>
						<groups>${surefire.groups}</groups>
						<excludedGroups>${surefire.excludedGroups}</excludedGroups>
						<systemPropertyVariables>
							<surefire.forkDir>${project.build.directory}/surefire-fork/${surefire.forkNumber}/</surefire.forkDir>
							<test.systems>${test.systems}</test.systems>
							<test.credentials>${test.credentials}</test.credentials>
						</systemPropertyVariables>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-checkstyle-plugin</artifactId>
					<version>3.1.2</version>
					<dependencies>
						<dependency>
							<groupId>com.puppycrawl.tools</groupId>
							<artifactId>checkstyle</artifactId>
							<version>${checkstyle.version}</version>
						</dependency>
					</dependencies>
					<configuration>
						<configLocation>${project.rootdir}/codestyle/SAPDefaultProfile-1.4.6-checkstyle.xml</configLocation>
						<linkXRef>false</linkXRef>
						<includeResources>false</includeResources>
						<includeTestResources>false</includeTestResources>
						<excludes>${codeAnalysisExclusions}</excludes>
					</configuration>
				</plugin>
				<plugin>
					<groupId>com.github.spotbugs</groupId>
					<artifactId>spotbugs-maven-plugin</artifactId>
					<version>4.3.0</version>
					<configuration>
						<includeFilterFile>${project.rootdir}/codestyle/SAPDefaultProfile-1.4.6-findbugs.xml</includeFilterFile>
						<excludeFilterFile>${project.rootdir}/codestyle/spotbugs-exclusions.xml</excludeFilterFile>
						<effort>Max</effort>
						<threshold>Low</threshold>
						<maxHeap>2048</maxHeap>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-pmd-plugin</artifactId>
					<version>3.14.0</version>
					<configuration>
						<rulesets>
							<ruleset>${project.rootdir}/codestyle/SAPDefaultProfile-1.4.6-pmd.xml</ruleset>
							<ruleset>${project.rootdir}/codestyle/sdk_specific_pmd_rules.xml</ruleset>
							<!--content of the PMD default rule set for Java can be found here:
                            https://gitbox.apache.org/repos/asf?p=maven-pmd-plugin.git;a=blob_plain;f=src/main/resources/rulesets/java/maven-pmd-plugin-default.xml;hb=HEAD
                            -->
							<ruleset>/rulesets/java/maven-pmd-plugin-default.xml</ruleset>
						</rulesets>
						<linkXRef>false</linkXRef>
						<targetJdk>${java.version}</targetJdk>
						<excludes>
							<exclude>${codeAnalysisExclusions}</exclude>
						</excludes>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.whitesource</groupId>
					<artifactId>whitesource-maven-plugin</artifactId>
					<version>20.7.1</version>
					<configuration>
						<checkPolicies>true</checkPolicies>
						<failOnError>true</failOnError>
						<ignorePomModules>false</ignorePomModules>
						<autoDetectProxySettings>false</autoDetectProxySettings>
						<forceCheckAllDependencies>true</forceCheckAllDependencies>
						<forceUpdate>true</forceUpdate>
						<enableDebug>true</enableDebug>
					</configuration>
				</plugin>
				<plugin>
					<groupId>com.github.siom79.japicmp</groupId>
					<artifactId>japicmp-maven-plugin</artifactId>
					<version>0.15.3</version>
					<configuration>
						<skip>${japicmp.skip}</skip>
						<parameter>
							<ignoreMissingOldVersion>true</ignoreMissingOldVersion>
							<ignoreMissingClasses>true</ignoreMissingClasses>
							<skipHtmlReport>true</skipHtmlReport>
							<skipDiffReport>true</skipDiffReport>
							<skipXmlReport>true</skipXmlReport>
							<breakBuildOnBinaryIncompatibleModifications>true</breakBuildOnBinaryIncompatibleModifications>
							<breakBuildOnSourceIncompatibleModifications>true</breakBuildOnSourceIncompatibleModifications>
						</parameter>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.projectlombok</groupId>
					<artifactId>lombok-maven-plugin</artifactId>
					<version>1.18.20.0</version>
					<executions>
						<execution>
							<id>delombok</id>
							<phase>generate-sources</phase>
							<goals>
								<goal>delombok</goal>
							</goals>
							<configuration>
								<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
								<outputDirectory>${project.build.directory}/delombok</outputDirectory>
							</configuration>
						</execution>
						<execution>
							<id>test-delombok</id>
							<phase>generate-test-sources</phase>
							<goals>
								<goal>testDelombok</goal>
							</goals>
							<configuration>
								<sourceDirectory>${project.basedir}/src/test/java</sourceDirectory>
								<outputDirectory>${project.build.directory}/delombok-test</outputDirectory>
							</configuration>
						</execution>
					</executions>
					<configuration>
						<addOutputDirectory>false</addOutputDirectory>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>properties-maven-plugin</artifactId>
					<version>1.0.0</version>
					<executions>
						<execution>
							<phase>initialize</phase>
							<goals>
								<goal>read-project-properties</goal>
							</goals>
							<configuration>
								<files>
									<file>${project.rootdir}/scripts/javadoc.${audience}.properties</file>
								</files>
							</configuration>
						</execution>
					</executions>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>3.3.0</version>
					<executions>
						<execution>
							<id>javadoc-jar</id>
							<goals>
								<goal>jar</goal>
							</goals>
						</execution>
						<execution>
							<id>javadoc-aggregate</id>
							<goals>
								<goal>aggregate</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<quiet>true</quiet>
						<additionalOptions>${javadoc.opts}</additionalOptions>
						<show>protected</show>
						<groups>
							<group>
								<title>Cloud Platform</title>
								<packages>com.sap.cloud.sdk.cloudplatform*</packages>
							</group>
							<group>
								<title>Business Logging</title>
								<packages>com.sap.cloud.sdk.services.scp.businesslogging*</packages>
							</group>
							<group>
								<title>Currency Conversion</title>
								<packages>com.sap.cloud.sdk.services.currencyconversion*</packages>
							</group>
							<group>
								<title>Currency Conversion – Integration Objects</title>
								<packages>com.sap.cloud.sdk.integration.currencyconversion.integrationmodel*</packages>
							</group>
							<group>
								<title>Framework Adaptations</title>
								<packages>com.sap.cloud.sdk.frameworks*</packages>
							</group>
							<group>
								<title>Utility Packages</title>
								<packages>com.sap.cloud.sdk.datamodel*
                                    :com.sap.cloud.sdk.quality*
                                    :com.sap.cloud.sdk.result*:*
                                    :com.sap.cloud.sdk.scp*
                                    :com.sap.cloud.sdk.testutil*
                                    :com.sap.cloud.sdk.typeconverter*
                                    :com.sap.marmolata*
                                    :com.sap.security*
                                    :org.eclipse*</packages>
							</group>
							<group>
								<title>SAP S/4HANA</title>
								<packages>com.sap.cloud.sdk.s4hana*</packages>
							</group>
						</groups>
						<sourcepath>${project.basedir}/target/delombok;
                            ${javadoc.sourcepath}</sourcepath>
						<overview>${project.rootdir}/javadoc.everyone.overview.html</overview>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>3.2.1</version>
					<executions>
						<execution>
							<goals>
								<goal>jar-no-fork</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<forceCreation>true</forceCreation>
					</configuration>
				</plugin>
				<plugin>
					<groupId>com.sap.research.security.vulas</groupId>
					<artifactId>plugin-maven</artifactId>
					<version>3.1.15</version>
				</plugin>
				<plugin>
					<groupId>com.sap.cloud.sdk.datamodel</groupId>
					<artifactId>openapi-generator-maven-plugin</artifactId>
					<version>${sdk.version}</version>
					<configuration>
						<apiMaturity>beta</apiMaturity>
						<sapCopyrightHeader>true</sapCopyrightHeader>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.openapitools</groupId>
					<artifactId>openapi-generator-maven-plugin</artifactId>
					<version>${openapi-generator.version}</version>
					<configuration>
						<generatorName>java</generatorName>
						<generateApiTests>false</generateApiTests>
						<generateModelTests>false</generateModelTests>
						<generateApiDocumentation>false</generateApiDocumentation>
						<generateAliasAsModel>false</generateAliasAsModel>
						<removeOperationIdPrefix>true</removeOperationIdPrefix>
						<generateSupportingFiles>false</generateSupportingFiles>
					</configuration>
				</plugin>
				<plugin>
					<groupId>com.github.eirslett</groupId>
					<artifactId>frontend-maven-plugin</artifactId>
					<version>1.11.3</version>
				</plugin>
				<plugin>
					<groupId>org.springframework.boot</groupId>
					<artifactId>spring-boot-maven-plugin</artifactId>
					<version>${spring-boot.version}</version>
				</plugin>
				<plugin>
					<groupId>com.sap.cds</groupId>
					<artifactId>cds4j-maven-plugin</artifactId>
					<version>${cds4j.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>3.3.0</version>
				</plugin>
				<plugin>
					<groupId>com.github.ekryd.sortpom</groupId>
					<artifactId>sortpom-maven-plugin</artifactId>
					<version>2.15.0</version>
					<executions>
						<execution>
							<id>sort-all-poms</id>
							<phase>process-sources</phase>
							<goals>
								<goal>sort</goal>
							</goals>
						</execution>
					</executions>
					<configuration>
						<encoding>${project.build.sourceEncoding}</encoding>
						<createBackupFile>false</createBackupFile>
						<expandEmptyElements>false</expandEmptyElements>
						<!-- -1 stands for tab -->
						<nrOfIndentSpace>-1</nrOfIndentSpace>
						<sortDependencies>none</sortDependencies>
						<sortPlugins>none</sortPlugins>
						<sortProperties>false</sortProperties>
						<sortModules>false</sortModules>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-shade-plugin</artifactId>
					<version>3.2.4</version>
				</plugin>
			</plugins>
		</pluginManagement>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>net.revelc.code.formatter</groupId>
				<artifactId>formatter-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>net.revelc.code</groupId>
				<artifactId>impsort-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-checkstyle-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>com.github.spotbugs</groupId>
				<artifactId>spotbugs-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-pmd-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.whitesource</groupId>
				<artifactId>whitesource-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>com.github.siom79.japicmp</groupId>
				<artifactId>japicmp-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.jacoco</groupId>
				<artifactId>jacoco-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>com.github.ekryd.sortpom</groupId>
				<artifactId>sortpom-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>
	<profiles>
		<profile>
			<id>disable-doclint-java8</id>
			<activation>
				<jdk>[1.8,)</jdk>
			</activation>
			<properties>
				<javadoc.opts>-Xdoclint:none</javadoc.opts>
			</properties>
		</profile>
		<profile>
			<id>docs</id>
			<activation>
				<property>
					<name>docs</name>
				</property>
			</activation>
			<build>
				<resources>
					<resource>
						<targetPath>${project.build.directory}/apidocs</targetPath>
						<filtering>false</filtering>
						<directory>${project.rootdir}</directory>
						<includes>
							<include>LICENSE</include>
						</includes>
					</resource>
				</resources>
				<plugins>
					<plugin>
						<groupId>org.projectlombok</groupId>
						<artifactId>lombok-maven-plugin</artifactId>
					</plugin>
					<plugin>
						<groupId>org.codehaus.mojo</groupId>
						<artifactId>properties-maven-plugin</artifactId>
						<inherited>false</inherited>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-javadoc-plugin</artifactId>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>build-test-modules</id>
			<activation>
				<property>
					<name>!audience</name>
				</property>
			</activation>
			<modules>
				<module>tests</module>
			</modules>
		</profile>
		<profile>
			<id>build-s4hana</id>
			<activation>
				<property>
					<name>!skip.s4hana</name>
				</property>
			</activation>
			<modules>
				<module>s4hana</module>
			</modules>
		</profile>
		<profile>
			<id>build-services</id>
			<activation>
				<property>
					<name>!skip.services</name>
				</property>
			</activation>
			<modules>
				<module>services</module>
			</modules>
		</profile>
		<profile>
			<id>build-integration</id>
			<activation>
				<property>
					<name>!skip.integration</name>
				</property>
			</activation>
			<modules>
				<module>integration</module>
			</modules>
		</profile>
		<profile>
			<id>skip-openapi-vdm-generation</id>
			<properties>
				<openapi-generator.skip>true</openapi-generator.skip>
			</properties>
		</profile>
	</profiles>
</project>
