[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/portage/
commit: 7f5126275eb7178328b1ff4bea732e06746b Author: Yuan Liao gmail com> AuthorDate: Wed Jun 23 21:38:30 2021 + Commit: Miroslav Šulc gentoo org> CommitDate: Sat Apr 15 08:13:53 2023 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=7f512627 Add support for ebuild variables in MAVEN_PROVIDES Signed-off-by: Yuan Liao gmail.com> Closes: https://github.com/gentoo/java-ebuilder/pull/11 Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java index ff4acf3..8026542 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java @@ -394,6 +394,9 @@ public class PortageParser { groupId, artifactId, mavenVersion, eclasses)); for (String providedId: mavenProvide) { +// Allow declarations like MAVEN_PROVIDES="groupId:${PN}:${PV}" +providedId = providedId.replaceAll("\\$(\\{PN\\}|PN)", pkg). +replaceAll("\\$(\\{PV\\}|PV)", pv); final String[] parts = providedId.split(":"); cacheItems.add(new CacheItem(category, pkg, version, slot, useFlag, parts[0], parts[1], parts[2], eclasses));
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/portage/
commit: 3dc12a1cf977e05cd3ff4ef0c61267c5e4abf395 Author: Yuan Liao gmail com> AuthorDate: Fri Jun 11 20:52:25 2021 + Commit: Miroslav Šulc gentoo org> CommitDate: Sat Apr 15 08:13:52 2023 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=3dc12a1c Add support for multi-line MAVEN_PROVIDES definition Closes: https://bugs.gentoo.org/903666 Signed-off-by: Yuan Liao gmail.com> Signed-off-by: Miroslav Šulc gentoo.org> .../java/ebuilder/portage/PortageParser.java | 81 ++ 1 file changed, 52 insertions(+), 29 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java index a1a7075..ff4acf3 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java @@ -263,8 +263,9 @@ public class PortageParser { String groupId = null; String artifactId = null; String mavenVersion = null; -String[] mavenProvide = null; +List mavenProvide = new ArrayList<>(); +boolean readingMultiLineMavenProvide = false; try (final BufferedReader reader = new BufferedReader( new InputStreamReader(Files.newInputStream(ebuild.toPath(), StandardOpenOption.READ { @@ -282,31 +283,55 @@ public class PortageParser { } if (!line.isEmpty()) { -final Matcher matcher = PATTERN_VARIABLE.matcher(line); - -if (matcher.matches()) { -variables.put(matcher.group(1), -matcher.group(2).replaceAll("(^\"|\"$)", "")); -} +// Check if a multi-line MAVEN_PROVIDES declaration is +// being read +if (readingMultiLineMavenProvide) { +if (!line.startsWith("\"")) { +// Line contains an artifact ID +mavenProvide.add(line.replace("\"", "")); +} +if (line.contains("\"")) { +// Closing double quote +readingMultiLineMavenProvide = false; +} +} else { +// Check if the line contains variable declaration +final Matcher matcher = PATTERN_VARIABLE.matcher(line); -if (line.startsWith("inherit ")) { -eclasses = getJavaInheritEclasses(line); +if (matcher.matches()) { +variables.put(matcher.group(1), +matcher.group(2).replaceAll("(^\"|\"$)", "")); +} -if (eclasses == null || eclasses.isEmpty()) { -return; +if (line.startsWith("inherit ")) { +eclasses = getJavaInheritEclasses(line); + +if (eclasses == null || eclasses.isEmpty()) { +return; +} +} else if (line.startsWith("SLOT=")) { +slot = line.substring("SLOT=".length()).replace( +"\"", "").replaceAll("/.*", ""); +} else if (line.startsWith("JAVA_PKG_OPT_USE=")) { +useFlag = line.substring("JAVA_PKG_OPT_USE=".length()). +replace("\"", ""); +} else if (line.startsWith("MAVEN_ID=")) { +mavenId = line.substring("MAVEN_ID=".length()). +replace("\"", ""); +} else if (line.startsWith("MAVEN_PROVIDES=")) { +boolean atMostOneDoubleQuote = +line.indexOf("\"") == line.lastIndexOf("\""); +line = line.substring("MAVEN_PROVIDES=".length()); +if (!atMostOneDoubleQuote || !line.endsWith("\"")) { +// Line contains an artifact ID +mavenProvide.addAll(Arrays.asList( +line.replace("\"", "").split(" "))); +} +if (atMostOneDoubleQuote && line.contains("\"")) { +// Only one double quote -- multi-line declaration +readingMultiLineMavenProvide = true; +} } -} else if (line.startsWith("SLOT=")) { -slot = line.substring("SLOT=".length()).replace(
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 4f68c6d6cc05acc40c2b7f4d29a5ba3807d987b3 Author: Miroslav Šulc gentoo org> AuthorDate: Thu Dec 2 16:38:41 2021 + Commit: Miroslav Šulc gentoo org> CommitDate: Thu Dec 2 16:38:41 2021 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=4f68c6d6 changed eapi to 8 Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 1543b5c..ce1b852 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -35,7 +35,7 @@ public class MavenEbuilder { /** * EAPI version. */ -private static final String EAPI = "7"; +private static final String EAPI = "8"; /** * Pattern for retrieval of tarball extension. */
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: e7b4d104d20a6b1faac3c3e67463d49294fb79b4 Author: Miroslav Šulc gentoo org> AuthorDate: Thu Jul 1 13:12:45 2021 + Commit: Miroslav Šulc gentoo org> CommitDate: Thu Jul 1 13:12:45 2021 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=e7b4d104 fixed a typo Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java index 98864f8..60ef9d1 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java @@ -65,7 +65,7 @@ public class MavenCache { } if (cacheItem == null) { -return "!!!suitble-mavenVersion-not-found!!!"; +return "!!!suitable-mavenVersion-not-found!!!"; } final StringBuilder sbDependency = new StringBuilder(50);
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 61ac9154ef648de0dacbc8f1977d093c1374cca4 Author: Yuan Liao gmail com> AuthorDate: Mon Jun 14 16:09:15 2021 + Commit: Miroslav Šulc gentoo org> CommitDate: Tue Jun 15 07:40:21 2021 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=61ac9154 Fix hanging Maven process when lots of artifacts are being downloaded 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 gmail.com> Closes: https://github.com/gentoo/java-ebuilder/pull/10 Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java | 4 1 file changed, 4 insertions(+) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java index 07ae96e..1411307 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java @@ -110,6 +110,10 @@ public class MavenParser { final ProcessBuilder processBuilder = new ProcessBuilder("mvn", "-f", pomFile.toString(), "help:effective-pom", +// If output was not suppressed, mvn would hang indefinitely +// if new artifact should be downloaded, probably because of +// limited output stream buffer size +"-q", "-Doutput=" + outputPath); processBuilder.directory(config.getWorkdir().toFile()); final ProcessBuilder xmlBuilder = new ProcessBuilder("simple-xml-formatter",
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: ad01a8f58da50aa36582fbd0b84b54f7db9c44b6 Author: Miroslav Šulc gentoo org> AuthorDate: Thu Jun 3 08:37:40 2021 + Commit: Miroslav Šulc gentoo org> CommitDate: Thu Jun 3 08:37:40 2021 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=ad01a8f5 put unzip in BDEPEND Closes: https://bugs.gentoo.org/793863 Signed-off-by: Miroslav Šulc gentoo.org> .../java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 4a63494..1543b5c 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -552,11 +552,6 @@ public class MavenEbuilder { mavenProjects, config.getForceMinJavaVersion())); writer.println(":*"); -if (config.getDownloadUri() != null && config.getDownloadUri(). -toString().matches("^.*?\\.(jar|zip)$")) { -writer.println("\tapp-arch/unzip"); -} - if (config.hasBinjarUri()) { if (hasCDepend && compileDependencies.isEmpty()) { writer.println("\t!binary? ( ${CDEPEND} )"); @@ -633,6 +628,11 @@ public class MavenEbuilder { } writer.println('"'); + +if (config.getDownloadUri() != null && config.getDownloadUri(). +toString().matches("^.*?\\.(jar|zip)$")) { +writer.println("\nBDEPEND=\"app-arch/unzip\""); +} } /**
[gentoo-commits] proj/java-ebuilder:master commit in: scripts/resources/Makefiles/, src/main/resources/, ...
commit: 76e11179439770ad964985476562a390683e70f7 Author: Zhang Zongyu gmail com> AuthorDate: Fri Sep 4 11:34:16 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Sep 4 12:15:53 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=76e11179 new switch: --skip-tests specify it to prevent java-ebuilder from printing lines that are related to src_test(). Signed-off-by: Zhang Zongyu gmail.com> scripts/resources/Makefiles/stage2.mk | 2 ++ src/main/java/org/gentoo/java/ebuilder/Config.java | 22 ++ src/main/java/org/gentoo/java/ebuilder/Main.java | 3 +++ .../gentoo/java/ebuilder/maven/MavenParser.java| 4 src/main/resources/usage.txt | 1 + 5 files changed, 32 insertions(+) diff --git a/scripts/resources/Makefiles/stage2.mk b/scripts/resources/Makefiles/stage2.mk index 764bc5c..71546ea 100644 --- a/scripts/resources/Makefiles/stage2.mk +++ b/scripts/resources/Makefiles/stage2.mk @@ -21,4 +21,6 @@ clean-stage2: \( -name \*.ebuild \ -o -name Manifest \)\ -delete;\ + find ${MAVEN_OVERLAY_DIR} -type d \ + -empty -delete;\ fi diff --git a/src/main/java/org/gentoo/java/ebuilder/Config.java b/src/main/java/org/gentoo/java/ebuilder/Config.java index e9396ca..731585d 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Config.java +++ b/src/main/java/org/gentoo/java/ebuilder/Config.java @@ -93,6 +93,10 @@ public class Config { * Whether ebuild cache should be refreshed. */ private boolean refreshCache; +/** + * Whether java-ebuilder will explictly unset hasTests of the Maven project. + */ +private boolean skipTests; /** * SLOT number. */ @@ -526,4 +530,22 @@ public class Config { public void setRefreshCache(final boolean refreshCache) { this.refreshCache = refreshCache; } + +/** + * Getter for {@link #skipTests}. + * + * @return {@link #skipTests} + */ +public boolean willSkipTests() { +return skipTests; +} + +/** + * Setter for {@link #skipTests}. + * + * @param skipTests {@link #skipTests} + */ +public void setSkipTests(final boolean skipTests) { +this.skipTests = skipTests; +} } diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index 6aaf24a..80b3d8b 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -292,6 +292,9 @@ public class Main { case "-c": config.setRefreshCache(true); break; +case "--skip-tests": +config.setSkipTests(true); +break; case "--slot": case "-s": i++; diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java index f69527f..07ae96e 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java @@ -56,6 +56,10 @@ public class MavenParser { mavenProject.setHasTests(true); } +if (config.willSkipTests()) { +mavenProject.setHasTests(false); +} + result.add(mavenProject); }); diff --git a/src/main/resources/usage.txt b/src/main/resources/usage.txt index b197a39..2354315 100644 --- a/src/main/resources/usage.txt +++ b/src/main/resources/usage.txt @@ -16,6 +16,7 @@ Generating ebuild: --pom|-p path to pom.xml that should be parsed, the path must be relative to workdir (can be specified multiple times) +--skip-tests disable testing framework detecting --slot|-sSLOT number --workdir|-w path to ebuild workdir (${WORKDIR}, default is current directory)
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 744e9bdcbf51b80f4595f77ad88c435ec67a7e5e Author: Zhang Zongyu gmail com> AuthorDate: Fri Sep 4 12:09:36 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Sep 4 12:15:58 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=744e9bdc only detect frameworks when the project has tests. Signed-off-by: Zhang Zongyu gmail.com> .../org/gentoo/java/ebuilder/maven/MavenEbuilder.java| 16 +--- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 19fc43c..4a63494 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -172,14 +172,16 @@ public class MavenEbuilder { final MavenProject mavenProject, final Config config) { Set frameworks = new HashSet<>(10); -for (final MavenDependency dependency : mavenProject. -getTestDependencies()) { -frameworks.add(determineTestingFrameworkByDependency(dependency)); -} +if (mavenProject.hasTests()) { +for (final MavenDependency dependency : mavenProject. +getTestDependencies()) { + frameworks.add(determineTestingFrameworkByDependency(dependency)); +} -for (final MavenDependency dependency : mavenProject. -getCommonDependencies()) { -frameworks.add(determineTestingFrameworkByDependency(dependency)); +for (final MavenDependency dependency : mavenProject. +getCommonDependencies()) { + frameworks.add(determineTestingFrameworkByDependency(dependency)); +} } if (config.hasBinjarUri()) {
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: a34a975a19e5c9a963cb96c1c0496d55a1430f3c Author: Miroslav Šulc gentoo org> AuthorDate: Sun Aug 30 18:21:47 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Aug 30 18:21:47 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=a34a975a filtering out resource directories that are not valid Signed-off-by: Miroslav Šulc gentoo.org> .../gentoo/java/ebuilder/maven/MavenProject.java | 77 +++--- 1 file changed, 38 insertions(+), 39 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java index e91bb80..48c6506 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java @@ -32,14 +32,6 @@ public class MavenProject { * Maven group id. */ private String groupId; -/** - * Whether the package has resources. - */ -private Boolean hasResources; -/** - * Whether the package has test resources. - */ -private Boolean hasTestResources; /** * Whether the package has test classes. */ @@ -126,18 +118,38 @@ public class MavenProject { * Adds path to {@link #resourceDirectories}. * * @param path resource path + * + * @return true if the path was added, otherwise false + * + * @see #isValidResourcesDir(java.nio.file.Path) */ -public void addResourceDirectory(final Path path) { +public boolean addResourceDirectory(final Path path) { +if (!isValidResourcesDir(path)) { +return false; +} + resourceDirectories.add(path); + +return true; } /** - * Adds path to {@link #testResourceDirectories}. + * Adds path to {@link #testResourceDirectories}. The path must be valid. * * @param path resource path + * + * @return true if the path was added, otherwise false + * + * @see #isValidResourcesDir(java.nio.file.Path) */ -public void addTestResourceDirectory(final Path path) { +public boolean addTestResourceDirectory(final Path path) { +if (!isValidResourcesDir(path)) { +return false; +} + testResourceDirectories.add(path); + +return true; } /** @@ -549,20 +561,7 @@ public class MavenProject { * @return {@link #hasResources} */ public boolean hasResources() { -if (hasResources == null) { -hasResources = false; - -for (final Path resources : resourceDirectories) { -if (resources.toFile().exists() -&& resources.toFile().list().length != 0) { -hasResources = true; - -break; -} -} -} - -return hasResources; +return !resourceDirectories.isEmpty(); } /** @@ -571,20 +570,7 @@ public class MavenProject { * @return {@link #hasTestResources} */ public boolean hasTestResources() { -if (hasTestResources == null) { -hasTestResources = false; - -for (final Path resources : testResourceDirectories) { -if (resources.toFile().exists() -&& resources.toFile().list().length != 0) { -hasTestResources = true; - -break; -} -} -} - -return hasTestResources; +return !testResourceDirectories.isEmpty(); } /** @@ -633,4 +619,17 @@ public class MavenProject { return result; } + +/** + * Checks whether the provided path is a valid directory for resources. It + * must exist and contain at least one file. + * + * @param resources path to resources + * + * @return true if the resources directory is valid, otherwise false + */ +private boolean isValidResourcesDir(final Path resources) { +return resources.toFile().exists() +&& resources.toFile().list().length != 0; +} }
[gentoo-commits] proj/java-ebuilder:master commit in: /
commit: 76d79bb0675419facd8154807be3465d3132f997 Author: Miroslav Šulc gentoo org> AuthorDate: Sun Aug 30 18:17:46 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Aug 30 18:17:46 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=76d79bb0 version updated Signed-off-by: Miroslav Šulc gentoo.org> pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 74a0451..7bd3596 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 org.gentoo java-ebuilder -0.5.1 +0.5.2-SNAPSHOT jar Gentoo Java ebuild Builder Java team tool for semi-automatic creation of ebuilds from pom.xml.
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 766ecd34d054a963c7b7149d8e53676b289b8ea8 Author: Miroslav Šulc gentoo org> AuthorDate: Sun Aug 30 18:20:44 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Aug 30 18:20:44 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=766ecd34 minor style fixes and sorted methods in MavenProject Signed-off-by: Miroslav Šulc gentoo.org> .../gentoo/java/ebuilder/maven/MavenProject.java | 98 +++--- 1 file changed, 50 insertions(+), 48 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java index b7553b0..e91bb80 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java @@ -3,6 +3,7 @@ package org.gentoo.java.ebuilder.maven; import java.io.PrintWriter; import java.nio.file.Path; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.SortedSet; @@ -43,14 +44,14 @@ public class MavenProject { * Whether the package has test classes. */ private Boolean hasTests; -/** - * Lisences. - */ -private SortedSet licenses = new TreeSet<>(); /** * Homepage URL. */ private String homepage; +/** + * Lisences. + */ +private final SortedSet licenses = new TreeSet<>(); /** * Application main class. */ @@ -113,14 +114,12 @@ public class MavenProject { /** * Adds license to {@link #licenses}. * - * @param license {@link #licenses} + * @param portageLicenses {@link #licenses} */ public void addLicense(final String portageLicenses) { final String[] parts = portageLicenses.split(":"); -for (String eachLicense: parts) { -licenses.add(eachLicense); -} +licenses.addAll(Arrays.asList(parts)); } /** @@ -279,6 +278,40 @@ public class MavenProject { this.description = description.replaceAll("[\n ]+", " "); } +/** + * deal with scope == "system" dependencies + * + * @param writer writer + * + * @return lines of ebuild variables + */ +@SuppressWarnings("unchecked") +public String getExtraJars(final PrintWriter writer) { +String ret = ""; +List systemDependencies = getDependencies(new String[]{ +"system"}); + +for (final MavenDependency dependency : systemDependencies) { +switch (dependency.getGroupId()) { +case "com.sun": +switch (dependency.getArtifactId()) { +case "tools": +ret += "JAVA_NEEDS_TOOLS=1\n"; +break; +default: +writer.println("Equivalent variable for " ++ dependency.getArtifactId() + " not found."); +} +break; +default: +writer.println("Equivalent variable for " + dependency. +getGroupId() + " not found."); +} +} + +return ret; +} + /** * Getter for {@link #groupId}. * @@ -297,6 +330,15 @@ public class MavenProject { this.groupId = groupId; } +/** + * Setter for {@link #hasTests} + * + * @param hasTests {@link #hasTests} + */ +public void setHasTests(boolean hasTests) { +this.hasTests = hasTests; +} + /** * Getter for {@link #homepage}. * @@ -423,37 +465,6 @@ public class MavenProject { this.sourceVersion = sourceVersion; } -/** - * deal with scope == "system" dependencies - * - * @return lines of ebuild variables - */ -@SuppressWarnings("unchecked") -public String getExtraJars(final PrintWriter writer) { -String ret = ""; -List systemDependencies = getDependencies(new String[]{"system"}); - -for (final MavenDependency dependency : systemDependencies) { -switch (dependency.getGroupId()) { -case "com.sun": -switch (dependency.getArtifactId()) { -case "tools": -ret += "JAVA_NEEDS_TOOLS=1\n"; -break; -default: -writer.println("Equivalent variable for " + -dependency.getArtifactId() + " not found."); -} -break; -default: -writer.println("Equivalent variable for " + -dependency.getGroupId() + " not found."); -} -} - -return ret; -} - /** * Getter for {@link #targetVersion}.
[gentoo-commits] proj/java-ebuilder:master commit in: scripts/bin/, src/main/java/org/gentoo/java/ebuilder/maven/
commit: 2fc8f0371559d97e28265bc422d9114d42cf61cf Author: Zhang Zongyu gmail com> AuthorDate: Fri Aug 28 04:09:53 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Aug 30 15:12:07 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=2fc8f037 reduce useless output of `movl` Signed-off-by: Zhang Zongyu gmail.com> scripts/bin/compare-maven-version | 4 ++-- scripts/bin/tree.sh | 2 +- src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/bin/compare-maven-version b/scripts/bin/compare-maven-version index de0ab47..f98a6c7 100755 --- a/scripts/bin/compare-maven-version +++ b/scripts/bin/compare-maven-version @@ -94,8 +94,8 @@ parser.add_argument('--maven-version', dest='mv', action='store', if __name__ == "__main__": args = parser.parse_args() -dep = MavenVersion.MavenVersion(args.dep) -mv = MavenVersion.MavenSingleVersion(args.mv) +dep = MavenVersion(args.dep) +mv = MavenSingleVersion(args.mv) if dep.max.version[0] != : print(f"SLOT={dep.min.version[0]}.{dep.min.version[1]}") diff --git a/scripts/bin/tree.sh b/scripts/bin/tree.sh index 69dfbd6..5cec2c7 100755 --- a/scripts/bin/tree.sh +++ b/scripts/bin/tree.sh @@ -82,7 +82,7 @@ get_maven() { MV=$(xmllint --xpath "/metadata/versioning/versions/version/text()"\ "${ARTIFACT_METADATA}"\ | awk "NR==${line_number}{print $1}") -if compare-maven-version 2>&1 1>/dev/null; then +if compare-maven-version -h 2>/dev/null 1>/dev/null; then TMP_SLOT=$(compare-maven-version --dep "${MV_RANGE}" --maven-version ${MV}) || continue fi eval $TMP_SLOT diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java index 6e0e447..f69527f 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java @@ -133,7 +133,8 @@ public class MavenParser { xmlProcess = xmlBuilder.start(); xmlProcess.waitFor(10, TimeUnit.MINUTES); } catch (final IOException | InterruptedException ex) { -config.getStdoutWriter().println('\n' + ex.toString()); +config.getStdoutWriter().print(""); +//config.getStdoutWriter().println('\n' + ex.toString()); } if (process.exitValue() != 0) {
[gentoo-commits] proj/java-ebuilder:master commit in: /
commit: e29f4b10888fb61835d79888f4dec08afd23599b Author: Zhang Zongyu gmail com> AuthorDate: Fri Aug 28 07:16:20 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Aug 30 15:12:13 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=e29f4b10 release 0.5.1: bugfixes Signed-off-by: Zhang Zongyu gmail.com> pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 8fe211e..74a0451 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 org.gentoo java-ebuilder -0.5.0 +0.5.1 jar Gentoo Java ebuild Builder Java team tool for semi-automatic creation of ebuilds from pom.xml.
[gentoo-commits] proj/java-ebuilder:master commit in: scripts/resources/resources/, scripts/bin/
commit: 6c3712c73e51dac2a4e2b07b468378dbbe483cf2 Author: Zhang Zongyu gmail com> AuthorDate: Fri Aug 28 07:14:17 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Aug 30 15:12:13 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=6c3712c7 tree.sh: ignore more elements of pom.xml Signed-off-by: Zhang Zongyu gmail.com> scripts/bin/tree.sh | 1 + scripts/resources/resources/LUT | 84 - 2 files changed, 1 insertion(+), 84 deletions(-) diff --git a/scripts/bin/tree.sh b/scripts/bin/tree.sh index 5cec2c7..c9f895a 100755 --- a/scripts/bin/tree.sh +++ b/scripts/bin/tree.sh @@ -166,6 +166,7 @@ gebd() { # distributionManagement is invalid for maven 3 # net.sf.jtidy:jtidy:r938 version is not maven-compliant sed -e '/bundle/d' \ +-e '/eclipse-plugin/d' \ -e '//,/<\/distributionManagement>/d' \ -e '//,/<\/build>/d' \ -e '//,/<\/modules>/d' \ diff --git a/scripts/resources/resources/LUT b/scripts/resources/resources/LUT index 0a4f02e..933d015 100644 --- a/scripts/resources/resources/LUT +++ b/scripts/resources/resources/LUT @@ -4104,90 +4104,6 @@ ] ] }, -"maven-bin": { -"3.6": [ -[ -"org.apache.maven", -"maven-core" -], -[ -"org.apache.maven", -"maven-artifact" -], -[ -"org.apache.maven", -"maven-builder-support" -], -[ -"org.apache.maven", -"maven-compat" -], -[ -"org.apache.maven", -"maven-embedder" -], -[ -"org.apache.maven", -"maven-model" -], -[ -"org.apache.maven", -"maven-model-builder" -], -[ -"org.apache.maven", -"maven-plugin-api" -], -[ -"org.apache.maven", -"maven-repository-metadata" -], -[ -"org.apache.maven", -"maven-resolver-api" -], -[ -"org.apache.maven", -"maven-resolver-connector-basic" -], -[ -"org.apache.maven", -"maven-resolver-impl" -], -[ -"org.apache.maven", -"maven-resolver-provider" -], -[ -"org.apache.maven", -"maven-resolver-spi" -], -[ -"org.apache.maven", -"maven-resolver-transport-wagon" -], -[ -"org.apache.maven", -"maven-resolver-util" -], -[ -"org.apache.maven", -"maven-settings" -], -[ -"org.apache.maven", -"maven-settings-builder" -], -[ -"org.apache.maven", -"maven-shared-utils" -], -[ -"org.apache.maven", -"maven-slf4j-provider" -] -] -}, "maven-hawtjni-plugin": { "0": [ [
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/resources/, src/main/java/org/gentoo/java/ebuilder/, ...
commit: 3012503417562f24f1479c10bde1b86da1917817 Author: zongyu gmail com> AuthorDate: Thu Aug 20 10:50:38 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Thu Aug 20 14:04:15 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=30125034 accept multiple --portage-trees while generating cache Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/Config.java| 10 +- src/main/java/org/gentoo/java/ebuilder/Main.java | 19 +++ .../gentoo/java/ebuilder/portage/PortageParser.java | 8 +--- src/main/resources/usage.txt | 4 ++-- 4 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/Config.java b/src/main/java/org/gentoo/java/ebuilder/Config.java index 4502ab3..e9396ca 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Config.java +++ b/src/main/java/org/gentoo/java/ebuilder/Config.java @@ -88,7 +88,7 @@ public class Config { /** * Path to portage tree. */ -private Path portageTree; +private SortedSet portageTree = new TreeSet<>(); /** * Whether ebuild cache should be refreshed. */ @@ -365,17 +365,17 @@ public class Config { * * @return {@link #portageTree} */ -public Path getPortageTree() { +public SortedSet getPortageTree() { return portageTree; } /** - * Setter for {@link #portageTree}. + * Add portageTrees to {@link #portageTree}. * * @param portageTree {@link #portageTree} */ -public void setPortageTree(final Path portageTree) { -this.portageTree = portageTree; +public void addPortageTree(final Path portageTree) { +this.portageTree.add(portageTree); } /** diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index 999f741..6aaf24a 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -7,6 +7,7 @@ import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URI; import java.net.URISyntaxException; +import java.nio.file.Path; import java.nio.file.Paths; import java.text.MessageFormat; import java.util.List; @@ -63,16 +64,18 @@ public class Main { */ private static void checkArgs(final Config config) { if (config.isRefreshCache()) { -if (config.getPortageTree() == null) { -config.setPortageTree(Paths.get("/usr/portage")); +if (config.getPortageTree().isEmpty()) { +config.addPortageTree(Paths.get("/usr/portage")); } -if (!config.getPortageTree().toFile().exists()) { -config.getErrorWriter().println("ERROR: Portage tree " -+ config.getPortageTree() + " does not exist."); -Runtime.getRuntime().exit(1); +for (Path portageTree : config.getPortageTree()) { +if (!portageTree.toFile().exists()) { +config.getErrorWriter().println("ERROR: Portage tree " ++ portageTree + " does not exist."); +Runtime.getRuntime().exit(1); +} } -} else if (config.getPortageTree() != null) { +} else if (!config.getPortageTree().isEmpty()) { config.getErrorWriter().println("WARNING: Portage tree is used " + "only when refreshing cache."); } @@ -277,7 +280,7 @@ public class Main { case "--portage-tree": case "-t": i++; -config.setPortageTree(Paths.get(args[i]).toAbsolutePath(). +config.addPortageTree(Paths.get(args[i]).toAbsolutePath(). normalize()); break; case "--cache-file": diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java index b48e0d2..a1a7075 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java @@ -139,9 +139,11 @@ public class PortageParser { processedEbuilds = 0; eclassesCounts.clear(); -config.getStdoutWriter().println("Parsing portage tree @ " -+ config.getPortageTree() + " ..."); -parseCategories(config.getPortageTree()); +for (Path portageTree : config.getPortageTree()) { +config.getStdoutWriter().println("Parsing portage tree @ " ++ portageTree + " ..."); +parseCategories(portageTree); +} final long endTimestamp = System.currentTimeMillis(); diff --git a/src/main/resources/usage.txt b/src/main/resources/usage.txt index
[gentoo-commits] proj/java-ebuilder:master commit in: scripts/, scripts.new/, scripts.new/resources/Makefiles/, scripts.new/bin/, ...
commit: ecd495b383dc06f1193c22c172b05660f70ddb83 Author: zongyu gmail com> AuthorDate: Mon Aug 24 03:39:36 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Thu Aug 27 06:22:35 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=ecd495b3 migrate scripts from scripts.new/ to scripts/ Signed-off-by: zongyu gmail.com> scripts.new/movl | 43 -- {scripts.new => scripts}/bin/compare-maven-version | 0 {scripts.new => scripts}/bin/fill-cache| 0 {scripts.new => scripts}/bin/simple-xml-formatter | 0 {scripts.new => scripts}/bin/tree-wrapper.sh | 2 +- {scripts.new => scripts}/bin/tree.sh | 4 +- scripts/meta.sh| 121 - scripts/movl | 123 ++--- .../resources/Makefiles/Makefile | 0 .../resources/Makefiles/cache.mk | 0 .../resources/Makefiles/environment.mk | 0 .../resources/Makefiles/stage1.mk | 8 +- .../resources/Makefiles/stage2.mk | 0 {scripts.new => scripts}/resources/resources/LUT | 24 scripts/tree.sh| 145 - 15 files changed, 44 insertions(+), 426 deletions(-) diff --git a/scripts.new/movl b/scripts.new/movl deleted file mode 100755 index 793eea9..000 --- a/scripts.new/movl +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/bash -[[ ${CONFIG} ]] && CONFIG=$(printf "%q\n" "$(realpath "${CONFIG}")") -export PATH="${PATH}:/usr/lib/java-ebuilder/bin" -export EROOT=$(dirname /etc) - -if [[ $# -gt 0 ]]; then -if [[ "$1" == "-h" || "$1" == "--help" ]]; then -echo This is a helper to automagically generate ebuild for -echo Maven artifacts defined in ${EROOT}/etc/java-ebuilder.conf -echo -echo Usage: movl [options] [target] ... -echo Options: please refer to \`make -h\` -echo Targets: -echo " allalias for stage2 and post-stage2" -echo " build alias for stage2 and post-stage2" -echo " stage1 resolve the dependency graph of the provided Maven artifact" -echo " stage2 generate ebuild files of the whole dep graph" -echo " force-stage2 force generate stage2 ebuild files" -echo " post-stage2generate digests for ebuilds" -echo " clean-cacheremove cache files" -echo " clean-stage1 remove stage1-related stuffs" -echo " clean-stage2 remove stage2-related stuffs" -echo " clean remove all the generated stuffs" -echo "Bash Variables:" -echo " CONFIG path to the config file" -echo " default: ${EROOT}/etc/java-ebuilder.conf" -echo " DEFAULT_CATEGORY the default category of the generated ebuilds" -echo " default: app-maven" -echo " MAVEN_NODEPset this variable to stop tree.sh from recursively resolving" -echo " the dependencies of MAVEN_ARTS" -echo " REPOSITORY where to find the pom and jar files" -echo " default: https://repo1.maven.org/maven2; -echo " TSH_NODEBUGset this variable to make \`movl build\` more silent" -exit -fi -else -movl -h -exit 0 -fi - -cd "${EROOT}/usr/lib/java-ebuilder/Makefiles" -make $@ - diff --git a/scripts.new/bin/compare-maven-version b/scripts/bin/compare-maven-version similarity index 100% rename from scripts.new/bin/compare-maven-version rename to scripts/bin/compare-maven-version diff --git a/scripts.new/bin/fill-cache b/scripts/bin/fill-cache similarity index 100% rename from scripts.new/bin/fill-cache rename to scripts/bin/fill-cache diff --git a/scripts.new/bin/simple-xml-formatter b/scripts/bin/simple-xml-formatter similarity index 100% rename from scripts.new/bin/simple-xml-formatter rename to scripts/bin/simple-xml-formatter diff --git a/scripts.new/bin/tree-wrapper.sh b/scripts/bin/tree-wrapper.sh similarity index 94% rename from scripts.new/bin/tree-wrapper.sh rename to scripts/bin/tree-wrapper.sh index 259bf3f..6b29286 100755 --- a/scripts.new/bin/tree-wrapper.sh +++ b/scripts/bin/tree-wrapper.sh @@ -11,7 +11,7 @@ mkdir -p "${POMDIR}" mkdir -p "${CUR_STAGE_DIR}" for artifact in $MAVEN_ARTS; do -$TSH $artifact +"$TSH" $artifact if [[ $? -ne 0 ]]; then echo [!] While processing $artifact, TSH returned an error exit 1 diff --git a/scripts.new/bin/tree.sh b/scripts/bin/tree.sh similarity index 98% rename from scripts.new/bin/tree.sh rename to scripts/bin/tree.sh index 00eb870..69dfbd6 100755 --- a/scripts.new/bin/tree.sh +++ b/scripts/bin/tree.sh @@ -185,7 +185,7 @@ gebd() { # generate ebuild
[gentoo-commits] proj/java-ebuilder:master commit in: scripts.new/resources/Makefiles/, scripts.new/
commit: 13dc4654dc4c919fad3983c8a9eceab316e19858 Author: zongyu gmail com> AuthorDate: Sun Aug 23 03:28:36 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Aug 23 14:01:22 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=13dc4654 update scripts.new/* to make use of 'hprefixify' Signed-off-by: zongyu gmail.com> scripts.new/movl | 4 ++-- scripts.new/resources/Makefiles/cache.mk | 4 ++-- scripts.new/resources/Makefiles/environment.mk | 23 +-- scripts.new/resources/Makefiles/stage2.mk | 9 + 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/scripts.new/movl b/scripts.new/movl index 1f8ae3d..793eea9 100755 --- a/scripts.new/movl +++ b/scripts.new/movl @@ -1,7 +1,7 @@ #!/bin/bash -EROOT=$(python -c "import portage;print(portage.root)") [[ ${CONFIG} ]] && CONFIG=$(printf "%q\n" "$(realpath "${CONFIG}")") -export PATH="${PATH}:${EROOT}/usr/lib/java-ebuilder/bin" +export PATH="${PATH}:/usr/lib/java-ebuilder/bin" +export EROOT=$(dirname /etc) if [[ $# -gt 0 ]]; then if [[ "$1" == "-h" || "$1" == "--help" ]]; then diff --git a/scripts.new/resources/Makefiles/cache.mk b/scripts.new/resources/Makefiles/cache.mk index 459bab9..a2d7a29 100644 --- a/scripts.new/resources/Makefiles/cache.mk +++ b/scripts.new/resources/Makefiles/cache.mk @@ -4,7 +4,7 @@ ${CACHE_TIMESTAMP}: ${PRE_STAGE1_CACHE}.raw: ${CACHE_TIMESTAMP} args=" --refresh-cache";\ for repo in ${REPOS}; do\ - args+=" -t $${repo}";\ + args="$${args} -t $${repo}";\ done;\ java-ebuilder $${args} --cache-file "$@" @@ -14,7 +14,7 @@ ${PRE_STAGE1_CACHE}: ${PRE_STAGE1_CACHE}.raw ${POST_STAGE1_CACHE}.raw: ${STAGE2_MAKEFILE} args=" --refresh-cache -t ${STAGE1_DIR}";\ for repo in ${REPOS}; do\ - args+=" -t $${repo}";\ + args="$${args} -t $${repo}";\ done;\ java-ebuilder $${args} --cache-file "$@" diff --git a/scripts.new/resources/Makefiles/environment.mk b/scripts.new/resources/Makefiles/environment.mk index 4ce014a..d583cb8 100644 --- a/scripts.new/resources/Makefiles/environment.mk +++ b/scripts.new/resources/Makefiles/environment.mk @@ -1,11 +1,12 @@ # Variables to drive tree.sh -# determine EROOT -# ${EROOT} with '\' to deal with spaces -EROOT=$(shell printf "%q\n" \ - "$(shell python -c "import portage;print(portage.root)")") -# quoted verion of ${EROOT} -EROOT_SH="$(shell python -c "import portage;print(portage.root)")" +# SH is bad +SHELL=bash + +# determine EROOT. +# thanks to hprefixify, I do not need to call "python3 -c ..." +EROOT_SH="$(shell dirname /etc)" +EROOT=$(shell printf "%q\n" ${EROOT_SH}) # java-ebuilder.conf CONFIG?=${EROOT}/etc/java-ebuilder.conf @@ -14,7 +15,6 @@ include ${CONFIG} # Aritifact whose dependency to be fill MAVEN_OVERLAY_DIR?=${EROOT}/var/lib/java-ebuilder/maven POMDIR?=${EROOT}/var/lib/java-ebuilder/poms -CACHE_DIR=$(shell printf "%q\n" ${CACHEDIR}) # helpers TSH=${EROOT}/usr/lib/java-ebuilder/bin/tree.sh @@ -27,12 +27,15 @@ STAGE2_MAKEFILE?=${EROOT}/var/lib/java-ebuilder/stage1/stage2.mk # PORTAGE REPOS ## grab all the repositories installed on this system -REPOS?=$(shell portageq get_repo_path ${EROOT_SH}\ - $(shell portageq get_repos ${EROOT_SH})) +REPOS?=$(shell portageq get_repo_path ${EROOT}\ + $(shell portageq get_repos ${EROOT})) REPOS+=${MAVEN_OVERLAY_DIR} -# cache +# where is the LookUp Table LUTFILE?=${EROOT}/usr/lib/java-ebuilder/resources/LUT + +# cache, redefine CACHE_DIR to make it work with GNU Make +CACHE_DIR=$(shell printf "%q\n" ${CACHEDIR}) CACHE_TIMESTAMP?=${CACHE_DIR}/cache.stamp PRE_STAGE1_CACHE?=${CACHE_DIR}/pre-stage1-cache POST_STAGE1_CACHE?=${CACHE_DIR}/post-stage1-cache diff --git a/scripts.new/resources/Makefiles/stage2.mk b/scripts.new/resources/Makefiles/stage2.mk index 09518dc..764bc5c 100644 --- a/scripts.new/resources/Makefiles/stage2.mk +++ b/scripts.new/resources/Makefiles/stage2.mk @@ -7,7 +7,7 @@ force-stage2: ${STAGE2_MAKEFILE} ${POST_STAGE1_CACHE} make -f ${STAGE2_MAKEFILE} all -j`nproc` -B post-stage2: - for dir in "${MAVEN_OVERLAY_DIR}"/*; do \ + for dir in ${MAVEN_OVERLAY_DIR}/*; do \ find $${dir} -type f -name \*.ebuild | grep . || continue;\ pushd $${dir} > /dev/null;\ parallel ebuild '$$(echo {}/*.ebuild | cut -d\ -f1)' digest ::: *;\ @@ -16,8 +16,9 @@ post-stage2: clean-stage2: # just to make sure "${MAVEN_OVERLAY_DIR}" points to an overlay - [[ -f "${MAVEN_OVERLAY_DIR}"/profiles/repo_name ]] &&\ - find "${MAVEN_OVERLAY_DIR}" -type f \ + if [[ -f ${MAVEN_OVERLAY_DIR}/profiles/repo_name ]]; then\ + find ${MAVEN_OVERLAY_DIR} -type f \ \( -name \*.ebuild \ -o -name Manifest \)\ - -delete
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: ab9e52a462aa9107adf7fbe6940c8ce01eddde60 Author: zongyu gmail com> AuthorDate: Wed Aug 19 08:33:23 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Aug 19 08:55:39 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=ab9e52a4 Distinguish "dev-java/junit:0" and "dev-java/junit-4" Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index c1e84d1..19fc43c 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -12,6 +12,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.Set; import org.gentoo.java.ebuilder.Config; +import org.gentoo.java.ebuilder.portage.MavenVersion; /** * Generates ebuild from maven project. @@ -209,7 +210,12 @@ public class MavenEbuilder { */ if ("junit".equals(dependency.getGroupId()) && "junit".equals(dependency.getArtifactId())) { -return "junit"; +if (dependency.getMavenVersion(). +compareTo(new MavenVersion("3.9.9")) < 1) { +return "junit"; +} else { +return "junit-4"; +} } else if ("org.testng".equals(dependency.getGroupId()) && "testng".equals(dependency.getArtifactId())) { return "testng";
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: e024794b5f61201fc1db11fdfc40fa05b03125ed Author: zongyu gmail com> AuthorDate: Wed Aug 19 08:02:07 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Aug 19 08:07:40 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=e024794b recognize and write JAVA_NEEDS_TOOLS automatically Signed-off-by: zongyu gmail.com> .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 3 +++ .../gentoo/java/ebuilder/maven/MavenProject.java | 31 ++ 2 files changed, 34 insertions(+) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index b16a64e..c1e84d1 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -749,6 +749,7 @@ public class MavenEbuilder { // JAVA_CLASSPATH_EXTRA // JAVA_TEST_GENTOO_CLASSPATH // JAVA_ENCODING (unless it differs in projects) +// JAVA_NEED_TOOLS // Compile (jars, doc): // JAVA_SRC_DIR // JAVA_RESOURCE_DIRS @@ -878,6 +879,8 @@ public class MavenEbuilder { writer.println('"'); } +writer.print(mavenProject.getExtraJars(config.getStdoutWriter())); + writer.print("JAVA_SRC_DIR=\""); writer.print(replaceWithVars(config.getWorkdir().relativize( mavenProject.getSourceDirectory()).toString(), config)); diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java index 794f992..b7553b0 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java @@ -423,6 +423,37 @@ public class MavenProject { this.sourceVersion = sourceVersion; } +/** + * deal with scope == "system" dependencies + * + * @return lines of ebuild variables + */ +@SuppressWarnings("unchecked") +public String getExtraJars(final PrintWriter writer) { +String ret = ""; +List systemDependencies = getDependencies(new String[]{"system"}); + +for (final MavenDependency dependency : systemDependencies) { +switch (dependency.getGroupId()) { +case "com.sun": +switch (dependency.getArtifactId()) { +case "tools": +ret += "JAVA_NEEDS_TOOLS=1\n"; +break; +default: +writer.println("Equivalent variable for " + +dependency.getArtifactId() + " not found."); +} +break; +default: +writer.println("Equivalent variable for " + +dependency.getGroupId() + " not found."); +} +} + +return ret; +} + /** * Getter for {@link #targetVersion}. *
[gentoo-commits] proj/java-ebuilder:master commit in: /
commit: 13e876b2befa2b5ca70cc18ce9fce54ac0853d7b Author: Zhang Zongyu gmail com> AuthorDate: Wed Aug 26 02:46:24 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Thu Aug 27 06:22:41 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=13e876b2 release 0.5.0 Signed-off-by: Zhang Zongyu gmail.com> pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 97a38d1..8fe211e 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 org.gentoo java-ebuilder -0.4.1 +0.5.0 jar Gentoo Java ebuild Builder Java team tool for semi-automatic creation of ebuilds from pom.xml.
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: ab6630af6804d8e79e3a3f6ab31b5abb8a6f6d9c Author: zongyu gmail com> AuthorDate: Tue Aug 18 03:20:45 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Tue Aug 18 08:05:21 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=ab6630af improve the coding style of ebuild Signed-off-by: zongyu gmail.com> .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 107 ++--- 1 file changed, 53 insertions(+), 54 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index bfedb68..b16a64e 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -31,14 +31,6 @@ public class MavenEbuilder { private static final String defaultHomepage = "https://wiki.gentoo.org/wiki/No_homepage;; -/** - * The extra dependency for framework "pkgdiff" - */ -private static final String dependencyForPkgdiff -= "\n\t\tamd64? (\n\t\t\tdev-util/pkgdiff" - + "\n\t\t\tdev-util/japi-compliance-checker" - + "\n\t\t)"; - /** * EAPI version. */ @@ -389,7 +381,9 @@ public class MavenEbuilder { dependencies.stream().filter((dependency) -> (dependency.getSystemDependency() != null -&& !result.contains(dependency.getSystemDependency(. +&& !result.contains(dependency.getSystemDependency()) +&& (determineTestingFrameworkByDependency(dependency) == null +|| type != "test"))). forEach((dependency) -> { result.add(dependency.getSystemDependency()); }); @@ -555,26 +549,39 @@ public class MavenEbuilder { writer.println("\tapp-arch/unzip"); } -if (config.hasBinjarUri() && (hasCDepend || !compileDependencies.isEmpty())) { -writer.println("\t!binary? ("); -} - -if (hasCDepend) { -writer.println("\t${CDEPEND}"); -} +if (config.hasBinjarUri()) { +if (hasCDepend && compileDependencies.isEmpty()) { +writer.println("\t!binary? ( ${CDEPEND} )"); +} else if (!compileDependencies.isEmpty()) { +writer.println("\t!binary? ("); + +if (hasCDepend) { +writer.println("\t\t${CDEPEND}"); +} + +if (!compileDependencies.isEmpty()) { +compileDependencies.stream().forEach((dependency) -> { +writer.print("\t\t"); +writer.println(dependency); +}); +} -if (!compileDependencies.isEmpty()) { -compileDependencies.stream().forEach((dependency) -> { -writer.print('\t'); -writer.println(dependency); -}); -} +writer.println("\t)"); +} +} else { +if (hasCDepend) { +writer.println("\t${CDEPEND}"); +} -if (config.hasBinjarUri() && (hasCDepend || !compileDependencies.isEmpty())) { -writer.println("\t)"); +if (!compileDependencies.isEmpty()) { +compileDependencies.stream().forEach((dependency) -> { +writer.print('\t'); +writer.println(dependency); +}); +} } -if (!testDependencies.isEmpty() || config.hasBinjarUri()) { +if (!testDependencies.isEmpty()) { writer.println("\ttest? ("); testDependencies.stream().forEach((dependency) -> { @@ -582,11 +589,6 @@ public class MavenEbuilder { writer.println(dependency); }); -// TODO: is it necessary to check whether amd64 is inside KEYWORDS? -if (config.hasBinjarUri()) { -writer.println(dependencyForPkgdiff); -} - writer.println("\t)"); } @@ -611,7 +613,7 @@ public class MavenEbuilder { writer.println(":*"); if (hasCDepend) { -writer.print("${CDEPEND}"); +writer.print("\t${CDEPEND}"); } if (!runtimeDependencies.isEmpty()) { @@ -700,6 +702,26 @@ public class MavenEbuilder { } writer.println('"'); + +// write MAVEN_ID ahead of DESCRIPTION +writer.print("MAVEN_ID=\""); +writer.print(mavenProject.getGroupId()); +writer.print(':'); +writer.print(mavenProject.getArtifactId()); +writer.print(':'); +writer.print(mavenProject.getVersion()); +writer.println('"'); + +// write testing framworks, so java-pkg-simple.eclass can deal with it
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/resources/
commit: 8173b238277ef2c8f122c8676b84058eb9ea1fba Author: zongyu gmail com> AuthorDate: Tue Aug 11 09:08:47 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Tue Aug 18 08:05:09 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=8173b238 update licensemap Signed-off-by: zongyu gmail.com> src/main/resources/licenseMap.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/licenseMap.properties b/src/main/resources/licenseMap.properties index a2fdbc6..a574b2d 100644 --- a/src/main/resources/licenseMap.properties +++ b/src/main/resources/licenseMap.properties @@ -85,6 +85,7 @@ edl\ 1.0=EPL-1.0 epl=EPL-1.0 epl\ 2.0=EPL-2.0 epl-2.0=EPL-2.0 +gnu\ general\ lesser\ public\ license\ (lgpl)\ version\ 3.0=LGPL-3 gnu\ general\ public\ library=GPL-1 gnu\ general\ public\ license,\ version\ 2=GPL-2 gnu\ general\ public\ license\ version\ 2=GPL-2
[gentoo-commits] proj/java-ebuilder:master commit in: maven/eclass/, maven/licenses/
commit: 2635a5185a661a73e3d53f55d6622f0c0f1e171e Author: zongyu gmail com> AuthorDate: Tue Aug 18 03:20:15 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Tue Aug 18 08:05:21 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=2635a518 update java-pkg-maven, add two licenses Signed-off-by: zongyu gmail.com> maven/eclass/java-pkg-maven.eclass| 19 +++-- maven/licenses/Indiana-University-Extreme-Lab | 58 +++ maven/licenses/UPL-1.0| 35 3 files changed, 108 insertions(+), 4 deletions(-) diff --git a/maven/eclass/java-pkg-maven.eclass b/maven/eclass/java-pkg-maven.eclass index 68f6712..089523c 100644 --- a/maven/eclass/java-pkg-maven.eclass +++ b/maven/eclass/java-pkg-maven.eclass @@ -37,26 +37,35 @@ EXPORT_FUNCTIONS src_unpack # the application. Give it a default value to handle src_unpack. : ${JAVA_TEST_SRC_DIR:=src/test/java} +# @ECLASS-VARIABLE: JAVA_BINJAR_FILENAME +# @DEFAULT_UNSET +# @DESCRIPTION: +# The name of the binary jar file that java-pkg-maven will not unpack + # @FUNCTION: java-pkg-binjar_src_unpack # @DESCRIPTION: # Copy the binary jar into the expected place of java-pkg-simple. Do # not extract files from archive. java-pkg-maven_src_unpack() { + # mkdir + mkdir -p "${S}"/${JAVA_TEST_SRC_DIR}\ + || die "Could not create ${JAVA_TEST_SRC_DIR}" + mkdir -p "${S}"/${JAVA_SRC_DIR}\ + || die "Could not create ${JAVA_SRC_DIR}" + + # unpack files for file in ${A}; do case ${file} in *-test-sources.jar) - mkdir -p "${S}"/${JAVA_TEST_SRC_DIR}\ - || die "Could not create ${JAVA_TEST_SRC_DIR}" unzip -q -o "${DISTDIR}"/${file} -d "${S}"/${JAVA_TEST_SRC_DIR}\ || die "Could not unzip source code for testing" ;; *-sources.jar) - mkdir -p "${S}"/${JAVA_SRC_DIR}\ - || die "Could not create ${JAVA_SRC_DIR}" unzip -q -o "${DISTDIR}"/${file} -d "${S}"/${JAVA_SRC_DIR}\ || die "Could not unzip source code" if [[ -d "${S}"/${JAVA_SRC_DIR}/META-INF ]] ; then rm "${S}"/${JAVA_SRC_DIR}/META-INF -r || die fi ;; + ${JAVA_BINJAR_FILENAME}) ;; *) unpack ${file};; esac @@ -67,5 +76,7 @@ java-pkg-maven_src_unpack() { cp "${S}"/${JAVA_SRC_DIR} "${S}"/${JAVA_RESOURCE_DIRS} -r || die find "${S}"/${JAVA_RESOURCE_DIRS} -type f ! -name \*.properties \ -exec rm {} \; || die + find "${S}"/${JAVA_RESOURCE_DIRS} -type d -empty -delete || die + mkdir -p "${S}"/${JAVA_RESOURCE_DIRS} } diff --git a/maven/licenses/Indiana-University-Extreme-Lab b/maven/licenses/Indiana-University-Extreme-Lab new file mode 100644 index 000..104f189 --- /dev/null +++ b/maven/licenses/Indiana-University-Extreme-Lab @@ -0,0 +1,58 @@ +LICENSE FOR THE Extreme! Lab PullParser + + +Copyright � 2002 The Trustees of Indiana University. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + +1) All redistributions of source code must retain the above + copyright notice, the list of authors in the original source + code, this list of conditions and the disclaimer listed in this + license; + +2) All redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the disclaimer + listed in this license in the documentation and/or other + materials provided with the distribution; + +3) Any documentation included with all redistributions must include + the following acknowledgement: + + "This product includes software developed by the Indiana + University Extreme! Lab. For further information please visit + http://www.extreme.indiana.edu/; + + Alternatively, this acknowledgment may appear in the software + itself, and wherever such third-party acknowledgments normally + appear. + +4) The name "Indiana Univeristy" and "Indiana Univeristy + Extreme! Lab" shall not be used to endorse or promote + products derived from this software without prior written + permission from Indiana University. For written permission, + please contact http://www.extreme.indiana.edu/. + +5) Products derived from this software may not use "Indiana + Univeristy" name nor may "Indiana Univeristy" appear in their name, +
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 0d8dcd56027708943ffd97869f268e9d17be6723 Author: zongyu gmail com> AuthorDate: Thu Aug 13 07:49:21 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Tue Aug 18 08:05:21 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=0d8dcd56 the minimum version of jdk should be 1.8 to make it compatible with jdk-11 Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java b/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java index b1918b0..6df982a 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java @@ -41,7 +41,7 @@ public class JavaVersion { versionNumber = Integer.parseInt(matcher.group(1), 10); if (versionNumber <= 8) { -this.versionString = "1." + Integer.toString(versionNumber); +this.versionString = "1.8"; } else { this.versionString = versionString;
[gentoo-commits] proj/java-ebuilder:master commit in: maven/eclass/, src/main/java/org/gentoo/java/ebuilder/maven/
commit: ab5d26a990de18f3ec1f2166f39da7971c910e2b Author: zongyu gmail com> AuthorDate: Fri Aug 7 02:48:43 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Aug 7 03:14:36 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=ab5d26a9 minor bugfixes: 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 gmail.com> maven/eclass/java-pkg-binjar.eclass| 6 +- maven/eclass/java-pkg-maven.eclass | 2 +- .../java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 10 +- .../java/org/gentoo/java/ebuilder/maven/MavenLicenses.java | 6 -- src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java | 10 +- 5 files changed, 16 insertions(+), 18 deletions(-) diff --git a/maven/eclass/java-pkg-binjar.eclass b/maven/eclass/java-pkg-binjar.eclass index 79947e7..5406455 100644 --- a/maven/eclass/java-pkg-binjar.eclass +++ b/maven/eclass/java-pkg-binjar.eclass @@ -27,4 +27,8 @@ java-pkg-binjar_src_unpack() { # @FUNCTION: java-pkg-simple_src_compile # @DESCRIPTION: # Do nothing as we are doing binary install. -java-pkg-binjar_src_compile() { :; } +java-pkg-binjar_src_compile() { + for dependency in ${JAVA_GENTOO_CLASSPATH//,/ }; do + java-pkg_record-jar_ ${dependency} + done +} diff --git a/maven/eclass/java-pkg-maven.eclass b/maven/eclass/java-pkg-maven.eclass index fb41bb2..68f6712 100644 --- a/maven/eclass/java-pkg-maven.eclass +++ b/maven/eclass/java-pkg-maven.eclass @@ -28,7 +28,7 @@ EXPORT_FUNCTIONS src_unpack # @DESCRIPTION: # A directory relative to ${S} which contains the resources of the # application. Give it a default value to handle src_unpack. -: ${JAVA_RESOURCE_DIRS:=src/main/resources} +: ${JAVA_RESOURCE_DIRS:=resources} # @ECLASS-VARIABLE: JAVA_RESOURCE_DIRS # @DEFAULT_UNSET diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index e73a1fd..bfedb68 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -223,15 +223,15 @@ public class MavenEbuilder { return "testng"; } else if ("org.junit.jupiter".equals(dependency.getGroupId()) && "junit-jupiter-engine".equals(dependency.getArtifactId())) { -// java-pkg-simple do not support now -return "junit-juniper"; +// java-pkg-simple does not support this framework +return "junit-jupiter"; } else if ("org.junit.vintage".equals(dependency.getGroupId()) && "junit-vintage-engine".equals(dependency.getArtifactId())) { -// java-pkg-simple do not support now +// java-pkg-simple does not support this framework return "junit-vintage"; } else if ("io.cucumber".equals(dependency.getGroupId()) && "cucumber-junit".equals(dependency.getArtifactId())) { -// java-pkg-simple do not support now +// java-pkg-simple does not support this framework return "cucumber"; } else { return null; @@ -582,7 +582,7 @@ public class MavenEbuilder { writer.println(dependency); }); -// TODO: check whether amd64 is inside KEYWORDS +// TODO: is it necessary to check whether amd64 is inside KEYWORDS? if (config.hasBinjarUri()) { writer.println(dependencyForPkgdiff); } diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenLicenses.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenLicenses.java index f2f4f9a..5309353 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenLicenses.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenLicenses.java @@ -34,7 +34,7 @@ public class MavenLicenses { try { mapProperty.load( this.getClass().getResourceAsStream( -licenseMapFile)); +licenseMapFile)); } catch (final IOException ex) { throw new RuntimeException( "Failed to read license map from resource", ex); @@ -52,7 +52,9 @@ public class MavenLicenses { */ public String getEquivalentLicense(String licenseName) { final String portageLicense = -licenseMap.get(licenseName.toLowerCase()); +licenseMap.get(licenseName.trim(). +replaceAll("[\n ]+", " "). +toLowerCase());
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 84b4ee711e35b9b53a443cd92d31a108e2aaa569 Author: zongyu gmail com> AuthorDate: Sat Aug 1 15:21:31 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Sat Aug 1 15:26:41 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=84b4ee71 update the recorded skeleton cmd Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 9 + 1 file changed, 9 insertions(+) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 8fceec6..810358c 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -364,11 +364,20 @@ public class MavenEbuilder { }); } +if (config.isFromMavenCentral()) { +writer.print(" --from-maven-central"); +} + if (config.getDownloadUri() != null) { writer.print(" --download-uri "); writer.print(config.getDownloadUri()); } +if (config.hasBinjarUri()) { +writer.print(" --binjar-uri "); +writer.print(config.getBinjarUri()); +} + if (config.getLicense() != null) { writer.print(" --license "); writer.print(config.getLicense());
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/, src/main/resources/
commit: cc8aa4b89b5f9e268d4d40d04b25418e70955ea3 Author: zongyu gmail com> AuthorDate: Fri Jul 31 09:07:48 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Jul 31 16:25:14 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=cc8aa4b8 initial effort to make java-ebuilder parse licenses from pom.xml Signed-off-by: zongyu gmail.com> .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 2 + .../gentoo/java/ebuilder/maven/MavenLicenses.java | 62 .../gentoo/java/ebuilder/maven/MavenParser.java| 66 ++ .../gentoo/java/ebuilder/maven/MavenProject.java | 22 src/main/resources/licenseMap.properties | 2 + 5 files changed, 154 insertions(+) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 37d45a4..3b5c3d6 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -702,6 +702,8 @@ public class MavenEbuilder { if (config.getLicense() != null) { writer.print(config.getLicense()); +} else { +writer.print(mavenProject.getLicenses()); } writer.println('"'); diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenLicenses.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenLicenses.java new file mode 100644 index 000..e2db62c --- /dev/null +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenLicenses.java @@ -0,0 +1,62 @@ +package org.gentoo.java.ebuilder.maven; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; + +/** + * translate licenses from pom.xml to portage + * + * @author Zhang Zongyu + */ +public class MavenLicenses { + +/** + * Location of the resource file mapping licenses. + */ +private static final String licenseMapFile += "/licenseMap.properties"; + +/** + * the Map that will convert license from maven + * to portage. + */ +private Map licenseMap; + +/** + * Load cache from resource + */ +@SuppressWarnings({"unchecked", "rawtypes"}) +MavenLicenses() { +Properties mapProperty = new Properties(); +try { +mapProperty.load( +this.getClass().getResourceAsStream( +licenseMapFile)); +} catch (final IOException ex) { +throw new RuntimeException( +"Failed to read license map from resource", ex); +} + +licenseMap = (Map)mapProperty; +} + +/** + * query the LicenseMap + * + * @param licenseName the licenses/license/name in pom.xml + * + * @return license identifier that works with Portage + */ +public String getEquivalentLicense(String licenseName) { +final String portageLicense = licenseMap.get(licenseName); + +if (portageLicense == null) { +return "!!!equivalentPortageLicenseName-not-found!!!"; +} else { +return portageLicense; +} +} +} diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java index 8abc0aa..8c64e37 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java @@ -16,6 +16,7 @@ import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamException; import javax.xml.stream.XMLStreamReader; import org.gentoo.java.ebuilder.Config; +import org.gentoo.java.ebuilder.maven.MavenLicenses; /** * Parser for parsing pom.xml into project collector class. @@ -419,6 +420,9 @@ public class MavenParser { case "groupId": mavenProject.setGroupId(reader.getElementText()); break; +case "licenses": +parseProjectLicenses(mavenProject, reader); +break; case "properties": parseProjectProperties(mavenProject, reader); break; @@ -572,6 +576,68 @@ public class MavenParser { } } +/** + * Parses project licenses. + * + * @param mavenProject maven project instance + * @param reader XML stream reader + * + * @throws XMLStreamException Thrown if problem occurred while reading the + *XML stream. + */ +private void parseProjectLicenses(final MavenProject mavenProject, +final XMLStreamReader reader) +
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 1a3f3a54a35473811acf16057529703199a3df76 Author: zongyu gmail com> AuthorDate: Wed Aug 5 04:20:07 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Aug 5 07:49:29 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=1a3f3a54 make java-ebuilder able to recogize junit-5 and cucumber testing frameworks Signed-off-by: zongyu gmail.com> .../org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 18 -- .../org/gentoo/java/ebuilder/maven/MavenProject.java | 2 +- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index b9778ef..e73a1fd 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -211,11 +211,9 @@ public class MavenEbuilder { */ private String determineTestingFrameworkByDependency( final MavenDependency dependency) { -/** TODO: missing support for - *"org.junit.vintage:junit-vintage-engine" tests +/** TODO: missing determination for *"POJO" tests *"spock" tests - *"cucumber" tests */ if ("junit".equals(dependency.getGroupId()) && "junit".equals(dependency.getArtifactId())) { @@ -224,9 +222,17 @@ public class MavenEbuilder { && "testng".equals(dependency.getArtifactId())) { return "testng"; } else if ("org.junit.jupiter".equals(dependency.getGroupId()) -&& "junit-jupiter-engine". -equals(dependency.getArtifactId())) { -return "junit-5"; +&& "junit-jupiter-engine".equals(dependency.getArtifactId())) { +// java-pkg-simple do not support now +return "junit-juniper"; +} else if ("org.junit.vintage".equals(dependency.getGroupId()) +&& "junit-vintage-engine".equals(dependency.getArtifactId())) { +// java-pkg-simple do not support now +return "junit-vintage"; +} else if ("io.cucumber".equals(dependency.getGroupId()) +&& "cucumber-junit".equals(dependency.getArtifactId())) { +// java-pkg-simple do not support now +return "cucumber"; } else { return null; } diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java index 51ec844..794f992 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java @@ -276,7 +276,7 @@ public class MavenProject { * @param description {@link #description} */ public void setDescription(final String description) { -this.description = description; +this.description = description.replaceAll("[\n ]+", " "); } /**
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/resources/, src/main/java/org/gentoo/java/ebuilder/maven/
commit: 1a0861fce9d1eed817114871b073edf1f527e21d Author: zongyu gmail com> AuthorDate: Sat Aug 1 09:16:04 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Sat Aug 1 15:25:32 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=1a0861fc update usage.txt, fix Copyright statement of Gentoo Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 2 +- src/main/resources/usage.txt| 5 - 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 3b5c3d6..8fceec6 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -598,7 +598,7 @@ public class MavenEbuilder { * @param writer ebuild writer */ private void writeHeader(final PrintWriter writer) { -writer.printf("# Copyright 1999-%d Gentoo Foundation\n", +writer.printf("# Copyright 1999-%d Gentoo Authors\n", LocalDate.now().getYear()); writer.println("# Distributed under the terms of the GNU General " + "Public License v2"); diff --git a/src/main/resources/usage.txt b/src/main/resources/usage.txt index 725643c..78ab745 100644 --- a/src/main/resources/usage.txt +++ b/src/main/resources/usage.txt @@ -2,13 +2,16 @@ Usage: java-ebuilder Generating ebuild: --download-uri|-u uri that goes to SRC_URI +--binjar-uri uri that goes to binary jar --dump-projects|-d outputs information about parsed projects (useful for debugging) --ebuild|-e path to ebuild that should be created --force-min-java-version force minimum JDK/JRE version in dependencies +--from-maven-central make java-ebuilder inherit java-pkg-maven.eclass --generate-ebuild|-g generates ebuild from pom.xml --keywords|-karch keywords ---license|-l license name +--license|-l license name, if it is not specified, + java-ebuilder will determine LICENSE from pom.xml --pom|-p path to pom.xml that should be parsed, the path must be relative to workdir (can be specified multiple times)
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 6f952b0dfa64958ddd6f391703995c6c97f75bce Author: zongyu gmail com> AuthorDate: Sun Aug 2 02:48:45 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Aug 2 03:21:21 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=6f952b0d create proper GENTOO_CLASSPATH for java-virtuals/*. Signed-off-by: zongyu gmail.com> .../org/gentoo/java/ebuilder/maven/MavenEbuilder.java| 16 ++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 810358c..646fc13 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -33,6 +33,12 @@ public class MavenEbuilder { private static final Pattern PATTERN_TARBALL_NAME = Pattern.compile("^.*/\\$\\{P\\}-sources.((?:\\.tar)\\.\\S+|(?:\\.jar))$"); +/** + * Pattern for checking whether the dependency is specifying versions. + */ +private static final Pattern PATTERN_EBUILD_VERSIONING += Pattern.compile("^[~=<>].*$"); + /** * Generates ebuild from the collected information at the specified path. * @@ -88,14 +94,20 @@ public class MavenEbuilder { sbCP.append(','); } -final String[] parts = dependency.getSystemDependency(). +final String ebuildDependency = +dependency.getSystemDependency(); + +final String[] parts = ebuildDependency. replaceAll(".*/", ""). replaceAll("\\[.*\\]", ""). split(":"); String pn = parts[0].replaceAll("-r\\d+$", ""); if (parts.length == 2) { -pn = pn.substring(0, pn.lastIndexOf('-')); +if (PATTERN_EBUILD_VERSIONING. +matcher(ebuildDependency).matches()) { +pn = pn.substring(0, pn.lastIndexOf('-')); +} if (!parts[1].equals("0")) { pn += "-" + parts[1];
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/resources/, src/main/java/org/gentoo/java/ebuilder/maven/
commit: 1c7018663e04e676f4ff74a9604913a81ddbfbf4 Author: zongyu gmail com> AuthorDate: Sat Aug 1 09:04:07 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Sat Aug 1 15:17:55 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=1c701866 Use Set instead of List for storing Licenses, update license map Signed-off-by: zongyu gmail.com> .../gentoo/java/ebuilder/maven/MavenLicenses.java | 3 +- .../gentoo/java/ebuilder/maven/MavenProject.java | 12 +- src/main/resources/licenseMap.properties | 152 - 3 files changed, 161 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenLicenses.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenLicenses.java index e2db62c..f2f4f9a 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenLicenses.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenLicenses.java @@ -51,7 +51,8 @@ public class MavenLicenses { * @return license identifier that works with Portage */ public String getEquivalentLicense(String licenseName) { -final String portageLicense = licenseMap.get(licenseName); +final String portageLicense = +licenseMap.get(licenseName.toLowerCase()); if (portageLicense == null) { return "!!!equivalentPortageLicenseName-not-found!!!"; diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java index fa4958d..2fd88de 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java @@ -4,7 +4,9 @@ import java.io.PrintWriter; import java.nio.file.Path; import java.util.ArrayList; import java.util.Collections; +import java.util.HashSet; import java.util.List; +import java.util.Set; /** * Contains information about maven project collected from pom.xml. @@ -44,7 +46,7 @@ public class MavenProject { /** * Lisences. */ -private List licenses = new ArrayList<>(10); +private Set licenses = new HashSet<>(10); /** * Homepage URL. */ @@ -113,8 +115,12 @@ public class MavenProject { * * @param license {@link #licenses} */ -public void addLicense(final String license) { -licenses.add(license); +public void addLicense(final String portageLicenses) { +final String[] parts = portageLicenses.split(":"); + +for (String eachLicense: parts) { +licenses.add(eachLicense); +} } /** diff --git a/src/main/resources/licenseMap.properties b/src/main/resources/licenseMap.properties index fe9262a..5cd2e5d 100644 --- a/src/main/resources/licenseMap.properties +++ b/src/main/resources/licenseMap.properties @@ -1,2 +1,150 @@ -#Fri Jul 31 23:28:29 CST 2020 -Apache\ License,\ Version\ 2.0=Apache-2.0 +#Sat Aug 01 15:44:04 CST 2020 +# A properties file that maps license name of pom.xml to +# portage compatible names. +# +# If the name indicates multiple licenses, please record +# the license like: +#@CODE +# name\ from\ pom.xml=GPL-2:MIT:BSD +#@CODE +# +# If it indicates multiple choices of licenses, please +# record the license like: +#@CODE +# name\ from\ pom.xml=||\ (\ GPL-2\ MIT\ ) +#@CODE +# +# according to dev-java/bcpkix::gentoo +bouncy\ castle\ licence=BSD +# according to dev-lang/scala::gentoo +bsd-like=BSD +# +3-clause\ bsd\ license=BSD +apache\ 2=Apache-2.0 +apache\ 2.0=Apache-2.0 +apache-2.0=Apache-2.0 +apache\ 2.0\ license=Apache-2.0 +apache\ license=Apache +apache\ license\ 2=Apache-2.0 +apache\ license\ 2.0=Apache-2.0 +apache\ license,\ 2.0=Apache-2.0 +apache\ license\ v2.0=Apache-2.0 +apache\ license\ version\ 2=Apache-2.0 +apache\ license,\ version\ 2.0=Apache-2.0 +apache\ license\ version\ 2.0=Apache-2.0 +apache\ license,\ version\ 2.0=Apache-2.0 +apache\ public\ license\ 2.0=Apache-2.0 +apache\ software\ license,\ version\ 1.1=Apache-1.1 +apache\ software\ license\ -\ version\ 2.0=Apache-2.0 +apache\ v2=Apache-2.0 +asf\ 2.0=Apache-2.0 +asl=Apache-2.0 +asl\ 2.0=Apache-2.0 +asl,\ version\ 2=Apache-2.0 +bsd=BSD-1 +bsd\ 2-clause=BSD-2 +bsd-2-clause=BSD-2 +bsd\ 2-clause\ license=BSD-2 +bsd\ 3-clause=BSD +bsd-3-clause=BSD +bsd\ licence=BSD-1 +bsd\ license=BSD-1 +bsd\ style=BSD +cc0=CC0-1.0 +cddl\ 1.0=CDDL +cddl\ 1.1=CDDL-1.1 +cddl+gpl\ license=CDDL:GPL-1 +cddl/gplv2+ce=||\ (\ CDDL\ GPL-2-with-classpath-exception\ ) +cddl\ +\ gplv2\ with\ classpath\ exception=CDDL:GPL-2-with-classpath-exception +cddl\ license=CDDL +cddl\ v1.1\ /\ gpl\ v2\ dual\ license=CDDL-1.1:GPL-2 +common\ development\ and\ distribution\ license=CDDL +common\ development\ and\ distribution\ license\ (cddl)\ plus\ gpl=CDDL:GPL +common\ development\ and\ distribution\ license\ (cddl)\ v1.0=CDDL +common\ development\ and\ distribution\ license\ (cddl)\ version\
[gentoo-commits] proj/java-ebuilder:master commit in: maven/eclass/
commit: 6630c8b0d4c1beb5dee68d4481487e8acd0340e4 Author: zongyu gmail com> AuthorDate: Wed Aug 5 04:04:34 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Aug 5 04:05:29 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=6630c8b0 update java-pkg-maven: recogize files by suffixes Signed-off-by: zongyu gmail.com> maven/eclass/java-pkg-maven.eclass | 45 -- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/maven/eclass/java-pkg-maven.eclass b/maven/eclass/java-pkg-maven.eclass index d926cc3..fb41bb2 100644 --- a/maven/eclass/java-pkg-maven.eclass +++ b/maven/eclass/java-pkg-maven.eclass @@ -13,23 +13,30 @@ EXPORT_FUNCTIONS src_unpack -# @ECLASS-VARIABLE: JAVA_SOURCE_FILENAME +# @ECLASS-VARIABLE: JAVA_SRC_DIR # @DESCRIPTION: -# The filename of the source code. -: ${JAVA_SOURCE_FILENAME:=${P}-sources.jar} - -# @ECLASS-VARIABLE: JAVA_TEST_SOURCE_FILENAME -# @DESCRIPTION: -# The filename of the source code for launch testing. -: ${JAVA_TEST_SOURCE_FILENAME:=${P}-test-sources.jar} +# A directory relative to ${S} which contains the source code. +# source code distributed by Maven Central are exactly the root of +# the source code, we need to assign them a separate directory to +# avoid the situation that the source code, the resources and the +# source code for testing are mixed in ${S}. +# +: ${JAVA_SRC_DIR:=src/main/java} # @ECLASS-VARIABLE: JAVA_RESOURCE_DIRS # @DEFAULT_UNSET # @DESCRIPTION: -# A directory relative to ${S} which contain the resources of the +# A directory relative to ${S} which contains the resources of the # application. Give it a default value to handle src_unpack. : ${JAVA_RESOURCE_DIRS:=src/main/resources} +# @ECLASS-VARIABLE: JAVA_RESOURCE_DIRS +# @DEFAULT_UNSET +# @DESCRIPTION: +# A directory relative to ${S} which contains the source code for testing +# the application. Give it a default value to handle src_unpack. +: ${JAVA_TEST_SRC_DIR:=src/test/java} + # @FUNCTION: java-pkg-binjar_src_unpack # @DESCRIPTION: # Copy the binary jar into the expected place of java-pkg-simple. Do @@ -37,23 +44,27 @@ EXPORT_FUNCTIONS src_unpack java-pkg-maven_src_unpack() { for file in ${A}; do case ${file} in - ${JAVA_BINJAR_FILENAME}) ;; - ${JAVA_SOURCE_FILENAME}) - mkdir -p "${S}"/${JAVA_SRC_DIR}\ - || die "Could not create ${JAVA_SRC_DIR}" - unzip -q -o "${DISTDIR}"/${file} -d "${S}"/${JAVA_SRC_DIR}\ - || die "Could not unzip source code" ;; - ${JAVA_TEST_SOURCE_FILENAME}) + *-test-sources.jar) mkdir -p "${S}"/${JAVA_TEST_SRC_DIR}\ || die "Could not create ${JAVA_TEST_SRC_DIR}" unzip -q -o "${DISTDIR}"/${file} -d "${S}"/${JAVA_TEST_SRC_DIR}\ || die "Could not unzip source code for testing" ;; + *-sources.jar) + mkdir -p "${S}"/${JAVA_SRC_DIR}\ + || die "Could not create ${JAVA_SRC_DIR}" + unzip -q -o "${DISTDIR}"/${file} -d "${S}"/${JAVA_SRC_DIR}\ + || die "Could not unzip source code" + if [[ -d "${S}"/${JAVA_SRC_DIR}/META-INF ]] ; then + rm "${S}"/${JAVA_SRC_DIR}/META-INF -r || die + fi ;; + *) + unpack ${file};; esac done # the resources (maven resources are bundled inside source file) + mkdir -p $(dirname "${S}"/${JAVA_RESOURCE_DIRS}) || die cp "${S}"/${JAVA_SRC_DIR} "${S}"/${JAVA_RESOURCE_DIRS} -r || die - rm "${S}"/${JAVA_RESOURCE_DIRS}/META-INF -r || die find "${S}"/${JAVA_RESOURCE_DIRS} -type f ! -name \*.properties \ -exec rm {} \; || die }
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/, ...
commit: 11678b72a491963a8bad6d65c84d6228a0e3ac5a Author: zongyu gmail com> AuthorDate: Tue Aug 4 07:10:01 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Aug 5 04:05:24 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=11678b72 sort KEYWORDS Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/Config.java | 32 src/main/java/org/gentoo/java/ebuilder/Main.java | 2 +- .../gentoo/java/ebuilder/maven/MavenProject.java | 2 +- .../java/ebuilder/portage/KeywordComparator.java | 35 ++ src/main/resources/usage.txt | 2 +- 5 files changed, 64 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/Config.java b/src/main/java/org/gentoo/java/ebuilder/Config.java index dbfa30b..4502ab3 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Config.java +++ b/src/main/java/org/gentoo/java/ebuilder/Config.java @@ -7,7 +7,10 @@ import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.SortedSet; +import java.util.TreeSet; import org.gentoo.java.ebuilder.maven.JavaVersion; +import org.gentoo.java.ebuilder.portage.KeywordComparator; /** * Container for command line configuration. @@ -73,7 +76,7 @@ public class Config { /** * Arch keywords. */ -private String keywords; +private SortedSet keywords = new TreeSet<>(new KeywordComparator()); /** * License name. */ @@ -301,16 +304,33 @@ public class Config { * @return {@link #keywords} */ public String getKeywords() { -return keywords; +return String.join(" ", keywords); } /** - * Setter for {@link #keywords}. + * add keyword to {@link #keywords}. * - * @param keywords {@link #keywords} + * @param keyword String that contains one or more keywords */ -public void setKeywords(final String keywords) { -this.keywords = keywords; +public void addKeywords(final String keywords) { +String[] parts = keywords.split(" "); + +/** + * Make "-amd64" replace "amd64 ~amd64" + * Make "amd64" replace "~amd64" + */ +for (String part : parts) { +if (part.startsWith("-")) { +this.keywords.remove(part.substring(1)); +this.keywords.remove("~" + part.substring(1)); +this.keywords.add(part); +} else if (part.startsWith("~")) { +this.keywords.add(part); +} else { +this.keywords.remove("~" + part); +this.keywords.add(part); +} +} } /** diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index 49f6a49..999f741 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -262,7 +262,7 @@ public class Main { case "--keywords": case "-k": i++; -config.setKeywords(args[i]); +config.addKeywords(args[i]); break; case "--license": case "-l": diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java index e1016a8..51ec844 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java @@ -46,7 +46,7 @@ public class MavenProject { /** * Lisences. */ -private SortedSet licenses = new TreeSet<>(10); +private SortedSet licenses = new TreeSet<>(); /** * Homepage URL. */ diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/KeywordComparator.java b/src/main/java/org/gentoo/java/ebuilder/portage/KeywordComparator.java new file mode 100644 index 000..4382cf4 --- /dev/null +++ b/src/main/java/org/gentoo/java/ebuilder/portage/KeywordComparator.java @@ -0,0 +1,35 @@ +package org.gentoo.java.ebuilder.portage; + +import java.util.Comparator; + +/** + * a comparator to sort keywords + * + * @author Zhang Zongyu + */ +public class KeywordComparator implements Comparator { + +/** + * it is designed to compare KEYWORDS as what repoman will do: + * 1) "-amd64", "amd64" and "~amd64" are the same -- they will + *not appear at the same time in a TreeSet; + * 2) After splitting the strings into two parts by "-", it will + *compare the suffixes before it compares the prefixes. + */ +@Override +public int compare(String o1, String o2) { +// prepend "-0-" to make sure the length of the array is 2 +final String[] trimmedO1 = (o1 + "-0-"). +replaceAll("^[-~]", ""). +
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/resources/, src/main/java/org/gentoo/java/ebuilder/maven/
commit: 1198ae64e71b5d8dab832c78ab16a103512eaf58 Author: zongyu gmail com> AuthorDate: Sun Aug 2 09:13:54 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Aug 3 02:28:40 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=1198ae64 reformat the license/name string Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java | 4 +++- src/main/resources/licenseMap.properties | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java index 8c64e37..d487024 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java @@ -627,7 +627,9 @@ public class MavenParser { case "name": mavenProject.addLicense( mavenLicenses.getEquivalentLicense( -reader.getElementText())); +reader.getElementText(). +trim(). +replaceAll("[\n ]+", " "))); break; default: consumeElement(reader); diff --git a/src/main/resources/licenseMap.properties b/src/main/resources/licenseMap.properties index 5cd2e5d..a2fdbc6 100644 --- a/src/main/resources/licenseMap.properties +++ b/src/main/resources/licenseMap.properties @@ -59,7 +59,7 @@ cddl\ +\ gplv2\ with\ classpath\ exception=CDDL:GPL-2-with-classpath-exception cddl\ license=CDDL cddl\ v1.1\ /\ gpl\ v2\ dual\ license=CDDL-1.1:GPL-2 common\ development\ and\ distribution\ license=CDDL -common\ development\ and\ distribution\ license\ (cddl)\ plus\ gpl=CDDL:GPL +common\ development\ and\ distribution\ license\ (cddl)\ plus\ gpl=CDDL:GPL-1 common\ development\ and\ distribution\ license\ (cddl)\ v1.0=CDDL common\ development\ and\ distribution\ license\ (cddl)\ version\ 1.0=CDDL common\ public\ license\ -\ v\ 1.0=CPL-1.0 @@ -113,7 +113,8 @@ hsqldb\ license=BSD indiana\ university\ extreme!\ lab\ software\ license=Indiana-University-Extreme-Lab indiana\ university\ extreme!\ lab\ software\ license\ 1.1.1=Indiana-University-Extreme-Lab indiana\ university\ extreme!\ lab\ software\ license,\ vesion\ 1.1.1=Indiana-University-Extreme-Lab -jquery\ license=MIT:CC0 +jquery\ license=MIT:CC0-1.0 +jsr-000107\ jcache\ 2.9\ public\ review\ -\ updated\ specification\ license=Apache-2.0 lgpl=LGPL-3 lgpl\ 2.1=LGPL-2.1 lgpl-2.1=LGPL-2.1
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/, ...
commit: 6052789c154452e2198ddf57983d626ba870c321 Author: zongyu gmail com> AuthorDate: Mon Aug 3 13:16:36 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Aug 3 14:42:52 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=6052789c initial effort to support multiple testing frameworks Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/Config.java | 40 +++ src/main/java/org/gentoo/java/ebuilder/Main.java | 17 ++- .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 128 +++-- .../gentoo/java/ebuilder/maven/MavenParser.java| 5 + .../gentoo/java/ebuilder/maven/MavenProject.java | 9 ++ src/main/resources/usage.txt | 1 + 6 files changed, 161 insertions(+), 39 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/Config.java b/src/main/java/org/gentoo/java/ebuilder/Config.java index 27dbc7c..dbfa30b 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Config.java +++ b/src/main/java/org/gentoo/java/ebuilder/Config.java @@ -98,6 +98,14 @@ public class Config { * Writer for standard output. */ private final PrintWriter stdoutWriter; +/** + * URI that goes to *-test-sources.jar distributed by maven central + */ +private URI testSrcUri; +/** + * whether testSrcUri is set and whether the pkg is from maven central. + */ +private boolean testSrcUriExists; /** * Path to workdir. */ @@ -377,6 +385,35 @@ public class Config { return stdoutWriter; } +/** + * Getter for {@link #testSrcUri}. + * + * @return {@link #testSrcUri} + */ +public URI getTestSrcUri() { +return testSrcUri; +} + +/** + * Getter for {@link #testSrcUriExists}. + * + * @return {@link #testSrcUriExists} + */ +public boolean hasTestSrcUri() { +return testSrcUriExists; +} + +/** + * Setter for {@link #testSrcUri}. + * + * @param testSrcUri {@link #testSrcUri} + */ +public void setTestSrcUri(final URI testSrcUri) { +this.testSrcUri = testSrcUri; +if (isFromMavenCentral()) { +this.testSrcUriExists = true; +} +} /** * Getter for {@link #workdir}. * @@ -429,6 +466,9 @@ public class Config { */ public void setFromMavenCentral(final boolean fromMavenCentral) { this.fromMavenCentral = fromMavenCentral; +if (getTestSrcUri() != null) { +this.testSrcUriExists = true; +} } /** diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index 72e0a04..49f6a49 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -219,7 +219,9 @@ public class Main { try { config.setBinjarUri(new URI(args[i])); } catch (final URISyntaxException ex) { -config.getErrorWriter().println("ERROR: BINJAR_URI " + args[i] +config.getErrorWriter().println( +"ERROR: URI goes to binary jar " ++ args[i] + " is not valid."); } @@ -291,6 +293,19 @@ public class Main { case "-s": i++; config.setSlot(args[i]); +break; +case "--test-src-uri": +i++; + +try { +config.setTestSrcUri(new URI(args[i])); +} catch (final URISyntaxException ex) { +config.getErrorWriter().println( +"ERROR: URI that goes to src code for testing" ++ args[i] ++ " is not valid."); +} + break; case "--workdir": case "-w": diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 857d6c1..b9778ef 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -6,9 +6,11 @@ import java.io.PrintWriter; import java.nio.file.Path; import java.time.LocalDate; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.Set; import org.gentoo.java.ebuilder.Config; /** @@ -29,6 +31,14 @@ public class MavenEbuilder { private static final String defaultHomepage = "https://wiki.gentoo.org/wiki/No_homepage;; +/** + * The extra dependency for framework "pkgdiff" + */ +
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 22348c9c8ef160aab32ed4231cd45279ec56cdd2 Author: zongyu gmail com> AuthorDate: Mon Aug 3 02:37:54 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Aug 3 02:40:52 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=22348c9c add default{Desciption,Homepage} Signed-off-by: zongyu gmail.com> .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 33 -- 1 file changed, 25 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 646fc13..1fde760 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -18,6 +18,17 @@ import org.gentoo.java.ebuilder.Config; */ public class MavenEbuilder { +/** + * The fallback description if no description is found in pom.xml. + */ +private static final String defaultDescription = "${MAVEN_ID}"; + +/** + * The fallback homepage if no homepage is found in pom.xml. + */ +private static final String defaultHomepage += "https://wiki.gentoo.org/wiki/No_homepage;; + /** * EAPI version. */ @@ -694,10 +705,22 @@ public class MavenEbuilder { final MavenProject mavenProject, final PrintWriter writer) { writer.println(); +// write MAVEN_ID ahead of DESCRIPTION, +// becase defaultDescription need ${MAVEN_ID} +writer.print("MAVEN_ID=\""); +writer.print(mavenProject.getGroupId()); +writer.print(':'); +writer.print(mavenProject.getArtifactId()); +writer.print(':'); +writer.print(mavenProject.getVersion()); +writer.println('"'); + writer.print("DESCRIPTION=\""); if (mavenProject.getDescription() != null) { writer.print(mavenProject.getDescription().replace("\"", "\\\"")); +} else { +writer.print(defaultDescription); } writer.println('"'); @@ -706,6 +729,8 @@ public class MavenEbuilder { if (mavenProject.getHomepage() != null) { writer.print(mavenProject.getHomepage()); +} else { +writer.print(defaultHomepage); } writer.println('"'); @@ -736,14 +761,6 @@ public class MavenEbuilder { writer.print("KEYWORDS=\""); writer.print(config.getKeywords()); writer.println('"'); - -writer.print("MAVEN_ID=\""); -writer.print(mavenProject.getGroupId()); -writer.print(':'); -writer.print(mavenProject.getArtifactId()); -writer.print(':'); -writer.print(mavenProject.getVersion()); -writer.println('"'); } /**
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 774340875eb0e929b0db193cd4e84887e52339d8 Author: zongyu gmail com> AuthorDate: Mon Aug 3 08:38:58 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Aug 3 10:56:22 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=77434087 make MavenEbuilder not print unnecessary lines Signed-off-by: zongyu gmail.com> .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 24 -- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 1fde760..857d6c1 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -450,10 +450,8 @@ public class MavenEbuilder { mavenProjects, "runtime"); final boolean hasCDepend = !commonDependencies.isEmpty(); -writer.println(); - if (hasCDepend) { -writer.println("# Common dependencies"); +writer.println("\n# Common dependencies"); mavenProjects.stream(). filter((mavenProject) @@ -474,11 +472,9 @@ public class MavenEbuilder { writer.println('"'); } -writer.println(); - if (!compileDependencies.isEmpty() || !testDependencies.isEmpty()) { -writer.println("# Compile dependencies"); +writer.println("\n# Compile dependencies"); mavenProjects.stream(). filter((mavenProject) @@ -543,10 +539,8 @@ public class MavenEbuilder { writer.println('"'); -writer.println(); - if (!runtimeDependencies.isEmpty()) { -writer.println("# Runtime dependencies"); +writer.println("\n# Runtime dependencies"); mavenProjects.stream(). filter((mavenProject) @@ -558,7 +552,7 @@ public class MavenEbuilder { }); } -writer.print("RDEPEND=\"\n\t>=virtual/jre-"); +writer.print("\nRDEPEND=\"\n\t>=virtual/jre-"); writer.print(getMinTargetVersion( mavenProjects, config.getForceMinJavaVersion())); writer.println(":*"); @@ -575,8 +569,6 @@ public class MavenEbuilder { }); } - - writer.println('"'); } @@ -680,14 +672,14 @@ public class MavenEbuilder { // Global: // JAVA_GENTOO_CLASSPATH // JAVA_CLASSPATH_EXTRA -// JAVA_GENTOO_TEST_CLASSPATH +// JAVA_TEST_GENTOO_CLASSPATH // JAVA_ENCODING (unless it differs in projects) // Compile (jars, doc): // JAVA_SRC_DIR // JAVA_RESOURCE_DIRS // JAVA_ENCODING (in case project encodings are different) // Test: -// JAVA_TESTING_FRAMEWORK +// JAVA_TESTING_FRAMEWORKS // JAVA_TEST_SRC_DIR // JAVA_TEST_RESOURCE_DIRS // Install (jars, doc, sources): @@ -855,7 +847,7 @@ public class MavenEbuilder { firstTestVar = false; } -writer.print("JAVA_TESTING_FRAMEWORK=\""); +writer.print("JAVA_TESTING_FRAMEWORKS=\""); writer.print(testingFramework); writer.println('"'); } @@ -866,7 +858,7 @@ public class MavenEbuilder { firstTestVar = false; } -writer.print("JAVA_GENTOO_TEST_CLASSPATH=\""); +writer.print("JAVA_TEST_GENTOO_CLASSPATH=\""); writer.print(createClassPath(mavenProject.getTestDependencies())); writer.println('"'); }
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: d87268c1674caf498a8cb65033a6a1b763112e35 Author: zongyu gmail com> AuthorDate: Tue Aug 4 07:08:00 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Tue Aug 4 07:08:00 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=d87268c1 sort licenses Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java index 4ce11b8..e1016a8 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java @@ -4,9 +4,9 @@ import java.io.PrintWriter; import java.nio.file.Path; import java.util.ArrayList; import java.util.Collections; -import java.util.HashSet; import java.util.List; -import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; /** * Contains information about maven project collected from pom.xml. @@ -46,7 +46,7 @@ public class MavenProject { /** * Lisences. */ -private Set licenses = new HashSet<>(10); +private SortedSet licenses = new TreeSet<>(10); /** * Homepage URL. */
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/, maven/eclass/
commit: 970308e5d845b5da6818131c75f84c38691691c6 Author: zongyu gmail com> AuthorDate: Wed Jul 29 06:13:04 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Jul 29 06:19:25 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=970308e5 write src_unpack everytime is not elegant, use java-pkg-maven to handle it Signed-off-by: zongyu gmail.com> maven/eclass/java-pkg-maven.eclass | 60 ++ .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 41 +++ 2 files changed, 67 insertions(+), 34 deletions(-) diff --git a/maven/eclass/java-pkg-maven.eclass b/maven/eclass/java-pkg-maven.eclass new file mode 100644 index 000..d926cc3 --- /dev/null +++ b/maven/eclass/java-pkg-maven.eclass @@ -0,0 +1,60 @@ +# Copyright 2004-2020 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# @ECLASS: java-pkg-binjar.eclass +# @MAINTAINER: +# zzy2529420...@gmail.com +# @AUTHOR: +# Zhang Zongyu +# @BLURB: Eclass for unpacking Maven aritfacts +# @DESCRIPTION: +# This class is an attempt to unpack Maven artifacts properly. + +EXPORT_FUNCTIONS src_unpack + +# @ECLASS-VARIABLE: JAVA_SOURCE_FILENAME +# @DESCRIPTION: +# The filename of the source code. +: ${JAVA_SOURCE_FILENAME:=${P}-sources.jar} + +# @ECLASS-VARIABLE: JAVA_TEST_SOURCE_FILENAME +# @DESCRIPTION: +# The filename of the source code for launch testing. +: ${JAVA_TEST_SOURCE_FILENAME:=${P}-test-sources.jar} + +# @ECLASS-VARIABLE: JAVA_RESOURCE_DIRS +# @DEFAULT_UNSET +# @DESCRIPTION: +# A directory relative to ${S} which contain the resources of the +# application. Give it a default value to handle src_unpack. +: ${JAVA_RESOURCE_DIRS:=src/main/resources} + +# @FUNCTION: java-pkg-binjar_src_unpack +# @DESCRIPTION: +# Copy the binary jar into the expected place of java-pkg-simple. Do +# not extract files from archive. +java-pkg-maven_src_unpack() { + for file in ${A}; do + case ${file} in + ${JAVA_BINJAR_FILENAME}) ;; + ${JAVA_SOURCE_FILENAME}) + mkdir -p "${S}"/${JAVA_SRC_DIR}\ + || die "Could not create ${JAVA_SRC_DIR}" + unzip -q -o "${DISTDIR}"/${file} -d "${S}"/${JAVA_SRC_DIR}\ + || die "Could not unzip source code" ;; + ${JAVA_TEST_SOURCE_FILENAME}) + mkdir -p "${S}"/${JAVA_TEST_SRC_DIR}\ + || die "Could not create ${JAVA_TEST_SRC_DIR}" + unzip -q -o "${DISTDIR}"/${file} -d "${S}"/${JAVA_TEST_SRC_DIR}\ + || die "Could not unzip source code for testing" ;; + esac + done + + # the resources (maven resources are bundled inside source file) + cp "${S}"/${JAVA_SRC_DIR} "${S}"/${JAVA_RESOURCE_DIRS} -r || die + rm "${S}"/${JAVA_RESOURCE_DIRS}/META-INF -r || die + find "${S}"/${JAVA_RESOURCE_DIRS} -type f ! -name \*.properties \ + -exec rm {} \; || die +} + diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 3f74241..37d45a4 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -624,7 +624,13 @@ public class MavenEbuilder { writer.println('"'); writer.println(); -writer.println("inherit java-pkg-2 java-pkg-simple"); +writer.print("inherit java-pkg-2 java-pkg-simple"); + +if (config.isFromMavenCentral()) { +writer.print(" java-pkg-maven"); +} + +writer.println(""); } /** @@ -849,11 +855,6 @@ public class MavenEbuilder { writer.println(')'); } } - -if (config.isFromMavenCentral()) { -writeMavenUnpack(mavenProject, writer); -} - } /** @@ -865,32 +866,4 @@ public class MavenEbuilder { writer.println(); writer.println("S=\"${WORKDIR}\""); } - -/** - * modify src_unpack() if we use Maven distributed source codes. - * - * @param writer ebuild writer - */ -private void writeMavenUnpack(final MavenProject mavenProject, -final PrintWriter writer) { -writer.println(); -writer.println("src_unpack() {"); -writer.println("\tmkdir -p \"${S}\"/${JAVA_SRC_DIR}"); -writer.println( -"\tunzip \"${DISTDIR}\"/${P}-sources.jar" + -" -d \"${S}\"/${JAVA_SRC_DIR} || die"); - -/** - * unzip ${P}-test-sources.jar, uncomment it after the switch - * --test-source-uri is supported - if (mavenProject.hasTests()) { -
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/, ...
commit: 3a5c4037419a4bd29bd017305d1b2c5c6f8e2b23 Author: zongyu gmail com> AuthorDate: Mon Jul 27 06:24:49 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Jul 27 06:29:49 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=3a5c4037 replace "\t" with spaces, enable test if --binjar-uri is set Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/Main.java | 6 ++--- .../org/gentoo/java/ebuilder/maven/MavenCache.java | 8 +++ .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 26 ++ .../gentoo/java/ebuilder/maven/MavenParser.java| 16 ++--- .../java/ebuilder/portage/PortageParser.java | 10 - src/main/resources/usage.txt | 2 +- 6 files changed, 38 insertions(+), 30 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index 6843af7..72e0a04 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -250,9 +250,9 @@ public class Main { i++; config.setForceMinJavaVersion(new JavaVersion(args[i])); break; - case "--from-maven-central": - config.setFromMavenCentral(true); - break; +case "--from-maven-central": +config.setFromMavenCentral(true); +break; case "--generate-ebuild": case "-g": config.setGenerateEbuild(true); diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java index d6345bf..98864f8 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java @@ -69,16 +69,16 @@ public class MavenCache { } final StringBuilder sbDependency = new StringBuilder(50); - if (cacheItem.getCategory().compareTo("java-virtuals") != 0) { +if (cacheItem.getCategory().compareTo("java-virtuals") != 0) { sbDependency.append(">="); - } +} sbDependency.append(cacheItem.getCategory()); sbDependency.append('/'); sbDependency.append(cacheItem.getPkg()); - if (cacheItem.getCategory().compareTo("java-virtuals") != 0) { +if (cacheItem.getCategory().compareTo("java-virtuals") != 0) { sbDependency.append('-'); sbDependency.append(stripExtraFromVersion(cacheItem.getVersion())); - } +} if (cacheItem.getUseFlag() != null) { sbDependency.append('['); diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 38a8bf8..3f74241 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -614,7 +614,7 @@ public class MavenEbuilder { writer.println(); writer.print("JAVA_PKG_IUSE=\"doc source"); -if (mavenProject.hasTests()) { +if (mavenProject.hasTests() || config.hasBinjarUri()) { writer.print(" test"); } @@ -796,9 +796,9 @@ public class MavenEbuilder { writer.println(')'); } - if (config.hasBinjarUri()) { +if (config.hasBinjarUri()) { writer.println("JAVA_BINJAR_FILENAME=\"${P}-bin.jar\""); - } +} final String testingFramework = determineTestingFramework(mavenProject); boolean firstTestVar = true; @@ -875,13 +875,21 @@ public class MavenEbuilder { final PrintWriter writer) { writer.println(); writer.println("src_unpack() {"); -writer.println("\tmkdir -p ${S}/${JAVA_SRC_DIR}"); -writer.println("\tunzip ${DISTDIR}/${P}-sources.jar -d ${S}/${JAVA_SRC_DIR} || die"); +writer.println("\tmkdir -p \"${S}\"/${JAVA_SRC_DIR}"); +writer.println( +"\tunzip \"${DISTDIR}\"/${P}-sources.jar" + +" -d \"${S}\"/${JAVA_SRC_DIR} || die"); -if (mavenProject.hasTests()) { -writer.println("\tmkdir -p ${JAVA_TEST_SRC_DIR}"); -writer.println("\tunzip ${DISTDIR}/${P}-test.jar -d ${S}/${JAVA_TEST_SRC_DIR} || die"); -} +/** + * unzip ${P}-test-sources.jar, uncomment it after the switch + * --test-source-uri is supported + if (mavenProject.hasTests()) { +writer.println("\tmkdir -p \"${S}\"/${JAVA_TEST_SRC_DIR}"); +writer.println( +"\tunzip \"${DISTDIR}\"/${P}-test-sources.jar" + +" -d \"${S}\"/${JAVA_TEST_SRC_DIR} || die"); + } +*/ writer.println("}"); }
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 2079ef593386ada75e3afc6750e11a2165896569 Author: zongyu gmail com> AuthorDate: Sun Jul 19 12:12:25 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Jul 19 12:12:25 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=2079ef59 rename source code file to ${P}-sources.[extension] Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index da3a01b..38a8bf8 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -31,7 +31,7 @@ public class MavenEbuilder { * Pattern for checking whether download tarball name matches expected name. */ private static final Pattern PATTERN_TARBALL_NAME -= Pattern.compile("^.*/\\$\\{P\\}((?:\\.tar)\\.\\S+|(?:\\.jar))$"); += Pattern.compile("^.*/\\$\\{P\\}-sources.((?:\\.tar)\\.\\S+|(?:\\.jar))$"); /** * Generates ebuild from the collected information at the specified path. @@ -232,7 +232,7 @@ public class MavenEbuilder { return srcUri; } -return srcUri + " -> " + "${P}" + matcher.group(1); +return srcUri + " -> " + "${P}-sources" + matcher.group(1); } /** @@ -876,7 +876,7 @@ public class MavenEbuilder { writer.println(); writer.println("src_unpack() {"); writer.println("\tmkdir -p ${S}/${JAVA_SRC_DIR}"); -writer.println("\tunzip ${DISTDIR}/${P}.jar -d ${S}/${JAVA_SRC_DIR} || die"); +writer.println("\tunzip ${DISTDIR}/${P}-sources.jar -d ${S}/${JAVA_SRC_DIR} || die"); if (mavenProject.hasTests()) { writer.println("\tmkdir -p ${JAVA_TEST_SRC_DIR}");
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 6d3d209a35ee2102d633061b3f0a2d5ad671608f Author: zongyu gmail com> AuthorDate: Sat Jul 18 07:37:44 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Sat Jul 18 14:50:03 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=6d3d209a format a right string for java-virtuals/* Signed-off-by: zongyu gmail.com> .../org/gentoo/java/ebuilder/maven/MavenCache.java | 10 ++-- .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 54 ++ 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java index 0443dd4..d6345bf 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java @@ -69,12 +69,16 @@ public class MavenCache { } final StringBuilder sbDependency = new StringBuilder(50); -sbDependency.append(">="); + if (cacheItem.getCategory().compareTo("java-virtuals") != 0) { +sbDependency.append(">="); + } sbDependency.append(cacheItem.getCategory()); sbDependency.append('/'); sbDependency.append(cacheItem.getPkg()); -sbDependency.append('-'); -sbDependency.append(stripExtraFromVersion(cacheItem.getVersion())); + if (cacheItem.getCategory().compareTo("java-virtuals") != 0) { +sbDependency.append('-'); +sbDependency.append(stripExtraFromVersion(cacheItem.getVersion())); + } if (cacheItem.getUseFlag() != null) { sbDependency.append('['); diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 08a5f99..da3a01b 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -57,7 +57,7 @@ public class MavenEbuilder { */ final MavenProject mavenProject = mavenProjects.get(mavenProjects.size() - 1); -writeInherit(mavenProject, writer); +writeInherit(config, mavenProject, writer); writePackageInfo(config, mavenProject, writer); writeDependencies(config, mavenProjects, writer); @@ -244,16 +244,11 @@ public class MavenEbuilder { */ private String improveBinjarUri(final String binjarUri) { -final Matcher matcher = PATTERN_TARBALL_EXTENSION.matcher(binjarUri); - /** - * We do not know how to get the extension so assume it will be jar + * Binary file should be jars */ -if (!matcher.matches()) { -return binjarUri + " -> " + "${P}-bin.jar"; -} +return binjarUri + " -> " + "${P}-bin.jar"; -return binjarUri + " -> " + "${P}-bin" + matcher.group(1); } /** @@ -479,15 +474,19 @@ public class MavenEbuilder { mavenProjects, config.getForceMinJavaVersion())); writer.println(":*"); -if (hasCDepend) { -writer.println("\t${CDEPEND}"); -} - if (config.getDownloadUri() != null && config.getDownloadUri(). toString().matches("^.*?\\.(jar|zip)$")) { writer.println("\tapp-arch/unzip"); } +if (config.hasBinjarUri() && (hasCDepend || !compileDependencies.isEmpty())) { +writer.println("\t!binary? ("); +} + +if (hasCDepend) { +writer.println("\t${CDEPEND}"); +} + if (!compileDependencies.isEmpty()) { compileDependencies.stream().forEach((dependency) -> { writer.print('\t'); @@ -495,6 +494,10 @@ public class MavenEbuilder { }); } +if (config.hasBinjarUri() && (hasCDepend || !compileDependencies.isEmpty())) { +writer.println("\t)"); +} + if (!testDependencies.isEmpty()) { writer.println("\ttest? ("); @@ -528,10 +531,6 @@ public class MavenEbuilder { mavenProjects, config.getForceMinJavaVersion())); writer.println(":*"); -if (config.hasBinjarUri()) { -writer.println("\t!binary? ("); -} - if (hasCDepend) { writer.print("${CDEPEND}"); } @@ -544,9 +543,6 @@ public class MavenEbuilder { }); } -if (config.hasBinjarUri()) { -writer.println("\t)"); -} writer.println('"'); @@ -613,8 +609,8 @@ public class MavenEbuilder { * * @param writer ebuild writer */ -private void writeInherit(final MavenProject mavenProject, -final PrintWriter writer) { +private void writeInherit(final Config config, +final MavenProject mavenProject, final PrintWriter writer) {
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/portage/, ...
commit: 40ff29ff64cb6cf411682bfeca58817a24bc1e05 Author: zongyu gmail com> AuthorDate: Sat Jul 11 15:02:22 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Sat Jul 11 15:02:22 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=40ff29ff add more command-line switches --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 gmail.com> src/main/java/org/gentoo/java/ebuilder/Config.java | 36 src/main/java/org/gentoo/java/ebuilder/Main.java | 13 +- .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 50 -- .../java/ebuilder/portage/PortageParser.java | 4 +- 4 files changed, 97 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/Config.java b/src/main/java/org/gentoo/java/ebuilder/Config.java index 53af30f..27dbc7c 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Config.java +++ b/src/main/java/org/gentoo/java/ebuilder/Config.java @@ -21,6 +21,14 @@ public class Config { */ private Path cacheFile = Paths.get(System.getProperty("user.home"), ".java-ebuilder/cache"); +/** + * URI that goes to pre-compiled Maven Jar. + */ +private URI binjarUri; +/** + * whether binjarUri is set. + */ +private boolean binjarUriExists; /** * URI that goes to SRC_URI. */ @@ -134,6 +142,34 @@ public class Config { this.cacheFile = cacheFile; } +/** + * Getter for {@link #binjarUri}. + * + * @return {@link #binjarUri} + */ +public URI getBinjarUri() { +return binjarUri; +} + +/** + * Getter for {@link #binjarUriExists}. + * + * @return {@link #binjarUriExists} + */ +public boolean hasBinjarUri() { +return binjarUriExists; +} + +/** + * Setter for {@link #binjarUri}. + * + * @param binjarUri {@link #binjarUri} + */ +public void setBinjarUri(final URI binjarUri) { +this.binjarUri = binjarUri; +this.binjarUriExists = true; +} + /** * Getter for {@link #downloadUri}. * diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index 0b4eff6..6843af7 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -213,6 +213,17 @@ public class Main { final String arg = args[i]; switch (arg) { +case "--binjar-uri": +i++; + +try { +config.setBinjarUri(new URI(args[i])); +} catch (final URISyntaxException ex) { +config.getErrorWriter().println("ERROR: BINJAR_URI " + args[i] ++ " is not valid."); +} + +break; case "--download-uri": case "-u": i++; @@ -220,7 +231,7 @@ public class Main { try { config.setDownloadUri(new URI(args[i])); } catch (final URISyntaxException ex) { -config.getErrorWriter().println("ERROR: URI " + args[i] +config.getErrorWriter().println("ERROR: SRC_URI " + args[i] + " is not valid."); } diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 48920e5..08a5f99 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -235,6 +235,27 @@ public class MavenEbuilder { return srcUri + " -> " + "${P}" + matcher.group(1); } +/** + * Rename binjar file to ${P}-bin.ext + * + * @param binjarUri binjar URI + * + * @return updated binjar URI + */ +private String improveBinjarUri(final String binjarUri) { + +final Matcher matcher = PATTERN_TARBALL_EXTENSION.matcher(binjarUri); + +/** + * We do not know how to get the extension so assume it will be jar + */ +if (!matcher.matches()) { +return binjarUri + " -> " + "${P}-bin.jar"; +} + +return binjarUri + " -> " + "${P}-bin" + matcher.group(1); +} + /** * If the tarball name does not match pattern ${P}-test.ext then we will update * it to store the tarball as ${P}-test.ext. @@ -507,6 +528,10 @@ public class MavenEbuilder { mavenProjects, config.getForceMinJavaVersion())); writer.println(":*"); +if (config.hasBinjarUri()) { +
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: ddca794355fa2f062a5c6c711e91ec80f18ef936 Author: zongyu gmail com> AuthorDate: Mon Jun 15 01:39:41 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Jul 6 09:48:27 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=ddca7943 run simple_formatter after mvn -f, which enables us to re-format the irregular xml file produced by mvn Signed-off-by: zongyu gmail.com> .../java/org/gentoo/java/ebuilder/maven/MavenCache.java | 4 ++-- .../org/gentoo/java/ebuilder/maven/MavenParser.java | 17 + 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java index 4e8767e..19e40f9 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java @@ -24,7 +24,7 @@ public class MavenCache { * items. */ private final Map>> cache -= new HashMap<>(200); += new HashMap<>(); /** * Searches for system dependency using maven group id, artifact id and @@ -151,7 +151,7 @@ public class MavenCache { = cache.get(cacheItem.getGroupId()); if (artifactIds == null) { -artifactIds = new HashMap<>(100); +artifactIds = new HashMap<>(); cache.put(cacheItem.getGroupId(), artifactIds); } diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java index 7c9d162..63ba043 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java @@ -102,6 +102,9 @@ public class MavenParser { pomFile.toString(), "help:effective-pom", "-Doutput=" + outputPath); processBuilder.directory(config.getWorkdir().toFile()); +final ProcessBuilder xmlBuilder = new ProcessBuilder("/usr/lib/java-ebuilder/simple_formatter", +"" + outputPath); +xmlBuilder.directory(config.getWorkdir().toFile()); final Process process; @@ -119,6 +122,20 @@ public class MavenParser { Runtime.getRuntime().exit(1); } +final Process xmlProcess; +try { +xmlProcess = xmlBuilder.start(); +} catch (final IOException ex) { +throw new RuntimeException("Failed to format xml", ex); +} +try { +xmlProcess.waitFor(10, TimeUnit.MINUTES); +} catch (final InterruptedException ex) { +config.getErrorWriter().println("ERROR: xml formatter run 10 minutes??"); +Runtime.getRuntime().exit(1); +} + + if (process.exitValue() != 0) { config.getErrorWriter().println( "ERROR: Failed to run mvn command:");
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/portage/
commit: eceb93b00b8a1b4c8841f43bf61347fbb613f249 Author: zongyu gmail com> AuthorDate: Mon Jun 29 08:22:46 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Jul 6 09:48:27 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=eceb93b0 enable java-ebuilder to read metadata of a Gentoo package, and get a proper SLOT Signed-off-by: zongyu gmail.com> .../java/ebuilder/portage/PortageParser.java | 44 +- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java index fd9e2c4..96e0c06 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java @@ -8,6 +8,7 @@ import java.io.OutputStreamWriter; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Path; +import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.text.MessageFormat; import java.util.ArrayList; @@ -251,6 +252,8 @@ public class PortageParser { final String pkg = ebuild.getParentFile().getName(); final String version = filename.substring(pkg.length() + 1); final Map variables = new HashMap<>(20); +final Path ebuildMetadata = Paths.get(ebuild.getParent(), "..", "..", +"metadata", "md5-cache", category, filename).normalize(); List eclasses = null; String slot = "0"; String useFlag = null; @@ -328,7 +331,12 @@ public class PortageParser { pv = version.substring(0, pos); } -slot = processSlot(slot, pv, variables); +if (Files.exists(ebuildMetadata)) { +slot = processSlot(slot, ebuildMetadata); +} +else { +slot = processSlot(slot, pv, variables); +} if (mavenId != null) { mavenId = mavenId.replaceAll("\\$(\\{PN\\}|PN)", pkg). @@ -388,6 +396,40 @@ public class PortageParser { } } +/** + * Processes various instructions in SLOT string. + * + * @param slot SLOT string + * @param ebuildMetadata path to the metadata of the Gentoo package + * + * @return processed SLOT string + */ +private String processSlot(final String slot, +final Path ebuildMetadata) { +//final metadata = new File(ebuildMetadata.toString()); + String result = slot; +try (final BufferedReader reader = new BufferedReader( +new InputStreamReader(Files.newInputStream(ebuildMetadata, +StandardOpenOption.READ { +String line = reader.readLine(); +while (line != null) { +line = line.trim(); + +if (!line.isEmpty()) { +if (line.startsWith("SLOT=")) { +result = line.substring("SLOT=".length()).replace( +"\"", "").replaceAll("/.*", ""); +} + +line = reader.readLine(); +} +} +} catch (final IOException ex) { +throw new RuntimeException("Failed to read ebuild", ex); +} + return result; +} + /** * Processes various instructions in SLOT string. *
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 22dd78f39f031a7c5a410ffacabae75e1ff04f91 Author: zongyu gmail com> AuthorDate: Thu Jun 18 07:10:50 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Jul 6 09:48:27 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=22dd78f3 compare maven version and required maven version correctly Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java index 19e40f9..45ff1d9 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java @@ -57,7 +57,7 @@ public class MavenCache { for (final CacheItem curCacheItem : versions) { if (curCacheItem.getParsedMavenVersion().compareTo(mavenVersion) -<= 0) { +>= 0) { cacheItem = curCacheItem; break; @@ -65,7 +65,7 @@ public class MavenCache { } if (cacheItem == null) { -cacheItem = versions.get(versions.size() - 1); +return "!!!suitble-avenVersion-not-found!!!"; } final StringBuilder sbDependency = new StringBuilder(50);
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 78af8f695010209d0aa09acace7532eecd305020 Author: zongyu gmail com> AuthorDate: Mon Jun 15 01:44:16 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Jul 6 09:48:27 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=78af8f69 prevent java-ebuilder from writing "JAVA_SRC_DIR" Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 4becd69..f17f860 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -418,7 +418,7 @@ public class MavenEbuilder { }); } -writer.print("\nDEPEND=\"\n\t=virtual/jdk-"); +writer.print("\nDEPEND=\"\n\t>=virtual/jdk-"); writer.print(getMinSourceVersion( mavenProjects, config.getForceMinJavaVersion())); writer.println(":*"); @@ -702,10 +702,12 @@ public class MavenEbuilder { writer.println('"'); } +/* writer.print("JAVA_SRC_DIR=\""); writer.print(replaceWithVars(config.getWorkdir().relativize( mavenProject.getSourceDirectory()).toString(), config)); writer.println('"'); + */ if (mavenProject.getMainClass() != null) { writer.print("JAVA_MAIN_CLASS=\"");
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/portage/
commit: 8dbb7efca5167ec4dd00da315582af83cae445b8 Author: zongyu gmail com> AuthorDate: Mon Jun 15 01:45:56 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Jul 6 09:48:27 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=8dbb7efc modify PATTERN_VERSION to match things like "r4" Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java b/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java index 26b06b9..71da8a6 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java @@ -14,7 +14,7 @@ public class MavenVersion implements Comparable { * Pattern for parsing maven version number. */ private static final Pattern PATTERN_VERSION = Pattern.compile( - "^v?(\\d+)(?:\\.(\\d+))?(?:(?:\\.|b|beta)(\\d+))?(?:[\\.-](.*))?$"); + "^[vr]?(\\d+)(?:\\.(\\d+))?(?:(?:\\.|b|beta)(\\d+))?(?:[\\.-]?(.*))?$"); /** * Pattern for parsing maven version range. */
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/, ...
commit: 3c816ce40c84791ac55f4bbe037e2da366e3e1e5 Author: zongyu gmail com> AuthorDate: Wed Jul 1 14:07:24 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Jul 6 09:48:27 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=3c816ce4 initial support for Maven Central Distributed Source jars new CLI switch: --from-maven-central Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/Config.java | 22 src/main/java/org/gentoo/java/ebuilder/Main.java | 3 + .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 64 -- 3 files changed, 85 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/Config.java b/src/main/java/org/gentoo/java/ebuilder/Config.java index c53e7a9..53af30f 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Config.java +++ b/src/main/java/org/gentoo/java/ebuilder/Config.java @@ -54,6 +54,10 @@ public class Config { * this one. */ private JavaVersion forceMinJavaVersion; +/** + * Whethe the source code is distributed by Maven Central + */ +private boolean fromMavenCentral; /** * Whether ebuild should be generated. */ @@ -373,6 +377,24 @@ public class Config { this.dumpProjects = dumpProjects; } +/** + * Getter for {@link #fromMavenCentral}. + * + * @return {@link #fromMavenCentral} + */ +public boolean isFromMavenCentral() { +return fromMavenCentral; +} + +/** + * Setter for {@link #fromMavenCentral}. + * + * @param fromMavenCentral {@link #fromMavenCentral} + */ +public void setFromMavenCentral(final boolean fromMavenCentral) { +this.fromMavenCentral = fromMavenCentral; +} + /** * Getter for {@link #generateEbuild}. * diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index fa4a85e..0b4eff6 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -239,6 +239,9 @@ public class Main { i++; config.setForceMinJavaVersion(new JavaVersion(args[i])); break; + case "--from-maven-central": + config.setFromMavenCentral(true); + break; case "--generate-ebuild": case "-g": config.setGenerateEbuild(true); diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index f17f860..0387120 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -26,12 +26,12 @@ public class MavenEbuilder { * Pattern for retrieval of tarball extension. */ private static final Pattern PATTERN_TARBALL_EXTENSION = Pattern.compile( -"^.*((?:\\.tar)\\.\\S+)$"); +"^.*((?:\\.tar)\\.\\S+|(?:\\.jar))$"); /** * Pattern for checking whether download tarball name matches expected name. */ private static final Pattern PATTERN_TARBALL_NAME -= Pattern.compile("^.*/\\$\\{P\\}(?:\\.tar)\\.\\S+$"); += Pattern.compile("^.*/\\$\\{P\\}((?:\\.tar)\\.\\S+|(?:\\.jar))$"); /** * Generates ebuild from the collected information at the specified path. @@ -235,6 +235,41 @@ public class MavenEbuilder { return srcUri + " -> " + "${P}" + matcher.group(1); } +/** + * If the tarball name does not match pattern ${P}-test.ext then we will update + * it to store the tarball as ${P}-test.ext. + * + * @param TestSrcUri source test URI + * + * @return either original source test URI or updated source test URI +private String improveTestSrcUri(final String TestSrcUri) { +if (PATTERN_TEST_TARBALL_NAME.matcher(TestSrcUri).matches()) { +return TestSrcUri; +} + +final Matcher matcher = PATTERN_TARBALL_EXTENSION.matcher(TestSrcUri); + +/** + * We do not know how to get the extension so we will leave the tarball + * name as it is. +/ +if (!matcher.matches()) { +return TestSrcUri; +} + +return TestSrcUri + " -> " + "${P}-test" + matcher.group(1); +} + */ + +/** + * Merges maven project system dependencies of specified type and removed + * duplicates. + * + * @param mavenProjects list of maven projects + * @param type type of dependencies ("common", "compile", "runtime" + * and "test") + * + * @return list of merged dependencies /** * Merges maven project system dependencies of specified type and removed * duplicates. @@ -702,12 +737,10 @@ public class MavenEbuilder {
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 55d4da9bfad9e4773edc1aded22bb154571e9e56 Author: zongyu gmail com> AuthorDate: Mon Jul 6 04:19:49 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Jul 6 09:48:27 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=55d4da9b fix some typos Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java| 2 +- src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java index 45ff1d9..0443dd4 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java @@ -65,7 +65,7 @@ public class MavenCache { } if (cacheItem == null) { -return "!!!suitble-avenVersion-not-found!!!"; +return "!!!suitble-mavenVersion-not-found!!!"; } final StringBuilder sbDependency = new StringBuilder(50); diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 0387120..48920e5 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -838,10 +838,10 @@ public class MavenEbuilder { writer.println(); writer.println("src_unpack() {"); writer.println("\tmkdir -p ${S}/${JAVA_SRC_DIR}"); -writer.println("\tunzip ${DISTDIR}/${P}.jar -d ${S}/${JAVA_SRC_DIR}"); +writer.println("\tunzip ${DISTDIR}/${P}.jar -d ${S}/${JAVA_SRC_DIR} || die"); if (mavenProject.hasTests()) { writer.println("\tmkdir -p ${JAVA_TEST_SRC_DIR}"); -writer.println("\tunzip ${DISTDIR}/${P}-test.jar -d ${S}/${JAVA_TEST_SRC_DIR}"); +writer.println("\tunzip ${DISTDIR}/${P}-test.jar -d ${S}/${JAVA_TEST_SRC_DIR} || die"); } writer.println("}"); }
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/portage/
commit: c3771a74b781e7ebc97065e8201fd3a8e45a43d1 Author: zongyu gmail com> AuthorDate: Thu Jun 18 07:25:44 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Jul 6 09:48:27 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=c3771a74 fix bugs of MAVEN_PROVIDE Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java index a222956..fd9e2c4 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java @@ -358,9 +358,9 @@ public class PortageParser { cacheItems.add(new CacheItem(category, pkg, version, slot, useFlag, groupId, artifactId, mavenVersion, eclasses)); - if (mavenP != null) { + if (mavenProvide != null) { for (String providedId: mavenProvide) { -parts = mavenProvide.split(":") +final String[] parts = providedId.split(":"); cacheItems.add(new CacheItem(category, pkg, version, slot, useFlag, parts[0], parts[1], parts[2], eclasses)); }
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/portage/
commit: 21791ad72a6db7e9f809df55a74b52746dad801a Author: zongyu gmail com> AuthorDate: Mon Jun 15 01:37:30 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Jul 6 09:48:27 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=21791ad7 modify PATTERN_VERSION_RANGE to match things like "[3.0, )" Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java b/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java index 1de54e1..26b06b9 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java @@ -19,7 +19,7 @@ public class MavenVersion implements Comparable { * Pattern for parsing maven version range. */ private static final Pattern PATTERN_VERSION_RANGE -= Pattern.compile("\\[.*, ?(.*?)\\]"); += Pattern.compile("[\\[\\(](.*), ?(.*?)[\\]\\)]"); /** * Incremental version number. */
[gentoo-commits] proj/java-ebuilder:master commit in: scripts/
commit: c64e847510fe9f6f3bcd10a6bc4525505d20e9a1 Author: zongyu gmail com> AuthorDate: Mon Jun 15 01:35:23 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Jul 6 09:48:25 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=c64e8475 replace SRC_URI in tree.sh with the new domain of maven-central Signed-off-by: zongyu gmail.com> scripts/tree.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/tree.sh b/scripts/tree.sh index c44c127..6bb7cc5 100755 --- a/scripts/tree.sh +++ b/scripts/tree.sh @@ -72,7 +72,7 @@ gebd() { PA=${PA//_/-} local M=${MA}-${MV} -local SRC_URI="http://central.maven.org/maven2/${WORKDIR}/${MV}/${M}-sources.jar; +local SRC_URI="https://repo.maven.apache.org/maven2/${WORKDIR}/${MV}/${M}-sources.jar; if [[ ! -f "${POMDIR}"/${M}.pom ]]; then pushd "${POMDIR}" > /dev/null
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/portage/
commit: a1b98fecda5e9d9c832b73305fb47edc604dd06d Author: zongyu gmail com> AuthorDate: Fri Jun 19 05:37:34 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Jul 6 09:48:27 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=a1b98fec MavenVersion.class enhancement: 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 gmail.com> src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java b/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java index 71da8a6..42cd9cd 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java @@ -70,7 +70,7 @@ public class MavenVersion implements Comparable { ? 0 : Integer.parseInt(matcher.group(2), 10); incrementalVersion = matcher.group(3) == null ? 0 : Integer.parseInt(matcher.group(3), 10); -qualifier = matcher.group(4) == null ? "" : matcher.group(4); +qualifier = matcher.group(4) == null ? "" : matcher.group(4).toLowerCase(); } @Override @@ -81,6 +81,8 @@ public class MavenVersion implements Comparable { return Integer.valueOf(majorVersion).compareTo(o.getMajorVersion()); } else if (minorVersion != o.getMinorVersion()) { return Integer.valueOf(minorVersion).compareTo(o.getMinorVersion()); +} else if (incrementalVersion != o.getIncrementalVersion()) { +return Integer.valueOf(incrementalVersion).compareTo(o.getIncrementalVersion()); } else { return qualifier.compareTo(o.getQualifier()); }
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/portage/
commit: 59131006cb675af7b176225af7a670e2803649d8 Author: zongyu gmail com> AuthorDate: Thu Jun 18 07:11:21 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Jul 6 09:48:27 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=59131006 initial code to support MAVEN_PROVIDE Signed-off-by: zongyu gmail.com> .../java/org/gentoo/java/ebuilder/portage/PortageParser.java | 11 +++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java index 9da0fb7..a222956 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java @@ -258,6 +258,7 @@ public class PortageParser { String groupId = null; String artifactId = null; String mavenVersion = null; + String[] mavenProvide = null; try (final BufferedReader reader = new BufferedReader( new InputStreamReader(Files.newInputStream(ebuild.toPath(), @@ -298,6 +299,9 @@ public class PortageParser { } else if (line.startsWith("MAVEN_ID=")) { mavenId = line.substring("MAVEN_ID=".length()). replace("\"", ""); +} else if (line.startsWith("MAVEN_PROVIDE=")) { +mavenProvide = line.substring("MAVEN_PROVIDE=".length()). + replace("\"", "").split(" "); } } @@ -354,6 +358,13 @@ public class PortageParser { cacheItems.add(new CacheItem(category, pkg, version, slot, useFlag, groupId, artifactId, mavenVersion, eclasses)); + if (mavenP != null) { +for (String providedId: mavenProvide) { +parts = mavenProvide.split(":") +cacheItems.add(new CacheItem(category, pkg, version, slot, useFlag, +parts[0], parts[1], parts[2], eclasses)); +} +} countEclasses(eclasses); }
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 446eb983de84a4240b387bfd6c080a3d90281363 Author: zongyu gmail com> AuthorDate: Mon Jun 22 07:18:19 2020 + Commit: Miroslav Šulc gentoo org> CommitDate: Mon Jul 6 09:48:27 2020 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=446eb983 jdk-8 -> jdk-1.8 Signed-off-by: zongyu gmail.com> src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java b/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java index 7402cd2..b1918b0 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java @@ -32,8 +32,6 @@ public class JavaVersion { * @param versionString version string */ public JavaVersion(final String versionString) { -this.versionString = versionString; - final Matcher matcher = PATTERN_VERSION.matcher(versionString); if (!matcher.matches()) { @@ -42,6 +40,13 @@ public class JavaVersion { } versionNumber = Integer.parseInt(matcher.group(1), 10); +if (versionNumber <= 8) { +this.versionString = "1." + Integer.toString(versionNumber); +} +else { +this.versionString = versionString; +} + } /**
[gentoo-commits] proj/java-ebuilder:master commit in: /
commit: c3b197f0e69c06f58f982f8d8dd16c88e2d5d518 Author: Miroslav Šulc gentoo org> AuthorDate: Wed Nov 27 09:47:25 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Nov 27 09:49:27 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=c3b197f0 release 0.4.1 Signed-off-by: Miroslav Šulc gentoo.org> pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 1922b7d..97a38d1 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 org.gentoo java-ebuilder -0.4.1-SNAPSHOT +0.4.1 jar Gentoo Java ebuild Builder Java team tool for semi-automatic creation of ebuilds from pom.xml.
[gentoo-commits] proj/java-ebuilder:master commit in: /
commit: ed3a286a00c25081979245b079e7e4a47ced4d68 Author: Miroslav Šulc gentoo org> AuthorDate: Wed Nov 27 09:42:59 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Nov 27 09:49:14 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=ed3a286a updated maven plugin version Signed-off-by: Miroslav Šulc gentoo.org> pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index f9e3100..1922b7d 100644 --- a/pom.xml +++ b/pom.xml @@ -21,7 +21,7 @@ org.apache.maven.plugins maven-jar-plugin -3.1.2 +3.2.0
[gentoo-commits] proj/java-ebuilder:master commit in: /
commit: 3b9f92b5bb301d5ddf79f64c56049dddb2bf37ef Author: Miroslav Šulc gentoo org> AuthorDate: Wed Nov 27 09:42:41 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Nov 27 09:48:46 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=3b9f92b5 version updated Signed-off-by: Miroslav Šulc gentoo.org> pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 23df7aa..f9e3100 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 org.gentoo java-ebuilder -0.4.0 +0.4.1-SNAPSHOT jar Gentoo Java ebuild Builder Java team tool for semi-automatic creation of ebuilds from pom.xml.
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 46bbaf55e2d6924a324fbff3dc0755e4ad8280eb Author: Miroslav Šulc gentoo org> AuthorDate: Wed Nov 27 09:44:05 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Nov 27 09:49:19 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=46bbaf55 fixing download tarball name Signed-off-by: Miroslav Šulc gentoo.org> .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 42 -- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 5ddfd9b..c9ec5b9 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -7,6 +7,8 @@ import java.nio.file.Path; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import org.gentoo.java.ebuilder.Config; /** @@ -20,6 +22,16 @@ public class MavenEbuilder { * EAPI version. */ private static final String EAPI = "7"; +/** + * Pattern for retrieval of tarball extension. + */ +private static final Pattern PATTERN_TARBALL_EXTENSION = Pattern.compile( +"^.*((?:\\.tar)\\.\\S+)$"); +/** + * Pattern for checking whether download tarball name matches expected name. + */ +private static final Pattern PATTERN_TARBALL_NAME += Pattern.compile("^.*/\\$\\{P\\}(?:\\.tar)\\.\\S+$"); /** * Generates ebuild from the collected information at the specified path. @@ -194,6 +206,32 @@ public class MavenEbuilder { return result; } +/** + * If the tarball name does not match pattern ${P}.ext then we will update + * it to store the tarball as ${P}.ext. + * + * @param srcUri source URI + * + * @return either original source URI or updated source URI + */ +private String improveSrcUri(final String srcUri) { +if (PATTERN_TARBALL_NAME.matcher(srcUri).matches()) { +return srcUri; +} + +final Matcher matcher = PATTERN_TARBALL_EXTENSION.matcher(srcUri); + +/** + * We do not know how to get the extension so we will leave the tarball + * name as it is. + */ +if (!matcher.matches()) { +return srcUri; +} + +return srcUri + " -> " + "${P}" + matcher.group(1); +} + /** * Merges maven project system dependencies of specified type and removed * duplicates. @@ -578,8 +616,8 @@ public class MavenEbuilder { writer.println('"'); writer.print("SRC_URI=\""); -writer.print( -replaceWithVars(config.getDownloadUri().toString(), config)); +writer.print(improveSrcUri( +replaceWithVars(config.getDownloadUri().toString(), config))); writer.println('"'); writer.print("LICENSE=\"");
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: ca925dfbe04523d44329cd4f9233f763bf8974da Author: Miroslav Šulc gentoo org> AuthorDate: Wed Nov 27 09:46:30 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Nov 27 09:49:25 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=ca925dfb reformatted Signed-off-by: Miroslav Šulc gentoo.org> .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 49 -- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index c9ec5b9..4becd69 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -88,18 +88,21 @@ public class MavenEbuilder { sbCP.append(','); } - String[] parts = dependency.getSystemDependency(). - replaceAll(".*/", ""). - replaceAll("\\[.*\\]", ""). - split(":"); - String PN = parts[0].replaceAll("-r\\d+$", ""); - if (parts.length == 2) { - PN = PN.substring(0, PN.lastIndexOf('-')); - if (!parts[1].equals("0")) { - PN += "-" + parts[1]; - } - } -sbCP.append(PN); +final String[] parts = dependency.getSystemDependency(). +replaceAll(".*/", ""). +replaceAll("\\[.*\\]", ""). +split(":"); +String pn = parts[0].replaceAll("-r\\d+$", ""); + +if (parts.length == 2) { +pn = pn.substring(0, pn.lastIndexOf('-')); + +if (!parts[1].equals("0")) { +pn += "-" + parts[1]; +} +} + +sbCP.append(pn); }); return sbCP.toString(); @@ -155,7 +158,7 @@ public class MavenEbuilder { /** * Retrieves minimum source version from the maven projects. * - * @param mavenProjects list of maven projects + * @param mavenProjects list of maven projects * @param forceMinVersion optional minimum version to force * * @return minimum source version @@ -182,7 +185,7 @@ public class MavenEbuilder { /** * Retrieves minimum target version from the maven projects. * - * @param mavenProjects list of maven projects + * @param mavenProjects list of maven projects * @param forceMinVersion optional minimum version to force * * @return minimum target version @@ -371,7 +374,7 @@ public class MavenEbuilder { mavenProjects.stream(). filter((mavenProject) --> !mavenProject.getCommonDependencies().isEmpty()). +-> !mavenProject.getCommonDependencies().isEmpty()). forEach((mavenProject) -> { writeDependenciesInfo(config, writer, mavenProject.getPomFile(), @@ -395,8 +398,8 @@ public class MavenEbuilder { writer.println("# Compile dependencies"); mavenProjects.stream(). -filter((mavenProject) -> -!mavenProject.getCompileDependencies().isEmpty() +filter((mavenProject) +-> !mavenProject.getCompileDependencies().isEmpty() || !mavenProject.getTestDependencies().isEmpty()) .forEach((mavenProject) -> { if (!mavenProject.getCompileDependencies().isEmpty()) { @@ -546,7 +549,7 @@ public class MavenEbuilder { * @param writer ebuild writer */ private void writeInherit(final MavenProject mavenProject, - final PrintWriter writer) { +final PrintWriter writer) { writer.println(); writer.print("JAVA_PKG_IUSE=\"doc source"); @@ -764,11 +767,11 @@ public class MavenEbuilder { mavenProject.getTestResourceDirectories(). forEach((directory) -> { -writer.print("\t\""); -writer.print(replaceWithVars(config.getWorkdir(). -relativize(directory).toString(), config)); -writer.println('"'); -}); +writer.print("\t\""); +writer.print(replaceWithVars(config.getWorkdir(). +relativize(directory).toString(), config)); +writer.println('"'); +}); writer.println(')');
[gentoo-commits] proj/java-ebuilder:master commit in: /
commit: 4b2a4637ab026982ca541b12d33e646ec5a2eded Author: Miroslav Šulc gentoo org> AuthorDate: Sun Nov 3 20:52:51 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Nov 3 20:53:01 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=4b2a4637 release 0.4.0 Signed-off-by: Miroslav Šulc gentoo.org> pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0f7729f..23df7aa 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 org.gentoo java-ebuilder -0.4.0-SNAPSHOT +0.4.0 jar Gentoo Java ebuild Builder Java team tool for semi-automatic creation of ebuilds from pom.xml.
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 1d76ee8e7d73653f56e228fb3cc30742bfa0abd4 Author: Miroslav Šulc gentoo org> AuthorDate: Sun Nov 3 15:14:27 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Nov 3 15:14:27 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=1d76ee8e fixed test dependencies and reformatted dependencies Signed-off-by: Miroslav Šulc gentoo.org> .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 132 ++--- 1 file changed, 62 insertions(+), 70 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 61f97f2..5ddfd9b 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -324,125 +324,117 @@ public class MavenEbuilder { mavenProjects, "compile"); final List runtimeDependencies = mergeSystemDependencies( mavenProjects, "runtime"); -boolean hasCDepend = !commonDependencies.isEmpty() -|| !testDependencies.isEmpty(); +final boolean hasCDepend = !commonDependencies.isEmpty(); + +writer.println(); if (hasCDepend) { -writer.println(); writer.println("# Common dependencies"); -for (final MavenProject mavenProject : mavenProjects) { -if (mavenProject.getCommonDependencies().isEmpty() -&& mavenProject.getTestDependencies().isEmpty()) { -continue; -} - -if (!mavenProject.getCommonDependencies().isEmpty()) { -writeDependenciesInfo(config, writer, -mavenProject.getPomFile(), -mavenProject.getCommonDependencies(), null); -} - -if (mavenProject.getTargetVersion() != null) { -writeDependenciesInfo(config, writer, -mavenProject.getPomFile(), -mavenProject.getTestDependencies(), "test?"); -} - -hasCDepend = true; -} +mavenProjects.stream(). +filter((mavenProject) +-> !mavenProject.getCommonDependencies().isEmpty()). +forEach((mavenProject) -> { +writeDependenciesInfo(config, writer, +mavenProject.getPomFile(), +mavenProject.getCommonDependencies(), null); +}); writer.println("\nCDEPEND=\""); -if (!commonDependencies.isEmpty()) { -commonDependencies.stream().forEach((dependency) -> { -writer.print('\t'); -writer.println(dependency); -}); -} - -if (!testDependencies.isEmpty()) { -writer.println("\ttest? ("); - -testDependencies.stream().forEach((dependency) -> { -writer.print("\t\t"); -writer.println(dependency); -}); - -writer.println("\t)"); -} +commonDependencies.stream().forEach((dependency) -> { +writer.print('\t'); +writer.println(dependency); +}); writer.println('"'); } -if (!compileDependencies.isEmpty()) { +writer.println(); + +if (!compileDependencies.isEmpty() +|| !testDependencies.isEmpty()) { writer.println("# Compile dependencies"); -mavenProjects.stream().filter((mavenProject) -> -(!mavenProject.getCompileDependencies().isEmpty())) +mavenProjects.stream(). +filter((mavenProject) -> +!mavenProject.getCompileDependencies().isEmpty() +|| !mavenProject.getTestDependencies().isEmpty()) .forEach((mavenProject) -> { -writeDependenciesInfo(config, writer, -mavenProject.getPomFile(), -mavenProject.getCompileDependencies(), null); +if (!mavenProject.getCompileDependencies().isEmpty()) { +writeDependenciesInfo(config, writer, +mavenProject.getPomFile(), +mavenProject.getCompileDependencies(), +null); +} + +if (!mavenProject.getTestDependencies().isEmpty()) { +writeDependenciesInfo(config, writer, +mavenProject.getPomFile(), +
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/portage/
commit: 9f694b0493877d9bf6f86b8be26f9e98a3d80eb4 Author: Miroslav Šulc gentoo org> AuthorDate: Sun Nov 3 13:54:04 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Nov 3 13:54:04 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=9f694b04 changed handling of java eclasses 1) now parsing all java eclasses 2) all java eclasses are written to the cache file 3) usage of each java eclass is written to the output when regreshing cache Signed-off-by: Miroslav Šulc gentoo.org> .../gentoo/java/ebuilder/portage/CacheItem.java| 30 ++-- .../java/ebuilder/portage/PortageParser.java | 154 + 2 files changed, 86 insertions(+), 98 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/CacheItem.java b/src/main/java/org/gentoo/java/ebuilder/portage/CacheItem.java index feff43d..e48177f 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/CacheItem.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/CacheItem.java @@ -1,5 +1,10 @@ package org.gentoo.java.ebuilder.portage; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + /** * Container for cache item information. * @@ -20,9 +25,9 @@ public class CacheItem { */ private final String groupId; /** - * Main Java eclass inherited. + * List of inherited java eclasses, in the order as they are inherited. */ -private final String javaEclass; +private final List javaEclasses; /** * Maven version (of package jar). */ @@ -60,12 +65,12 @@ public class CacheItem { * @param groupId {@link #groupId} * @param artifactId {@link #artifactId} * @param mavenVersion {@link #mavenVersion} - * @param javaEclass {@link #javaEclass} + * @param javaEclasses {@link #javaEclasses} */ public CacheItem(final String category, final String pkg, final String version, final String slot, final String useFlag, final String groupId, final String artifactId, -final String mavenVersion, final String javaEclass) { +final String mavenVersion, final List javaEclasses) { this.category = category; this.pkg = pkg; this.version = version; @@ -74,7 +79,8 @@ public class CacheItem { this.groupId = groupId; this.artifactId = artifactId; this.mavenVersion = mavenVersion; -this.javaEclass = javaEclass; +this.javaEclasses += Collections.unmodifiableList(new ArrayList<>(javaEclasses)); parsedMavenVersion = mavenVersion == null ? null : new MavenVersion(mavenVersion); @@ -110,10 +116,10 @@ public class CacheItem { mavenVersion = null; } -if (parts.length > 8) { -javaEclass = parts[8].isEmpty() ? null : parts[8]; +if (parts.length > 8 && !parts[0].isEmpty()) { +javaEclasses = Arrays.asList(parts[8].split(",")); } else { -javaEclass = null; +javaEclasses = null; } } catch (final ArrayIndexOutOfBoundsException ex) { throw new RuntimeException("Failed to parse cache line: " + line, @@ -152,12 +158,12 @@ public class CacheItem { } /** - * Getter for {@link #javaEclass}. + * Getter for {@link #javaEclasses}. * - * @return {@link #javaEclass} + * @return {@link #javaEclasses} */ -public String getJavaEclass() { -return javaEclass; +public List getJavaEclasses() { +return Collections.unmodifiableList(javaEclasses); } /** diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java index 8d49411..9da0fb7 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java @@ -11,11 +11,14 @@ import java.nio.file.Path; import java.nio.file.StandardOpenOption; import java.text.MessageFormat; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; import org.gentoo.java.ebuilder.Config; /** @@ -33,22 +36,10 @@ public class PortageParser { * Current ant utilities eclass name. */ private static final String ECLASS_ANT_TASKS = "ant-tasks"; -/** - * Current java package eclass name. - */ -private static final String ECLASS_JAVA_PKG = "java-pkg-2"; /** * Current java optional package eclass name. */ private static final String ECLASS_JAVA_PKG_OPT = "java-pkg-opt-2"; -/** - * Current java simple package
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 88779df1d44e081fab5d3602f0b7baf4a6802fbe Author: Miroslav Šulc gentoo org> AuthorDate: Sun Nov 3 12:15:16 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Nov 3 12:15:16 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=88779df1 fixed parsing of java version Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java b/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java index 5aa600d..7402cd2 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java @@ -15,7 +15,7 @@ public class JavaVersion { * Pattern for parsing Java versionNumber. */ private static final Pattern PATTERN_VERSION -= Pattern.compile("^(?:1\\.)(\\d+)$"); += Pattern.compile("^(?:1\\.)?(\\d+)$"); /** * Java versionNumber number. */
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 7d91defe12e3ddda4746a1d5e37655536f6e2d32 Author: Miroslav Šulc gentoo org> AuthorDate: Sun Nov 3 12:17:29 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Nov 3 12:17:29 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=7d91defe added slot information to virtual/{jdk,jre} dependencies Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index d6e3f1a..61f97f2 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -399,6 +399,7 @@ public class MavenEbuilder { writer.print("\t>=virtual/jdk-"); writer.print(getMinSourceVersion( mavenProjects, config.getForceMinJavaVersion())); +writer.print(":*"); if (config.getDownloadUri() != null && config.getDownloadUri(). toString().matches("^.*?\\.(jar|zip)$")) { @@ -440,6 +441,7 @@ public class MavenEbuilder { writer.print("\t>=virtual/jre-"); writer.print(getMinTargetVersion( mavenProjects, config.getForceMinJavaVersion())); +writer.print(":*"); if (!runtimeDependencies.isEmpty()) { runtimeDependencies.stream().forEach((dependency) -> {
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: af344112881d635949535ba6a5fc9e11ad284dc5 Author: Miroslav Šulc gentoo org> AuthorDate: Sun Nov 3 11:26:07 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Nov 3 11:26:07 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=af344112 encapsulated java version in new container Signed-off-by: Miroslav Šulc gentoo.org> .../gentoo/java/ebuilder/maven/JavaVersion.java| 87 ++ .../gentoo/java/ebuilder/maven/MavenParser.java| 10 ++- .../gentoo/java/ebuilder/maven/MavenProject.java | 12 +-- 3 files changed, 99 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java b/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java new file mode 100644 index 000..5aa600d --- /dev/null +++ b/src/main/java/org/gentoo/java/ebuilder/maven/JavaVersion.java @@ -0,0 +1,87 @@ +package org.gentoo.java.ebuilder.maven; + +import java.text.MessageFormat; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +/** + * Java versionNumber container. + * + * @author fordfrog + */ +public class JavaVersion { + +/** + * Pattern for parsing Java versionNumber. + */ +private static final Pattern PATTERN_VERSION += Pattern.compile("^(?:1\\.)(\\d+)$"); +/** + * Java versionNumber number. + */ +private final int versionNumber; +/** + * Java version string. + */ +private final String versionString; + +/** + * Creates new instance of JavaVersion. Parses the version string and uses + * the main Java version. Terminates if the version is not valid. + * + * @param versionString version string + */ +public JavaVersion(final String versionString) { +this.versionString = versionString; + +final Matcher matcher = PATTERN_VERSION.matcher(versionString); + +if (!matcher.matches()) { +throw new IllegalArgumentException(MessageFormat.format( +"Java version \"{0}\" is not valid!", versionString)); +} + +versionNumber = Integer.parseInt(matcher.group(1), 10); +} + +/** + * Compares this JavaVersion to the passed JavaVersion. + * + * @param javaVersion JavaVersion to compare to. + * + * @return -1 if this versionNumber is lower, 1 if this versionNumber is + * higher and 0 if both are equal + */ +public int compareTo(final JavaVersion javaVersion) { +if (javaVersion.getVersionNumber() > versionNumber) { +return -1; +} else if (javaVersion.getVersionNumber() < versionNumber) { +return 1; +} else { +return 0; +} +} + +/** + * Getter for {@link #versionNumber}. + * + * @return {@link #versionNumber} + */ +public int getVersionNumber() { +return versionNumber; +} + +/** + * Getter for {@link #versionString}. + * + * @return {@link #versionString} + */ +public String getVersionString() { +return versionString; +} + +@Override +public String toString() { +return versionString; +} +} diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java index 942ee27..7c9d162 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java @@ -208,7 +208,7 @@ public class MavenParser { case "source": if ("maven-compiler-plugin".equals(artifactId)) { mavenProject.setSourceVersion( -reader.getElementText()); +new JavaVersion(reader.getElementText())); } else { consumeElement(reader); } @@ -217,7 +217,7 @@ public class MavenParser { case "target": if ("maven-compiler-plugin".equals(artifactId)) { mavenProject.setTargetVersion( -reader.getElementText()); +new JavaVersion(reader.getElementText())); } else { consumeElement(reader); } @@ -572,10 +572,12 @@ public class MavenParser { if (reader.isStartElement()) { switch (reader.getLocalName()) { case "maven.compiler.source": -mavenProject.setSourceVersion(reader.getElementText()); +mavenProject.setSourceVersion( +new JavaVersion(reader.getElementText())); break; case "maven.compiler.target": -
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/
commit: 7a0f4c5fcab9a0d3bb7d52d1308af2ed9f7652ad Author: Miroslav Šulc gentoo org> AuthorDate: Sun Nov 3 11:24:11 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Nov 3 11:24:11 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=7a0f4c5f fixed error message output printer Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/Main.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index 84def14..cc9a3c5 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -306,7 +306,7 @@ public class Main { config.getEbuildName(), config.getEbuildVersion(), config.getEbuildVersionSuffix())); } catch (final IllegalArgumentException ex) { -config.getStdoutWriter().println("Cannot parse ebuild file name"); +config.getErrorWriter().println("Cannot parse ebuild file name"); Runtime.getRuntime().exit(1); }
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/, src/main/resources/, ...
commit: a7f4247c96b248b86d657137bbb8312884bde5dd Author: Miroslav Šulc gentoo org> AuthorDate: Sun Nov 3 11:26:41 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Nov 3 11:26:41 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=a7f4247c added support for forcing minimal java version Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/Config.java | 24 ++ src/main/java/org/gentoo/java/ebuilder/Main.java | 8 + .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 33 +++ src/main/resources/usage.txt | 38 -- 4 files changed, 79 insertions(+), 24 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/Config.java b/src/main/java/org/gentoo/java/ebuilder/Config.java index 3bf8cb8..c53e7a9 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Config.java +++ b/src/main/java/org/gentoo/java/ebuilder/Config.java @@ -7,6 +7,7 @@ import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import org.gentoo.java.ebuilder.maven.JavaVersion; /** * Container for command line configuration. @@ -48,6 +49,11 @@ public class Config { * Writer for errors. */ private final PrintWriter errorWriter; +/** + * JDK/JRE version that will be used if version in POM files is lower than + * this one. + */ +private JavaVersion forceMinJavaVersion; /** * Whether ebuild should be generated. */ @@ -223,6 +229,24 @@ public class Config { return errorWriter; } +/** + * Getter for {@link #forceMinJavaVersion}. + * + * @return {@link #forceMinJavaVersion} + */ +public JavaVersion getForceMinJavaVersion() { +return forceMinJavaVersion; +} + +/** + * Setter for {@link #forceMinJavaVersion}. + * + * @param forceMinJavaVersion {@link #forceMinJavaVersion} + */ +public void setForceMinJavaVersion(final JavaVersion forceMinJavaVersion) { +this.forceMinJavaVersion = forceMinJavaVersion; +} + /** * Getter for {@link #keywords}. * diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index cc9a3c5..fa4a85e 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -11,6 +11,7 @@ import java.nio.file.Paths; import java.text.MessageFormat; import java.util.List; import java.util.Map; +import org.gentoo.java.ebuilder.maven.JavaVersion; import org.gentoo.java.ebuilder.maven.MavenCache; import org.gentoo.java.ebuilder.maven.MavenEbuilder; import org.gentoo.java.ebuilder.maven.MavenParser; @@ -132,6 +133,9 @@ public class Main { } else if (config.getEbuild() != null) { config.getErrorWriter().println( "WARNING: Ebuild is used only when generating ebuild."); +} else if (config.getForceMinJavaVersion() != null) { +config.getErrorWriter().println("WARNING: Forcing minimum JDK/JRE " ++ "version applies only when generating ebuild."); } else if (config.getKeywords() != null) { config.getErrorWriter().println("WARNING: Keywords are used only " + "when generating ebuild."); @@ -231,6 +235,10 @@ public class Main { config.setEbuild(Paths.get(args[i]).toAbsolutePath(). normalize()); break; +case "--force-min-java-version": +i++; +config.setForceMinJavaVersion(new JavaVersion(args[i])); +break; case "--generate-ebuild": case "-g": config.setGenerateEbuild(true); diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 53708e9..d6e3f1a 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -144,11 +144,14 @@ public class MavenEbuilder { * Retrieves minimum source version from the maven projects. * * @param mavenProjects list of maven projects + * @param forceMinVersion optional minimum version to force * * @return minimum source version */ -private String getMinSourceVersion(final List mavenProjects) { -String result = null; +private JavaVersion getMinSourceVersion( +final List mavenProjects, +final JavaVersion forceMinVersion) { +JavaVersion result = null; for (final MavenProject mavenProject : mavenProjects) { if (result == null || mavenProject.getSourceVersion().compareTo( @@ -157,6 +160,10 @@ public class MavenEbuilder {
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/
commit: c503fbc2aecbee2926341cdd8c9bed5a0df62309 Author: Miroslav Šulc gentoo org> AuthorDate: Sun Nov 3 11:23:41 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Nov 3 11:23:41 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=c503fbc2 reformatted Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/Main.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index 871ac2a..84def14 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -131,8 +131,7 @@ public class Main { + "be used only when generating ebuild."); } else if (config.getEbuild() != null) { config.getErrorWriter().println( -"WARNING: Ebuild is used only when " -+ "generating ebuild."); +"WARNING: Ebuild is used only when generating ebuild."); } else if (config.getKeywords() != null) { config.getErrorWriter().println("WARNING: Keywords are used only " + "when generating ebuild.");
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 590141ced5bc7cc8e28f4aae854d5e0f9ad2857e Author: Miroslav Šulc gentoo org> AuthorDate: Sun Nov 3 10:37:40 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Nov 3 10:37:40 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=590141ce reformatted dependencies output Signed-off-by: Miroslav Šulc gentoo.org> .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 74 +++--- 1 file changed, 36 insertions(+), 38 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index b7192d6..53708e9 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -319,41 +319,38 @@ public class MavenEbuilder { } if (!mavenProject.getCommonDependencies().isEmpty()) { -writeDependenciesInfo(writer, mavenProject.getPomFile(), +writeDependenciesInfo(config, writer, +mavenProject.getPomFile(), mavenProject.getCommonDependencies(), null); } -if (mavenProject.getTargetVersion()!=null) { -writeDependenciesInfo(writer, mavenProject.getPomFile(), +if (mavenProject.getTargetVersion() != null) { +writeDependenciesInfo(config, writer, +mavenProject.getPomFile(), mavenProject.getTestDependencies(), "test?"); } hasCDepend = true; } -writer.print("CDEPEND=\""); +writer.println("\nCDEPEND=\""); if (!commonDependencies.isEmpty()) { -commonDependencies.stream(). -forEach((dependency) -> { -writer.println(); -writer.print('\t'); -writer.print(dependency); -}); +commonDependencies.stream().forEach((dependency) -> { +writer.print('\t'); +writer.println(dependency); +}); } if (!testDependencies.isEmpty()) { -writer.println(); writer.println("\ttest? ("); -testDependencies.stream(). -forEach((dependency) -> { -writer.println(); -writer.print("\t\t"); -writer.print(dependency); -}); +testDependencies.stream().forEach((dependency) -> { +writer.print("\t\t"); +writer.println(dependency); +}); -writer.print("\t)"); +writer.println("\t)"); } writer.println('"'); @@ -362,10 +359,11 @@ public class MavenEbuilder { if (!compileDependencies.isEmpty()) { writer.println("# Compile dependencies"); -mavenProjects.stream().filter((mavenProject) -> (!mavenProject. -getCompileDependencies().isEmpty())) +mavenProjects.stream().filter((mavenProject) -> +(!mavenProject.getCompileDependencies().isEmpty())) .forEach((mavenProject) -> { -writeDependenciesInfo(writer, mavenProject.getPomFile(), +writeDependenciesInfo(config, writer, +mavenProject.getPomFile(), mavenProject.getCompileDependencies(), null); }); } else { @@ -389,12 +387,11 @@ public class MavenEbuilder { } if (!compileDependencies.isEmpty()) { -compileDependencies.stream(). -forEach((dependency) -> { -writer.println(); -writer.print('\t'); -writer.print(dependency); -}); +compileDependencies.stream().forEach((dependency) -> { +writer.println(); +writer.print('\t'); +writer.println(dependency); +}); } writer.println('"'); @@ -405,7 +402,8 @@ public class MavenEbuilder { mavenProjects.stream().filter((mavenProject) -> (!mavenProject. getRuntimeDependencies().isEmpty())) .forEach((mavenProject) -> { -writeDependenciesInfo(writer, mavenProject.getPomFile(), +writeDependenciesInfo(config, writer, +mavenProject.getPomFile(), mavenProject.getRuntimeDependencies(), null);
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 08c9231f4893571a89387035c4e63e09f08dfa9e Author: Miroslav Šulc gentoo org> AuthorDate: Sun Nov 3 10:14:44 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Nov 3 10:14:44 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=08c9231f reformatted Signed-off-by: Miroslav Šulc gentoo.org> .../java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 14 +- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 5953815..b7192d6 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -38,11 +38,15 @@ public class MavenEbuilder { writeHeader(writer); writeCommand(config, writer); writeEAPI(writer); -MavenProject mp = mavenProjects.get(mavenProjects.size() - 1); -writeInherit(mp, writer); -// write the info from the last project as it is probably the one -// that depends on the rest -writePackageInfo(config, mp, writer); + +/** + * Write the info from the last project as it is probably the one + * that depends on the rest. + */ +final MavenProject mavenProject += mavenProjects.get(mavenProjects.size() - 1); +writeInherit(mavenProject, writer); +writePackageInfo(config, mavenProject, writer); writeDependencies(config, mavenProjects, writer); writeSourceDir(writer);
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 7f0292efdc6698bd28dc6137660c6145cd357690 Author: Miroslav Šulc gentoo org> AuthorDate: Sun Nov 3 10:11:14 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Nov 3 10:11:14 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=7f0292ef fixed and reformatted ebuild variables Signed-off-by: Miroslav Šulc gentoo.org> .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 96 -- 1 file changed, 52 insertions(+), 44 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 1be72cb..5953815 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -618,6 +618,12 @@ public class MavenEbuilder { final MavenProject mavenProject, final PrintWriter writer) { writer.println(); +if (!"UTF-8".equals(mavenProject.getSourceEncoding())) { +writer.print("JAVA_ENCODING=\""); +writer.print(mavenProject.getSourceEncoding()); +writer.println("\"\n"); +} + if (!mavenProject.getCommonDependencies().isEmpty() || !mavenProject.getRuntimeDependencies().isEmpty()) { final List dependencies @@ -638,78 +644,80 @@ public class MavenEbuilder { writer.println('"'); } -if (!mavenProject.getTestDependencies().isEmpty()) { -writer.print("JAVA_GENTOO_TEST_CLASSPATH=\""); -writer.print(createClassPath(mavenProject.getTestDependencies())); +writer.print("JAVA_SRC_DIR=\""); +writer.print(replaceWithVars(config.getWorkdir().relativize( +mavenProject.getSourceDirectory()).toString(), config)); +writer.println('"'); + +if (mavenProject.getMainClass() != null) { +writer.print("JAVA_MAIN_CLASS=\""); +writer.print(mavenProject.getMainClass()); writer.println('"'); } +if (mavenProject.hasResources()) { +writer.println("JAVA_RESOURCE_DIRS=("); + +mavenProject.getResourceDirectories().forEach((directory) -> { +writer.print("\t\""); +writer.print(replaceWithVars( +config.getWorkdir().relativize(directory).toString(), +config)); +writer.println('"'); +}); + +writer.println(')'); +} + final String testingFramework = determineTestingFramework(mavenProject); +boolean firstTestVar = true; if (testingFramework != null) { +if (firstTestVar) { +writer.println(); +firstTestVar = false; +} + writer.print("JAVA_TESTING_FRAMEWORK=\""); writer.print(testingFramework); writer.println('"'); } -if (mavenProject.hasResources()) { -writer.print("JAVA_RESOURCE_DIRS=\""); - -boolean first = true; - -for (final Path resources : mavenProject.getResourceDirectories()) { -if (first) { -first = false; -} else { -writer.print(':'); -} - -writer.print(replaceWithVars( -config.getWorkdir().relativize(resources).toString(), -config)); +if (!mavenProject.getTestDependencies().isEmpty()) { +if (firstTestVar) { +writer.println(); +firstTestVar = false; } +writer.print("JAVA_GENTOO_TEST_CLASSPATH=\""); +writer.print(createClassPath(mavenProject.getTestDependencies())); writer.println('"'); } if (mavenProject.hasTests()) { +if (firstTestVar) { +writer.println(); +} + writer.print("JAVA_TEST_SRC_DIR=\""); writer.print(replaceWithVars(config.getWorkdir().relativize( mavenProject.getTestSourceDirectory()).toString(), config)); writer.println('"'); if (mavenProject.hasTestResources()) { -writer.print("JAVA_TEST_RESOURCE_DIRS=\""); - -boolean first = true; - -for (final Path resources : mavenProject. -getTestResourceDirectories()) { -if (first) { -first = false; -} else { -writer.print(':'); -} +writer.println("JAVA_TEST_RESOURCE_DIRS=("); +mavenProject.getTestResourceDirectories(). +forEach((directory) -> { +writer.print("\t\"");
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/, ...
commit: 19b00d811bf2c5ef67146a8afabed9c7b09e984a Author: Miroslav Šulc gentoo org> AuthorDate: Sun Nov 3 10:12:12 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Nov 3 10:12:12 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=19b00d81 fixed project dump maven version output Signed-off-by: Miroslav Šulc gentoo.org> .../java/org/gentoo/java/ebuilder/maven/MavenProject.java | 2 +- .../org/gentoo/java/ebuilder/portage/MavenVersion.java| 15 +++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java index c3f45f8..6cead37 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java @@ -185,7 +185,7 @@ public class MavenProject { writer.print(" artifactId: "); writer.println(dependency.getArtifactId()); writer.print(" mavenVersion: "); -writer.println(dependency.getMavenVersion()); +writer.println(dependency.getMavenVersion().getVersion()); writer.print(" scope: "); writer.println(dependency.getScope()); writer.print(" systemDependency: "); diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java b/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java index 657d3c4..1de54e1 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java @@ -36,6 +36,10 @@ public class MavenVersion implements Comparable { * Version qualifier. */ private final String qualifier; +/** + * Original version string. + */ +private final String version; /** * Creates new instance of MavenVersion. @@ -43,6 +47,8 @@ public class MavenVersion implements Comparable { * @param version version string */ public MavenVersion(final String version) { +this.version = version; + final Matcher matcherRange = PATTERN_VERSION_RANGE.matcher(version); final String useVersion; @@ -115,4 +121,13 @@ public class MavenVersion implements Comparable { public String getQualifier() { return qualifier; } + +/** + * Getter for {@link #version}. + * + * @return {@link #version} + */ +public String getVersion() { +return version; +} }
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: d5c08b1662e06096f8bd0ce9ee1407250a842119 Author: Miroslav Šulc gentoo org> AuthorDate: Sun Nov 3 10:11:48 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sun Nov 3 10:11:48 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=d5c08b16 improved project dump layout Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java index eb379e0..c3f45f8 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java @@ -180,7 +180,7 @@ public class MavenProject { if (dependencies != null) { dependencies.forEach((dependency) -> { -writer.print("\n groupId: "); +writer.print("- groupId: "); writer.println(dependency.getGroupId()); writer.print(" artifactId: "); writer.println(dependency.getArtifactId());
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 2cfc1a85a6306b51d9ce5771f7645cad74206eaf Author: Miroslav Šulc gentoo org> AuthorDate: Sat Nov 2 22:27:15 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sat Nov 2 22:27:15 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=2cfc1a85 switched from IUSE to JAVA_PKG_IUSE Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 2194b80..1be72cb 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -493,7 +493,7 @@ public class MavenEbuilder { private void writeInherit(final MavenProject mavenProject, final PrintWriter writer) { writer.println(); -writer.print("IUSE=\"doc source"); +writer.print("JAVA_PKG_IUSE=\"doc source"); if (mavenProject.hasTests()) { writer.print(" test");
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 9982eb3cbf850fe6985fb29017f2161489cae07a Author: Miroslav Šulc gentoo org> AuthorDate: Sat Nov 2 21:53:49 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sat Nov 2 21:53:49 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=9982eb3c replacing ebuild name and version with variables Signed-off-by: Miroslav Šulc gentoo.org> .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 24 +- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index ffb6e66..2194b80 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -226,6 +226,16 @@ public class MavenEbuilder { return result; } +private String replaceWithVars(final String string, final Config config) { +final String pString += config.getEbuildName() + '-' + config.getEbuildVersion(); + +return string. +replace(pString, "${P}"). +replace(config.getEbuildName(), "${PN}"). +replace(config.getEbuildVersion(), "${PV}"); +} + /** * Writes command that was used to create skeleton of the ebuild. * @@ -551,7 +561,8 @@ public class MavenEbuilder { writer.println('"'); writer.print("SRC_URI=\""); -writer.print(config.getDownloadUri()); +writer.print( +replaceWithVars(config.getDownloadUri().toString(), config)); writer.println('"'); writer.print("LICENSE=\""); @@ -653,7 +664,9 @@ public class MavenEbuilder { writer.print(':'); } -writer.print(config.getWorkdir().relativize(resources)); +writer.print(replaceWithVars( +config.getWorkdir().relativize(resources).toString(), +config)); } writer.println('"'); @@ -661,8 +674,8 @@ public class MavenEbuilder { if (mavenProject.hasTests()) { writer.print("JAVA_TEST_SRC_DIR=\""); -writer.print(config.getWorkdir().relativize( -mavenProject.getTestSourceDirectory())); +writer.print(replaceWithVars(config.getWorkdir().relativize( +mavenProject.getTestSourceDirectory()).toString(), config)); writer.println('"'); if (mavenProject.hasTestResources()) { @@ -678,7 +691,8 @@ public class MavenEbuilder { writer.print(':'); } -writer.print(config.getWorkdir().relativize(resources)); +writer.print(replaceWithVars(config.getWorkdir(). +relativize(resources).toString(), config)); } writer.println('"');
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 6ffda4c5bb983ee60afe8cdbdd8cac800d2dda4e Author: Miroslav Šulc gentoo org> AuthorDate: Sat Nov 2 21:41:55 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sat Nov 2 21:41:55 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=6ffda4c5 fixed projects dump issues Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java index 6d0d8ec..eb379e0 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java @@ -151,9 +151,9 @@ public class MavenProject { writer.print("sourceDirectory: "); writer.println(sourceDirectory); writer.print("hasResources: "); -writer.println(hasResources); +writer.println(hasResources()); -writer.print("resourceDirectories:"); +writer.println("resourceDirectories:"); if (resourceDirectories != null) { resourceDirectories.forEach((resourceDirectory) -> { @@ -163,11 +163,11 @@ public class MavenProject { } writer.print("hasTests: "); -writer.println(hasTests); +writer.println(hasTests()); writer.print("testSourceDirectory: "); writer.println(testSourceDirectory); writer.print("hasTestResources: "); -writer.println(hasTestResources); +writer.println(hasTestResources()); writer.println("testResourceDirectories:");
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 54202dcc53c082b4b62bd82510e79ab3f9e53825 Author: Miroslav Šulc gentoo org> AuthorDate: Sat Nov 2 21:41:30 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sat Nov 2 21:41:30 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=54202dcc fixed parsing of project build tree Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java index 2e81541..942ee27 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java @@ -389,6 +389,9 @@ public class MavenParser { case "artifactId": mavenProject.setArtifactId(reader.getElementText()); break; +case "build": +parseProjectBuild(mavenProject, reader); +break; case "dependencies": parseProjectDependencies(mavenProject, mavenCache, reader);
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/, ...
commit: 1673958029040f3368d310341832db6d03c18c9c Author: Miroslav Šulc gentoo org> AuthorDate: Sat Nov 2 21:32:16 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Sat Nov 2 21:32:16 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=16739580 added option for dumping parsed projects Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/Config.java | 22 +++ src/main/java/org/gentoo/java/ebuilder/Main.java | 28 .../gentoo/java/ebuilder/maven/MavenProject.java | 75 ++ src/main/resources/usage.txt | 2 + 4 files changed, 127 insertions(+) diff --git a/src/main/java/org/gentoo/java/ebuilder/Config.java b/src/main/java/org/gentoo/java/ebuilder/Config.java index 9bc98f8..3bf8cb8 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Config.java +++ b/src/main/java/org/gentoo/java/ebuilder/Config.java @@ -24,6 +24,10 @@ public class Config { * URI that goes to SRC_URI. */ private URI downloadUri; +/** + * Whether to output information about parsed projects. + */ +private boolean dumpProjects; /** * Path to ebuild file that should be generated. */ @@ -327,6 +331,24 @@ public class Config { this.workdir = workdir; } +/** + * Getter for {@link #dumpProjects}. + * + * @return {@link #dumpProjects} + */ +public boolean isDumpProjects() { +return dumpProjects; +} + +/** + * Setter for {@link #dumpProjects}. + * + * @param dumpProjects {@link #dumpProjects} + */ +public void setDumpProjects(final boolean dumpProjects) { +this.dumpProjects = dumpProjects; +} + /** * Getter for {@link #generateEbuild}. * diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index bb6fbd7..871ac2a 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -126,6 +126,9 @@ public class Main { } else if (config.getDownloadUri() != null) { config.getErrorWriter().println("WARNING: Download URI is used " + "only when generating ebuild."); +} else if (config.isDumpProjects()) { +config.getErrorWriter().println("WARNING: Dumping of projects can " ++ "be used only when generating ebuild."); } else if (config.getEbuild() != null) { config.getErrorWriter().println( "WARNING: Ebuild is used only when " @@ -155,6 +158,23 @@ public class Main { } } +private static void dumpMavenProjects(final Config config, +final List mavenProjects) { +int i = 0; + +for (final MavenProject mavenProject : mavenProjects) { +config.getStdoutWriter().println(MessageFormat.format( +"\n= PROJECT {0} DUMP START =", i)); +mavenProject.dump(config.getStdoutWriter()); +config.getStdoutWriter().println(MessageFormat.format( +"= PROJECT {0} DUMP END =", i)); + +i++; +} + +config.getStdoutWriter().println(); +} + /** * Processed generation of ebuild. * @@ -170,6 +190,10 @@ public class Main { final List mavenProjects = mavenParser.parsePomFiles(config, mavenCache); +if (config.isDumpProjects()) { +dumpMavenProjects(config, mavenProjects); +} + final MavenEbuilder mavenEbuilder = new MavenEbuilder(); mavenEbuilder.generateEbuild(config, mavenProjects, mavenCache); } @@ -197,6 +221,10 @@ public class Main { + " is not valid."); } +break; +case "--dump-projects": +case "-d": +config.setDumpProjects(true); break; case "--ebuild": case "-e": diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java index ba575b1..6d0d8ec 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java @@ -1,5 +1,6 @@ package org.gentoo.java.ebuilder.maven; +import java.io.PrintWriter; import java.nio.file.Path; import java.util.ArrayList; import java.util.Collections; @@ -121,6 +122,80 @@ public class MavenProject { testResourceDirectories.add(path); } +/** + * Outputs project properties to the writer. + * + * @param writer writer + */ +public void dump(final PrintWriter writer) { +writer.print("POM file: "); +writer.println(pomFile); +writer.print("groupId: "); +
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/portage/, ...
commit: c0c86c63b7847b9d10d53c51e182df3c53263e4f Author: Miroslav Šulc gentoo org> AuthorDate: Fri Nov 1 20:21:00 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Nov 1 20:21:00 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=c0c86c63 enhanced maven cache so that it also contains main java eclass + added java eclass stats Signed-off-by: Miroslav Šulc gentoo.org> .../org/gentoo/java/ebuilder/maven/MavenCache.java | 5 +- .../gentoo/java/ebuilder/portage/CacheItem.java| 29 ++-- .../java/ebuilder/portage/PortageParser.java | 84 +- 3 files changed, 96 insertions(+), 22 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java index 0aa33c5..4e8767e 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java @@ -102,7 +102,10 @@ public class MavenCache { new FileReader(config.getCacheFile().toFile( { String line = reader.readLine(); -if (!PortageParser.CACHE_VERSION.equals(line)) { +if ("1.0".equals(line)) { +config.getStdoutWriter().print("(warning: format is not " ++ "up-to-date, consider refreshing the cache)..."); +} else if (!PortageParser.CACHE_VERSION.equals(line)) { config.getErrorWriter().println("ERROR: Unsupported version of " + "cache. Please refresh the cache using command line " + "switch --refresh-cache."); diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/CacheItem.java b/src/main/java/org/gentoo/java/ebuilder/portage/CacheItem.java index 17bce6b..feff43d 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/CacheItem.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/CacheItem.java @@ -19,6 +19,10 @@ public class CacheItem { * Maven group id. */ private final String groupId; +/** + * Main Java eclass inherited. + */ +private final String javaEclass; /** * Maven version (of package jar). */ @@ -56,11 +60,12 @@ public class CacheItem { * @param groupId {@link #groupId} * @param artifactId {@link #artifactId} * @param mavenVersion {@link #mavenVersion} + * @param javaEclass {@link #javaEclass} */ public CacheItem(final String category, final String pkg, final String version, final String slot, final String useFlag, final String groupId, final String artifactId, -final String mavenVersion) { +final String mavenVersion, final String javaEclass) { this.category = category; this.pkg = pkg; this.version = version; @@ -69,6 +74,7 @@ public class CacheItem { this.groupId = groupId; this.artifactId = artifactId; this.mavenVersion = mavenVersion; +this.javaEclass = javaEclass; parsedMavenVersion = mavenVersion == null ? null : new MavenVersion(mavenVersion); @@ -95,14 +101,20 @@ public class CacheItem { } if (parts.length > 5) { -groupId = parts[5]; -artifactId = parts[6]; -mavenVersion = parts[7]; +groupId = parts[5].isEmpty() ? null : parts[5]; +artifactId = parts[6].isEmpty() ? null : parts[6]; +mavenVersion = parts[7].isEmpty() ? null : parts[7]; } else { groupId = null; artifactId = null; mavenVersion = null; } + +if (parts.length > 8) { +javaEclass = parts[8].isEmpty() ? null : parts[8]; +} else { +javaEclass = null; +} } catch (final ArrayIndexOutOfBoundsException ex) { throw new RuntimeException("Failed to parse cache line: " + line, ex); @@ -139,6 +151,15 @@ public class CacheItem { return groupId; } +/** + * Getter for {@link #javaEclass}. + * + * @return {@link #javaEclass} + */ +public String getJavaEclass() { +return javaEclass; +} + /** * Getter for {@link #mavenVersion}. * diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java index a85fe6c..8d49411 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java @@ -28,7 +28,7 @@ public class PortageParser { /** * Cache version. */ -public static final String CACHE_VERSION = "1.0"; +public static final String CACHE_VERSION = "1.1"; /** * Current
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/
commit: b9eb365fa9ba4541ec10ec6ae7ccd724dca3411f Author: Miroslav Šulc gentoo org> AuthorDate: Fri Nov 1 20:19:20 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Nov 1 20:19:20 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=b9eb365f improved ebuild parsing output info format Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/Main.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index 5328eb7..bb6fbd7 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -274,7 +274,8 @@ public class Main { config.setEbuildVersionSuffix(result.get("suffix")); config.getStdoutWriter().println(MessageFormat.format("Parsed " -+ "ebuild file name - name: {0} version: {1} suffix: {2}", ++ "ebuild file name: name = {0}, version = {1}, " ++ "suffix = {2}", config.getEbuildName(), config.getEbuildVersion(), config.getEbuildVersionSuffix())); } catch (final IllegalArgumentException ex) {
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/
commit: d380ae7497646faa26912e34f2b747ae553c87b4 Author: Miroslav Šulc gentoo org> AuthorDate: Fri Nov 1 20:06:19 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Nov 1 20:06:19 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=d380ae74 using message formatter for ebuild name parsing info Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/Main.java | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index 6c5cd13..5328eb7 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -8,6 +8,7 @@ import java.io.PrintWriter; import java.net.URI; import java.net.URISyntaxException; import java.nio.file.Paths; +import java.text.MessageFormat; import java.util.List; import java.util.Map; import org.gentoo.java.ebuilder.maven.MavenCache; @@ -272,10 +273,10 @@ public class Main { config.setEbuildVersion(result.get("version")); config.setEbuildVersionSuffix(result.get("suffix")); -config.getStdoutWriter().println("Parsed ebuild file name - name: " -+ config.getEbuildName() + " version: " -+ config.getEbuildVersion() + " suffix: " -+ config.getEbuildVersionSuffix()); +config.getStdoutWriter().println(MessageFormat.format("Parsed " ++ "ebuild file name - name: {0} version: {1} suffix: {2}", +config.getEbuildName(), config.getEbuildVersion(), +config.getEbuildVersionSuffix())); } catch (final IllegalArgumentException ex) { config.getStdoutWriter().println("Cannot parse ebuild file name");
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/portage/, ...
commit: 889bcaf2504570a64c9b0a8e1f22b092a83e0c0c Author: Miroslav Šulc gentoo org> AuthorDate: Fri Nov 1 19:41:43 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Nov 1 19:41:43 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=889bcaf2 added parsing of ebuild file name components Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/Config.java | 66 ++ src/main/java/org/gentoo/java/ebuilder/Main.java | 30 ++ .../java/ebuilder/portage/PortageParser.java | 45 +++ 3 files changed, 141 insertions(+) diff --git a/src/main/java/org/gentoo/java/ebuilder/Config.java b/src/main/java/org/gentoo/java/ebuilder/Config.java index 4127266..9bc98f8 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Config.java +++ b/src/main/java/org/gentoo/java/ebuilder/Config.java @@ -28,6 +28,18 @@ public class Config { * Path to ebuild file that should be generated. */ private Path ebuild; +/** + * Ebuild name. + */ +private String ebuildName; +/** + * Ebuild version excluding suffix. + */ +private String ebuildVersion; +/** + * Ebuild version suffix (-r). + */ +private String ebuildVersionSuffix; /** * Writer for errors. */ @@ -144,6 +156,60 @@ public class Config { this.ebuild = ebuild; } +/** + * Getter for {@link #ebuildName}. + * + * @return {@link #ebuildName} + */ +public String getEbuildName() { +return ebuildName; +} + +/** + * Setter for {@link #ebuildName}. + * + * @param ebuildName {@link #ebuildName} + */ +public void setEbuildName(final String ebuildName) { +this.ebuildName = ebuildName; +} + +/** + * Getter for {@link #ebuildVersion}. + * + * @return {@link #ebuildVersion} + */ +public String getEbuildVersion() { +return ebuildVersion; +} + +/** + * Setter for {@link #ebuildVersion}. + * + * @param ebuildVersion {@link #ebuildVersion} + */ +public void setEbuildVersion(final String ebuildVersion) { +this.ebuildVersion = ebuildVersion; +} + +/** + * Getter for {@link #ebuildVersionSuffix}. + * + * @return {@link #ebuildVersionSuffix} + */ +public String getEbuildVersionSuffix() { +return ebuildVersionSuffix; +} + +/** + * Setter for {@link #ebuildVersionSuffix}. + * + * @param ebuildVersionSuffix {@link #ebuildVersionSuffix} + */ +public void setEbuildVersionSuffix(final String ebuildVersionSuffix) { +this.ebuildVersionSuffix = ebuildVersionSuffix; +} + /** * Getter for {@link #errorWriter}. * diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index 5921ea1..6c5cd13 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -9,6 +9,7 @@ import java.net.URI; import java.net.URISyntaxException; import java.nio.file.Paths; import java.util.List; +import java.util.Map; import org.gentoo.java.ebuilder.maven.MavenCache; import org.gentoo.java.ebuilder.maven.MavenEbuilder; import org.gentoo.java.ebuilder.maven.MavenParser; @@ -159,6 +160,8 @@ public class Main { * @param config application configuration */ private static void generateEbuild(final Config config) { +parseEbuildName(config); + final MavenCache mavenCache = new MavenCache(); mavenCache.loadCache(config); @@ -253,6 +256,33 @@ public class Main { } } +/** + * Parses ebuild file name into its components. + * + * @param config app configuration containing ebuild information + */ +private static void parseEbuildName(final Config config) { +final Map result; + +try { +result = PortageParser.parseEbuildName( +config.getEbuild().getFileName().toString()); + +config.setEbuildName(result.get("name")); +config.setEbuildVersion(result.get("version")); +config.setEbuildVersionSuffix(result.get("suffix")); + +config.getStdoutWriter().println("Parsed ebuild file name - name: " ++ config.getEbuildName() + " version: " ++ config.getEbuildVersion() + " suffix: " ++ config.getEbuildVersionSuffix()); +} catch (final IllegalArgumentException ex) { +config.getStdoutWriter().println("Cannot parse ebuild file name"); + +Runtime.getRuntime().exit(1); +} +} + /** * Prints application usage information. */ diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java index d504b2c..a85fe6c 100644 ---
[gentoo-commits] proj/java-ebuilder:master commit in: /
commit: 005ac61b0661256c5a05f2e684c8e3bd2b522c89 Author: Miroslav Šulc gentoo org> AuthorDate: Fri Nov 1 19:41:08 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Nov 1 19:41:08 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=005ac61b version updated Signed-off-by: Miroslav Šulc gentoo.org> pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4c069e2..0f7729f 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 org.gentoo java-ebuilder -0.3.1-SNAPSHOT +0.4.0-SNAPSHOT jar Gentoo Java ebuild Builder Java team tool for semi-automatic creation of ebuilds from pom.xml.
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/resources/
commit: 74183b4fabbf629ade1ba60b66c4f81db854af07 Author: Miroslav Šulc gentoo org> AuthorDate: Fri Nov 1 19:04:38 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Nov 1 19:04:38 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=74183b4f updated usage Signed-off-by: Miroslav Šulc gentoo.org> src/main/resources/usage.txt | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/main/resources/usage.txt b/src/main/resources/usage.txt index c874ace..4ad06d7 100644 --- a/src/main/resources/usage.txt +++ b/src/main/resources/usage.txt @@ -1,4 +1,6 @@ Usage: java-ebuilder + +Generating ebuild: --download-uri|-u uri that goes to SRC_URI --ebuild|-e path to ebuild that should be created --generate-ebuild|-ggenerates ebuild from pom.xml @@ -7,9 +9,15 @@ Usage: java-ebuilder --pom|-p path to pom.xml that should be parsed, the path must be relative to workdir (can be specified multiple times) +--slot|-s SLOT number +--workdir|-w path to ebuild workdir (${WORKDIR}, default is +current directory) + +Refreshing cache: --portage-tree|-t path to portage tree that should be parsed when refreshing cache (default is /usr/portage) ---cache-file location of output cache file (default is ~/.java-ebuilder/cache) --refresh-cache|-c refreshes java ebuild cache ---slot|-s SLOT number ---workdir|-w path to workdir (default is current directory) + +Common: +--cache-file location of cache file (default is +~/.java-ebuilder/cache)
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 7b10390839585c4bf129814380bb2f099678b7d0 Author: Miroslav Šulc gentoo org> AuthorDate: Fri Nov 1 18:40:28 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Nov 1 18:42:45 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=7b103908 updated eapi to 7 Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 50c5992..796bd9c 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -19,7 +19,7 @@ public class MavenEbuilder { /** * EAPI version. */ -private static final String EAPI = "5"; +private static final String EAPI = "7"; /** * Generates ebuild from the collected information at the specified path.
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: ea70051f2d5c72b2712f2a12942c8f0346b15019 Author: Miroslav Šulc gentoo org> AuthorDate: Fri Nov 1 18:41:40 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Nov 1 18:43:08 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=ea70051f reformatted Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index f4f380a..ffb6e66 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -484,9 +484,11 @@ public class MavenEbuilder { final PrintWriter writer) { writer.println(); writer.print("IUSE=\"doc source"); + if (mavenProject.hasTests()) { writer.print(" test"); } + writer.println('"'); writer.println(); writer.println("inherit java-pkg-2 java-pkg-simple");
[gentoo-commits] proj/java-ebuilder:master commit in: /
commit: 3994507547810914a68d20677a5006370db11910 Author: Miroslav Šulc gentoo org> AuthorDate: Fri Nov 1 18:39:57 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Nov 1 18:42:35 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=39945075 added project homepage Signed-off-by: Miroslav Šulc gentoo.org> pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 921c3ef..4c069e2 100644 --- a/pom.xml +++ b/pom.xml @@ -10,6 +10,7 @@ jar Gentoo Java ebuild Builder Java team tool for semi-automatic creation of ebuilds from pom.xml. +https://gitweb.gentoo.org/proj/java-ebuilder.git/ UTF-8 1.8
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: fa9dcf8c73d4e65f11fb0b1caf130b85f6493fc7 Author: Miroslav Šulc gentoo org> AuthorDate: Fri Nov 1 18:40:45 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Nov 1 18:42:52 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=fa9dcf8c updated ebuild header Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 796bd9c..8e0780d 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -473,7 +473,6 @@ public class MavenEbuilder { LocalDate.now().getYear()); writer.println("# Distributed under the terms of the GNU General " + "Public License v2"); -writer.println("# $Id$"); } /**
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: e7cc54b0e4a218d494333ab027d6c35aa49301de Author: Miroslav Šulc gentoo org> AuthorDate: Fri Nov 1 18:41:29 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Nov 1 18:43:03 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=e7cc54b0 updated default ebuild jdk version to 1.8 Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java index af05c7c..ba575b1 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenProject.java @@ -67,11 +67,11 @@ public class MavenProject { /** * Source compile version. */ -private String sourceVersion = "1.7"; +private String sourceVersion = "1.8"; /** * Target compile version. */ -private String targetVersion = "1.7"; +private String targetVersion = "1.8"; /** * Test resource directories. */
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
commit: 3d0f19ba3367571b88ab40332b3d8245bcbc0209 Author: Miroslav Šulc gentoo org> AuthorDate: Fri Nov 1 18:41:12 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Fri Nov 1 18:42:58 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=3d0f19ba removed redundant IUSE Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java | 4 1 file changed, 4 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java index 8e0780d..f4f380a 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java @@ -568,10 +568,6 @@ public class MavenEbuilder { writer.print(config.getKeywords()); writer.println('"'); -writer.print("IUSE=\""); - -writer.println('"'); - writer.print("MAVEN_ID=\""); writer.print(mavenProject.getGroupId()); writer.print(':');
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/resources/
commit: a9eaed866badaffb61c98b4ec9bf7281c6d4d30e Author: Miroslav Šulc gentoo org> AuthorDate: Wed Oct 30 20:00:05 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Oct 30 20:00:05 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=a9eaed86 fixed usage app name Signed-off-by: Miroslav Šulc gentoo.org> src/main/resources/usage.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/usage.txt b/src/main/resources/usage.txt index 40e1914..c874ace 100644 --- a/src/main/resources/usage.txt +++ b/src/main/resources/usage.txt @@ -1,4 +1,4 @@ -Usage: jar +Usage: java-ebuilder --download-uri|-u uri that goes to SRC_URI --ebuild|-e path to ebuild that should be created --generate-ebuild|-ggenerates ebuild from pom.xml
[gentoo-commits] proj/java-ebuilder:master commit in: /
commit: 527a7af2c4863fd76321e1f077539ff60b4aa182 Author: Miroslav Šulc gentoo org> AuthorDate: Wed Oct 30 19:59:43 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Oct 30 19:59:43 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=527a7af2 version updated Signed-off-by: Miroslav Šulc gentoo.org> pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d669adc..921c3ef 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 org.gentoo java-ebuilder -0.3.0 +0.3.1-SNAPSHOT jar Gentoo Java ebuild Builder Java team tool for semi-automatic creation of ebuilds from pom.xml.
[gentoo-commits] proj/java-ebuilder:master commit in: /
commit: 59d676837063bd608fd288c4d42c54858151b2ab Author: Miroslav Šulc gentoo org> AuthorDate: Wed Oct 30 19:56:54 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Oct 30 19:56:54 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=59d67683 release 0.3.0 Signed-off-by: Miroslav Šulc gentoo.org> pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index d0f6d2e..d669adc 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ 4.0.0 org.gentoo java-ebuilder -1.0.0-SNAPSHOT +0.3.0 jar Gentoo Java ebuild Builder Java team tool for semi-automatic creation of ebuilds from pom.xml.
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/, ...
commit: e71822f64bdddf72820cdbda93a3339946a2f9e3 Author: Miroslav Šulc gentoo org> AuthorDate: Wed Oct 30 19:22:19 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Oct 30 19:22:30 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=e71822f6 added header to the cache file Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java | 2 +- src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java index 9d91528..4772e61 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java @@ -112,7 +112,7 @@ public class MavenCache { line = reader.readLine(); while (line != null) { -if (!line.isEmpty()) { +if (!line.isEmpty() && line.charAt(0) != '#') { addCacheItem(new CacheItem(line)); } diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java index 095e001..12422c2 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java @@ -386,7 +386,8 @@ public class PortageParser { StandardOpenOption.TRUNCATE_EXISTING), Charset.forName("UTF-8"))) { writer.write(CACHE_VERSION); -writer.write('\n'); +writer.write("\n#category:pkg:version:slot:useFlag:groupId:" ++ "artifactId:mavenVersion\n"); for (final CacheItem cacheItem : cacheItems) { writer.write(cacheItem.getCategory());
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/, ...
commit: 6997747f61ccd821b0f31a1f0228a57ba9a2ded6 Author: Miroslav Šulc gentoo org> AuthorDate: Wed Oct 30 19:26:31 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Oct 30 19:26:31 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=6997747f reformatted Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java | 4 ++-- .../java/org/gentoo/java/ebuilder/portage/PortageParser.java | 11 ++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java index 4772e61..0aa33c5 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenCache.java @@ -98,8 +98,8 @@ public class MavenCache { cache.clear(); -try (final BufferedReader reader = new BufferedReader(new FileReader( -config.getCacheFile().toFile( { +try (final BufferedReader reader = new BufferedReader( +new FileReader(config.getCacheFile().toFile( { String line = reader.readLine(); if (!PortageParser.CACHE_VERSION.equals(line)) { diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java index 6b0ae3c..d504b2c 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java @@ -174,7 +174,8 @@ public class PortageParser { */ private void parseEbuild(final File ebuild) { final String filename = ebuild.getName().replaceAll("\\.ebuild$", ""); -final String category = ebuild.getParentFile().getParentFile().getName(); +final String category += ebuild.getParentFile().getParentFile().getName(); final String pkg = ebuild.getParentFile().getName(); final String version = filename.substring(pkg.length() + 1); final Map variables = new HashMap<>(20); @@ -206,8 +207,8 @@ public class PortageParser { final Matcher matcher = PATTERN_VARIABLE.matcher(line); if (matcher.matches()) { -variables.put(matcher.group(1), matcher.group(2). -replaceAll("(^\"|\"$)", "")); +variables.put(matcher.group(1), +matcher.group(2).replaceAll("(^\"|\"$)", "")); } if (line.startsWith("inherit ")) { @@ -336,8 +337,8 @@ public class PortageParser { } if (result.indexOf('$') != -1) { -final Matcher matcher = PATTERN_SLOT_VERSION_COMPOPONENT_RANGE. -matcher(result); +final Matcher matcher += PATTERN_SLOT_VERSION_COMPOPONENT_RANGE.matcher(result); if (matcher.matches()) { final int start = Integer.parseInt(matcher.group(1), 10);
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/portage/
commit: 54cf529486ad0702ba76e9269552c53a817075fa Author: Miroslav Šulc gentoo org> AuthorDate: Wed Oct 30 19:26:01 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Oct 30 19:26:01 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=54cf5294 added fix to avoid parsing directories that are not package directories Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java | 4 1 file changed, 4 insertions(+) diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java index 12422c2..6b0ae3c 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java @@ -292,6 +292,10 @@ public class PortageParser { (final File pathname) -> pathname.isFile() && pathname.getName().endsWith(".ebuild")); +if (ebuilds == null) { +return; +} + for (final File ebuild : ebuilds) { parseEbuild(ebuild); processedEbuilds++;
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/portage/, ...
commit: 93acbb64ecbc2d5da73c96033d047209b3f74963 Author: Miroslav Šulc gentoo org> AuthorDate: Wed Oct 30 17:42:12 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Oct 30 17:43:31 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=93acbb64 reformatted and improved style Signed-off-by: Miroslav Šulc gentoo.org> .../gentoo/java/ebuilder/maven/MavenParser.java| 5 +++-- .../gentoo/java/ebuilder/portage/MavenVersion.java | 22 ++ .../java/ebuilder/portage/PortageParser.java | 12 ++-- 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java index 4ab15e9..2e81541 100644 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenParser.java @@ -529,8 +529,9 @@ public class MavenParser { scope = reader.getElementText(); break; case "version": -version = reader.getElementText().replace("-SNAPSHOT", -""); +version = reader.getElementText().replace( +"-SNAPSHOT", ""); + /* crazy version from * org.khronos:opengl-api:gl1.1-android-2.1_r1 */ // TODO: this should go to a file mapping crazy versions diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java b/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java index e2bf46f..657d3c4 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/MavenVersion.java @@ -18,7 +18,8 @@ public class MavenVersion implements Comparable { /** * Pattern for parsing maven version range. */ -private static final Pattern p_VERSION_RANGE = Pattern.compile("\\[.*, ?(.*?)\\]"); +private static final Pattern PATTERN_VERSION_RANGE += Pattern.compile("\\[.*, ?(.*?)\\]"); /** * Incremental version number. */ @@ -41,16 +42,21 @@ public class MavenVersion implements Comparable { * * @param version version string */ -public MavenVersion(String version) { - Matcher m_RANGE = p_VERSION_RANGE.matcher(version); -if (m_RANGE.matches()) { -version = m_RANGE.group(1); +public MavenVersion(final String version) { +final Matcher matcherRange = PATTERN_VERSION_RANGE.matcher(version); +final String useVersion; + +if (matcherRange.matches()) { +useVersion = matcherRange.group(1); +} else { +useVersion = version; } -final Matcher matcher = PATTERN_VERSION.matcher(version); + +final Matcher matcher = PATTERN_VERSION.matcher(useVersion); if (!matcher.matches()) { -throw new RuntimeException("Maven version " + version -+ " is not valid."); +throw new RuntimeException( +"Maven version " + useVersion + " is not valid."); } majorVersion = Integer.parseInt(matcher.group(1), 10); diff --git a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java index aa8a14b..095e001 100644 --- a/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java +++ b/src/main/java/org/gentoo/java/ebuilder/portage/PortageParser.java @@ -29,6 +29,10 @@ public class PortageParser { * Cache version. */ public static final String CACHE_VERSION = "1.0"; +/** + * Current ant utilities eclass name. + */ +private static final String ECLASS_ANT_TASKS = "ant-tasks"; /** * Current java package eclass name. */ @@ -45,10 +49,6 @@ public class PortageParser { * Current java utilities eclass name. */ private static final String ECLASS_JAVA_UTILS = "java-utils-2"; -/** - * Current ant utilities eclass name. - */ -private static final String ECLASS_ANT_TASKS = "ant-tasks"; /** * Pattern for parsing SLOT with bash substring. */ @@ -130,8 +130,8 @@ public class PortageParser { return ECLASS_JAVA_PKG_SIMPLE; } else if (inheritLine.contains(ECLASS_JAVA_UTILS)) { return ECLASS_JAVA_UTILS; - } else if (inheritLine.contains(ECLASS_ANT_TASKS)) { - return ECLASS_ANT_TASKS; +} else if (inheritLine.contains(ECLASS_ANT_TASKS)) { +return ECLASS_ANT_TASKS; } else { return null; }
[gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/
commit: 26b77b6db177bb7f47ff93de1739c49272d28b22 Author: Miroslav Šulc gentoo org> AuthorDate: Wed Oct 30 17:37:51 2019 + Commit: Miroslav Šulc gentoo org> CommitDate: Wed Oct 30 17:37:51 2019 + URL:https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=26b77b6d removed unused import Signed-off-by: Miroslav Šulc gentoo.org> src/main/java/org/gentoo/java/ebuilder/Main.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/gentoo/java/ebuilder/Main.java b/src/main/java/org/gentoo/java/ebuilder/Main.java index 0a69442..5921ea1 100644 --- a/src/main/java/org/gentoo/java/ebuilder/Main.java +++ b/src/main/java/org/gentoo/java/ebuilder/Main.java @@ -7,7 +7,6 @@ import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URI; import java.net.URISyntaxException; -import java.nio.file.Path; import java.nio.file.Paths; import java.util.List; import org.gentoo.java.ebuilder.maven.MavenCache;