<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>
	<parent>
		<groupId>com.minres.rdl</groupId>
		<artifactId>com.minres.rdl.parent</artifactId>
		<version>1.0.0-SNAPSHOT</version>
	</parent>
	<artifactId>com.minres.rdl.ide</artifactId>
	<packaging>eclipse-plugin</packaging>

	<dependencies>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
		</dependency>
		<dependency>
			<groupId>org.eclipse.lsp4j</groupId>
			<artifactId>org.eclipse.lsp4j</artifactId>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm</artifactId>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm-commons</artifactId>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm-tree</artifactId>
		</dependency>
	</dependencies>
	<build>
		<plugins>
			<plugin>
				<groupId>org.eclipse.xtend</groupId>
				<artifactId>xtend-maven-plugin</artifactId>
			</plugin>
			<plugin>
				<groupId>org.eclipse.tycho</groupId>
				<artifactId>target-platform-configuration</artifactId>
				<configuration>
					<pomDependencies>consider</pomDependencies>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-dependency-plugin</artifactId>
				<version>3.0.1</version>
				<executions>
					<execution>
						<id>copy-dependencies</id>
						<phase>package</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<outputDirectory>${project.build.directory}/libs</outputDirectory>
							<overWriteReleases>false</overWriteReleases>
							<overWriteSnapshots>false</overWriteSnapshots>
							<overWriteIfNewer>true</overWriteIfNewer>
							<excludeTransitive>true</excludeTransitive>
							<excludeArtifactIds>
								com.ibm.icu,
								org.apache.ant,
								org.apache.commons.lang,
								org.apache.commons.logging,
								org.eclipse.core.commands,
								org.eclipse.core.contenttype,
								org.eclipse.core.expressions,
								org.eclipse.core.filesystem,
								org.eclipse.core.jobs,
								org.eclipse.core.resources,
								org.eclipse.core.runtime,
								org.eclipse.core.variables,
								org.eclipse.debug.core,
								org.eclipse.emf.codegen.ecore,
								org.eclipse.emf.codegen,
								org.eclipse.emf.mwe.core,
								org.eclipse.emf.mwe.utils,
								org.eclipse.emf.mwe2.lib,
								org.eclipse.emf.mwe2.runtime,
								org.eclipse.equinox.app,
								org.eclipse.equinox.preferences,
								org.eclipse.equinox.registry,
								org.eclipse.jdt.core,
								org.eclipse.jdt.debug,
								org.eclipse.jdt.launching,
								org.eclipse.text,
								org.eclipse.xtend.typesystem.emf,
								org.eclipse.xtend,
							</excludeArtifactIds>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>com.googlecode.addjars-maven-plugin</groupId>
				<artifactId>addjars-maven-plugin</artifactId>
				<version>1.0.5</version>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>add-jars</goal>
						</goals>
						<configuration>
							<resources>
								<resource>
									<directory>${project.build.directory}/libs</directory>
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-shade-plugin</artifactId>
				<version>3.0.0</version>
				<configuration>
					<transformers>
						<transformer
							implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
							<mainClass>org.eclipse.xtext.ide.server.ServerLauncher</mainClass>
						</transformer>
						<transformer
							implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
							<resource>plugin.properties</resource>
						</transformer>
					</transformers>
					<artifactSet>
						<excludes><!-- avoid duplicate inclusion due to addjars plugin -->
							<exclude>*:com.minres.rdl.ide-org.eclipse.lsp4j*</exclude>
							<exclude>*:com.minres.rdl.ide-org.eclipse.xtext.xbase.lib*</exclude>
							<exclude>*:com.minres.rdl.ide-org.eclipse.xtend.lib*</exclude>
							<exclude>*:com.minres.rdl.ide-com.google.guava*</exclude>
							<exclude>*:com.minres.rdl.ide-asm*</exclude>
							<exclude>*:com.minres.rdl.ide-log4j*</exclude>
							<exclude>*:com.minres.rdl.ide-org.objectweb.asm*</exclude>
							<exclude>*:com.minres.rdl.ide-org.apache.log4j*</exclude>
						</excludes>
					</artifactSet>
					<filters>
						<filter>
							<artifact>*:*</artifact>
							<excludes>
								<exclude>META-INF/INDEX.LIST</exclude>
								<exclude>META-INF/*.SF</exclude>
								<exclude>META-INF/*.DSA</exclude>
								<exclude>META-INF/*.RSA</exclude>
								<exclude>.options</exclude>
								<exclude>.api_description</exclude>
								<exclude>*.profile</exclude>
								<exclude>*.html</exclude>
								<exclude>about.*</exclude>
								<exclude>about_files/*</exclude>
								<exclude>plugin.xml</exclude>
								<exclude>modeling32.png</exclude>
								<exclude>systembundle.properties</exclude>
								<exclude>profile.list</exclude>
								<exclude>**/*._trace</exclude>
								<exclude>**/*.g</exclude>
								<exclude>**/*.mwe2</exclude>
								<exclude>**/*.xtext</exclude>
							</excludes>
						</filter>
					</filters>
					<shadedArtifactAttached>true</shadedArtifactAttached>
					<shadedClassifierName>ls</shadedClassifierName>
					<minimizeJar>false</minimizeJar>
				</configuration>
				<executions>
					<execution>
						<phase>package</phase>
						<goals>
							<goal>shade</goal>
						</goals>
					</execution>
				</executions>
			</plugin>
		</plugins>
	</build>

</project>
