# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 JAVA_PKG_IUSE="doc source" inherit java-pkg-2 java-pkg-simple desktop xdg DESCRIPTION="Draw UML diagrams using a simple and human readable text description" HOMEPAGE="https://plantuml.com" SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/${P}" LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64" IUSE="ant-task" DEPEND=" >=virtual/jdk-1.8:* ant-task? ( >=dev-java/ant-1.10.14-r3:0 ) " RDEPEND=" >=virtual/jre-1.8:* media-gfx/graphviz ant-task? ( >=dev-java/ant-1.10.14-r3:0 ) " JAVA_AUTOMATIC_MODULE_NAME="net.sourceforge.plantuml" JAVA_MAIN_CLASS="net.sourceforge.plantuml.Run" JAVA_RESOURCE_DIRS="src/main/resources" JAVA_SRC_DIR="src/main/java" src_prepare() { java-pkg-2_src_prepare # using media-gfx/graphviz rm -r src/main/java/net/sourceforge/plantuml/windowsdot/graphviz.dat || die if use ant-task; then # src/main/java/net/sourceforge/plantuml/ant/readme.md JAVA_GENTOO_CLASSPATH+="ant" else rm src/main/java/net/sourceforge/plantuml/ant/{CheckZip,PlantUml}Task.java || die fi # Some classes are needed only for compilation but won't be packaged. mkdir -p target/intermediate || die local intsources find src/main/java ! -path */plantuml/ant/* -type f -name '*.java' \ > intsources || die "sources" ejavac -d target/intermediate @intsources JAVA_GENTOO_CLASSPATH_EXTRA="target/intermediate" rm -r src/main/java/net/sourceforge/plantuml/sudoku || die rm -r src/main/java/net/sourceforge/plantuml/webp || die rm -r src/main/java/jcckit || die "rm jcckit" rm src/main/java/net/sourceforge/plantuml/jcckit/PSystemJcckit{,Factory}.java || die # zext is not included in upstream's jar. rm -r src/main/java/zext || die "rm zext" rm src/main/java/net/sourceforge/plantuml/flashcode/FlashCodeUtilsZxing.java || die # java-pkg-simple wants resources in a separate directory # excluding some files which are not included in upstream's jar cd src/main/java || die "cd src/main/java" find -type f \ ! -name '.editorconfig' \ ! -name '*.html' \ ! -name '*.java' \ ! -name '*.ttf' \ ! -name 'readme.md' \ ! -name 'README.md' | xargs cp --parent -t ../resources || die "separate resource files" } src_install() { java-pkg-simple_src_install make_desktop_entry plantuml }