# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id: Portfile 89279 2012-01-23 03:17:59Z blair@macports.org $

PortSystem 1.0
PortGroup select 1.0

name            maven3
version         3.0.4

categories      java devel
maintainers     blair kickstyle.net:gk5885
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.  Maven 3 aims to ensure backward \
                compatibility with Maven 2, improve usability, \
                increase performance, allow safe embedding, and \
                pave the way to implement many highly demanded \
                features.

homepage        http://maven.apache.org/

master_sites    apache:maven/binaries
distname        apache-maven-${version}-bin
worksrcdir      apache-maven-${version}
checksums       md5    e513740978238cb9e4d482103751f6b7 \
                sha1   0de5dc162bafde3fcb0a6b009cfeea81a042523b \
                rmd160 c55335fb5c10380db64e6b56ee26cd6f42307a72

depends_run     port:maven_select
depends_build   bin:java:kaffe

use_configure   no
universal_variant no

select.group    maven
select.file     ${filespath}/${name}

# Source builds of maven are not possible. So, the default build is a binary
# install of the jars.
build.cmd       true

destroot {
        set mavendir ${destroot}${prefix}/share/java/${name}

        # Create the target java directory exists
        xinstall -m 755 -d ${mavendir}

        # Copy over the needed elements of our directory tree
        file copy \
                ${worksrcpath}/bin \
                ${worksrcpath}/boot \
                ${worksrcpath}/conf \
                ${worksrcpath}/lib \
                ${mavendir}

        # Remove extraneous bat files
        foreach f [glob -directory ${mavendir}/bin *.bat] {
                file delete $f
        }

        # Fix permissions on shell scripts
        foreach f { maven install_repo.sh } {
                if [file exists ${mavendir}/bin/$f] {
                        file attributes ${mavendir}/bin/$f -permissions +x
                }
        }

        # Reduce the permissions on the distribution files.
        file attributes ${mavendir}/conf -permissions 0755
        file attributes ${mavendir}/conf/settings.xml -permissions 0644
        foreach f [glob -directory ${mavendir}/boot *.jar] {
                file attributes $f -permissions 0644
        }
        foreach f [glob -directory ${mavendir}/lib *.jar] {
                file attributes $f -permissions 0644
        }

        # Symlink maven into the bin directory
        system "cd ${destroot}${prefix}/bin && ln -s ../share/java/${name}/bin/mvn mvn3"
}

notes \
"To make maven $version the default, please run
\tsudo port select --set ${select.group} $name"

livecheck.type  regex
livecheck.url   ${homepage}download.html
livecheck.regex apache-maven-(3\\.\[0-9.\]+)-bin\\.tar
