<?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.8.0-SNAPSHOT</version>
		<relativePath>../</relativePath>
	</parent>
	<packaging>maven-plugin</packaging>

	<dependencies>
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-plugin-api</artifactId>
			<version>3.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.maven</groupId>
			<artifactId>maven-project</artifactId>
			<version>3.0-alpha-2</version>
		</dependency>
		<dependency>
			<groupId>org.twdata.maven</groupId>
			<artifactId>mojo-executor</artifactId>
			<version>2.0</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.5</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.6.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-plugin-plugin</artifactId>
				<version>2.3</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>
