<!-- Copyright IBM Licensed under the Apache License, Version 2.0 (the "License"); 
	you may not use this file except in compliance with the License. You may 
	obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 
	Unless required by applicable law or agreed to in writing, software distributed 
	under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES 
	OR CONDITIONS OF ANY KIND, either express or implied. See the License for 
	the specific language governing permissions and limitations under the License. -->
<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.ibm.ai.systemt</groupId>
	<artifactId>systemT</artifactId>
	<version>5.0.2</version>
	<packaging>pom</packaging>
	<name>SystemT Runtime Project</name>
	<description>SystemT is a language and runtime engine for developing Natural Language Processing algorithms. 
	The primary language used by the engine is AQL (Annotation Query Language).
  	</description>
  	<url>https://github.com/IBM/SystemT</url>
	<licenses>
  		<license>
    		<name>The Apache License, Version 2.0</name>
    		<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
  		</license>
	</licenses>
	<developers>
    	<developer>
      		<name>Zac Branson</name>
      		<email>zac.branson@ibm.com</email>
      		<organization>IBM</organization>
    	</developer>
  	</developers>
  	<scm>
  		<connection>scm:git:git://github.com/IBM/SystemT.git</connection>
  		<developerConnection>scm:git:ssh//git@github.com:IBM/SystemT.git</developerConnection>
  		<url>https://github.com/IBM/SystemT</url> 
	</scm>
	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>

		<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss z</maven.build.timestamp.format>

		<maven.antrun.plugin.version>3.1.0</maven.antrun.plugin.version>
		<maven.assembly.plugin.version>3.7.1</maven.assembly.plugin.version>
		<maven.build.helper.plugin.version>3.6.1</maven.build.helper.plugin.version>
		<maven.clean.plugin.version>3.5.0</maven.clean.plugin.version>
		<maven.compiler.plugin.version>3.14.0</maven.compiler.plugin.version>
		<maven.resources.plugin.version>3.3.1</maven.resources.plugin.version>
		<maven.exec.plugin.version>3.5.1</maven.exec.plugin.version>
		<maven.failsafe.plugin.version>3.5.3</maven.failsafe.plugin.version>
		<maven.findbugs.plugin.version>2.5.5</maven.findbugs.plugin.version>
		<maven.jar.plugin.version>3.4.2</maven.jar.plugin.version>
		<maven.javacc.plugin.version>2.6</maven.javacc.plugin.version>
		<maven.javadoc.plugin.version>3.11.3</maven.javadoc.plugin.version>
		<maven.surefire.plugin.version>3.5.4</maven.surefire.plugin.version>
		<maven.truezip.plugin.version>1.2</maven.truezip.plugin.version>
		<maven.versions.plugin.version>2.4</maven.versions.plugin.version>
		<maven.nexus.plugin.version>1.7.0</maven.nexus.plugin.version>
		<maven.gpg.plugin.version>3.2.8</maven.gpg.plugin.version>
		<maven.source.plugin.version>3.3.1</maven.source.plugin.version>
		<maven.release.plugin.version>3.1.1</maven.release.plugin.version>
		<!-- Junit tests -->
		<junit.version>4.13.2</junit.version>
		<junit.addons.version>1.4</junit.addons.version>

		<!-- SystemT runtime -->

		<!-- JPMML library for scoring machine learning models -->
		<pmml.version>1.0.22</pmml.version>

		<!-- Doc readers -->
		<xercesimpl.version>2.12.2</xercesimpl.version>
		<ant.version>1.10.15</ant.version>

		<!-- External tables -->
		<opencsv.version>5.12.0</opencsv.version>

		<!-- Hadoop -->
		<commons.logging.version>1.3.5</commons.logging.version>
		<guava.version>33.4.8-jre</guava.version>
		<commons.configuration.version>1.10</commons.configuration.version>
		<slf4j.version>1.7.36</slf4j.version>
		<log4j.version>2.25.1</log4j.version>

		<!-- Detagging support -->
		<htmldetagger.version>2.1</htmldetagger.version>

		<!-- Other -->
		<hamcrest.core.version>1.3</hamcrest.core.version>
		<woodstox.core.asl.version>4.4.0</woodstox.core.asl.version>

		<!-- Annotation Service Core -->
		<commons.io.version>2.20.0</commons.io.version>
		<commons.lang.version>3.18.0</commons.lang.version>
		<jackson.version>2.20.1</jackson.version>
	</properties>

	<modules>
		<module>simple-regex</module>
		<module>system-t-runtime</module>
		<module>rbr-annotation-service-core</module>
	</modules>

	<build>

		<pluginManagement>
			<plugins>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>javacc-maven-plugin</artifactId>
					<version>${maven.javacc.plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-clean-plugin</artifactId>
					<version>${maven.clean.plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>${maven.compiler.plugin.version}</version>
					<configuration>
						<source>${java.version}</source>
						<target>${java.version}</target>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-resources-plugin</artifactId>
					<version>${maven.resources.plugin.version}</version>
					<configuration>
						<source>${java.version}</source>
						<target>${java.version}</target>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-surefire-plugin</artifactId>
					<version>${maven.surefire.plugin.version}</version>
					<configuration>
						<source>${java.version}</source>
						<target>${java.version}</target>
						<!-- Specifying the encoding like this does not work -->
						<encoding>UTF-8</encoding>
						<!-- Specifying the encoding like this does work -->
						<argLine>-Dfile.encoding=UTF-8</argLine>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>exec-maven-plugin</artifactId>
					<version>${maven.exec.plugin.version}</version>
					<configuration>
						<source>${java.version}</source>
						<target>${java.version}</target>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-assembly-plugin</artifactId>
					<version>${maven.assembly.plugin.version}</version>
					<configuration>
						<archive>
							<manifestEntries>
								<Build-Time>${maven.build.timestamp}</Build-Time>
								<version>${project.version}</version>
							</manifestEntries>
						</archive>
					</configuration>
				</plugin>
				<plugin>
					<artifactId>maven-antrun-plugin</artifactId>
					<version>${maven.antrun.plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>build-helper-maven-plugin</artifactId>
					<version>${maven.build.helper.plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-failsafe-plugin</artifactId>
					<version>${maven.failsafe.plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-jar-plugin</artifactId>
					<version>${maven.jar.plugin.version}</version>
					<configuration>
						<source>${java.version}</source>
						<target>${java.version}</target>
						<archive>
							<addMavenDescriptor>false</addMavenDescriptor>
							<index>false</index>
							<manifest>
								<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
								<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
							</manifest>
							<manifestEntries>
								<Build-Time>${maven.build.timestamp}</Build-Time>
								<version>${project.version}</version>
							</manifestEntries>
						</archive>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>truezip-maven-plugin</artifactId>
					<version>${maven.truezip.plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>findbugs-maven-plugin</artifactId>
					<version>${maven.findbugs.plugin.version}</version>
				</plugin>
				<plugin>
					<groupId>org.codehaus.mojo</groupId>
					<artifactId>versions-maven-plugin</artifactId>
					<version>${maven.versions.plugin.version}</version>
				</plugin>
                <plugin>
                	<groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-javadoc-plugin</artifactId>
                    <version>${maven.javadoc.plugin.version}</version>
                </plugin>
			</plugins>
		</pluginManagement>

		<plugins>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>versions-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<executions>
					<execution>
						<id>parse-version</id>
						<goals>
							<goal>parse-version</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-install-plugin</artifactId>
				<version>${maven.versions.plugin.version}</version>
			</plugin>
		    <plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<version>${maven.nexus.plugin.version}</version>
				<extensions>true</extensions>
				<configuration>
					<serverId>ossrh</serverId>
					    <nexusUrl>https://ossrh-staging-api.central.sonatype.com/</nexusUrl>
					    <autoReleaseAfterClose>true</autoReleaseAfterClose>
					</configuration>
		    </plugin>
			<!-- Release Plugin -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-release-plugin</artifactId>
				<version>${maven.release.plugin.version}</version>
				<configuration>
					<autoVersionSubmodules>true</autoVersionSubmodules>	
					<releaseProfiles>release</releaseProfiles>
					<goals>deploy</goals>
				</configuration>
			</plugin>
		</plugins>

	</build>
	<profiles>
		<profile>
		    <id>deploy</id>
		    <build>
		    	<plugins>
		    		<plugin>
		      			<groupId>org.apache.maven.plugins</groupId>
		      			<artifactId>maven-gpg-plugin</artifactId>
		      			<version>${maven.gpg.plugin.version}</version>
		      			<executions>
			        		<execution>
			          			<id>sign-artifacts</id>
			          			<phase>verify</phase>
			          			<goals>
			            			<goal>sign</goal>
			          			</goals>
		        			</execution>
		      			</executions>
		   			</plugin>
				    <plugin>
						<groupId>org.apache.maven.plugins</groupId>
					    <artifactId>maven-source-plugin</artifactId>
					    <version>${maven.source.plugin.version}</version>
					    <executions>
					    	<execution>
					        	<id>attach-sources</id>
					          	<goals>
					            	<goal>jar-no-fork</goal>
					          	</goals>
					        </execution>
					    </executions>
				    </plugin>
				    <plugin>
				    	<groupId>org.apache.maven.plugins</groupId>
				      	<artifactId>maven-javadoc-plugin</artifactId>
				      	<version>${maven.javadoc.plugin.version}</version>
				      	<configuration>
				      		<doclint>none</doclint>
				      	</configuration>
				      	<executions>
				        	<execution>
				          		<id>attach-javadocs</id>
				          		<goals>
				            		<goal>jar</goal>
				          		</goals>
				       		 </execution>
				      	</executions>
				  	</plugin>
			  	</plugins>
			</build>
		</profile>
	</profiles>
	<repositories>
		<repository>
			<id>jcenter</id>
			<url>https://jcenter.bintray.com </url>
			<snapshots>
				<enabled>true</enabled>
				<updatePolicy>never</updatePolicy>
				<checksumPolicy>warn</checksumPolicy>
			</snapshots>
			<releases>
				<enabled>true</enabled>
				<checksumPolicy>warn</checksumPolicy>
			</releases>
		</repository>
	</repositories>
	<pluginRepositories>
		<pluginRepository>
			<id>jcenter</id>
			<name>jcenter</name>
			<url>https://jcenter.bintray.com</url>
		</pluginRepository>
	</pluginRepositories>
	<distributionManagement>
		<repository>
    		<id>ossrh</id>
    		<url>https://ossrh-staging-api.central.sonatype.com/service/local/staging/deploy/maven2/</url>
  		</repository>
		<snapshotRepository>
	    	<id>ossrh</id>
	    	<url>https://ossrh-staging-api.central.sonatype.com/content/repositories/snapshots</url>
	    </snapshotRepository>
	</distributionManagement>
</project>
