mirror of
https://github.com/macports/macports-ports.git
synced 2026-07-12 18:20:25 -07:00
86 lines
3.5 KiB
Tcl
86 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 select 1.0
|
|
|
|
version 1.0.6
|
|
revision 0
|
|
name mvnd1
|
|
categories java
|
|
platforms {darwin any}
|
|
maintainers {breun @breun} openmaintainer
|
|
license Apache-2
|
|
|
|
description mvnd 1 -- The Maven Daemon based on Apache Maven 3
|
|
|
|
long_description mvnd aims at providing faster Maven builds using techniques known from Gradle and Takari.\
|
|
\n\
|
|
\n* mvnd embeds Maven (so there is no need to install Maven separately).\
|
|
\n* The actual builds happen inside a long living background process, a.k.a. daemon.\
|
|
\n* One daemon instance can serve multiple consecutive requests from the mvnd client.\
|
|
\n* The mvnd client is a native executable built using GraalVM.\
|
|
It starts faster and uses less memory compared to starting a traditional JVM.\
|
|
\n* Multiple daemons can be spawned in parallel if there is no idle daemon to serve a build request.\
|
|
\n* The JVM for running the actual builds does not need to get started anew for each build.\
|
|
\n* The classloaders holding classes of Maven plugins are cached over multiple builds.\
|
|
The plugin jars are thus read and parsed just once. SNAPSHOT versions of Maven plugins are not cached.\
|
|
\n* The native code produced by the Just-In-Time (JIT) compiler inside the JVM is kept too.\
|
|
Compared to stock Maven, less time is spent by the JIT compilation.\
|
|
During the repeated builds the JIT-optimized code is available immediately.\
|
|
This applies not only to the code coming from Maven plugins and Maven Core,\
|
|
but also to all code coming from the JDK itself.
|
|
|
|
homepage https://github.com/apache/maven-mvnd
|
|
supported_archs x86_64 arm64
|
|
|
|
master_sites https://archive.apache.org/dist/maven/mvnd/${version}/
|
|
|
|
depends_run port:mvnd_select
|
|
|
|
use_configure no
|
|
|
|
select.group mvnd
|
|
select.file ${filespath}/${name}
|
|
|
|
if {${configure.build_arch} eq "x86_64"} {
|
|
set arch_classifier amd64
|
|
checksums rmd160 0384f16a91214228cb60cb5e28831c7db61ca58b \
|
|
sha256 8202c79bad529d519461b61d8db3f17de5731d3b47b45d294d4df84b346555ed \
|
|
size 23490551
|
|
} elseif {${configure.build_arch} eq "arm64"} {
|
|
set arch_classifier aarch64
|
|
checksums rmd160 89c8ed780c73d4a966d6b201defb946cee4429cd \
|
|
sha256 371f008b91ff6ec54e960935974f3868ee7f18195a0ec874940d58353d8b2796 \
|
|
size 23613514
|
|
} else {
|
|
set arch_classifier unsupported_arch
|
|
}
|
|
|
|
distname maven-mvnd-${version}-darwin-${arch_classifier}
|
|
|
|
build {}
|
|
|
|
destroot {
|
|
set target ${prefix}/share/java/${name}
|
|
set dest_target ${destroot}${target}
|
|
|
|
# Create the target directory in the destroot
|
|
xinstall -m 755 -d ${dest_target}
|
|
|
|
# Copy files into destroot
|
|
foreach f [glob -directory ${worksrcpath} *] {
|
|
copy ${f} ${dest_target}
|
|
}
|
|
|
|
# Remove files that are not needed on macOS
|
|
delete ${dest_target}/bin/mvnd.cmd
|
|
|
|
# Create launch script
|
|
set launch_script [open ${destroot}${prefix}/bin/${name} w 0755]
|
|
puts $launch_script "${target}/bin/mvnd $@"
|
|
close $launch_script
|
|
}
|
|
|
|
notes \
|
|
"- To make mvnd $version the default, please run: sudo port select --set ${select.group} ${name}"
|