hi all,
jfyi, i'm going to commit these changes to the main tree at the end of
the weekend if there are no objections. (i've been mentoring this
project.) we have some other work that depends on these patches so i'd
like to see it in the main tree as soon as possible.
regards.
fordfrog
Dne 25. 08. 20 v 17:46 zongyu napsal(a):
Dear all,
I am one of the students who attend Gentoo's Google Summer of Code
program [1] this year. And this email is attempting to trigger a
review for a patch for eclass/java-{utils-2,pkg-simple}.eclass.
Java-pkg-simple.eclass is widely used by java packages that do not
provide a build.xml for building with java-ant-2.eclass. Although
java-pkg-simple.eclass works well right now, it still lacks some
features [2], such as installing java resources and providing
src_test() function.
The patch below is trying to enable some missing features of
java-pkg-simple.eclass, including:
1. Since some java packages (e.g. dev-java/commons-io) has java
resources bundled in jar files, java-pkg-simple.eclass now has a
function java-pkg-simple_prepend_resources() to recognize and
install those java resource files;
2. Some java packages have a "main class" so that we can execute
the jar file from command line. With "JAVA_MAIN_CLASS" and
"JAVA_LAUNCHER_FILENAME", the eclass can deal with the situation
properly;
3. Enabling src_test() function with multiple testing frameworks
like junit, testng, pkgdiff and so on;
4. Pkgdiff test will compare natively compiled jar file and upstream
provided binary jar file, to support the feature the eclass will
fetch pre-compiled java jars and accept "JAVA_BINJAR_FILENAME" to
identify it.
Besides, installing binjar will help resolve circular
dependencies, so the eclass also accepts USE="binary" and
installs the binary jars now.
And for java-utils-2.eclass:
1. To support java-pkg-simple_src_test(), there is a new function
etestng() to launch java tests with dev-java/testng.
Finally, there is a breaking change to java-pkg-simple. Instead of
treating "JAVA_SRC_DIR" as a string of directories separated by
spaces, currently the eclass will treat it as an array. A few
packages will be affected and fail to build, and the second patch
will solve the problem.
P.S.
This is the first time for me to write a patch for such a huge
project and send such an email. I hope this email will meet your
requirements, and I would appreciate your every response.
Regards,
Zhang Zongyu
[1] the GSoC program
https://summerofcode.withgoogle.com/projects/#4994566568017920
[2] a related bug
https://bugs.gentoo.org/564158
zongyu (2):
java-pkg-simple.eclass and java-utils-2.eclass: features and
enhancements
patching ebuild files to support new java-pkg-simple
dev-java/juel/juel-2.1.0-r2.ebuild | 2 +-
dev-java/piccolo2d/piccolo2d-3.0-r1.ebuild | 2 +-
.../swingx-ws-1.0_p20110515-r1.ebuild | 4 +-
.../xml-commons/xml-commons-1.4.01.ebuild | 2 +-
dev-java/xsdlib/xsdlib-20090415.ebuild | 4 +-
eclass/java-pkg-simple.eclass | 379 ++++++++++++++++--
eclass/java-utils-2.eclass | 38 ++
7 files changed, 395 insertions(+), 36 deletions(-)