<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>io.sarl.sdk</groupId>
	<artifactId>api.util</artifactId>
	<version>0.13.0</version>
	<name>API Utilities</name>
	<description>General utilities in the SARL API</description>
	<packaging>jar</packaging>
	<url>http://www.sarl.io</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<manifest.file>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifest.file>
	</properties>

	<dependencies>
		<dependency>
			<groupId>io.sarl.lang</groupId>
			<artifactId>core</artifactId>
		</dependency>
		<dependency>
			<groupId>org.eclipse.platform</groupId>
			<artifactId>org.eclipse.osgi</artifactId>
		</dependency>
		<dependency>
			<groupId>org.arakhne.afc.core</groupId>
			<artifactId>util</artifactId>
		</dependency>
		<dependency>
			<groupId>io.sarl.baseutils</groupId>
			<artifactId>tests.api</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>io.sarl.bom</groupId>
				<artifactId>sarl-sdk-bom</artifactId>
				<version>${project.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			<dependency>
				<groupId>io.sarl.bom</groupId>
				<artifactId>sarl-tests-bom</artifactId>
				<version>${project.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<extensions>
			<extension>
				<groupId>org.apache.maven.wagon</groupId>
				<artifactId>wagon-webdav-jackrabbit</artifactId>
				<version>3.5.3</version>
			</extension>
		</extensions>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.11.0</version>
				<configuration>
					<generatedTestSourcesDirectory>src/java/generated-sources/java</generatedTestSourcesDirectory>
					<source>${sarl-dsl.min.jdk.version}</source>
					<target>${sarl-dsl.min.jdk.version}</target>
					<testSource>${sarl-dsl.min.jdk.version}</testSource>
					<testTarget>${sarl-dsl.min.jdk.version}</testTarget>
					<encoding>${project.build.sourceEncoding}</encoding>
					<showDeprecation>false</showDeprecation>
					<showWarnings>false</showWarnings>
				</configuration>
			</plugin>
			<plugin>
				<groupId>io.sarl.lang</groupId>
				<artifactId>sarl-maven-plugin</artifactId>
				<version>0.13.0</version>
				<!-- Maven extension mechanism seems not working because the plugin is defined in the same project.
				     The different goals must be explicitly provided. -->
				<executions>
					<execution>
						<id>sarl-compiler-init</id>
						<phase>initialize</phase>
						<goals>
							<goal>initialize</goal>
						</goals>
					</execution>
					<execution>
						<id>sarl-compiler-compile</id>
						<phase>compile</phase>
						<goals>
							<goal>compile</goal>
						</goals>
					</execution>
					<execution>
						<id>sarl-compiler-clean</id>
						<phase>clean</phase>
						<goals>
							<goal>clean</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<source>${sarl-dsl.min.jdk.version}</source>
					<encoding>${project.build.sourceEncoding}</encoding>
					<warningsAsErrors>true</warningsAsErrors>
					<generateInlines>true</generateInlines>
					<generateStorageFiles>true</generateStorageFiles>
					<generateTraceFiles>true</generateTraceFiles>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>build-helper-maven-plugin</artifactId>
				<version>3.4.0</version>
				<executions>
					<execution>
						<id>add-source</id>
						<phase>initialize</phase>
						<goals>
							<goal>add-source</goal>
						</goals>
						<configuration>
							<sources>
								<source>src/main/sarl</source>
								<source>src/main/generated-sources/sarl</source>
							</sources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-source-plugin</artifactId>
				<version>3.3.0</version>
				<executions>
					<execution>
						<id>attach-sources</id>
						<phase>verify</phase>
						<goals>
							<goal>jar-no-fork</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>biz.aQute.bnd</groupId>
				<artifactId>bnd-maven-plugin</artifactId>
				<version>6.4.0</version>
				<extensions>true</extensions>
				<executions>
					<execution>
						<id>bundle-manifest</id>
						<phase>process-classes</phase>
						<goals>
							<goal>bnd-process</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<bnd>
						Bundle-SymbolicName: ${project.groupId}.${project.artifactId};singleton:=true
						Automatic-Module-Name: ${project.groupId}.${project.artifactId}
						Bundle-Vendor: ${sarl.vendor}
						Export-Package: io.sarl.api.util.*
					</bnd>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<version>3.3.0</version>
				<configuration>
					<archive>
						<manifestFile>${manifest.file}</manifestFile>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.codehaus.mojo</groupId>
				<artifactId>properties-maven-plugin</artifactId>
				<version>1.1.0</version>
				<executions>
					<execution>
						<id>read-properties</id>
						<phase>initialize</phase>
						<goals>
							<goal>read-project-properties</goal>
						</goals>
					</execution>
				</executions>
				<configuration>
					<urls>
						<url>classpath:/sarl-lang.properties</url>
					</urls>
				</configuration> 
				<dependencies>
					<dependency>
						<groupId>io.sarl.bom</groupId>
						<artifactId>sarl-properties</artifactId>
						<version>${project.version}</version>
					</dependency>
				</dependencies>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>release-tasks</id>
			<activation>
				<property>
					<name>performRelease</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>3.1.0</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-javadoc-plugin</artifactId>
						<version>3.5.0</version>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
						<configuration>
							<docencoding>${project.build.sourceEncoding}</docencoding>
							<encoding>${project.build.sourceEncoding}</encoding>
							<charset>${project.build.sourceEncoding}</charset>
							<show>protected</show>
							<detectJavaApiLink>true</detectJavaApiLink>
							<docfilessubdirs>true</docfilessubdirs>
							<excludePackageNames></excludePackageNames>
							<nohelp>true</nohelp>
							<notree>true</notree>
							<bottom>&lt;small&gt;Copyright &amp;copy; ${sarl.inception.year}-${sarl.last.yearyear} ${sarl.copyrighters}.</bottom>
							<tags>
								<tag>
									<name>mavengroupid</name>
									<placement>pt</placement>
									<head>Maven Group Id:</head>
								</tag>
								<tag>
									<name>mavenartifactid</name>
									<placement>pt</placement>
									<head>Maven Artifact Id:</head>
								</tag>
							</tags>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<distributionManagement>
		<repository>
			<id>io.sarl.maven.upload</id>
			<url>${MAVENSARLIO_URL}</url>
			<name>SARL Maven Repository</name>
		</repository>
		<snapshotRepository>
			<id>io.sarl.maven.upload</id>
			<url>${MAVENSARLIO_URL}</url>
			<name>SARL Maven Repository</name>
		</snapshotRepository>
	</distributionManagement>
	<scm>
		<connection>scm:git:git@github.com:sarl/sarl.git</connection>
		<developerConnection>scm:git:git@github.com:sarl/sarl.git</developerConnection>
		<url>git@github.com:sarl/sarl.git</url>
	</scm>

	<developers>
		<developer>
			<id>sgalland</id>
			<name>St&amp;eacute;phane Galland</name>
			<email>stephane.galland@utbm.fr</email>
			<url>http://www.ciad-lab.fr/stephane_galland</url>
			<organization>Universit&amp;eacute; de Technologie de Belfort-Montb&amp;eacute;liard.</organization>
			<organizationUrl>http://www.ciad-lab.fr</organizationUrl>
			<roles>
				<role>Co-founder</role>
				<role>Architect</role>
				<role>Developer</role>
			</roles>
		</developer>
		<developer>
			<id>ngaud</id>
			<name>Nicolas Gaud</name>
			<email>nicolas.gaud@utbm.fr</email>
			<url>http://www.ciad-lab.fr/nicolas_gaud</url>
			<organization>Universit&amp;eacute; de Technologie de Belfort-Montb&amp;eacute;liard.</organization>
			<organizationUrl>http://www.ciad-lab.fr</organizationUrl>
			<roles>
				<role>Co-founder</role>
				<role>Architect</role>
				<role>Developer</role>
			</roles>
		</developer>
		<developer>
			<id>srodriguez</id>
			<name>Sebastian Rodriguez</name>
			<email>sebastian.rodriguez@rmit.edu.au</email>
			<url>http://www.sebastianrodriguez.com.ar/</url>
			<organization>Royal Melbourne Institute of Technology</organization>
			<organizationUrl>http://www.rmit.edu.au/</organizationUrl>
			<roles>
				<role>Co-founder</role>
				<role>Architect</role>
				<role>Developer</role>
			</roles>
		</developer>
	</developers>

	<licenses>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

</project>
