source: trunk/abcl/pom.xml

Last change on this file was 15588, checked in by Mark Evenson, 5 weeks ago

build: can now use Maven to build

The basic assembly of <file:dist/abcl.jar> now works, although these
aren't completely hooked up to Maven's notion of output artifacts.

TODO:

We aren't really intercepting maven-jar-plugin default-jar goal
correctly, so the resulting <file:build/abcl-1.6.x-SNAPSHOT.jar>
artifact doesn't contain all artifacts. We probably need to correctly
define our resources to Maven, but they are currently expressed as
various Ant properties, so we need to slave the Maven goals to
appropiate Ant tasks?

Maven really wants to create all output under a single directory,
while the Ant recipe puts intermediate artifacts under <file:build/>
and final results in <file:dist/>.

Need to somehow encapsulate the existence of
<file:dist/abcl-contrib.jar> within the <file:contrib/pom.xml> Maven
description, even though its build is part of the Ant abcl.jar task.

File size: 3.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<project
3   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
4   xmlns="http://maven.apache.org/POM/4.0.0"
5   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
6
7  <modelVersion>4.0.0</modelVersion>
8  <parent>
9    <groupId>org.sonatype.oss</groupId>
10    <artifactId>oss-parent</artifactId>
11    <version>6</version>
12  </parent>
13  <groupId>org.abcl</groupId>
14  <artifactId>abcl</artifactId>
15  <version>1.8.1-SNAPSHOT</version>
16  <packaging>jar</packaging>
17  <name>ABCL - Armed Bear Common Lisp</name>
18  <description>Common Lisp implementation running on the JVM</description>
19  <url>http://abcl.org</url>
20  <licenses>
21    <license>
22      <name>GNU General Public License with Classpath exception</name>
23      <url>http://www.gnu.org/software/classpath/license.html</url>
24      <distribution>repo</distribution>
25    </license>
26  </licenses>
27  <scm>
28    <connection>scm:svn:http://abcl.org/svn/trunk/</connection>
29    <developerConnection>scm:svn:svn+ssh://abcl.org/project/armedbear/svn/trunk/</developerConnection>
30    <url>http://abcl.org/trac/browser/trunk/abcl</url>
31  </scm>
32  <developers>
33    <developer>
34      <id>ehu</id>
35      <name>Erik Huelsmann</name>
36      <email>ehuels (at) gmail (dot) com</email>
37    </developer>
38    <developer>
39      <id>easyE</id>
40      <name>Mark Evenson</name>
41      <email>evenson (at) panix (dot) com</email>
42    </developer>
43    <developer>
44      <id>V-ille</id>
45      <name>Ville Voutilainen</name>
46      <email>ville.voutilainen (at) gmail (dot) com</email>
47    </developer>
48    <developer>
49      <id>astalla</id>
50      <name>Alessio Stalla</name>
51      <email>alessiostalla (at) gmail (dot) com</email>
52    </developer>
53    <developer>
54      <id>rudi</id>
55      <name>Rudi Schlatte</name>
56      <email>rudi (at) constantly (dot) at</email>
57    </developer>
58  </developers>
59  <dependencies/>
60  <build>
61    <directory>${project.basedir}/build</directory>
62    <sourceDirectory>${project.basedir}/src</sourceDirectory>
63    <plugins>
64      <plugin>
65  <artifactId>maven-antrun-plugin</artifactId>
66  <version>3.0.0</version>
67  <!-- <https://stackoverflow.com/questions/34713222/wrapping-ant-in-maven-java-home-points-to-the-jre-but-works-with-just-ant> -->
68  <!-- Since tools.jar doesn't exist post-openjdk8, this isn't
69       gonna work everywhere -->
70  <dependencies>
71    <dependency>
72      <groupId>com.sun</groupId>
73      <artifactId>tools</artifactId>
74      <version>1.5.0</version>
75      <scope>system</scope>
76      <systemPath>${java.home}/../lib/tools.jar</systemPath>
77    </dependency>
78  </dependencies>
79  <executions>
80    <execution>
81      <id>clean</id>
82      <phase>clean</phase>
83      <configuration>
84        <target>
85    <ant antfile="build.xml" target="abcl.clean"/>
86        </target>
87      </configuration>
88      <goals>
89        <goal>run</goal>
90      </goals>     
91    </execution>
92    <execution>
93      <id>compile</id>
94      <phase>compile</phase>
95      <configuration>
96        <target>
97    <ant antfile="build.xml" target="abcl.compile"/>
98        </target>
99      </configuration>
100      <goals>
101        <goal>run</goal>
102      </goals>     
103    </execution>
104    <execution>
105      <id>package</id>
106      <phase>package</phase>
107      <configuration>
108        <target>
109    <ant antfile="build.xml" target="abcl.jar"/>
110        </target>
111      </configuration>
112      <goals>
113        <goal>run</goal>
114      </goals>     
115    </execution>
116  </executions>
117      </plugin>
118    </plugins>
119  </build>
120</project>
Note: See TracBrowser for help on using the repository browser.