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

github.setup    micronaut-projects micronaut-starter 2.4.2 v
revision        0
name            micronaut
categories      java
platforms       darwin
maintainers     {breun.nl:nils @breun} openmaintainer
license         Apache-2
supported_archs x86_64

description     Micronaut is a modern, JVM-based, full-stack framework \
                for building modular, easily testable microservice and serverless applications.

long_description Micronaut is a modern, JVM-based, full stack Java framework designed for \
                building modular, easily testable JVM applications with support for Java, \
                Kotlin and the Groovy language. \
                \n\
                \nMicronaut is developed by the creators of the Grails framework and takes \
                inspiration from lessons learnt over the years building real-world applications \
                from monoliths to microservices using Spring, Spring Boot and Grails. \
                \n\
                \nMicronaut aims to provide all the tools necessary to build microservice \
                applications including: \
                \n\
                \n* Dependency Injection and Inversion of Control (IoC) \
                \n* Aspect Oriented Programming (AOP) \
                \n* Sensible Defaults and Auto-Configuration \
                \n\
                \nWith Micronaut you can build Message-Driven Applications, \
                Command Line Applications, HTTP Servers and more whilst for \
                Microservices in particular Micronaut also provides: \
                \n* Distributed Configuration \
                \n* Service Discovery \
                \n* HTTP Routing \
                \n* Client-Side Load Balancing \
                \n\
                \nAt the same time Micronaut aims to avoid the downsides of frameworks like Spring, \
                Spring Boot and Grails by providing: \
                \n\
                \n* Fast startup time \
                \n* Reduced memory footprint \
                \n* Minimal use of reflection \
                \n* Minimal use of proxies \
                \n* No runtime bytecode generation \
                \n* Easy Unit Testing

homepage        https://micronaut.io
github.tarball_from releases
distname        mn-darwin-amd64-v${version}

checksums       rmd160  9a6a078d24e3fc664fddb73c920d89ba4bfc0e09 \
                sha256  9e74596439688dd9ac96e3d098e5ec9ce59fc25c59e8744c548e8356741a832b \
                size    20056146

use_zip         yes
use_configure   no

build {}

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

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

    # Copy over the needed elements of our directory tree
    foreach d { LICENSE bin } {
        copy ${worksrcpath}/${d} ${target}
    }

    # Add symlink to the binary
    ln -s ../share/java/${name}/bin/mn ${destroot}${prefix}/bin
}
