8
0

33 Commits

Author SHA256 Message Date
381a5acbc0 Accepting request 1296198 from Java:packages
6.4.1

OBS-URL: https://build.opensuse.org/request/show/1296198
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/javapackages-tools?expand=0&rev=47
2025-07-30 09:41:27 +00:00
0eadf3592b OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=172 2025-07-28 17:08:51 +00:00
5968763ccb OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=171 2025-07-28 17:00:44 +00:00
0c5e096d2d OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=170 2025-07-28 16:55:04 +00:00
d782abb102 Accepting request 1207246 from Java:packages
6.3.4 + fix

OBS-URL: https://build.opensuse.org/request/show/1207246
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/javapackages-tools?expand=0&rev=46
2024-10-12 11:24:51 +00:00
a259dda04c OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=168 2024-10-11 13:07:58 +00:00
9190f94bc2 OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=167 2024-10-11 11:35:00 +00:00
fae64c51f4 Accepting request 1206476 from Java:packages
OBS-URL: https://build.opensuse.org/request/show/1206476
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/javapackages-tools?expand=0&rev=45
2024-10-09 20:03:32 +00:00
3ad792992b Accepting request 1206467 from home:Andreas_Schwab:Factory
- remove-pointless-assignment.patch: Remove pointless assignment if
  %java_home is unset

OBS-URL: https://build.opensuse.org/request/show/1206467
OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=165
2024-10-09 08:05:32 +00:00
7f99186909 OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=164 2024-10-08 22:50:11 +00:00
993b291ffc Accepting request 1206227 from Java:packages
bsc#1231347 - minimal solution: which -> type -p

OBS-URL: https://build.opensuse.org/request/show/1206227
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/javapackages-tools?expand=0&rev=44
2024-10-08 15:16:42 +00:00
8ef291910b OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=162 2024-10-08 06:29:42 +00:00
5c28742ef7 OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=161 2024-10-07 20:05:14 +00:00
2338e02080 OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=160 2024-10-07 17:51:32 +00:00
3d70b63603 OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=159 2024-10-07 17:46:55 +00:00
0c7495a703 Accepting request 1205748 from Java:packages
6.3.2

OBS-URL: https://build.opensuse.org/request/show/1205748
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/javapackages-tools?expand=0&rev=43
2024-10-06 15:51:08 +00:00
15154fbd1b OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=157 2024-10-04 17:44:02 +00:00
43a18d7b25 OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=156 2024-10-04 17:10:33 +00:00
a7cae8ff2c Accepting request 1205387 from Java:packages
6.3.1

OBS-URL: https://build.opensuse.org/request/show/1205387
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/javapackages-tools?expand=0&rev=42
2024-10-04 15:08:28 +00:00
f38bc91fe5 OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=154 2024-10-03 09:38:31 +00:00
f3ac22d38f OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=153 2024-10-02 17:34:01 +00:00
353a72e6bb OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=152 2024-10-02 16:12:54 +00:00
8d04b75247 OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=151 2024-10-02 13:05:48 +00:00
adb9fdf427 OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=150 2024-09-29 09:51:49 +00:00
24f5217356 OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=149 2024-09-29 09:23:18 +00:00
1b33b7faa7 OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=148 2024-09-28 22:01:38 +00:00
154d0597ca OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=147 2024-09-28 21:53:25 +00:00
47517bfd8c Accepting request 1188405 from Java:packages
some reproducible mtimes

OBS-URL: https://build.opensuse.org/request/show/1188405
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/javapackages-tools?expand=0&rev=41
2024-07-19 13:26:00 +00:00
aed2bd2d74 OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=145 2024-07-18 13:21:37 +00:00
cf4536e11a OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=144 2024-07-18 12:17:10 +00:00
433e4461ec OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=143 2024-07-17 07:30:41 +00:00
c9ceb86a9c OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=142 2024-07-17 07:17:04 +00:00
c1f4d4c9c3 OBS-URL: https://build.opensuse.org/package/show/Java:packages/javapackages-tools?expand=0&rev=141 2024-07-16 05:13:36 +00:00
14 changed files with 183 additions and 1244 deletions

View File

@@ -1,25 +0,0 @@
From 5cc434bdeffbee25158ae2bdcda08f4b07610f7a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Mon, 4 Sep 2023 16:14:43 +0200
Subject: [PATCH 1/2] Make maven_depmap order of aliases reproducible
---
java-utils/maven_depmap.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/java-utils/maven_depmap.py b/java-utils/maven_depmap.py
index 6a0520fa..4bfb877d 100644
--- a/java-utils/maven_depmap.py
+++ b/java-utils/maven_depmap.py
@@ -213,7 +213,7 @@ def add_aliases(artifact, additions):
aliases = additions.split(',')
result = list()
- for a in aliases:
+ for a in sorted(aliases):
alias = MetadataAlias.from_mvn_str(a)
alias.extension = artifact.extension
result.append(alias)
--
2.42.0

View File

@@ -1,25 +0,0 @@
From d124f4d16883d74cdf8ab9064667e128a3695230 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Mon, 4 Sep 2023 22:44:10 +0200
Subject: [PATCH 2/2] Do not bomb on <relativePath/> construct
---
java-utils/mvn_artifact.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/java-utils/mvn_artifact.py b/java-utils/mvn_artifact.py
index a45946cd..b7520528 100644
--- a/java-utils/mvn_artifact.py
+++ b/java-utils/mvn_artifact.py
@@ -167,7 +167,7 @@ def gather_dependencies(pom_path):
parent = pom.parent
while parent:
ppom = None
- if parent.relativePath:
+ if hasattr(parent, 'relativePath') and parent.relativePath:
try:
ppom_path = os.path.join(os.path.dirname(curr_pom._path),
parent.relativePath)
--
2.42.0

View File

@@ -1,52 +0,0 @@
From 66ba33a8c28497e01eddcb0cd17fbe324674eabc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Mon, 11 Sep 2023 18:43:28 +0200
Subject: [PATCH 3/3] Reproducible exclusions order in maven metadata
---
python/javapackages/metadata/dependency.py | 4 ++--
python/javapackages/metadata/exclusion.py | 9 +++++++++
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/python/javapackages/metadata/dependency.py b/python/javapackages/metadata/dependency.py
index 1709e1fb..5931134d 100644
--- a/python/javapackages/metadata/dependency.py
+++ b/python/javapackages/metadata/dependency.py
@@ -46,7 +46,7 @@ class MetadataDependency(ObjectBinding):
defaults = {'extension': 'jar',
'requestedVersion': 'SYSTEM'}
types = {'optional': str, # todo bool
- 'exclusions': set([MetadataExclusion])}
+ 'exclusions': list([MetadataExclusion])}
def is_optional(self):
if self.optional and self.optional.lower() == "true":
@@ -145,4 +145,4 @@ class MetadataDependency(ObjectBinding):
classifier=mvn_dep.classifier,
optional=mvn_dep.optional,
requestedVersion=mvn_dep.version,
- exclusions=exclusions)
+ exclusions=sorted(exclusions))
diff --git a/python/javapackages/metadata/exclusion.py b/python/javapackages/metadata/exclusion.py
index 3152b090..5b9503c0 100644
--- a/python/javapackages/metadata/exclusion.py
+++ b/python/javapackages/metadata/exclusion.py
@@ -41,6 +41,15 @@ class MetadataExclusion(ObjectBinding):
element_name = 'exclusion'
fields = ['groupId', 'artifactId']
+ def __lt__(self, other):
+ if self.groupId < other.groupId:
+ return True
+ if self.groupId > other.groupId:
+ return False
+ if self.artifactId < other.artifactId:
+ return True
+ return False
+
def get_mvn_str(self):
return Printer.get_mvn_str(self.groupId, self.artifactId)
--
2.42.0

View File

@@ -1,28 +0,0 @@
From f211da6e4cf216a020b47ccab9b2c7806c5a8a62 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Wed, 13 Sep 2023 15:47:54 +0200
Subject: [PATCH 4/4] Reproducible builds: keep order of aliases and
dependencies
---
python/javapackages/metadata/artifact.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/python/javapackages/metadata/artifact.py b/python/javapackages/metadata/artifact.py
index 72e57e62..f5cbf3be 100644
--- a/python/javapackages/metadata/artifact.py
+++ b/python/javapackages/metadata/artifact.py
@@ -52,8 +52,8 @@ class MetadataArtifact(ObjectBinding):
'compatVersions', 'dependencies']
defaults = {'extension': 'jar'}
types = {'compatVersions': set(['version']),
- 'aliases': set([MetadataAlias]),
- 'dependencies': set([MetadataDependency]),
+ 'aliases': list([MetadataAlias]),
+ 'dependencies': list([MetadataDependency]),
'properties': dict}
def __init__(self, *args, **kwargs):
--
2.42.0

View File

@@ -1,62 +0,0 @@
From d458bce49270bccfa40e9c4e288b3c9550aff741 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Wed, 4 Oct 2023 04:07:58 +0200
Subject: [PATCH 5/5] Interpolate properties also in the current artifact
---
java-utils/install_pom.py | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/java-utils/install_pom.py b/java-utils/install_pom.py
index e0282773..5f9fd741 100644
--- a/java-utils/install_pom.py
+++ b/java-utils/install_pom.py
@@ -31,6 +31,7 @@
# Authors: Michal Srb <msrb@redhat.com>
from javapackages.maven.pom import POM, PomLoadingException
+from javapackages.maven.artifact import Artifact
from javapackages.xmvn.xmvn_resolve import (XMvnResolve, ResolutionRequest,
XMvnResolveException)
@@ -164,7 +165,7 @@ def gather_dependencies(pom_path):
# only deps with scope "compile" or "runtime" are interesting
deps = [x for x in deps if x.scope in ["", "compile", "runtime"]]
- return deps
+ return deps, props
def _get_dependencies(pom):
@@ -215,21 +216,23 @@ def _main():
if uart.packaging and uart.packaging.lower() == 'pom':
tree = ElementTree.parse(args[0])
else:
+ mvn_deps, props = gather_dependencies(pom_path)
+ mvn_art = Artifact.from_mvn_str(str(uart))
+ mvn_art.interpolate(props)
result_pom = "<?xml version='1.0' encoding='UTF-8'?>\n"
result_pom += "<project xmlns=\"http://maven.apache.org/POM/4.0.0\">\n"
result_pom += " <modelVersion>4.0.0</modelVersion>\n"
- result_pom += (" <groupId>{0}</groupId>\n" ).format(uart.groupId)
- result_pom += (" <artifactId>{0}</artifactId>\n" ).format(uart.artifactId)
- result_pom += (" <version>{0}</version>\n").format(uart.version)
+ result_pom += (" <groupId>{0}</groupId>\n" ).format(mvn_art.groupId)
+ result_pom += (" <artifactId>{0}</artifactId>\n" ).format(mvn_art.artifactId)
+ result_pom += (" <version>{0}</version>\n").format(mvn_art.version)
if hasattr(uart, "packaging") and uart.packaging != 'jar':
result_pom += (" <packaging>{0}</packaging>\n").format(uart.packaging)
if hasattr(uart, "extension") and uart.extension != 'jar':
result_pom += (" <extension>{0}</extension>\n").format(uart.extension)
- if hasattr(uart, "classifier") and uart.classifiler != '':
+ if hasattr(uart, "classifier") and uart.classifier != '':
result_pom += (" <classifier>{0}</classifier>\n").format(uart.classifier)
- mvn_deps = gather_dependencies(pom_path)
if mvn_deps:
result_pom += " <dependencies>\n"
for d in mvn_deps:
--
2.42.0

View File

@@ -1,713 +0,0 @@
From ce0929d03ba33ff98727fbd527f4ec94412f78bd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Wed, 4 Oct 2023 08:26:00 +0200
Subject: [PATCH 6/7] Test variable expansion in artifactId
---
.../test_artifactid_expansion-want.xml | 34 ++
test/data/install_pom/xgboost/pom.xml | 499 ++++++++++++++++++
.../install_pom/xgboost/xgboost4j/pom.xml | 125 +++++
test/install_pom_test.py | 7 +
4 files changed, 665 insertions(+)
create mode 100644 test/data/install_pom/test_artifactid_expansion-want.xml
create mode 100644 test/data/install_pom/xgboost/pom.xml
create mode 100644 test/data/install_pom/xgboost/xgboost4j/pom.xml
diff --git a/test/data/install_pom/test_artifactid_expansion-want.xml b/test/data/install_pom/test_artifactid_expansion-want.xml
new file mode 100644
index 00000000..ce5fdcf8
--- /dev/null
+++ b/test/data/install_pom/test_artifactid_expansion-want.xml
@@ -0,0 +1,34 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<project xmlns="http://maven.apache.org/POM/4.0.0">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>ml.dmlc</groupId>
+ <artifactId>xgboost4j_2.12</artifactId>
+ <version>2.0.0</version>
+ <dependencies>
+ <dependency>
+ <groupId>org.scala-lang</groupId>
+ <artifactId>scala-compiler</artifactId>
+ <version>2.12.18</version>
+ </dependency>
+ <dependency>
+ <groupId>org.scala-lang</groupId>
+ <artifactId>scala-library</artifactId>
+ <version>2.12.18</version>
+ </dependency>
+ <dependency>
+ <groupId>org.scala-lang.modules</groupId>
+ <artifactId>scala-collection-compat_2.12</artifactId>
+ <version>2.10.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.esotericsoftware</groupId>
+ <artifactId>kryo</artifactId>
+ <version>5.5.0</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.2</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/test/data/install_pom/xgboost/pom.xml b/test/data/install_pom/xgboost/pom.xml
new file mode 100644
index 00000000..80caa132
--- /dev/null
+++ b/test/data/install_pom/xgboost/pom.xml
@@ -0,0 +1,499 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>ml.dmlc</groupId>
+ <artifactId>xgboost-jvm</artifactId>
+ <version>2.0.0</version>
+ <packaging>pom</packaging>
+ <name>XGBoost JVM Package</name>
+ <description>JVM Package for XGBoost</description>
+ <url>https://github.com/dmlc/xgboost/tree/master/jvm-packages</url>
+ <licenses>
+ <license>
+ <name>The Apache License, Version 2.0</name>
+ <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+ </license>
+ </licenses>
+ <developers>
+ <developer>
+ <name>CodingCat</name>
+ <email>codingcat@apache.org</email>
+ </developer>
+ </developers>
+ <scm>
+ <connection>scm:git:git:/github.com/dmlc/xgboost.git</connection>
+ <developerConnection>scm:git:ssh://github.com/dmlc/xgboost.git</developerConnection>
+ <url>https://github.com/dmlc/xgboost</url>
+ </scm>
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+ <maven.compiler.source>1.8</maven.compiler.source>
+ <maven.compiler.target>1.8</maven.compiler.target>
+ <flink.version>1.17.1</flink.version>
+ <junit.version>4.13.2</junit.version>
+ <spark.version>3.4.0</spark.version>
+ <spark.version.gpu>3.3.2</spark.version.gpu>
+ <scala.version>2.12.18</scala.version>
+ <scala.binary.version>2.12</scala.binary.version>
+ <hadoop.version>3.3.5</hadoop.version>
+ <maven.wagon.http.retryHandler.count>5</maven.wagon.http.retryHandler.count>
+ <log.capi.invocation>OFF</log.capi.invocation>
+ <use.cuda>OFF</use.cuda>
+ <cudf.version>23.08.0</cudf.version>
+ <spark.rapids.version>23.08.0</spark.rapids.version>
+ <cudf.classifier>cuda11</cudf.classifier>
+ <scalatest.version>3.2.16</scalatest.version>
+ <scala-collection-compat.version>2.10.0</scala-collection-compat.version>
+ </properties>
+ <repositories>
+ <repository>
+ <id>central_maven</id>
+ <name>central maven</name>
+ <url>https://repo1.maven.org/maven2</url>
+ </repository>
+ </repositories>
+ <modules>
+ </modules>
+
+ <profiles>
+ <profile>
+ <!-- default active profile excluding gpu related test suites -->
+ <id>default</id>
+ <activation>
+ <activeByDefault>true</activeByDefault>
+ </activation>
+ <modules>
+ <module>xgboost4j</module>
+ <module>xgboost4j-example</module>
+ <module>xgboost4j-spark</module>
+ <module>xgboost4j-flink</module>
+ </modules>
+ </profile>
+
+ <profile>
+ <id>scala-2.13</id>
+ <properties>
+ <scala.binary.version>2.13</scala.binary.version>
+ <scala.version>2.13.11</scala.version>
+ </properties>
+ </profile>
+
+ <!-- gpu profile with both cpu and gpu test suites -->
+ <profile>
+ <id>gpu</id>
+ <activation>
+ <property>
+ <name>use.cuda</name>
+ <value>ON</value>
+ </property>
+ </activation>
+ <properties>
+ <use.cuda>ON</use.cuda>
+ </properties>
+ <modules>
+ <module>xgboost4j-gpu</module>
+ <module>xgboost4j-spark-gpu</module>
+ </modules>
+ </profile>
+
+ <profile>
+ <id>release</id>
+ <modules>
+ <module>xgboost4j</module>
+ <module>xgboost4j-example</module>
+ <module>xgboost4j-spark</module>
+ <module>xgboost4j-flink</module>
+ <module>xgboost4j-gpu</module>
+ <module>xgboost4j-spark-gpu</module>
+ </modules>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.3.0</version>
+ <executions>
+ <execution>
+ <id>empty-javadoc-jar</id>
+ <phase>package</phase>
+ <goals>
+ <goal>jar</goal>
+ </goals>
+ <configuration>
+ <classifier>javadoc</classifier>
+ <classesDirectory>${basedir}/javadoc</classesDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-release-plugin</artifactId>
+ <version>3.0.1</version>
+ <configuration>
+ <autoVersionSubmodules>true</autoVersionSubmodules>
+ <useReleaseProfile>false</useReleaseProfile>
+ <releaseProfiles>release</releaseProfiles>
+ <goals>deploy</goals>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-gpg-plugin</artifactId>
+ <version>3.1.0</version>
+ <executions>
+ <execution>
+ <id>sign-artifacts</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>sign</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ <version>3.3.0</version>
+ <executions>
+ <execution>
+ <id>attach-sources</id>
+ <goals>
+ <goal>jar-no-fork</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.sonatype.plugins</groupId>
+ <artifactId>nexus-staging-maven-plugin</artifactId>
+ <version>1.6.13</version>
+ <extensions>true</extensions>
+ <configuration>
+ <serverId>ossrh</serverId>
+ <nexusUrl>https://oss.sonatype.org/</nexusUrl>
+ <autoReleaseAfterClose>false</autoReleaseAfterClose>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <skipTests>true</skipTests>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>assembly</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <version>3.6.0</version>
+ <configuration>
+ <descriptorRefs>
+ <descriptorRef>jar-with-dependencies</descriptorRef>
+ </descriptorRefs>
+ <skipAssembly>true</skipAssembly>
+ </configuration>
+ <executions>
+ <execution>
+ <id>make-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>release-to-github</id>
+ <distributionManagement>
+ <repository>
+ <id>github.repo</id>
+ <name>Temporary Staging Repository</name>
+ <url>file://${project.build.directory}/mvn-repo</url>
+ </repository>
+ </distributionManagement>
+ <properties>
+ <github.global.server>github</github.global.server>
+ </properties>
+ <modules>
+ <module>xgboost4j</module>
+ <module>xgboost4j-example</module>
+ <module>xgboost4j-spark</module>
+ <module>xgboost4j-flink</module>
+ <module>xgboost4j-gpu</module>
+ <module>xgboost4j-spark-gpu</module>
+ </modules>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>com.github.github</groupId>
+ <artifactId>site-maven-plugin</artifactId>
+ <version>0.12</version>
+ <configuration>
+ <message>Maven artifacts for ${project.version}</message>
+ <noJekyll>true</noJekyll>
+ <outputDirectory>${project.build.directory}/mvn-repo</outputDirectory>
+ <branch>refs/heads/maven-repo</branch>
+ <excludes>
+ <exclude>*-with-dependencies.jar</exclude>
+ </excludes>
+ <repositoryName>xgboost</repositoryName>
+ <repositoryOwner>CodingCat</repositoryOwner>
+ <merge>true</merge>
+ </configuration>
+ <executions>
+ <!-- run site-maven-plugin's 'site' target as part of the build's normal 'deploy' phase -->
+ <execution>
+ <goals>
+ <goal>site</goal>
+ </goals>
+ <phase>deploy</phase>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-deploy-plugin</artifactId>
+ <version>3.1.1</version>
+ <configuration>
+ <altDeploymentRepository>internal.repo::default::file://${project.build.directory}/mvn-repo</altDeploymentRepository>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <skipTests>true</skipTests>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>release-to-s3</id>
+ <distributionManagement>
+ <snapshotRepository>
+ <id>maven-s3-snapshot-repo</id>
+ <url>s3://xgboost-maven-repo/snapshot</url>
+ </snapshotRepository>
+ <repository>
+ <id>maven-s3-release-repo</id>
+ <url>s3://xgboost-maven-repo/release</url>
+ </repository>
+ </distributionManagement>
+ <repositories>
+ <repository>
+ <id>maven-s3-snapshot-repo</id>
+ <url>https://s3.amazonaws.com/xgboost-maven-repo/snapshot</url>
+ </repository>
+ <repository>
+ <id>maven-s3-release-repo</id>
+ <url>https://s3.amazonaws.com/xgboost-maven-repo/release</url>
+ </repository>
+ </repositories>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <skipTests>true</skipTests>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
+ <distributionManagement>
+ <snapshotRepository>
+ <id>ossrh</id>
+ <url>https://oss.sonatype.org/content/repositories/snapshots</url>
+ </snapshotRepository>
+ </distributionManagement>
+ <build>
+ <resources>
+ <resource>
+ <directory>src/main/resources</directory>
+ <filtering>true</filtering>
+ </resource>
+ </resources>
+
+ <pluginManagement>
+ <plugins>
+ <plugin>
+ <groupId>org.scalatest</groupId>
+ <artifactId>scalatest-maven-plugin</artifactId>
+ <version>2.2.0</version>
+ <executions>
+ <execution>
+ <id>test</id>
+ <goals>
+ <goal>test</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </pluginManagement>
+
+ <plugins>
+ <plugin>
+ <groupId>org.scalastyle</groupId>
+ <artifactId>scalastyle-maven-plugin</artifactId>
+ <version>1.0.0</version>
+ <configuration>
+ <verbose>false</verbose>
+ <failOnViolation>true</failOnViolation>
+ <includeTestSourceDirectory>true</includeTestSourceDirectory>
+ <sourceDirectory>${basedir}/src/main/scala</sourceDirectory>
+ <testSourceDirectory>${basedir}/src/test/scala</testSourceDirectory>
+ <configLocation>scalastyle-config.xml</configLocation>
+ <outputEncoding>UTF-8</outputEncoding>
+ </configuration>
+ <executions>
+ <execution>
+ <id>checkstyle</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>3.12.1</version>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <version>3.3.0</version>
+ <configuration>
+ <configLocation>checkstyle.xml</configLocation>
+ <failOnViolation>true</failOnViolation>
+ </configuration>
+ <executions>
+ <execution>
+ <id>checkstyle</id>
+ <phase>validate</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>net.alchim31.maven</groupId>
+ <artifactId>scala-maven-plugin</artifactId>
+ <version>4.8.1</version>
+ <executions>
+ <execution>
+ <id>compile</id>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ <phase>compile</phase>
+ </execution>
+ <execution>
+ <id>test-compile</id>
+ <goals>
+ <goal>testCompile</goal>
+ </goals>
+ <phase>test-compile</phase>
+ </execution>
+ <execution>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>scala-compile-first</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>compile</goal>
+ <goal>add-source</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <version>3.1.2</version>
+ <configuration>
+ <skipTests>false</skipTests>
+ <useSystemClassLoader>false</useSystemClassLoader>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.scalatest</groupId>
+ <artifactId>scalatest-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ <extensions>
+ <extension>
+ <groupId>com.github.seahen</groupId>
+ <artifactId>maven-s3-wagon</artifactId>
+ <version>1.3.3</version>
+ </extension>
+ </extensions>
+ </build>
+ <reporting>
+ <plugins>
+ <plugin>
+ <artifactId>maven-project-info-reports-plugin</artifactId>
+ <version>3.4.5</version>
+ </plugin>
+ <plugin>
+ <groupId>net.alchim31.maven</groupId>
+ <artifactId>scala-maven-plugin</artifactId>
+ <version>4.8.1</version>
+ <configuration>
+ <jvmArgs>
+ <jvmArg>-Xms64m</jvmArg>
+ <jvmArg>-Xmx1024m</jvmArg>
+ </jvmArgs>
+ </configuration>
+ </plugin>
+ </plugins>
+ </reporting>
+ <dependencies>
+ <dependency>
+ <groupId>com.esotericsoftware</groupId>
+ <artifactId>kryo</artifactId>
+ <version>5.5.0</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.scalatest</groupId>
+ <artifactId>scalatest_${scala.binary.version}</artifactId>
+ <version>${scalatest.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.scalactic</groupId>
+ <artifactId>scalactic_${scala.binary.version}</artifactId>
+ <version>${scalatest.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
diff --git a/test/data/install_pom/xgboost/xgboost4j/pom.xml b/test/data/install_pom/xgboost/xgboost4j/pom.xml
new file mode 100644
index 00000000..8d4f2c05
--- /dev/null
+++ b/test/data/install_pom/xgboost/xgboost4j/pom.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>ml.dmlc</groupId>
+ <artifactId>xgboost-jvm</artifactId>
+ <version>2.0.0</version>
+ </parent>
+ <name>xgboost4j</name>
+ <artifactId>xgboost4j_${scala.binary.version}</artifactId>
+ <version>2.0.0</version>
+ <packaging>jar</packaging>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.scala-lang</groupId>
+ <artifactId>scala-compiler</artifactId>
+ <version>${scala.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.scala-lang</groupId>
+ <artifactId>scala-library</artifactId>
+ <version>${scala.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.scala-lang.modules</groupId>
+ <artifactId>scala-collection-compat_${scala.binary.version}</artifactId>
+ <version>${scala-collection-compat.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-hdfs</artifactId>
+ <version>${hadoop.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.hadoop</groupId>
+ <artifactId>hadoop-common</artifactId>
+ <version>${hadoop.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.scalatest</groupId>
+ <artifactId>scalatest_${scala.binary.version}</artifactId>
+ <version>${scalatest.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>3.5.0</version>
+ <configuration>
+ <show>protected</show>
+ <nohelp>true</nohelp>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <skipAssembly>false</skipAssembly>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>exec-maven-plugin</artifactId>
+ <groupId>org.codehaus.mojo</groupId>
+ <version>3.1.0</version>
+ <executions>
+ <execution>
+ <id>native</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <executable>python</executable>
+ <arguments>
+ <argument>create_jni.py</argument>
+ <argument>--log-capi-invocation</argument>
+ <argument>${log.capi.invocation}</argument>
+ </arguments>
+ <workingDirectory>${user.dir}</workingDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <version>3.3.0</version>
+ <executions>
+ <execution>
+ <goals>
+ <goal>test-jar</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-resources-plugin</artifactId>
+ <version>3.3.1</version>
+ <configuration>
+ <nonFilteredFileExtensions>
+ <nonFilteredFileExtension>dll</nonFilteredFileExtension>
+ <nonFilteredFileExtension>dylib</nonFilteredFileExtension>
+ <nonFilteredFileExtension>so</nonFilteredFileExtension>
+ </nonFilteredFileExtensions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/test/install_pom_test.py b/test/install_pom_test.py
index c6acc644..db79c001 100644
--- a/test/install_pom_test.py
+++ b/test/install_pom_test.py
@@ -131,6 +131,13 @@ class TestInstallPom(unittest.TestCase):
result)
self.assertEqual(report, '', report)
+ @install_pom(os.path.join('xgboost', 'xgboost4j', 'pom.xml'))
+ def test_artifactid_expansion(self, stdout, stderr, return_value, result):
+ self.assertEqual(return_value, 0, stderr)
+ report = self.check_result(inspect.currentframe().f_code.co_name,
+ result)
+ self.assertEqual(report, '', report)
+
@install_pom('a_binary_file.pom')
def test_not_pom(self, stdout, stderr, return_value, result):
self.assertNotEqual(return_value, 0)
--
2.42.0

View File

@@ -1,268 +0,0 @@
From 3a32ce8695f891d8051cccd5273758d3cd9ce54c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Wed, 4 Oct 2023 08:32:33 +0200
Subject: [PATCH 7/7] Test that we don't bomb on <relativePath/>
---
test/data/install_pom/empty_relpath.pom | 182 ++++++++++++++++++
.../install_pom/test_empty_relpath-want.xml | 39 ++++
test/install_pom_test.py | 7 +
3 files changed, 228 insertions(+)
create mode 100644 test/data/install_pom/empty_relpath.pom
create mode 100644 test/data/install_pom/test_empty_relpath-want.xml
diff --git a/test/data/install_pom/empty_relpath.pom b/test/data/install_pom/empty_relpath.pom
new file mode 100644
index 00000000..785b9710
--- /dev/null
+++ b/test/data/install_pom/empty_relpath.pom
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-shared-components</artifactId>
+ <version>39</version>
+ <relativePath />
+ </parent>
+
+ <artifactId>maven-filtering</artifactId>
+ <version>3.3.1</version>
+
+ <name>Apache Maven Filtering</name>
+ <description>A component to assist in filtering of resource files with properties from a Maven project.</description>
+
+ <contributors>
+ <contributor>
+ <name>Graham Leggett</name>
+ </contributor>
+ </contributors>
+
+ <scm>
+ <connection>scm:git:https://gitbox.apache.org/repos/asf/maven-filtering.git</connection>
+ <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/maven-filtering.git</developerConnection>
+ <tag>maven-filtering-3.3.1</tag>
+ <url>https://github.com/apache/maven-filtering/tree/${project.scm.tag}</url>
+ </scm>
+ <issueManagement>
+ <system>JIRA</system>
+ <url>https://issues.apache.org/jira/issues/?jql=project%20%3D%20MSHARED%20AND%20component%20%3D%20maven-filtering</url>
+ </issueManagement>
+ <ciManagement>
+ <system>Jenkins</system>
+ <url>https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-filtering/</url>
+ </ciManagement>
+ <distributionManagement>
+ <site>
+ <id>apache.website</id>
+ <url>scm:svn:https://svn.apache.org/repos/asf/maven/website/components/${maven.site.path}</url>
+ </site>
+ </distributionManagement>
+
+ <properties>
+ <javaVersion>8</javaVersion>
+ <mavenVersion>3.2.5</mavenVersion>
+ <slf4jVersion>1.7.36</slf4jVersion>
+ <plexusBuildApiVersion>0.0.7</plexusBuildApiVersion>
+ <project.build.outputTimestamp>2023-03-21T10:53:39Z</project.build.outputTimestamp>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${slf4jVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-build-api</artifactId>
+ <version>${plexusBuildApiVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>${mavenVersion}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>${mavenVersion}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-settings</artifactId>
+ <version>${mavenVersion}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>3.5.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interpolation</artifactId>
+ <version>1.26</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.11.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>4.7.0</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.13.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-core</artifactId>
+ <version>2.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>${slf4jVersion}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-build-api</artifactId>
+ <version>${plexusBuildApiVersion}</version>
+ <classifier>tests</classifier>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>org.eclipse.sisu.plexus</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>org.eclipse.sisu.inject</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <configuration>
+ <excludes combine.children="append">
+ <exclude>src/test/units-files/**</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.sisu</groupId>
+ <artifactId>sisu-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git a/test/data/install_pom/test_empty_relpath-want.xml b/test/data/install_pom/test_empty_relpath-want.xml
new file mode 100644
index 00000000..03bd1115
--- /dev/null
+++ b/test/data/install_pom/test_empty_relpath-want.xml
@@ -0,0 +1,39 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<project xmlns="http://maven.apache.org/POM/4.0.0">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.maven.shared</groupId>
+ <artifactId>maven-filtering</artifactId>
+ <version>3.3.1</version>
+ <dependencies>
+ <dependency>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
+ <version>1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.7.36</version>
+ </dependency>
+ <dependency>
+ <groupId>org.sonatype.plexus</groupId>
+ <artifactId>plexus-build-api</artifactId>
+ <version>0.0.7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-utils</artifactId>
+ <version>3.5.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-interpolation</artifactId>
+ <version>1.26</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.11.0</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
diff --git a/test/install_pom_test.py b/test/install_pom_test.py
index db79c001..a39f3aa4 100644
--- a/test/install_pom_test.py
+++ b/test/install_pom_test.py
@@ -103,6 +103,13 @@ class TestInstallPom(unittest.TestCase):
result)
self.assertEqual(report, '', report)
+ @install_pom('empty_relpath.pom')
+ def test_empty_relpath(self, stdout, stderr, return_value, result):
+ self.assertEqual(return_value, 0, stderr)
+ report = self.check_result(inspect.currentframe().f_code.co_name,
+ result)
+ self.assertEqual(report, '', report)
+
@install_pom(os.path.join('xmvn', 'xmvn-tools', 'xmvn-install', 'pom.xml'))
def test_parent_chain(self, stdout, stderr, return_value, result):
self.assertEqual(return_value, 0, stderr)
--
2.42.0

BIN
6.2.0.tar.gz (Stored with Git LFS)

Binary file not shown.

3
6.4.1.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5d9a6ed0e7aa17bc2222cff801a06082d39c4bdc0b9fd1d43c523aed8f6a7d18
size 192567

View File

@@ -1,3 +1,134 @@
-------------------------------------------------------------------
Mon Jul 28 17:05:19 UTC 2025 - Fridrich Strba <fstrba@suse.com>
- Upgrade to upstream version 6.4.1
* Changes
+ Revert "jpackage_script: Remove unneeded backslashes"
+ Initial implementation of %jp_binding macro
+ Replace invalid $ escape in regex
- Removed patch:
* 0001-Revert-jpackage_script-Remove-unneeded-backslashes.patch
+ integrated in this version
- Modified patches:
* python-optional.patch
* suse-no-epoch.patch
* suse-use-libdir.patch
+ rediff to changed context
-------------------------------------------------------------------
Fri Oct 11 10:56:13 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Upgrade to upstream version 6.3.4
* Changes:
+ A corner case when which is not present
+ Remove dependency on which
+ Simplify after the which -> type -p change
+ jpackage_script: Remove pointless assignment when %java_home
is unset
+ Don't require %java_home for %java etc.
+ Don't export JAVA_HOME
- Removed patches:
* do-not-require-which.patch
* fix-broken-commands.patch
* remove-pointless-assignment.patch
+ integrated upstream
- Modified patch:
* python-optional.patch
+ account for changed context
- Added patch:
* 0001-Revert-jpackage_script-Remove-unneeded-backslashes.patch
+ This change breaks build with rpm 4.14.1
-------------------------------------------------------------------
Wed Oct 9 07:27:42 UTC 2024 - Andreas Schwab <schwab@suse.de>
- remove-pointless-assignment.patch: Remove pointless assignment if
%java_home is unset
-------------------------------------------------------------------
Tue Oct 8 22:48:45 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Added patch:
* fix-broken-commands.patch
+ fix commands broken after recent removal of the default
%%{java_home} macro
-------------------------------------------------------------------
Mon Oct 7 17:38:56 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Added patch:
* do-not-require-which.patch
+ do not fail launching scripts if which is not installed
(bsc#1231347)
-------------------------------------------------------------------
Fri Oct 4 17:08:37 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Upgrade to upstream version 6.3.2
* Changes
+ spec: Update Obsoletes versions
+ Search for JAVACMD under JAVA_HOME only if it's set
+ Obsolete set_jvm and set_jvm_dirs functions
+ Drop unneeded _set_java_home function
+ Remove JAVA_HOME check from check_java_env function
+ Bump codecov/codecov-action from 2.0.2 to 4.6.0
+ Bump actions/setup-python from 4 to 5
+ Bump actions/checkout from 2 to 4
+ Add custom dependabot config
+ Remove the test for JAVA_HOME and error if it is not set
+ java-functions: Remove unneeded local variables
+ Fix build status shield
- Removed patch:
* 0001-Double-quote-to-avoid-substitution-during-build.patch
+ Fixed differently in this version
-------------------------------------------------------------------
Wed Oct 2 17:27:12 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Upgrade to upstream version 6.3.1
* Changes:
+ Allow missing components with abs2rel
+ Fix tests with python 3.4
+ Sync spec file from Fedora
+ Drop default JRE/JDK
+ Fix the use of java-functions in scripts
+ Update RPM spec file
+ Reproducible builds: constant timestamp for pom.properties
+ Test that we don't bomb on <relativePath/>
+ Test variable expansion in artifactId
+ Interpolate properties also in the current artifact
+ Rewrite abs2rel in shell
+ Use asciidoctor instead of asciidoc
+ Fix incompatibility with RPM 4.20
+ Don't define %topdir macro
+ coverage: use usercustomize
+ Reproducible builds: keep order of aliases and dependencies
+ Reproducible exclusions order in maven metadata
+ Do not bomb on <relativePath/> construct
+ Make maven_depmap order of aliases reproducible
- Removed patches:
* 0001-Make-maven_depmap-order-of-aliases-reproducible.patch
* 0002-Do-not-bomb-on-relativePath-construct.patch
* 0003-Reproducible-exclusions-order-in-maven-metadata.patch
* 0004-Reproducible-builds-keep-order-of-aliases-and-depend.patch
* 0005-Interpolate-properties-also-in-the-current-artifact.patch
* 0006-Test-variable-expansion-in-artifactId.patch
* 0007-Test-that-we-don-t-bomb-on-relativePath.patch
* 0008-Reproducible-builds-constant-timestamp-for-pom.prope.patch
+ Integrated in this version
- Added patch:
* 0001-Double-quote-to-avoid-substitution-during-build.patch
+ Double-quote a macro in macros.jpackages to avoid value
substitution during the build
-------------------------------------------------------------------
Thu Jul 18 12:15:00 UTC 2024 - Fridrich Strba <fstrba@suse.com>
- Added patch:
* 0008-Reproducible-builds-constant-timestamp-for-pom.prope.patch
+ use reproducible timestamp when post-processing jar files and
adding there the pom.properties file.
-------------------------------------------------------------------
Wed Oct 4 07:18:58 UTC 2023 - Fridrich Strba <fstrba@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file
# spec file for package javapackages-tools
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -30,7 +30,7 @@ Name: javapackages-tools-%{flavor}
%else
Name: javapackages-tools
%endif
Version: 6.2.0
Version: 6.4.1
Release: 0
Summary: Macros and scripts for Java packaging support
License: BSD-3-Clause
@@ -45,25 +45,12 @@ Patch1: python-optional.patch
#PATCH-FIX-SUSE: SUSE did not bump epoch of openjdk packages, whereas Fedora did
# Avoid generating unresolvable requires
Patch2: suse-no-epoch.patch
#PATCH-FIX-UPSTREAM: Make maven_depmap order of aliases reproducible
Patch3: 0001-Make-maven_depmap-order-of-aliases-reproducible.patch
#PATCH-FIX-UPSTREAM: Do not bomb on <relativePath/> construct
Patch4: 0002-Do-not-bomb-on-relativePath-construct.patch
#PATCH-FIX-UPSTREAM: Sort exclusions when writing out metadata
Patch5: 0003-Reproducible-exclusions-order-in-maven-metadata.patch
#PATCH-FIX-UPSTREAM: make the aliases and dependencies lists so that the order is kept
Patch6: 0004-Reproducible-builds-keep-order-of-aliases-and-depend.patch
#PATCH-FIX-UPSTREAM: substitute variables like _${scala.binary.version} in artifact coordinates
Patch7: 0005-Interpolate-properties-also-in-the-current-artifact.patch
#PATCH-FIX-UPSTREAM: test changes from previous patch
Patch8: 0006-Test-variable-expansion-in-artifactId.patch
#PATCH-FIX-UPSTREAM: test gracious handling of <relativePath/> construct
Patch9: 0007-Test-that-we-don-t-bomb-on-relativePath.patch
BuildRequires: asciidoc
BuildRequires: fdupes
BuildRequires: perl
BuildRequires: rpm
BuildRequires: xmlto
BuildRequires: rubygem(asciidoctor)
%if %{with python}
BuildRequires: javapackages-filesystem
%else
@@ -195,6 +182,7 @@ files="
%{_sysconfdir}/java/eclipse.conf
%{_datadir}/java-utils/java-functions
%{_datadir}/java-utils/java-wrapper
%{_datadir}/java-utils/jp_binding.sh
%{_datadir}/java-utils/scl-enable
%{_rpmmacrodir}/macros.jpackage
%{_rpmmacrodir}/macros.javapackages-filesystem

View File

@@ -1,18 +1,24 @@
Index: javapackages-5.2.0+git20180620.70fa2258/build
===================================================================
--- javapackages-5.2.0+git20180620.70fa2258.orig/build
+++ javapackages-5.2.0+git20180620.70fa2258/build
@@ -117,5 +117,3 @@ manpage build-classpath
--- a/build
+++ b/build
@@ -114,5 +114,3 @@ manpage build-classpath
manpage build-jar-repository
manpage rebuild-jar-repository
manpage shade-jar
-
-(cd ./python && "${pyinterpreter}" setup.py build)
Index: javapackages-5.2.0+git20180620.70fa2258/install
===================================================================
--- javapackages-5.2.0+git20180620.70fa2258.orig/install
+++ javapackages-5.2.0+git20180620.70fa2258/install
@@ -253,8 +253,3 @@ exec >files-gradle
--- a/configure
+++ b/configure
@@ -85,7 +85,6 @@ test -z "${rpmconfigdir}" && rpmconfigdir="${prefix}/lib/rpm"
test -z "${rpmmacrodir}" && rpmmacrodir="${rpmconfigdir}/macros.d"
test -z "${m2home}" && m2home="${datadir}/xmvn"
-test -z "${pyinterpreter}" && pyinterpreter=$(type -p python)
test -z "${abrtlibdir}" && abrtlibdir="${prefix}/lib/abrt-java-connector"
eval $(sed -n 's/^%_\('"$vars_re"'\)\ *\(.*\)$/\1="\2"/;T;s/%{_\(.*}\)/${\1/;p' macros.d/macros.javapackages-filesystem)
--- a/install
+++ b/install
@@ -237,8 +237,3 @@ exec >files-gradle
inst_exec target/gradle-local "${bindir}"
inst_data gradle/init.gradle "${datadir}/gradle-local"
inst_data target/gradle_build.7 "${mandir}/man7"
@@ -21,15 +27,3 @@ Index: javapackages-5.2.0+git20180620.70fa2258/install
-(cd ./python && "${pyinterpreter}" setup.py install -O1 --skip-build --prefix "${prefix}" --root "${DEST}") >&2
-echo "${prefix}/lib/python*/site-packages/javapackages"
-echo "${prefix}/lib/python*/site-packages/javapackages-*.egg-info"
Index: javapackages-5.2.0+git20180620.70fa2258/configure-base.sh
===================================================================
--- javapackages-5.2.0+git20180620.70fa2258.orig/configure
+++ javapackages-5.2.0+git20180620.70fa2258/configure
@@ -57,7 +57,6 @@ test -z "${rpmconfigdir}" && rpmconfigdi
test -z "${rpmmacrodir}" && rpmmacrodir="${rpmconfigdir}/macros.d"
test -z "${m2home}" && m2home="${datadir}/xmvn"
-test -z "${pyinterpreter}" && pyinterpreter=$(which python)
test -z "${abrtlibdir}" && abrtlibdir="${prefix}/lib/abrt-java-connector"
eval $(sed -n 's/^%_\('"$vars_re"'\)\ *\(.*\)$/\1="\2"/;T;s/%{_\(.*}\)/${\1/;p' macros.d/macros.javapackages-filesystem)

View File

@@ -1,6 +1,6 @@
--- javapackages-5.3.0/depgenerators/maven.req 2018-08-06 17:09:06.000000000 +0200
+++ javapackages-5.3.0/depgenerators/maven.req 2018-10-24 10:29:11.404375107 +0200
@@ -295,9 +295,9 @@
--- a/depgenerators/maven.req
+++ b/depgenerators/maven.req
@@ -294,9 +294,9 @@ class TagBuilder(object):
def _get_java_requires(self, reqs):
major, minor = max([self._parse_java_requires(x) for x in reqs])
if minor:
@@ -12,9 +12,9 @@
def _parse_java_requires(self, req):
match = re.match(r'^(\d+)(?:\.(\d+))?$', req)
--- javapackages-5.3.0/test/maven_req_test.py 2018-08-06 17:09:06.000000000 +0200
+++ javapackages-5.3.0/test/maven_req_test.py 2018-10-24 10:28:59.408310751 +0200
@@ -30,7 +30,7 @@
--- a/test/maven_req_test.py
+++ b/test/maven_req_test.py
@@ -30,7 +30,7 @@ class TestMavenReq(unittest.TestCase):
self.assertEqual(return_value, 0, stderr)
sout = [x for x in stdout.split('\n') if x]
want = ("javapackages-filesystem", "mvn(org.apache.maven:maven-project)",
@@ -23,7 +23,7 @@
self.assertEqual(set(want), set(sout))
@mavenreq(["require-java2/buildroot/usr/share/maven-metadata/require.xml"])
@@ -38,7 +38,7 @@
@@ -38,7 +38,7 @@ class TestMavenReq(unittest.TestCase):
self.assertEqual(return_value, 0, stderr)
sout = [x for x in stdout.split('\n') if x]
want = ("javapackages-filesystem", "mvn(org.apache.maven:maven-project)",
@@ -32,7 +32,7 @@
self.assertEqual(set(want), set(sout))
@mavenreq(["require-java3/buildroot/usr/share/maven-metadata/require.xml"])
@@ -46,7 +46,7 @@
@@ -46,7 +46,7 @@ class TestMavenReq(unittest.TestCase):
self.assertEqual(return_value, 0, stderr)
sout = [x for x in stdout.split('\n') if x]
want = ("javapackages-filesystem", "mvn(org.apache.maven:maven-project)",
@@ -41,7 +41,7 @@
self.assertEqual(set(want), set(sout))
@mavenreq(["require-java9/buildroot/usr/share/maven-metadata/require.xml"])
@@ -54,7 +54,7 @@
@@ -54,7 +54,7 @@ class TestMavenReq(unittest.TestCase):
self.assertEqual(return_value, 0, stderr)
sout = [x for x in stdout.split('\n') if x]
want = ("javapackages-filesystem", "mvn(org.apache.maven:maven-project)",
@@ -50,7 +50,7 @@
self.assertEqual(set(want), set(sout))
@mavenreq(["require-java10/buildroot/usr/share/maven-metadata/require.xml"])
@@ -62,7 +62,7 @@
@@ -62,7 +62,7 @@ class TestMavenReq(unittest.TestCase):
self.assertEqual(return_value, 0, stderr)
sout = [x for x in stdout.split('\n') if x]
want = ("javapackages-filesystem", "mvn(org.apache.maven:maven-project)",
@@ -59,7 +59,7 @@
self.assertEqual(set(want), set(sout))
@mavenreq(["require-java9and10/buildroot/usr/share/maven-metadata/require.xml"])
@@ -70,7 +70,7 @@
@@ -70,7 +70,7 @@ class TestMavenReq(unittest.TestCase):
self.assertEqual(return_value, 0, stderr)
sout = [x for x in stdout.split('\n') if x]
want = ("javapackages-filesystem", "mvn(org.apache.maven:maven-project)",

View File

@@ -1,6 +1,6 @@
--- javapackages-5.3.1/configure 2019-06-14 12:26:27.000000000 +0200
+++ javapackages-5.3.1/configure 2020-07-16 09:04:37.316453132 +0200
@@ -14,6 +14,7 @@
--- a/configure
+++ b/configure
@@ -43,6 +43,7 @@ sysconfdir
root_sysconfdir
rpmconfigdir
rpmmacrodir
@@ -8,7 +8,7 @@
m2home
@@ -51,6 +52,7 @@
@@ -81,6 +82,7 @@ test -z "${mandir}" && mandir="${datadir}/man"
test -z "${rundir}" && rundir="${localstatedir}/run"
test -z "${sysconfdir}" && sysconfdir="${prefix}/etc"
test -z "${root_sysconfdir}" && root_sysconfdir="${prefix}/etc"
@@ -16,9 +16,8 @@
test -z "${rpmconfigdir}" && rpmconfigdir="${prefix}/lib/rpm"
test -z "${rpmmacrodir}" && rpmmacrodir="${rpmconfigdir}/macros.d"
diff -urEbwB javapackages-5.3.1/etc/eclipse.conf javapackages-5.3.1/etc/eclipse.conf
--- javapackages-5.3.1/etc/eclipse.conf 2019-06-14 12:26:27.000000000 +0200
+++ javapackages-5.3.1/etc/eclipse.conf 2020-07-16 09:04:37.316453132 +0200
--- a/etc/eclipse.conf
+++ b/etc/eclipse.conf
@@ -1,7 +1,7 @@
# Eclipse filesystem configuration file
@@ -28,7 +27,7 @@ diff -urEbwB javapackages-5.3.1/etc/eclipse.conf javapackages-5.3.1/etc/eclipse.
# Location of architecture-independant dropins
eclipse.dropins.noarch=@{datadir}/eclipse/dropins
@@ -10,10 +10,10 @@
@@ -10,10 +10,10 @@ eclipse.dropins.noarch=@{datadir}/eclipse/dropins
eclipse.droplets.noarch=@{datadir}/eclipse/droplets
# Location of architecture-dependant dropins
@@ -41,9 +40,9 @@ diff -urEbwB javapackages-5.3.1/etc/eclipse.conf javapackages-5.3.1/etc/eclipse.
# Comma-separated list of directories searched for external bundles
eclipse.bundles=@{javadir},@{jnidir}
--- javapackages-5.3.1/expand.sh 2019-06-14 12:26:27.000000000 +0200
+++ javapackages-5.3.1/expand.sh 2020-07-16 09:04:37.316453132 +0200
@@ -45,6 +45,7 @@
--- a/expand.sh
+++ b/expand.sh
@@ -41,6 +41,7 @@ expand()
sed \
-e "s|@{bindir}|${bindir}|g" \
-e "s|@{datadir}|${datadir}|g" \
@@ -51,11 +50,11 @@ diff -urEbwB javapackages-5.3.1/etc/eclipse.conf javapackages-5.3.1/etc/eclipse.
-e "s|@{javaconfdir}|${javaconfdir}|g" \
-e "s|@{javadir}|${javadir}|g" \
-e "s|@{jnidir}|${jnidir}|g" \
--- javapackages-5.3.1/install 2019-06-14 12:26:27.000000000 +0200
+++ javapackages-5.3.1/install 2020-07-16 09:04:37.316453132 +0200
@@ -90,11 +90,11 @@
dir "${mavenpomdir}"
--- a/install
+++ b/install
@@ -91,11 +91,11 @@ dir "${mavenpomdir}"
dir "${ivyxmldir}"
dir "${jpbindingdir}"
dir "${datadir}/maven-metadata"
-dir "${prefix}/lib/eclipse"
-dir "${prefix}/lib/eclipse/features"
@@ -70,8 +69,8 @@ diff -urEbwB javapackages-5.3.1/etc/eclipse.conf javapackages-5.3.1/etc/eclipse.
dir "${datadir}/eclipse"
dir "${datadir}/eclipse/dropins"
dir "${datadir}/eclipse/droplets"
--- javapackages-5.3.1/macros.d/macros.javapackages-filesystem 2019-06-14 12:26:27.000000000 +0200
+++ javapackages-5.3.1/macros.d/macros.javapackages-filesystem 2020-07-16 09:05:34.448792440 +0200
--- a/macros.d/macros.javapackages-filesystem
+++ b/macros.d/macros.javapackages-filesystem
@@ -13,17 +13,17 @@
#
# Root directory where all Java VMs/SDK/JREs are installed.