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
     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.

     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.

     Zhang Zongyu

     [1] the GSoC program
     [2] a related bug

zongyu (2):
  java-pkg-simple.eclass and java-utils-2.eclass: features and
  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(-)


Reply via email to