<?xml version="1.0" encoding="UTF-8"?>

<!-- ===========================================================================
// Copyright (c) Siegfried Steiner, Munich, Germany
// =============================================================================
// This software is dual-licensed under the following licenses:
//
// 1) GNU Lesser General Public License, version 3.0 or later (LGPL-3.0+)
// https://www.gnu.org/licenses/lgpl-3.0.html
//
// You may use this library in proprietary or open-source software.
// Modifications to this library itself must be released under the same
// license and must retain proper attribution to the original author.
//
// OR
//
// 2) Apache License, version 2.0
// https://www.apache.org/licenses/LICENSE-2.0
//
// You may use, modify, and distribute this software under the terms of
// the Apache License, provided that the NOTICE file and copyright
// statements are retained.
//
// This software is provided "AS IS", WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied.
//
// For licensing questions, alternative licensing, or commercial arrangements,
// please contact the copyright holder.
// =============================================================================
// SPDX-License-Identifier: LGPL-3.0-or-later OR Apache-2.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>

	<!-- /////////////////////////////////////////////////////////////////// -->
	<!-- ARTIFACT                                                            -->
	<!-- /////////////////////////////////////////////////////////////////// -->

	<parent>
		<groupId>org.refcodes</groupId>
		<artifactId>refcodes-struct-ext</artifactId>
		<version>4.1.1</version>
	</parent>

	<artifactId>refcodes-struct-ext-factory</artifactId>
	<name>${project.groupId}:${project.artifactId}</name>
	<packaging>jar</packaging>

	<!-- /////////////////////////////////////////////////////////////////// -->
	<!-- META-DATA                                                           -->
	<!-- /////////////////////////////////////////////////////////////////// -->
	
	<url>https://bitbucket.org/refcodes/${project.parent.artifactId}</url>
	<description>
		Artifact for providing factory based extended functionality for the
		refcodes-struct artifact.
	</description>
	
	<!-- /////////////////////////////////////////////////////////////////// -->
	<!-- LICENSES                                                            -->
	<!-- /////////////////////////////////////////////////////////////////// -->

	<licenses>
		<license>
			<name>GNU Lesser General Public License, version 3.0 or later</name>
			<url>https://www.gnu.org/licenses/lgpl-3.0.html</url>
			<distribution>repo</distribution>
			<comments>
				This project is dual-licensed. You may choose to use it under
				the terms of the LGPL v3.0 or later, or alternatively under the
				Apache License v2.0.
			</comments>
		</license>
		<license>
			<name>Apache License, Version 2.0</name>
			<url>https://www.apache.org/licenses/LICENSE-2.0</url>
			<distribution>repo</distribution>
			<comments>
				This project is dual-licensed. You may choose to use it under
				the terms of the Apache License v2.0, or alternatively under the
				LGPL v3.0 or later.
			</comments>
		</license>
	</licenses>

	<!-- /////////////////////////////////////////////////////////////////// -->
	<!-- DEVELOPERS                                                          -->
	<!-- /////////////////////////////////////////////////////////////////// -->

	<developers>
		<developer>
			<name>Siegfried Steiner</name>
			<email>steiner@refcodes.org</email>
			<url>http://www.refcodes.org</url>
		</developer>
	</developers>
	
	<!-- /////////////////////////////////////////////////////////////////// -->
	<!-- SCM                                                                 -->
	<!-- /////////////////////////////////////////////////////////////////// -->

	<scm>
		<connection>scm:git:git@bitbucket.org:refcodes/${project.parent.artifactId}.git</connection>
		<developerConnection>scm:git:git@bitbucket.org:refcodes/${project.parent.artifactId}.git</developerConnection>
		<url>https://bitbucket.org/refcodes/${project.parent.artifactId}</url>
	</scm>

	<!-- /////////////////////////////////////////////////////////////////// -->
	<!-- DEPENDENCIES                                                        -->
	<!-- /////////////////////////////////////////////////////////////////// -->

	<dependencies>
		<dependency>
			<groupId>org.refcodes</groupId>
			<artifactId>refcodes-factory</artifactId>
		</dependency>
		<dependency>
			<groupId>org.refcodes</groupId>
			<artifactId>refcodes-runtime</artifactId>
		</dependency>
		<dependency>
		    <groupId>com.fasterxml.jackson.core</groupId>
		    <artifactId>jackson-core</artifactId>
		</dependency>
		<dependency>
    		<groupId>com.fasterxml.jackson.core</groupId>
		    <artifactId>jackson-databind</artifactId>
		</dependency>
		<dependency>
			<groupId>com.fasterxml.jackson.dataformat</groupId>
			<artifactId>jackson-dataformat-yaml</artifactId>
		</dependency>
		<!-- Fixes jackson-dataformat-yaml security vulerability -->
		<!--
			<dependency>
			    <groupId>org.yaml</groupId>
			    <artifactId>snakeyaml</artifactId>
			</dependency>
		-->
		<dependency>
			<groupId>jakarta.activation</groupId>
			<artifactId>jakarta.activation-api</artifactId>
		</dependency>
		<dependency>
			<groupId>org.jsoup</groupId>
			<artifactId>jsoup</artifactId>
		</dependency>
		<!-- 
			<dependency>
				<groupId>org.json</groupId>
				<artifactId>json</artifactId>
			</dependency>
			<dependency>
				<groupId>com.fasterxml.jackson.dataformat</groupId>
				<artifactId>jackson-dataformat-xml</artifactId>
			</dependency>
		 
			<dependency>
			    <groupId>com.fasterxml.jackson.module</groupId>
			    <artifactId>jackson-module-jaxb-annotations</artifactId>
			</dependency>
		 -->
	</dependencies>

	<!-- /////////////////////////////////////////////////////////////////// -->
	<!-- BUILD                                                               -->
	<!-- /////////////////////////////////////////////////////////////////// -->

	<build>
		<plugins>
			<plugin>
				<artifactId>maven-surefire-plugin</artifactId>
				<configuration>
					<includes>
						<include>**/*Test.java</include>
					</includes>
				</configuration>
			</plugin>
		</plugins>
	</build>

	<!-- /////////////////////////////////////////////////////////////////// -->
	<!-- PROFILES                                                            -->
	<!-- /////////////////////////////////////////////////////////////////// -->
	
	<profiles>
		<!-- module-info.java -->
		<profile>
			<id>module-info</id>
			<build>
				<plugins>
					<plugin>
						<groupId>org.moditect</groupId>
						<artifactId>moditect-maven-plugin</artifactId>
						<executions>
							<execution>
								<id>add-module-infos</id>
								<phase>package</phase>
								<goals>
									<goal>add-module-info</goal>
								</goals>
								<configuration>
									<jvmVersion>9</jvmVersion>
									<module>
										<moduleInfo>
											<exports>*;</exports>
										</moduleInfo>
									</module>
								</configuration>
							</execution>
						</executions>
					</plugin> 
				</plugins>
			</build>
		</profile>
	</profiles>
</project>
