a project to simplify installation of open source software
on Mac OS X and Darwin
# $Id: Portfile 20317 2006-11-01 22:34:01Z blair@macports.org $
PortSystem 1.0
name maven
version 1.0.2
categories java devel
maintainers jberry@macports.org
platforms darwin
description A java-based build and project management environment.
long_description Maven is a Java project management and project comprehension \
tool. Maven is based on the concept of a project object model (POM) \
in that all the artifacts produced by Maven are a result of consulting \
a well defined model for your project. Builds, documentation, source \
metrics, and source cross-references are all controlled by your POM.
homepage http://maven.apache.org/
master_sites apache:maven/binaries
checksums md5 81a6b4393e550635efe19e95cea38718
depends_build bin:java:kaffe \
bin:ant:apache-ant
patchfiles patch-maven
use_configure no
use_bzip2 yes
# Source builds of maven are not possible, except using the cvs head as in the
# devel variant below, because there is no available source archive or correctly
# tagged source for the project. So the default build is a binary install of the
# jars.
build.cmd true
destroot {
# Create the target java directory exists
xinstall -m 755 -d ${destroot}${prefix}/share/java/${name}
# Copy over the needed elements of our directory tree
file copy \
${worksrcpath}/bin \
${worksrcpath}/lib \
${worksrcpath}/plugins \
${worksrcpath}/maven-navigation-1.0.xsd \
${destroot}${prefix}/share/java/${name}
# Remove extraneous bat files
foreach f [glob -directory ${destroot}${prefix}/share/java/${name}/bin *.bat] {
file delete $f
}
# Fix permissions on shell scripts
foreach f { maven install_repo.sh } {
if [file exists ${destroot}${prefix}/share/java/${name}/bin/$f] {
file attributes ${destroot}${prefix}/share/java/${name}/bin/$f -permissions +x
}
}
# Symlink maven into the bin directory
system "cd ${destroot}${prefix}/bin && ln -s ../share/java/${name}/bin/${name}"
}
# The devel variant builds from source using cvs head
variant devel {
worksrcdir ${name}
fetch.type cvs
cvs.root :pserver:anoncvs@cvs.apache.org:/home/cvspublic
cvs.module maven maven-plugins
build.env MAVEN_HOME=${worksrcpath}
build.cmd ant
build.pre_args -f build-bootstrap.xml
}