JAVA-PKG-SIMPLE.ECLASS

章节: eclass-manpages (5)
更新: 2024年11月
索引 返回主内容

名称

java-pkg-simple.eclass - 简化 Java 软件打包的 Eclass。

描述

此类旨在从 Java 源代码构建纯 Java 软件包,无需使用源代码附带的任何构建说明。它不支持生成源文件或控制生成的 jar 的 META-INF,尽管可以通过在调用此 eclass 的 src_compile 函数之前将相应的文件放入目标目录中,由 ebuild 解决这些问题。

支持的 EAPI

7 8

函数

java-pkg-simple_src_compile
用于简单裸源 Java 软件包的 src_compile。在 ${JAVA_SRC_DIR} 中查找所有 *.java 源文件,使用从 ${JAVA_GENTOO_CLASSPATH} 计算出的类路径编译它们,并将生成的类打包到单个 ${JAVA_JAR_FILENAME} 中。如果文件 target/META-INF/MANIFEST.MF 存在,则将其用作创建的 jar 的清单。

如果存在 USE 标记 'binary' 并已设置,它将只将 ${JAVA_BINJAR_FILENAME} 复制到 ${S} 并跳过 src_compile 的其余部分。

java-pkg-simple_src_install
用于简单单个 jar Java 软件包的 src_install。只需安装 ${JAVA_JAR_FILENAME}。如果设置了 ${JAVA_MAIN_CLASS},它还会安装一个启动器。还会调用 einstalldocs。
java-pkg-simple_src_test
用于简单单个 Java jar 文件的 src_test。它将使用 ejavac 从测试源编译测试类,并使用 ${JAVA_TESTING_FRAMEWORKS} 中定义的框架执行测试。使用其他编译器(如 groovyc)编译的测试类需要放在“generated-test”目录中,因为此目录的内容将被保留,而 target/test-classes 的内容将被删除。

Eclass 变量

JAVA_GENTOO_CLASSPATH
要包含在类路径中的 Java 软件包的逗号或空格分隔列表。这些软件包也将被注册为此新软件包的运行时依赖项。依赖关系将被传递计算。有关合适的软件包名称,请参阅“java-config -l”。

        JAVA_GENTOO_CLASSPATH="foo,bar-2"
JAVA_GENTOO_CLASSPATH_EXTRA
要放在编译源代码时的类路径上的额外冒号分隔路径元素列表。
JAVA_CLASSPATH_EXTRA
仅在编译源代码期间需要的额外逗号或空格分隔的 Java 软件包列表。
JAVA_NEEDS_TOOLS
将 tools.jar 添加到 gentoo.classpath。仅应用于构建时目的,依赖关系不会记录到 package.env。
JAVA_SRC_DIR
相对于 ${S} 的目录数组,其中包含应用程序的源代码。如果将 ${JAVA_SRC_DIR} 设置为字符串,它也可以工作。默认值 "" 表示它将获取 ${S} 内的所有源文件。对于生成的源代码包(如果源代码列在 ${JAVA_PKG_IUSE} 中),重要的是这些目录实际上是相应源代码树的根目录。

        JAVA_SRC_DIR=( "impl/src/main/java/"
                "arquillian/weld-ee-container/src/main/java/"
        )
JAVA_RESOURCE_DIRS
相对于 ${S} 的目录数组,其中包含应用程序的资源。如果未设置变量,则不会将任何资源添加到编译的 jar 文件中。

        JAVA_RESOURCE_DIRS=("src/java/resources/")
JAVA_ENCODING ?= UTF-8
源文件中使用的字符编码。
JAVAC_ARGS
要传递给 javac 的其他参数。
JAVA_MAIN_CLASS
如果 Java 具有主类,则将设置变量,以便我们可以生成正确的 MANIFEST.MF 并创建启动器。

        JAVA_MAIN_CLASS="org.gentoo.java.ebuilder.Main"
JAVA_AUTOMATIC_MODULE_NAME
Automatic-Module-Name 条目的值,它将添加到 MANIFEST.MF 中。
JAVADOC_ARGS
要传递给 javadoc 的其他参数。
JAVA_JAR_FILENAME ?= ${PN}.jar
要创建和安装的 jar 文件的名称。
JAVA_BINJAR_FILENAME
如果设置了 USE 标记 'binary',则要安装的二进制 jar 文件的名称。
JAVA_LAUNCHER_FILENAME
如果设置了 ${JAVA_MAIN_CLASS},我们将创建一个启动器来执行 jar,而 ${JAVA_LAUNCHER_FILENAME} 将是脚本的名称。
JAVA_TESTING_FRAMEWORKS
一个空格分隔的列表,用于定义在 src_test 期间应启动哪些测试。

JAVA_TESTING_FRAMEWORKS="junit pkgdiff"
JAVA_TEST_RUN_ONLY
在 src_test() 期间应执行的类的数组。此变量优先于 JAVA_TEST_EXCLUDES,即如果设置了此变量,则忽略另一个变量。

JAVA_TEST_RUN_ONLY=( "net.sf.cglib.AllTests" "net.sf.cglib.TestAll" )
JAVA_TEST_EXCLUDES
在 src_test() 期间不应执行的类的数组。

JAVA_TEST_EXCLUDES=( "net.sf.cglib.CodeGenTestCase" "net.sf.cglib.TestAll" )
JAVA_TEST_GENTOO_CLASSPATH
在编译和运行测试源代码时所需的额外类路径。
JAVA_TEST_SRC_DIR
相对于 ${S} 的目录数组,其中包含测试的源代码。它几乎等同于 src_test 中的 ${JAVA_SRC_DIR}。
JAVA_TEST_RESOURCE_DIRS
它几乎等同于 src_test 中的 ${JAVA_RESOURCE_DIRS}。

作者

Java 维护者 <[email protected]>

维护者

[email protected]

报告 Bug

请通过 https://bugs.gentoo.org/ 报告 Bug。

文件

java-pkg-simple.eclass

另请参阅

ebuild(5)
https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/java-pkg-simple.eclass


索引

名称
描述
支持的 EAPI
函数
Eclass 变量
作者
维护者
报告 Bug
文件
另请参阅

此文档由 man2html 使用手册页创建。
时间: 2024年11月12日 格林尼治标准时间03:27:01