<?xml version="1.0" encoding="UTF-8"?>
<!--
  (c) Copyright 2013 l33t labs LLC and others.
  All rights reserved. This program and the accompanying materials
  are made available under the terms of the Eclipse Distribution License v1.0
  which accompanies this distribution, and is available at
  http://www.eclipse.org/org/documents/edl-v10.php

  Contributors:
     Tony McCrary - initial implementation
-->
<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>org.eclipse.images</groupId>
	<artifactId>org.eclipse.images.renderer</artifactId>
	<version>1.0.100-SNAPSHOT</version>
	<name>Eclipse Images SVG Renderer Plugin</name>
	<parent>
		<artifactId>org.eclipse.images.parent</artifactId>
		<groupId>eclipse.images</groupId>
		<version>4.23.0-SNAPSHOT</version>
		<relativePath>../</relativePath>
	</parent>
	<packaging>maven-plugin</packaging>

	<dependencies>
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-plugin-api</artifactId>
			<version>3.8.4</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-core</artifactId>
			<version>3.8.4</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.twdata.maven</groupId>
			<artifactId>mojo-executor</artifactId>
			<version>2.3.2</version>
		</dependency>
		<!--
			Image Filtering Library
			License: Apache License, Version 2.0
			http://www.jhlabs.com/ip/filters/
		-->
		<dependency>
			<groupId>com.jhlabs</groupId>
			<artifactId>filters</artifactId>
			<version>2.0.235-1</version>
		</dependency>
		<!--
			Advanced Image Scaling Library
			License: New BSD License
			https://code.google.com/p/java-image-scaling/
		-->
		<dependency>
			<groupId>com.mortennobel</groupId>
			<artifactId>java-image-scaling</artifactId>
			<version>0.8.6</version>
		</dependency>
		<!--
			Batik SVG Rendering Library
			License: Apache License, Version 2.0
			http://xmlgraphics.apache.org/batik/
		-->
		<dependency>
			<groupId>org.apache.xmlgraphics</groupId>
			<artifactId>batik-rasterizer</artifactId>
			<version>1.7</version>
		</dependency>
		<dependency>
			<groupId>org.apache.xmlgraphics</groupId>
			<artifactId>batik-codec</artifactId>
			<version>1.7</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
		<!--
			Setup Java 1.8 output
		-->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.9.0</version>
				<configuration>
					<source>11</source>
					<target>11</target>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-plugin-plugin</artifactId>
				<version>3.6.4</version>
				<configuration>
					<goalPrefix>eclipse-images-renderer</goalPrefix>
				</configuration>
			</plugin>
		</plugins>
		<pluginManagement>
			<plugins>
				<!--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-plugin-plugin
										</artifactId>
										<versionRange>
											[2.3,)
										</versionRange>
										<goals>
											<goal>descriptor</goal>
										</goals>
									</pluginExecutionFilter>
									<action>
										<ignore></ignore>
									</action>
								</pluginExecution>
							</pluginExecutions>
						</lifecycleMappingMetadata>
					</configuration>
				</plugin>
			</plugins>
		</pluginManagement>
	</build>

</project>
