[jgrapht-users] Maven POM file for JGraphT
Brought to you by:
barak_naveh,
perfecthash
From: Adrian M. <adr...@st...> - 2010-10-25 12:19:08
|
Hey, In response to "jgrapht 0.8.0 in maven" [1], I have created a preliminary version of a POM file that could be used to build the JGraphT project using Maven. The POM file defines the same group and artifact ID as for the version (07.3.) already deployed in a Maven repository. The POM file does not use the Ant build file for the compile and release process, but uses Maven plugins to compile the code and run JUnit tests. The file also uses Maven's dependency mechanisms to include third party libraries, at least where possible. For JGraph I found version 5.13.0.0 in a global Maven repository, e.g. [2], for TouchGraph I did not find a Maven compatible distribution and, therefore, I excluded the corresponding experimental classes from the compile process. In order to be compatible with the release process, this file needs to be put in the SVN trunk and also in any tag created from the trunk. Make sure that the version in the POM file reflects the version in the trunk or tag. For releasing a new version, we could use the Maven distribution mechanism, but for this we would also need a Maven repository where we can upload the binaries to. I have seen some open source projects, where they have created their own Maven repository inside the SVN repository, for instance Any23 [3]. Regards, Adrian [1] https://sourceforge.net/mailarchive/message.php?msg_id=49261D94.20704%40gmail.com [2] http://mvnrepository.com/artifact/jgraph/jgraph/5.13.0.0 [3] http://code.google.com/p/any23/source/browse/ See below the POM file: <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.jgrapht</groupId> <artifactId>jgrapht</artifactId> <version>0.8.2-SNAPSHOT</version> <name>JGraphT</name> <properties> <!-- The compiler version to use. --> <compiler.version>1.6</compiler.version> <!-- The JGraph version. --> <jgraph.version>5.13.0.0</jgraph.version> <jgrapht.sourceDirectory>${basedir}/src</jgrapht.sourceDirectory> <jgrapht.testSourceDirectory>${basedir}/testsrc</jgrapht.testSourceDirectory> <jgrapht.touchgraph.filter>org/jgrapht/experimental/touchgraph/**/*.java</jgrapht.touchgraph.filter> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties> <dependencies> <dependency> <groupId>jgraph</groupId> <artifactId>jgraph</artifactId> <version>${jgraph.version}</version> </dependency> <dependency> <groupId>xmlunit</groupId> <artifactId>xmlunit</artifactId> <version>1.3</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <sourceDirectory>${jgrapht.sourceDirectory}</sourceDirectory> <testSourceDirectory>${jgrapht.testSourceDirectory}</testSourceDirectory> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>${compiler.version}</source> <target>${compiler.version}</target> <excludes> <!-- Currently we need to exclude the TouchGraph support, since there is no Maven compatible binary distribution yet. --> <exclude>${jgrapht.touchgraph.filter}</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.6</version> <configuration> <testFailureIgnore>false</testFailureIgnore> </configuration> </plugin> </plugins> </build> </project> |