Commit 953832fe authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+ ls build (fatjar), ls dependencies

parent c4212a20
Loading
Loading
Loading
Loading
+179 −1
Original line number Diff line number Diff line
@@ -16,4 +16,182 @@

	<name>TDLtx Brace-Based Textual Syntax IDE</name>

    <dependencies>
		<dependency>
			<groupId>ch.qos.reload4j</groupId>
			<artifactId>reload4j</artifactId>
            <version>1.2.25</version>
		</dependency>
		<dependency>
			<groupId>org.eclipse.lsp4j</groupId>
			<artifactId>org.eclipse.lsp4j</artifactId>
            <version>0.22.0</version>
		</dependency>
		<dependency>
			<groupId>org.ow2.asm</groupId>
			<artifactId>asm</artifactId>
            <version>9.6</version>
		</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.5.0</version>
				<executions>
					<execution>
						<id>copy-dependencies</id>
						<phase>package</phase>
						<goals>
							<goal>copy-dependencies</goal>
						</goals>
						<configuration>
							<excludeGroupIds>p2.eclipse-feature</excludeGroupIds>
							<outputDirectory>${project.build.directory}/libs</outputDirectory>
							<overWriteReleases>false</overWriteReleases>
							<overWriteSnapshots>false</overWriteSnapshots>
							<overWriteIfNewer>true</overWriteIfNewer>
							<!-- 
                                Exclude transitive? Reference says true, but prototype says false
                                <excludeTransitive>true</excludeTransitive>
                             -->
                            <excludeTransitive>false</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,
                                <!-- 
                                    Include runtime? (Reference yes, prototype no)
                                    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,
							</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.4.1</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>
						<transformer 
							implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer">
						</transformer>
					</transformers>
					<artifactSet>
						<excludes><!-- avoid duplicate inclusion due to addjars plugin -->
							<exclude>*:org.etsi.mts.tdl.tx.ide-org.eclipse.lsp4j*</exclude>
							<exclude>*:org.etsi.mts.tdl.tx.ide-org.eclipse.xtext.xbase.lib*</exclude>
							<exclude>*:org.etsi.mts.tdl.tx.ide-org.eclipse.xtend.lib*</exclude>
							<exclude>*:org.etsi.mts.tdl.tx.ide-com.google.guava*</exclude>
							<exclude>*:org.etsi.mts.tdl.tx.ide-asm*</exclude>
							<exclude>*:org.etsi.mts.tdl.tx.ide-log4j*</exclude>
							<exclude>*:org.etsi.mts.tdl.tx.ide-reload4j*</exclude>
							<exclude>*:org.etsi.mts.tdl.tx.ide-org.objectweb.asm*</exclude>
							<exclude>*:org.etsi.mts.tdl.tx.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>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>