# -*- 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               github 1.0
PortGroup               maven 1.0

github.setup            checkstyle checkstyle 14.3.0 checkstyle-
github.tarball_from     archive

categories              java lang
license                 LGPL-2.1+
platforms               any
supported_archs         noarch
homepage                https://checkstyle.org
maintainers             {sethm.id.au:dev @McDaMastR} \
                        openmaintainer

description             Configurable Java source code analyzer
long_description        Checkstyle automates the process of checking Java code \
                        against configurable rules and can support almost any \
                        coding standard.  It can account for naming, imports, \
                        formatting, Javadoc, class design, and more.

if {[variant_isset doc]} {
    java.version        21
} else {
    java.version        21+
}

checksums               rmd160  9cf34c84b08268cc02838d3dae7fa251594e50a9 \
                        sha256  ee97325191f9ca41ff30dcde34ee830ec460cb5675cc0356f52494342159f0b4 \
                        size    10105535

build.args              --activate-profiles=assembly \
                        --activate-profiles=no-validations \
                        --define=maven.source.skip

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

    xinstall -d ${destbindir}
    xinstall ${filespath}/${name} ${destbindir}
    reinplace "s|@@PREFIX@@|${prefix}|g" ${destbindir}/${name}

    xinstall -d ${destjavadir}
    xinstall -m 644 \
        ${worksrcpath}/target/${name}-${version}.jar \
        ${destjavadir}/${name}.jar
    xinstall -m 644 \
        ${worksrcpath}/target/${name}-${version}-all.jar \
        ${destjavadir}/${name}-all.jar

    xinstall -d ${destxmldir}
    xinstall -m 644 \
        {*}[glob -directory ${worksrcpath}/src/main/resources *.xml] \
        ${destxmldir}

    xinstall -d ${destdocdir}
    xinstall -m 644 \
        ${worksrcpath}/LICENSE \
        ${worksrcpath}/README.md \
        ${worksrcpath}/SECURITY.md \
        {*}[glob -directory ${worksrcpath}/docs *] \
        ${destdocdir}

    if {[variant_isset doc]} {
        copy ${worksrcpath}/target/reports/apidocs ${destdocdir}/javadoc
    }
}

variant doc \
        description {Install javadoc} {
    build.target-append javadoc:javadoc
    build.args-append   --define=maven.javadoc.skip=false
}
