<?xml version="1.0"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.top-logic</groupId>
	<artifactId>tl-parent-all</artifactId>
	<version>7.5.2</version>

	<name>${artifactId}</name>
	<description>Aggregator module that builds the complete TopLogic application engine.</description>
	<url>https://top-logic.com/</url>

	<organization>
		<name>Business Operation Systems GmbH</name>
		<url>https://www.top-logic.com</url>
	</organization>

	<packaging>pom</packaging>

	<properties>
		<tl.version>7.5.2</tl.version>
		<jetty.version>9.4.51.v20230217</jetty.version>
		<poi.version>5.2.3</poi.version>
		<kafka.version>2.1.1</kafka.version>
		<slf4j.version>2.0.7</slf4j.version>
		<log4j.version>2.20.0</log4j.version>
		<fasterxml.version>2.15.2</fasterxml.version>
		<msgbuf.version>1.1.2</msgbuf.version>
		<bouncycastle.version>1.75</bouncycastle.version>
		
		<project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>

		<maven.compiler.source>11</maven.compiler.source>
		<maven.compiler.target>11</maven.compiler.target>

		<skipTests>true</skipTests>
		<skipDependencyCheck>false</skipDependencyCheck>
		<skipNormalizeLayouts>true</skipNormalizeLayouts>
		
		<tl.layoutDir>${basedir}/src/main/webapp/WEB-INF/layouts</tl.layoutDir>
	</properties>

	<licenses>
		<license>
			<name>The Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
			
			<comments>
				Note: The Apache License does only apply to the TopLogic parent POM (bill of material), but neither to 
				the TopLogic engine pulled in as dependency nor to the application you are building. Both can be put 
				under a different license, depending on the TopLogic version you are using (open source or proprietary).
			</comments>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>The TopLogic Developers</name>
			<email>info@top-logic.com</email>
			<organization>Business Operation Systems GmbH</organization>
			<organizationUrl>https://www.top-logic.com</organizationUrl>
		</developer>
	</developers>

	<scm>
		<connection>scm:git:https://github.com/top-logic/tl-engine.git</connection>
		<developerConnection>scm:git:http://tl.bos.local:3000/TopLogic/tl-engine.git</developerConnection>
		<url>https://github.com/top-logic/tl-engine</url>
	</scm>
	
	<modules>
		<!-- Archetypes -->
		<module>../tl-archetype-app</module>
	</modules>

	<profiles>
		<profile>
			<id>full-build</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>

			<modules>
				<!-- TopLogic aggregator -->
				<module>../tl-parent-engine</module>
			</modules>			
		</profile>
		
		<profile>
			<id>maven-central</id>
			
			<distributionManagement>
				<repository>
					<id>tl-ossrh</id>
					<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
					<releases>
						<enabled>true</enabled>
					</releases>
					<snapshots>
						<enabled>false</enabled>
					</snapshots>
				</repository>
			</distributionManagement>
	
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.5</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
								<configuration>
									<keyname>${tl.keyname}</keyname>
									<passphraseServerId>${tl.keypassid}</passphraseServerId>
								</configuration>
							</execution>
						</executions>
					</plugin>
		
					<plugin>
						<groupId>org.sonatype.plugins</groupId>
						<artifactId>nexus-staging-maven-plugin</artifactId>
						<version>1.6.7</version>
						<extensions>true</extensions>
						<configuration>
							<serverId>tl-ossrh</serverId>
							<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
							<autoReleaseAfterClose>false</autoReleaseAfterClose>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>

		<profile>
			<id>has-layouts</id>
		    <activation>
		        <file>
		            <exists>${tl.layoutDir}</exists>
		        </file>
    		</activation>
    		
    		<properties>
				<skipNormalizeLayouts>false</skipNormalizeLayouts>
    		</properties>			
		</profile>
	</profiles>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-archetype-app</artifactId>
				<version>${tl.version}</version>
			</dependency>

			<!-- Settings -->
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>bos-settings</artifactId>
				<version>${tl.version}</version>
			</dependency>

			<!-- Build tooling -->
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-build-doclet</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-build-processor</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-maven-plugin</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-tools-resources</artifactId>
				<version>${tl.version}</version>
			</dependency>

			<!-- JavaScript libraries created with GWT -->
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-ajax-client</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-client-diagramjs</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-graph-diagramjs-client</artifactId>
				<version>${tl.version}</version>
			</dependency>

			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-basic</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-dsa</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-dob</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-dob-persist</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-basic-db-schema</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-core</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-element</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-layout-scripting-template</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-contact</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-common-remote</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>

			<!-- TopLogic -->
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-core</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-addons-loginmessages</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-ajax-server</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-ajax-shared</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-basic</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-basic-core</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-basic-db</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-basic-db-schema</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-basic-logging</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-basic-logging-log4j</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-basic-logging-logback</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-basic-shared</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-bpe</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-bpe-app</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-bpe-modeler</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-common-json</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-chart-chartjs</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-common-remote</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-config-diff</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-config-xdiff</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-contact</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-convert</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-dob</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-dob-persist</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-doc</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-doc-app</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-dsa</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-element</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-graph-common</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-graph-diagramjs</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-graph-diagramjs-server</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-graph-layouter</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-graph-server</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-ide-jetty</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-importer</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-kafka</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-kafka-server</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-layout-codeedit</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-layout-formeditor</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-layout-icons</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-layout-scripting-template</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-layout-themeedit</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-layout-wysiwyg</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-layout-wysiwyg-highlighter</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-layout-wysiwyg-youtube</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-mail</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-model-search</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-model-wysiwyg</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-monitoring</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-office</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-reporting</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-reporting-common</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-reporting-flex</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-reporting-office</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-search-base</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-search-lucene</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-security-auth-pac4j</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-storage-azure</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-template</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-themes-dezent</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-themes-modern</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-umljs</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-xio</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-xref</artifactId>
				<version>${tl.version}</version>
			</dependency>
			
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-service-openapi-common</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-service-openapi-client</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-service-openapi-client</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-service-openapi-server</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-service-openapi-server</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>

			<!-- Migration utilities -->
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-migrate-tl</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-migrate-tl-580</artifactId>
				<version>${tl.version}</version>
			</dependency>

			<!-- Supported DB drivers -->
			<dependency>
			    <groupId>com.h2database</groupId>
			    <artifactId>h2</artifactId>
			    <version>2.1.214</version>
		  	</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>ext-com-ibm-db2</artifactId>
				<version>${tl.version}</version>
				<type>pom</type>
			</dependency>
			<dependency>
			    <groupId>com.microsoft.sqlserver</groupId>
			    <artifactId>mssql-jdbc</artifactId>
			    <version>12.2.0.jre11</version>
			</dependency>
			<dependency>
			    <groupId>com.mysql</groupId>
			    <artifactId>mysql-connector-j</artifactId>
			    <version>8.0.33</version>
			</dependency>
			<dependency>
			    <groupId>com.oracle.database.jdbc</groupId>
			    <artifactId>ojdbc11</artifactId>
			    <version>23.2.0.0</version>
			</dependency>
			<dependency>
			    <groupId>org.postgresql</groupId>
			    <artifactId>postgresql</artifactId>
			    <version>42.6.0</version>
			</dependency>

			<!-- External dependencies -->
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>javax.servlet-api</artifactId>
				<version>4.0.1</version>
			</dependency>
			<dependency>
				<groupId>javax.servlet.jsp</groupId>
				<artifactId>jsp-api</artifactId>
				<version>2.2.1-b03</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>ext-com-bootstrap-icons</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>ext-com-ckeditor</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>ext-com-fontawesome</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>ext-com-google-fonts</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
			    <groupId>com.google.inject</groupId>
			    <artifactId>guice</artifactId>
			    <version>7.0.0</version>
			</dependency>
			<dependency>
				<groupId>com.google.guava</groupId>
				<artifactId>guava</artifactId>
				<version>32.0.1-jre</version>
			</dependency>
			<dependency>
				<groupId>com.github.librepdf</groupId>
				<artifactId>openpdf</artifactId>
				<version>1.3.30</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>ext-com-meterware-httpunit</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
			    <groupId>com.microsoft.azure</groupId>
			    <artifactId>azure-storage</artifactId>
			    <version>8.6.6</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>ext-io-bpmn-bpmn-js</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>ext-io-c9-ace</artifactId>
				<version>${tl.version}</version>
			</dependency>
			
			<!-- Only good for compiling against, provides no mail implementations. -->
			<dependency>
			    <groupId>javax.mail</groupId>
			    <artifactId>javax.mail-api</artifactId>
			    <version>1.6.2</version>
			    <scope>provided</scope>
			    
			    <exclusions>
			    	<!-- Note: Must include javax.activation:javax.activation-api instead. -->
			    	<exclusion>
			    		<groupId>javax.activation</groupId>
			    		<artifactId>activation</artifactId>
			    	</exclusion>
			    </exclusions>
			</dependency>
			
			<!-- The actual mail implementation. Might be already be installed in the container running the application. -->
			<dependency>
				<groupId>com.sun.mail</groupId>
				<artifactId>javax.mail</artifactId>
				<version>1.6.2</version>
				
				<exclusions>
			    	<!-- Note: Must include javax.activation:javax.activation-api instead. -->
			    	<exclusion>
			    		<groupId>javax.activation</groupId>
			    		<artifactId>activation</artifactId>
			    	</exclusion>
				</exclusions>
			</dependency>
			
			<dependency>
			    <groupId>javax.xml</groupId>
			    <artifactId>jaxrpc-api</artifactId>
			    <version>1.1</version>
			</dependency>
			<dependency>
			    <groupId>javax.xml.ws</groupId>
			    <artifactId>jaxws-api</artifactId>
			    <version>2.3.1</version>
			</dependency>
			<dependency>
				<groupId>commons-discovery</groupId>
				<artifactId>commons-discovery</artifactId>
				<version>1.0-dev</version>
			</dependency>
			<dependency>
			    <groupId>commons-codec</groupId>
			    <artifactId>commons-codec</artifactId>
			    <version>1.15</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.commons</groupId>
			    <artifactId>commons-collections4</artifactId>
			    <version>4.4</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.httpcomponents</groupId>
			    <artifactId>httpclient</artifactId>
			    <version>4.5.14</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.httpcomponents.client5</groupId>
			    <artifactId>httpclient5</artifactId>
			    <version>5.2.1</version>
			</dependency>
			<dependency>
			    <groupId>commons-fileupload</groupId>
			    <artifactId>commons-fileupload</artifactId>
			    <version>1.5</version>
			</dependency>
			<dependency>
			    <groupId>commons-io</groupId>
			    <artifactId>commons-io</artifactId>
			    <version>2.13.0</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.commons</groupId>
			    <artifactId>commons-lang3</artifactId>
			    <version>3.12.0</version>
			</dependency>
			<dependency>
			    <groupId>commons-pool</groupId>
			    <artifactId>commons-pool</artifactId>
			    <version>1.6</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.kafka</groupId>
			    <artifactId>kafka_2.12</artifactId>
			    <version>${kafka.version}</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.kafka</groupId>
			    <artifactId>kafka-clients</artifactId>
			    <version>${kafka.version}</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.kafka</groupId>
			    <artifactId>connect-api</artifactId>
			    <version>${kafka.version}</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.kafka</groupId>
			    <artifactId>connect-json</artifactId>
			    <version>${kafka.version}</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.lucene</groupId>
			    <artifactId>lucene-analyzers</artifactId>
			    <version>3.6.2</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.poi</groupId>
			    <artifactId>poi</artifactId>
			    <version>${poi.version}</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.poi</groupId>
			    <artifactId>poi-ooxml</artifactId>
			    <version>${poi.version}</version>
			    
			    <!-- Note: Whenever including this artifact, also include poi-ooxml-full, which is an 
			    	 undeclared dependency. -->
		
			    <!-- Provided by the JDK by default. -->
			    <exclusions>
			    	<!-- This dependency delivers only a part of the required schemas, poi-ooxml-full must 
			    		 be used instead, see above. -->
			    	<exclusion>
					    <groupId>org.apache.poi</groupId>
					    <artifactId>poi-ooxml-lite</artifactId>
			    	</exclusion>
			    	
			    	<exclusion>
			          <groupId>xml-apis</groupId>
			          <artifactId>xml-apis</artifactId>
			        </exclusion>
			    	<exclusion>
			        	<groupId>com.fasterxml.woodstox</groupId>
						<artifactId>woodstox-core</artifactId>
			        </exclusion>
			    	<exclusion>
			          <groupId>xalan</groupId>
			          <artifactId>xalan</artifactId>
			        </exclusion>
			    </exclusions>
			</dependency>
			<dependency>
			    <groupId>org.apache.poi</groupId>
			    <artifactId>poi-ooxml-full</artifactId>
			    <version>${poi.version}</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.poi</groupId>
			    <artifactId>poi-scratchpad</artifactId>
			    <version>${poi.version}</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.xmlrpc</groupId>
			    <artifactId>xmlrpc-client</artifactId>
			    <version>3.1.3</version>
		
			    <!-- Provided by the JDK by default. -->
			    <exclusions>
			    	<exclusion>
			          <groupId>xml-apis</groupId>
			          <artifactId>xml-apis</artifactId>
			        </exclusion>
			    </exclusions>
			</dependency>
			<dependency>
			    <groupId>org.bouncycastle</groupId>
			    <artifactId>bcmail-jdk18on</artifactId>
			    <version>${bouncycastle.version}</version>
			</dependency>
			<dependency>
			    <groupId>org.bouncycastle</groupId>
			    <artifactId>bcprov-jdk18on</artifactId>
			    <version>${bouncycastle.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>ext-org-chartjs</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
			    <groupId>org.docx4j</groupId>
			    <artifactId>docx4j-core</artifactId>
			    <version>11.4.9</version>
				<exclusions>
					<!-- Do not include Log4j 1, because this collides with Log4j 2  -->
					<exclusion>
						<groupId>org.slf4j</groupId>
						<artifactId>slf4j-log4j12</artifactId>
					</exclusion>
			    	<exclusion>
			          <groupId>xalan</groupId>
			          <artifactId>xalan</artifactId>
			        </exclusion>
				</exclusions> 
			</dependency>
			<dependency>
			    <groupId>org.docx4j</groupId>
			    <artifactId>docx4j-JAXB-ReferenceImpl</artifactId>
			    <version>11.4.9</version>
			</dependency>
			<dependency>
			    <groupId>com.fasterxml.jackson.core</groupId>
			    <artifactId>jackson-core</artifactId>
			    <version>${fasterxml.version}</version>
			</dependency>
			<dependency>
			    <groupId>com.fasterxml.jackson.core</groupId>
			    <artifactId>jackson-databind</artifactId>
			    <version>2.15.2</version>
			</dependency>
			<dependency>
			    <groupId>com.fasterxml.jackson.dataformat</groupId>
			    <artifactId>jackson-dataformat-yaml</artifactId>
			    <version>${fasterxml.version}</version>
			</dependency>
			<dependency>
			    <groupId>org.yaml</groupId>
			    <artifactId>snakeyaml</artifactId>
			    <version>2.0</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.pdfbox</groupId>
	    		<artifactId>pdfbox</artifactId>
			    <version>3.0.0-RC1</version>
			    
			    <exclusions>
			    	<!-- Note: Whenever pdfbox is used, jcl-over-slf4j must be added as well. -->
			    	<exclusion>
					    <groupId>commons-logging</groupId>
					    <artifactId>commons-logging</artifactId>
			    	</exclusion>
   			    </exclusions>
			</dependency>
			<dependency>
			    <groupId>org.slf4j</groupId>
			    <artifactId>jcl-over-slf4j</artifactId>
			    <version>2.0.7</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.pdfbox</groupId>
	    		<artifactId>fontbox</artifactId>
			    <version>3.0.0-RC1</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.xmlgraphics</groupId>
			    <artifactId>batik-transcoder</artifactId>
			    <version>1.16</version>
			    
			    <exclusions>
			    	<exclusion>
			          <groupId>xml-apis</groupId>
			          <artifactId>xml-apis</artifactId>
			        </exclusion>
			    	<exclusion>
			        	<groupId>com.fasterxml.woodstox</groupId>
						<artifactId>woodstox-core</artifactId>
			        </exclusion>
			    	<exclusion>
			          <groupId>xalan</groupId>
			          <artifactId>xalan</artifactId>
			        </exclusion>

			    	<!-- Note: Whenever batik-transcoder is used, jcl-over-slf4j must be added as well. -->
			    	<exclusion>
					    <groupId>commons-logging</groupId>
					    <artifactId>commons-logging</artifactId>
			    	</exclusion>
			    </exclusions>
			</dependency>
			<dependency>
			    <groupId>org.apache.xmlgraphics</groupId>
			    <artifactId>xmlgraphics-commons</artifactId>
			    <version>2.8</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-webapp</artifactId>
				<version>${jetty.version}</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>apache-jsp</artifactId>
				<version>${jetty.version}</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jetty</groupId>
				<artifactId>jetty-servlet</artifactId>
				<version>${jetty.version}</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.jdt</groupId>
				<artifactId>ecj</artifactId>
				<version>3.33.0</version>
			</dependency>
			<dependency>
			    <groupId>org.xhtmlrenderer</groupId>
			    <artifactId>flying-saucer-pdf-openpdf</artifactId>
			    <version>9.1.22</version>
			    
		        <exclusions>
		            <exclusion>
		                <groupId>org.bouncycastle</groupId>
		                <artifactId>bcprov-jdk14</artifactId>
		            </exclusion>
		            <exclusion>
		                <groupId>org.bouncycastle</groupId>
		                <artifactId>bcmail-jdk14</artifactId>
		            </exclusion>
		            <exclusion>
		            	<groupId>org.bouncycastle</groupId>
		            	<artifactId>bctsp-jdk14</artifactId>
		            </exclusion>
		        </exclusions>
			</dependency>
			<dependency>
			    <groupId>org.jfree</groupId>
			    <artifactId>jfreechart</artifactId>
			    <version>1.5.4</version>
			</dependency>
			<dependency>
			    <groupId>org.jsoup</groupId>
			    <artifactId>jsoup</artifactId>
			    <version>1.16.1</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>ext-org-mozilla-pdfjs</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
			    <groupId>org.pac4j</groupId>
			    <artifactId>pac4j-oidc</artifactId>
    			<version>5.7.1</version>
			</dependency>
			<dependency>
				<groupId>net.minidev</groupId>
				<artifactId>json-smart</artifactId>
				<version>2.4.11</version>
			</dependency>			
			<dependency>
			    <groupId>org.pac4j</groupId>
			    <artifactId>pac4j-jee</artifactId>
    			<version>5.4.6</version>
			</dependency>
			<dependency>
			    <groupId>org.pac4j</groupId>
			    <artifactId>jee-pac4j</artifactId>
			    <version>6.1.0</version>
			</dependency>
			<dependency>
			    <groupId>org.codelibs</groupId>
			    <artifactId>jcifs</artifactId>
			    <version>2.1.34</version>
			</dependency>
			<dependency>
			    <groupId>com.github.jtidy</groupId>
			    <artifactId>jtidy</artifactId>
			    <version>1.0.3</version>
			</dependency>
			<dependency>
			    <groupId>de.haumacher.msgbuf</groupId>
			    <artifactId>msgbuf-api</artifactId>
			    <version>${msgbuf.version}</version>
			</dependency>
			<dependency>
			    <groupId>de.haumacher.msgbuf</groupId>
			    <artifactId>msgbuf-api</artifactId>
			    <version>${msgbuf.version}</version>
			    <classifier>sources</classifier>
			    <scope>provided</scope>
			</dependency>

			<dependency>
			    <groupId>javax.activation</groupId>
			    <artifactId>javax.activation-api</artifactId>
			    <version>1.2.0</version>
			</dependency>
			<dependency>
			    <groupId>com.sun.activation</groupId>
			    <artifactId>javax.activation</artifactId>
			    <version>1.2.0</version>
			</dependency>
			
		  	<dependency>
			    <groupId>org.apache.maven</groupId>
				<artifactId>maven-model-builder</artifactId>
				<version>3.9.2</version>
		  	</dependency>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-api</artifactId>
				<version>${log4j.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.logging.log4j</groupId>
				<artifactId>log4j-core</artifactId>
				<version>${log4j.version}</version>
			</dependency>
			<dependency>
			    <groupId>org.apache.logging.log4j</groupId>
			    <artifactId>log4j-slf4j2-impl</artifactId>
			    <version>${log4j.version}</version>
			</dependency>
		    <dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>${slf4j.version}</version>
			</dependency>
			<dependency>
			    <groupId>net.sourceforge.jexcelapi</groupId>
			    <artifactId>jxl</artifactId>
			    <version>2.6.12</version>
			    
			    <exclusions>
			    	<exclusion>
			    		<groupId>log4j</groupId>
						<artifactId>log4j</artifactId>
			    	</exclusion>
			    </exclusions>
			</dependency>
			<dependency>
				<groupId>de.haumacher</groupId>
				<artifactId>tm-extractors</artifactId>
				<version>1.2</version>
			</dependency>
    		<dependency>
				<groupId>org.commonmark</groupId>
				<artifactId>commonmark</artifactId>
				<version>0.21.0</version>
			</dependency>
			
			<!-- Test modules -->
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>test-tl-importer</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>test-tl-kafka</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>test-tl-migrate-tl</artifactId>
				<version>${tl.version}</version>
				<type>test-jar</type>
				<scope>test</scope>
			</dependency>

			<!-- Demos -->
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-demo</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>tl-kafka-demo</artifactId>
				<version>${tl.version}</version>
			</dependency>
			<dependency>
				<groupId>com.top-logic</groupId>
				<artifactId>test-tl-kafka-demo</artifactId>
				<version>${tl.version}</version>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<distributionManagement>
		<repository>
			<id>tl-releases</id>
			<url>https://dev.top-logic.com/nexus/repository/toplogic/</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>

		<snapshotRepository>
			<id>tl-snapshots</id>
			<url>https://dev.top-logic.com/nexus/repository/toplogic-snapshots/</url>
			<releases>
				<enabled>false</enabled>
			</releases>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</snapshotRepository>
	</distributionManagement>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.13.2</version>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<build>
		<testResources>
			<testResource>
				<directory>src/test/resources</directory>
			</testResource>
			<testResource>
				<directory>src/test/java</directory>
				<excludes>
					<exclude>.srcexclude</exclude>
					<exclude>**/*.java</exclude>
				</excludes>
			</testResource>
		</testResources>

		<resources>
			<resource>
				<directory>src/main/resources</directory>
			</resource>
			<resource>
				<directory>src/main/java</directory>
				<excludes>
					<exclude>.srcexclude</exclude>
					<exclude>**/*.java</exclude>
				</excludes>
			</resource>
		</resources>

		<plugins>
	  		<plugin>
	  			<groupId>org.apache.maven.plugins</groupId>
	  			<artifactId>maven-resources-plugin</artifactId>
	  		</plugin>

			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<useIncrementalCompilation>false</useIncrementalCompilation>
					<forceJavacCompilerUse>true</forceJavacCompilerUse>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.2.1</version>

				<configuration>
					<excludes>**/.srcexclude</excludes>
				</configuration>

				<executions>
					<execution>
						<id>attach-sources</id>
						<phase>verify</phase>
						<goals>
							<goal>jar-no-fork</goal>
							<goal>test-jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<skipTests>${skipTests}</skipTests>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>3.0.0-M4</version>
				<configuration>
					<tagBase>http://tl.bos.local/svn/top-logic/tags/TL/</tagBase>
					<branchBase>http://tl.bos.local/svn/top-logic/branches/TL/</branchBase>
					<autoVersionSubmodules>true</autoVersionSubmodules>
					<tagNameFormat>TL_@{project.version}</tagNameFormat>
					<preparationGoals>clean install com.top-logic:tl-maven-plugin:set-tl-version</preparationGoals>
				</configuration>
			</plugin>
			
			<plugin>
		        <groupId>org.codehaus.mojo</groupId>
		        <artifactId>exec-maven-plugin</artifactId>
		        
		        <executions>
					<execution>
						<id>normalize-layouts</id>
						<goals>
							<goal>java</goal>
						</goals>
						
						<configuration>
							<skip>${skipNormalizeLayouts}</skip>
							
							<mainClass>com.top_logic.basic.xml.XMLPrettyPrinter</mainClass>
							<arguments>
								<argument>${tl.layoutDir}</argument>
							</arguments>
							
							<includePluginDependencies>false</includePluginDependencies>
							<includeProjectDependencies>true</includeProjectDependencies>
							<addOutputToClasspath>true</addOutputToClasspath>
							<addResourcesToClasspath>false</addResourcesToClasspath>
						</configuration>
					</execution>
		        </executions>
			</plugin>

			<!-- Auto-update of dependencies, use: -->
			<!-- mvn versions:use-latest-releases versions:update-properties -DgenerateBackupPoms=false -->
			
			<!-- Check for plugin updates in tl-parent-all: -->
			<!-- mvn -N versions:display-plugin-updates -->
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>versions-maven-plugin</artifactId>
				
				<executions>
					<execution>
						<goals>
							<goal>use-latest-releases</goal>
							<goal>update-properties</goal>
						</goals>
					</execution>
				</executions>
						
				<configuration>
					<excludes>
					<!-- 
						<exclude>groupId:artifactId:*:*:version</exclude>
					-->
					</excludes>

          			<ruleSet>
						<ignoreVersions>
							<!-- Exclude alpha and milestone builds. -->
							<ignoreVersion>
								<type>regex</type>
								<version>(.+-alpha.*|.+-M\d|.+-RC.*)</version>
							</ignoreVersion>								
						</ignoreVersions>
						
						<rules>
							<rule>
								<groupId>org.apache.maven</groupId>
								
								<!-- Limit to Maven to 3.x -->
								<ignoreVersions>
									<ignoreVersion>
										<type>regex</type>
										<version>(?!3\.).*</version>
									</ignoreVersion>								
								</ignoreVersions>
							</rule>
							<rule>
								<groupId>org.apache.maven</groupId>
								<artifactId>maven-archiver</artifactId>

								<!-- Note: Newer versions have an issue with excessive memory consumption causing builds to fail when creating larger WAR artifacts. -->
								<!-- The issue declared to be fixed, but can still be observed: https://issues.apache.org/jira/browse/MSOURCES-94 -->
								<ignoreVersions>
									<ignoreVersion>
										<type>regex</type>
										<version>(?!3\.0\.0).*</version>
									</ignoreVersion>								
								</ignoreVersions>
							</rule>

							<rule>
								<groupId>org.codehaus.plexus</groupId>
								<artifactId>plexus-archiver</artifactId>

								<!-- Note: Newer versions have an issue with excessive memory consumption causing builds to fail when creating larger WAR artifacts. -->
								<!-- The issue declared to be fixed, but can still be observed: https://issues.apache.org/jira/browse/MSOURCES-94 -->
								<ignoreVersions>
									<ignoreVersion>
										<type>regex</type>
										<version>(?!2\.9\.).*</version>
									</ignoreVersion>								
								</ignoreVersions>
							</rule>
							<rule>
								<groupId>org.eclipse.jetty</groupId>
								
								<!-- Limit to Jetty 9 to avoid updating javax.servlet -->
								<ignoreVersions>
									<ignoreVersion>
										<type>regex</type>
										<version>(?!9\.).*</version>
									</ignoreVersion>								
								</ignoreVersions>
							</rule>
							<rule>
								<groupId>org.apache.kafka</groupId>
								
								<!-- Limit to Kafka 2.1.x for compatibility -->
								<ignoreVersions>
									<ignoreVersion>
										<type>regex</type>
										<version>(?!2\.1\.).*</version>
									</ignoreVersion>								
								</ignoreVersions>
							</rule>
						</rules>
					</ruleSet>					
				</configuration>
			</plugin>

			<!-- Check for well-known vulnerabilities. -->
			<!-- 
				Can be executed with `mvn dependency-check:check` in a certain module, or with 
				`dependency-check:aggregate` from the parent for all modules.
			-->
			<plugin>
			    <groupId>org.owasp</groupId>
			    <artifactId>dependency-check-maven</artifactId>
			    <version>8.1.2</version>
		        <configuration>
	                <format>ALL</format>
	                <skipProvidedScope>true</skipProvidedScope>
	                <suppressionFile>http://tl/trac/wiki/DependencyCheckSuppressions?format=txt</suppressionFile>
	                <suppressionFileServerId>tl-trac</suppressionFileServerId>
		        </configuration>
			</plugin>
			
			<plugin>
			    <groupId>org.basepom.maven</groupId>
			    <artifactId>duplicate-finder-maven-plugin</artifactId>
			    <version>1.5.1</version>
			    
			    <configuration>
			    	<skip>${skipDependencyCheck}</skip>
			    	<ignoredResourcePatterns>
			    		<ignoredResourcePattern>about.html</ignoredResourcePattern>
			    	</ignoredResourcePatterns>
			    	<ignoredClassPatterns>
			    		<ignoredClassPattern>com\.sun\.activation\.registries\..*</ignoredClassPattern>
			    	</ignoredClassPatterns>
			    	<checkTestClasspath>false</checkTestClasspath>
			    </configuration>
			    
			    <executions>
			    	<execution>
			    		<id>check-classpath</id>
			    		
			    		<goals>
			    			<goal>check</goal>
			    		</goals>
			    	</execution>
			    </executions>
   			</plugin>
   			
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-enforcer-plugin</artifactId>
				<executions>
					<execution>
						<id>enforce-maven</id>
						<goals>
							<goal>enforce</goal>
						</goals>
						<configuration>
							<rules>
								<requireMavenVersion>
									<version>3.6.0</version>
								</requireMavenVersion>
							</rules>
						</configuration>
					</execution>
				</executions>
			</plugin>
    
	        <plugin>
	            <groupId>org.revapi</groupId>
	            <artifactId>revapi-maven-plugin</artifactId>
	            <version>0.15.0</version>
	            <dependencies>
	                <dependency>
	                    <groupId>org.revapi</groupId>
	                    <artifactId>revapi-java</artifactId>
	                    <version>0.26.1</version>
	                </dependency>
	            </dependencies>
	            
                <configuration>
                	<failBuildOnProblemsFound>false</failBuildOnProblemsFound>

                	<!-- No compare, just consistency checks. -->
                	<oldVersion>${tl.version}</oldVersion>
					
                    <analysisConfiguration>
						<revapi.filter>
							<elements>
								<exclude>
									<item>
										<matcher>java</matcher>
										<match>@com.top_logic.basic.annotation.FrameworkInternal ^*;</match>
									</item>
									<item>
										<matcher>java</matcher>
										<match>
											match %field | %method;

											@com.top_logic.basic.annotation.FrameworkInternal
											type * {
												* %field=*;
												* %method=*(**);
											}
										</match>
									</item>
								</exclude>
							</elements>
						</revapi.filter>                    
                        <revapi.differences>
                            <differences>
                                <item>
                                    <regex>true</regex>
                                    <ignore>true</ignore>
                                    <code>java.class.externalClassExposedInAPI</code>
                                    <newArchive>.*:.*:.*</newArchive>
                                    <justification>
                                        Don't care about exposing external APIs.
                                    </justification>
                                </item>
                                <item>
                                    <regex>true</regex>
                                    <ignore>true</ignore>
                                    <code>java.class.nonPublicPartOfAPI</code>
                                    <newArchive>(?!com\.top-logic).*:.*:.*</newArchive>
                                    <justification>
                                        Don't care about exposing non-public API, if the problem is in an external dependency.
                                    </justification>
                                </item>
                                <item>
                                    <regex>true</regex>
                                    <ignore>true</ignore>
                                    <code>java.class.nonPublicPartOfAPI</code>
                                    <new>.*\.PackageProtected|.*\.Unimplementable</new>
                                    <justification>
                                        Here a non-public type is used explicitly to prevent direct usage from outside.
                                    </justification>
                                </item>
                            </differences>
                        </revapi.differences>
                    </analysisConfiguration>
                </configuration>
	        </plugin>
		</plugins>

		<pluginManagement>
			<plugins>
				<plugin>
					<artifactId>maven-clean-plugin</artifactId>
					<version>3.2.0</version>
				</plugin>
				<!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_maven-plugin_packaging -->
				<plugin>
					<artifactId>maven-resources-plugin</artifactId>
					<version>3.3.0</version>
				</plugin>
				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.11.0</version>
				</plugin>
				<plugin>
					<artifactId>maven-plugin-plugin</artifactId>
					<version>3.8.1</version>
				</plugin>
				<plugin>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>2.22.2</version>
				</plugin>
				<plugin>
					<artifactId>maven-jar-plugin</artifactId>
					<version>3.3.0</version>
				</plugin>
				<plugin>
					<artifactId>maven-install-plugin</artifactId>
					<version>3.1.0</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>exec-maven-plugin</artifactId>
					<version>3.1.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-site-plugin</artifactId>
					<version>3.12.1</version>
				</plugin>
				<plugin>
					<artifactId>maven-deploy-plugin</artifactId>
					<version>3.0.0</version>
				</plugin>
				<plugin>
					<artifactId>maven-invoker-plugin</artifactId>
					<version>3.5.0</version>
				</plugin>
		  		<plugin>
		  			<groupId>org.codehaus.mojo</groupId>
		  			<artifactId>license-maven-plugin</artifactId>
		  			<version>2.0.0</version>
		  		</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>3.3.1</version>
				</plugin>
		        <plugin>
		            <groupId>org.apache.maven.plugins</groupId>
		            <artifactId>maven-assembly-plugin</artifactId>
		            <version>3.4.2</version>
		        </plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-enforcer-plugin</artifactId>
					<version>3.1.0</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>versions-maven-plugin</artifactId>
					<version>2.15.0</version>
				</plugin>
				<plugin>
					<groupId>org.vafer</groupId>
					<artifactId>jdeb</artifactId>
					<version>1.10</version>
				</plugin>
				<plugin>
					<groupId>net.lopht.maven-plugins</groupId>
					<artifactId>upload-maven-plugin</artifactId>
					<version>0.6.0</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-war-plugin</artifactId>
					<version>3.3.2</version>
				</plugin>
				
				<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
				<plugin>
					<groupId>org.eclipse.m2e</groupId>
					<artifactId>lifecycle-mapping</artifactId>
					<version>1.0.0</version>
					<configuration>
						<lifecycleMappingMetadata>
							<pluginExecutions>
								<pluginExecution>
									<pluginExecutionFilter>
										<groupId>
											org.apache.maven.plugins
										</groupId>
										<artifactId>
											maven-enforcer-plugin
										</artifactId>
										<versionRange>
											[3.2.1,)
										</versionRange>
										<goals>
											<goal>enforce</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>
</project>
