Files

112 lines
3.5 KiB
Tcl

# -*- 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
PortSystem 1.0
PortGroup java 1.0
PortGroup select 1.0
PortGroup deprecated 1.0
deprecated.eol_version yes
name maven31
version 3.1.1
revision 4
categories java devel
license Apache-2
maintainers {easieste @easye} openmaintainer
platforms any
supported_archs noarch
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 https://maven.apache.org/
master_sites apache:maven/maven-3/${version}/binaries
distname apache-maven-${version}-bin
worksrcdir apache-maven-${version}
checksums md5 6342fdf6b0aabc1457c7f8cc218127ed \
sha1 630eea2107b0742acb315b214009ba08602dda5f \
sha256 077ed466455991d5abb4748a1d022e2d2a54dc4d557c723ecbacdc857c61d51b
java.version 1.5+
java.fallback openjdk11
depends_run port:maven_select
use_configure no
# hmm?
universal_variant no
select.group maven
select.file ${filespath}/maven31
# Source builds of maven are not possible. So, the default build is a binary
# install of the jars.
build {
}
destroot {
set maven_dir apache-maven-${version}
set maven_path ${destroot}${prefix}/share/java/${maven_dir}
# Create the target java directory exists
xinstall -m 755 -d ${maven_path}
# Copy over the needed elements of our directory tree
file copy \
${worksrcpath}/bin \
${worksrcpath}/boot \
${worksrcpath}/conf \
${worksrcpath}/lib \
${maven_path}
# Remove extraneous bat files
foreach f [glob -directory ${maven_path}/bin *.bat] {
file delete $f
}
# Fix permissions on shell scripts
foreach f { maven install_repo.sh } {
if {[file exists ${maven_path}/bin/$f]} {
file attributes ${maven_path}/bin/$f -permissions +x
}
}
# Reduce the permissions on the distribution files.
file attributes ${maven_path}/conf -permissions 0755
file attributes ${maven_path}/conf/settings.xml -permissions 0644
foreach f [glob -directory ${maven_path}/boot *.jar] {
file attributes $f -permissions 0644
}
foreach f [glob -directory ${maven_path}/lib *.jar] {
file attributes $f -permissions 0644
}
# Symlink maven into the bin directory
ln -s ../share/java/${maven_dir}/bin/mvn ${destroot}${prefix}/bin/mvn31
ln -s ../share/java/${maven_dir}/bin/mvnDebug ${destroot}${prefix}/bin/mvnDebug31
}
notes \
"To make maven $version the default, please run
\tsudo port select --set ${select.group} $name"
livecheck.type regex
livecheck.url ${homepage}docs/history.html
livecheck.regex >(3\\.1\\.\[0-9.\]+)</