Gentoo Archives: gentoo-commits

From: "Miroslav Šulc" <fordfrog@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/java-ebuilder:master commit in: src/main/java/org/gentoo/java/ebuilder/maven/
Date: Wed, 27 Nov 2019 09:50:23
Message-Id: 1574848159.46bbaf55e2d6924a324fbff3dc0755e4ad8280eb.fordfrog@gentoo
1 commit: 46bbaf55e2d6924a324fbff3dc0755e4ad8280eb
2 Author: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
3 AuthorDate: Wed Nov 27 09:44:05 2019 +0000
4 Commit: Miroslav Šulc <fordfrog <AT> gentoo <DOT> org>
5 CommitDate: Wed Nov 27 09:49:19 2019 +0000
6 URL: https://gitweb.gentoo.org/proj/java-ebuilder.git/commit/?id=46bbaf55
7
8 fixing download tarball name
9
10 Signed-off-by: Miroslav Šulc <fordfrog <AT> gentoo.org>
11
12 .../gentoo/java/ebuilder/maven/MavenEbuilder.java | 42 ++++++++++++++++++++--
13 1 file changed, 40 insertions(+), 2 deletions(-)
14
15 diff --git a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java
16 index 5ddfd9b..c9ec5b9 100644
17 --- a/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java
18 +++ b/src/main/java/org/gentoo/java/ebuilder/maven/MavenEbuilder.java
19 @@ -7,6 +7,8 @@ import java.nio.file.Path;
20 import java.time.LocalDate;
21 import java.util.ArrayList;
22 import java.util.List;
23 +import java.util.regex.Matcher;
24 +import java.util.regex.Pattern;
25 import org.gentoo.java.ebuilder.Config;
26
27 /**
28 @@ -20,6 +22,16 @@ public class MavenEbuilder {
29 * EAPI version.
30 */
31 private static final String EAPI = "7";
32 + /**
33 + * Pattern for retrieval of tarball extension.
34 + */
35 + private static final Pattern PATTERN_TARBALL_EXTENSION = Pattern.compile(
36 + "^.*((?:\\.tar)\\.\\S+)$");
37 + /**
38 + * Pattern for checking whether download tarball name matches expected name.
39 + */
40 + private static final Pattern PATTERN_TARBALL_NAME
41 + = Pattern.compile("^.*/\\$\\{P\\}(?:\\.tar)\\.\\S+$");
42
43 /**
44 * Generates ebuild from the collected information at the specified path.
45 @@ -194,6 +206,32 @@ public class MavenEbuilder {
46 return result;
47 }
48
49 + /**
50 + * If the tarball name does not match pattern ${P}.ext then we will update
51 + * it to store the tarball as ${P}.ext.
52 + *
53 + * @param srcUri source URI
54 + *
55 + * @return either original source URI or updated source URI
56 + */
57 + private String improveSrcUri(final String srcUri) {
58 + if (PATTERN_TARBALL_NAME.matcher(srcUri).matches()) {
59 + return srcUri;
60 + }
61 +
62 + final Matcher matcher = PATTERN_TARBALL_EXTENSION.matcher(srcUri);
63 +
64 + /**
65 + * We do not know how to get the extension so we will leave the tarball
66 + * name as it is.
67 + */
68 + if (!matcher.matches()) {
69 + return srcUri;
70 + }
71 +
72 + return srcUri + " -> " + "${P}" + matcher.group(1);
73 + }
74 +
75 /**
76 * Merges maven project system dependencies of specified type and removed
77 * duplicates.
78 @@ -578,8 +616,8 @@ public class MavenEbuilder {
79 writer.println('"');
80
81 writer.print("SRC_URI=\"");
82 - writer.print(
83 - replaceWithVars(config.getDownloadUri().toString(), config));
84 + writer.print(improveSrcUri(
85 + replaceWithVars(config.getDownloadUri().toString(), config)));
86 writer.println('"');
87
88 writer.print("LICENSE=\"");