Portfile

# $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
}

files