summaryrefslogtreecommitdiff
path: root/pom.xml
blob: e3ae2784e70988ed173737a92b24f38edfc08669 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<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.reasm</groupId>
  <artifactId>reasm-batch</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>

  <name>reasm-batch</name>
  <url>https://github.com/reasm/reasm-batch</url>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <build>
    <plugins>
      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.5</version>
        <configuration>
          <archive>
            <manifest>
              <mainClass>org.reasm.batch.Assembler</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.3</version>
        <configuration>
          <artifactSet>
            <excludes>
              <exclude>junit:*</exclude>
              <exclude>org.hamcrest:*</exclude>
            </excludes>
          </artifactSet>

          <!-- minimizeJar doesn't work too well for us, -->
          <!-- because the language-specific assemblers are not referenced statically -->
          <!-- (they're loaded with ServiceLoader). -->
          <!-- We can specify classes to include explicitly, -->
          <!-- but then the classes that they reference will be discarded -->
          <!-- if they're not used statically by reasm-batch. -->
          <!-- <minimizeJar>true</minimizeJar> -->

          <transformers>
            <!-- Prevent duplication of licenses in META-INF -->
            <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer" />

            <!-- Merge META-INF/NOTICE* files -->
            <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
              <addHeader>false</addHeader>
            </transformer>

            <!-- Merge services resources (META-INF/services/*). -->
            <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
          </transformers>
        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.reasm</groupId>
      <artifactId>reasm-core</artifactId>
      <version>0.0.1-SNAPSHOT</version>
    </dependency>
    <dependency>
      <groupId>org.reasm</groupId>
      <artifactId>reasm-m68k</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.reasm</groupId>
      <artifactId>reasm-z80</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <optional>true</optional>
    </dependency>
  </dependencies>
</project>