# -*- 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               gitlab 1.0
PortGroup               java 1.0

name                    objectweb-asm
gitlab.instance         https://gitlab.ow2.org
gitlab.setup            asm asm 9.10.1 ASM_
livecheck.version       [string map {. _} ${version}]
git.branch              [join ${gitlab.tag_prefix}]${livecheck.version}[join ${gitlab.tag_suffix}]

categories              java devel
license                 BSD
platforms               any
supported_archs         noarch
maintainers             nomaintainer

description             Java bytecode manipulation framework.
long_description        ASM is a Java bytecode manipulation framework. It \
                        offers similar functionalities as BCEL or SERP, but \
                        is much smaller and faster than these tools.

homepage                https://asm.ow2.io
checksums               rmd160  d3356aaeeb3d1aeda86df1f078f49580e4493035 \
                        sha256  fdf5a43245d1e46833e83128151fb8b3f9f434d845d04edbc7c0af4fa7829d33 \
                        size    1389862

depends_build-append    bin:gradle:gradle

java.version            11+
java.fallback           openjdk25

patchfiles              fix-google-java-format-on-jdk-25.diff \
                        fix-spotless-java-check.diff \
                        silence-pmd.diff

use_configure           no

build.cmd               gradle
build.target            build
build.args              --exclude-task :benchmarks:build \
                        --gradle-user-home ${worksrcpath}/.gradle

destroot {
    set destdocdir  ${destroot}${prefix}/share/doc/${name}
    set destjavadir ${destroot}${prefix}/share/java/${name}

    set modules {
        asm
        asm-analysis
        asm-commons
        asm-test
        asm-tree
        asm-util
        tools
    }

    xinstall -d ${destjavadir}
    foreach module ${modules} {
        xinstall -m 644 \
            ${worksrcpath}/${module}/build/libs/${module}-${version}-SNAPSHOT.jar \
            ${destjavadir}/${module}.jar
    }

    xinstall -d ${destdocdir}
    xinstall -m 644 \
        ${worksrcpath}/LICENSE.txt \
        ${worksrcpath}/README.md \
        ${destdocdir}
}
