aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add support for ebuild variables in MAVEN_PROVIDESHEADmasterYuan Liao2023-04-151-0/+3
| | | | | | Signed-off-by: Yuan Liao <liaoyuan@gmail.com> Closes: https://github.com/gentoo/java-ebuilder/pull/11 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
* Add support for multi-line MAVEN_PROVIDES definitionYuan Liao2023-04-151-29/+52
| | | | | | Closes: https://bugs.gentoo.org/903666 Signed-off-by: Yuan Liao <liaoyuan@gmail.com> Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
* changed eapi to 8Miroslav Šulc2021-12-021-1/+1
| | | | Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
* fixed a typoMiroslav Šulc2021-07-011-1/+1
| | | | Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
* Fix hanging Maven process when lots of artifacts are being downloadedYuan Liao2021-06-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MavenParser class uses Java's ProcessBuilder to start a Maven process without consuming the process's output. This might cause the Maven process to hang indefinitely after the output stream buffer is full, because the process is blocked to wait for the contents in the buffer to be cleared, but no other program is going to clear them. When java-ebuilder is asked to create an ebuild for a Maven artifact whose dependencies are mostly not cached in the local Maven repository (stored in ~/.m2 by default), it will call Maven, which in turn will download artifacts for all those dependencies, flooding lots of contents into the output stream. The size of output stream buffers Java uses for the processes created from ProcessBuilder is just 8192 bytes, so with lots of output, the buffer can become full fairly easily. This explains why a hanging process is often observed when java-ebuilder is requested to generate ebuilds for some new Maven artifacts, but interrupting the process and restarting java-ebuilder can resolve the issue. When java-ebuilder is restarted, as long as MAVEN_ARTS is unchanged, it can skip downloading the dependencies that have already been cached in the previous execution before the buffer is full, so the number of artifacts it still needs to download is reduced, and it might be able to complete before the buffer is full again. The solution to this issue is simple: either suppress Maven's output, or consume the output stream buffer's contents to prevent blocking. The former solution is probably more preferable because it only requires minimal change to both the source code and the program's behavior, and it avoids output redirection, which is not easily portable between different operating systems. Reference: https://stackoverflow.com/questions/3285408/java-processbuilder-resultant-process-hangs Signed-off-by: Yuan Liao <liaoyuan@gmail.com> Closes: https://github.com/gentoo/java-ebuilder/pull/10 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
* put unzip in BDEPENDMiroslav Šulc2021-06-031-5/+5
| | | | | Closes: https://bugs.gentoo.org/793863 Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
* only detect frameworks when the project has tests.Zhang Zongyu2020-09-041-7/+9
| | | | Signed-off-by: Zhang Zongyu <zzy2529420793@gmail.com>
* new switch: --skip-testsZhang Zongyu2020-09-045-0/+32
| | | | | | | specify it to prevent java-ebuilder from printing lines that are related to src_test(). Signed-off-by: Zhang Zongyu <zzy2529420793@gmail.com>
* filtering out resource directories that are not validMiroslav Šulc2020-08-301-39/+38
| | | | Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
* minor style fixes and sorted methods in MavenProjectMiroslav Šulc2020-08-301-48/+50
| | | | Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
* version updatedMiroslav Šulc2020-08-301-1/+1
| | | | Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
* release 0.5.1: bugfixes0.5.1Zhang Zongyu2020-08-301-1/+1
| | | | Signed-off-by: Zhang Zongyu <zzy2529420793@gmail.com>
* tree.sh: ignore more elements of pom.xmlZhang Zongyu2020-08-302-84/+1
| | | | Signed-off-by: Zhang Zongyu <zzy2529420793@gmail.com>
* reduce useless output of `movl`Zhang Zongyu2020-08-303-4/+5
| | | | Signed-off-by: Zhang Zongyu <zzy2529420793@gmail.com>
* release 0.5.00.5.0Zhang Zongyu2020-08-271-1/+1
| | | | Signed-off-by: Zhang Zongyu <zzy2529420793@gmail.com>
* migrate scripts from scripts.new/ to scripts/zongyu2020-08-2715-426/+44
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* update scripts.new/* to make use of 'hprefixify'zongyu2020-08-234-18/+22
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* rewrite scripts/*zongyu2020-08-2313-9/+8175
| | | | | | use Makefile to drive the process of generating maven overlay Signed-off-by: zongyu <zzy2529420793@gmail.com>
* accept multiple --portage-trees while generating cachezongyu2020-08-204-18/+23
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* Distinguish "dev-java/junit:0" and "dev-java/junit-4"zongyu2020-08-191-1/+7
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* recognize and write JAVA_NEEDS_TOOLS automaticallyzongyu2020-08-192-0/+34
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* improve the coding style of ebuildzongyu2020-08-181-54/+53
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* update java-pkg-maven, add two licenseszongyu2020-08-183-4/+108
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* the minimum version of jdk should be 1.8 to make it compatible with jdk-11zongyu2020-08-181-1/+1
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* update licensemapzongyu2020-08-181-0/+1
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* minor bugfixes:zongyu2020-08-075-18/+16
| | | | | | | | | 1. ebuild for jsch-agent-proxy can be generated by hand, remove the related lines 2. make java-pkg-binjar.eclass record dependencies of the pkg 3. fix typo: juniper -> jupiter 4. move the pre-process of maven's license name to MavenLicense Signed-off-by: zongyu <zzy2529420793@gmail.com>
* make java-ebuilder able to recogize junit-5 and cucumber testing frameworkszongyu2020-08-052-7/+13
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* update java-pkg-maven: recogize files by suffixeszongyu2020-08-051-17/+28
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* sort KEYWORDSzongyu2020-08-055-9/+64
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* sort licenseszongyu2020-08-041-3/+3
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* initial effort to support multiple testing frameworkszongyu2020-08-036-39/+161
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* make MavenEbuilder not print unnecessary lineszongyu2020-08-031-16/+8
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* add default{Desciption,Homepage}zongyu2020-08-031-8/+25
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* reformat the license/name stringzongyu2020-08-032-3/+6
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* create proper GENTOO_CLASSPATH for java-virtuals/*.zongyu2020-08-021-2/+14
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* update the recorded skeleton cmdzongyu2020-08-011-0/+9
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* update usage.txt, fix Copyright statement of Gentoozongyu2020-08-012-2/+5
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* Use Set instead of List for storing Licenses, update license mapzongyu2020-08-013-6/+161
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* initial effort to make java-ebuilder parse licenses from pom.xmlzongyu2020-08-015-0/+154
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* write src_unpack everytime is not elegant, use java-pkg-maven to handle itzongyu2020-07-292-34/+67
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* replace "\t" with spaces, enable test if --binjar-uri is setzongyu2020-07-276-30/+38
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* rename source code file to ${P}-sources.[extension]zongyu2020-07-191-3/+3
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* format a right string for java-virtuals/*zongyu2020-07-182-32/+32
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* add more command-line switcheszongyu2020-07-114-6/+97
| | | | | | | | | | | --binjar-uri, which specifies uri of the pre-compiled jar support installing binary maven packge support future src_test(), which will compare Gentoo-compiled jars and Maven Central distributed jars Signed-off-by: zongyu <zzy2529420793@gmail.com>
* fix some typoszongyu2020-07-062-3/+3
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* initial support for Maven Central Distributed Source jarszongyu2020-07-063-4/+85
| | | | | | | new CLI switch: --from-maven-central Signed-off-by: zongyu <zzy2529420793@gmail.com>
* enable java-ebuilder to read metadata of a Gentoo package, and get a proper SLOTzongyu2020-07-061-1/+43
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* jdk-8 -> jdk-1.8zongyu2020-07-061-2/+7
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>
* MavenVersion.class enhancement:zongyu2020-07-061-1/+3
| | | | | | | | make MavenVersion.class able to compare incremental version make it convert qualifier to lowercase to avoid the situation when maintainer mixes uppercase and lowercase Signed-off-by: zongyu <zzy2529420793@gmail.com>
* fix bugs of MAVEN_PROVIDEzongyu2020-07-061-2/+2
| | | | Signed-off-by: zongyu <zzy2529420793@gmail.com>