<?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>cz.vutbr.fit.layout</groupId>
	<artifactId>fitlayout</artifactId>
	<version>2.0.2</version>
	<packaging>pom</packaging>

	<name>FitLayout</name>
	<description>
		An extensible web page segmentation and analysis framework.
	</description>
	<url>https://github.com/FitLayout/FitLayout</url>

	<licenses>
		<license>
			<name>GNU Lesser General Public License 3.0</name>
			<url>http://www.gnu.org/licenses/lgpl-3.0.txt</url>
			<distribution>repo</distribution>
		</license>
	</licenses>

	<developers>
		<developer>
			<name>Radek Burget</name>
			<roles>
				<role>Main developer &amp; project leader</role>
			</roles>
		</developer>
	</developers>

	<scm>
		<url>https://github.com/FitLayout/FitLayout</url>
		<connection>scm:git:git@github.com:FitLayout/FitLayout.git</connection>
		<developerConnection>scm:git:git@github.com:FitLayout/FitLayout.git</developerConnection>
		<tag>fitlayout-2.0.2</tag>
	</scm>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<rdf4j.version>3.7.3</rdf4j.version>
	</properties>

	<modules>
		<module>fitlayout-core</module>
		<module>fitlayout-render-cssbox</module>
		<module>fitlayout-segm-base</module>
		<module>fitlayout-tools</module>
		<module>fitlayout-storage-rdf</module>
		<module>fitlayout-render-puppeteer</module>
		<module>fitlayout-segm-vips</module>
		<module>fitlayout-io</module>
		<module>fitlayout-segm-bcs</module>
		<module>fitlayout-text</module>
		<module>fitlayout-patterns</module>
		<module>all</module>
		<!-- for maven Central deployment it is important that bom is the last module -->
		<module>bom</module>
	</modules>

	<build>
		<plugins>
			<plugin>
				<groupId>org.sonatype.plugins</groupId>
				<artifactId>nexus-staging-maven-plugin</artifactId>
				<extensions>true</extensions>
				<configuration>
					<serverId>ossrh</serverId>
					<nexusUrl>https://oss.sonatype.org/</nexusUrl>
					<autoReleaseAfterClose>true</autoReleaseAfterClose>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-javadoc-plugin</artifactId>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<plugin>
					<artifactId>maven-compiler-plugin</artifactId>
					<version>3.8.1</version>
					<configuration>
						<release>11</release>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-release-plugin</artifactId>
					<version>3.0.0-M4</version>
					<configuration>
						<autoVersionSubmodules>true</autoVersionSubmodules>
						<commitByProject>true</commitByProject>
						<useReleaseProfile>false</useReleaseProfile>
						<releaseProfiles>release</releaseProfiles>
						<goals>deploy</goals>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-javadoc-plugin</artifactId>
					<version>3.3.1</version>
					<configuration>
					</configuration>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-source-plugin</artifactId>
					<version>3.2.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-gpg-plugin</artifactId>
					<version>3.0.1</version>
				</plugin>
				<plugin>
					<groupId>org.apache.maven.plugins</groupId>
					<artifactId>maven-shade-plugin</artifactId>
					<version>3.2.4</version>
				</plugin>
				<plugin>
					<groupId>org.sonatype.plugins</groupId>
					<artifactId>nexus-staging-maven-plugin</artifactId>
					<version>1.6.8</version>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>cz.vutbr.fit.layout</groupId>
				<artifactId>fitlayout-core</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cz.vutbr.fit.layout</groupId>
				<artifactId>fitlayout-io</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cz.vutbr.fit.layout</groupId>
				<artifactId>fitlayout-render-cssbox</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cz.vutbr.fit.layout</groupId>
				<artifactId>fitlayout-render-puppeteer</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cz.vutbr.fit.layout</groupId>
				<artifactId>fitlayout-segm-base</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cz.vutbr.fit.layout</groupId>
				<artifactId>fitlayout-segm-vips</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cz.vutbr.fit.layout</groupId>
				<artifactId>fitlayout-segm-bcs</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cz.vutbr.fit.layout</groupId>
				<artifactId>fitlayout-storage-rdf</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cz.vutbr.fit.layout</groupId>
				<artifactId>fitlayout-tools</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cz.vutbr.fit.layout</groupId>
				<artifactId>fitlayout-text</artifactId>
				<version>${project.version}</version>
			</dependency>
			<dependency>
				<groupId>cz.vutbr.fit.layout</groupId>
				<artifactId>fitlayout-patterns</artifactId>
				<version>${project.version}</version>
			</dependency>

			<dependency>
				<groupId>org.slf4j</groupId>
				<artifactId>slf4j-api</artifactId>
				<version>1.7.32</version>
			</dependency>
			<dependency>
				<groupId>ch.qos.logback</groupId>
				<artifactId>logback-classic</artifactId>
				<version>1.2.6</version>
			</dependency>
			<dependency>
				<groupId>com.google.code.gson</groupId>
				<artifactId>gson</artifactId>
				<version>2.8.8</version>
			</dependency>
			<dependency>
				<groupId>org.unbescape</groupId>
				<artifactId>unbescape</artifactId>
				<version>1.1.6.RELEASE</version>
			</dependency>
			<dependency>
				<groupId>org.eclipse.rdf4j</groupId>
				<artifactId>rdf4j-bom</artifactId>
				<version>${rdf4j.version}</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
			
			<dependency>
				<groupId>junit</groupId>
				<artifactId>junit</artifactId>
				<version>4.13.2</version>
				<scope>test</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<profiles>
		<profile>
			<id>release</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<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>
						<executions>
							<execution>
								<id>attach-javadocs</id>
								<goals>
									<goal>jar</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
		<profile>
			<id>assembly</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-source-plugin</artifactId>
						<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>
						<executions>
							<execution>
								<id>create-aggregate-javadoc</id>
								<inherited>false</inherited>
								<phase>package</phase>
								<goals>
									<goal>aggregate</goal>
								</goals>
								<configuration>
									<doctitle>FitLayout ${project.version} API</doctitle>
									<windowtitle>FitLayout ${project.version} API</windowtitle>
									<groups>
										<group>
											<title>Rendered document model (artifacts)</title>
											<packages>cz.vutbr.fit.layout.model*</packages>
										</group>
										<group>
											<title>FitLayout API</title>
											<packages>cz.vutbr.fit.layout.api:cz.vutbr.fit.layout.impl:cz.vutbr.fit.layout.ontology:cz.vutbr.fit.layout.provider</packages>
										</group>
										<group>
											<title>Page rendering</title>
											<packages>cz.vutbr.fit.layout.cssbox*:cz.vutbr.fit.layout.puppeteer*</packages>
										</group>
										<group>
											<title>Page segmentation</title>
											<packages>cz.vutbr.fit.layout.bcs*:cz.vutbr.fit.layout.segm*:cz.vutbr.fit.layout.vips*</packages>
										</group>
										<group>
											<title>RDF serialization and storage</title>
											<packages>cz.vutbr.fit.layout.rdf*</packages>
										</group>
										<group>
											<title>Artifact I/O</title>
											<packages>cz.vutbr.fit.layout.io</packages>
										</group>
										<group>
											<title>Text extraction</title>
											<packages>cz.vutbr.fit.layout.text*</packages>
										</group>
										<group>
											<title>Tools</title>
											<packages>cz.vutbr.fit.layout.console*:cz.vutbr.fit.layout.tools*</packages>
										</group>
									</groups>
									<links>
										<link>https://docs.oracle.com/en/java/javase/11/docs/api/</link>
									</links>
									<excludePackageNames />
								</configuration>
							</execution>
						</executions>
						<configuration>
							<encoding>utf8</encoding>
							<source>11</source>
							<additionalparam>${javadoc.opts}</additionalparam>
						</configuration>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<site>
			<id>fitlayout.github.io</id>
			<url>http://fitlayout.github.io</url>
		</site>
	</distributionManagement>

</project>
