Compilation of ${sources} fails with error if ${sources} is empty. This is the case when a package (or a module in case of a multi-jar package) has only module-info.java to get compiled.
Signed-off-by: Volkmar W. Pogatzki <gen...@pogatzki.net> --- eclass/java-pkg-simple.eclass | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/eclass/java-pkg-simple.eclass b/eclass/java-pkg-simple.eclass index abac18ca03f..d3047296035 100644 --- a/eclass/java-pkg-simple.eclass +++ b/eclass/java-pkg-simple.eclass @@ -377,13 +377,15 @@ java-pkg-simple_src_compile() { java-pkg-simple_getclasspath java-pkg-simple_prepend_resources ${classes} "${JAVA_RESOURCE_DIRS[@]}" - if [[ -n ${moduleinfo} ]] || [[ java-pkg_get-target -lt 9 ]]; then - ejavac -d ${classes} -encoding ${JAVA_ENCODING}\ - ${classpath:+-classpath ${classpath}} ${JAVAC_ARGS} @${sources} - else - ejavac -d ${classes} -encoding ${JAVA_ENCODING}\ - ${classpath:+--module-path ${classpath}} --module-version ${PV}\ - ${JAVAC_ARGS} @${sources} + if [[ -s "${sources}" ]]; then + if [[ -n ${moduleinfo} ]] || [[ java-pkg_get-target -lt 9 ]]; then + ejavac -d ${classes} -encoding ${JAVA_ENCODING}\ + ${classpath:+-classpath ${classpath}} ${JAVAC_ARGS} @${sources} + else + ejavac -d ${classes} -encoding ${JAVA_ENCODING}\ + ${classpath:+--module-path ${classpath}} --module-version ${PV}\ + ${JAVAC_ARGS} @${sources} + fi fi # handle module-info.java separately as it needs at least JDK 9 -- 2.35.1