[javapackages-tools: 3/3] Fix installation of artifacts with classifier

Stanislav Ochotnicky sochotni at fedoraproject.org
Wed Sep 25 15:51:25 UTC 2013


commit 274414a83ee93192dd6749c7a67efcad1f0c07b7
Author: Stanislav Ochotnicky <sochotnicky at redhat.com>
Date:   Wed Sep 25 17:46:56 2013 +0200

    Fix installation of artifacts with classifier

 ...-add-support-for-optional-rule-in-add_pac.patch |   37 ++++++++
 ...o-not-install-artifacts-with-classifiers-.patch |   27 ++++++
 ...-test-Update-data-for-singleton-packaging.patch |   93 ++++++++++++++++++++
 javapackages-tools.spec                            |   12 +++-
 4 files changed, 168 insertions(+), 1 deletions(-)
---
diff --git a/0001-xmvn_config-add-support-for-optional-rule-in-add_pac.patch b/0001-xmvn_config-add-support-for-optional-rule-in-add_pac.patch
new file mode 100644
index 0000000..cfba75b
--- /dev/null
+++ b/0001-xmvn_config-add-support-for-optional-rule-in-add_pac.patch
@@ -0,0 +1,37 @@
+From 091c61e1ae94b619756dfd37305554293bf90132 Mon Sep 17 00:00:00 2001
+From: Stanislav Ochotnicky <sochotnicky at redhat.com>
+Date: Wed, 25 Sep 2013 17:20:59 +0200
+Subject: [PATCH 1/3] [xmvn_config] add support for optional rule in
+ add_package_mapping
+
+---
+ python/javapackages/xmvn_config.py | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/python/javapackages/xmvn_config.py b/python/javapackages/xmvn_config.py
+index 3ad16f9..ea8db1d 100644
+--- a/python/javapackages/xmvn_config.py
++++ b/python/javapackages/xmvn_config.py
+@@ -230,7 +230,7 @@ class XMvnConfig(object):
+         elems.append(felem)
+         self.__add_config("artifactManagement", "rule", content=elems)
+ 
+-    def add_package_mapping(self, artifact, package):
++    def add_package_mapping(self, artifact, package, optional=False):
+         """
+         Change which package given artifact belongs to
+ 
+@@ -246,6 +246,10 @@ class XMvnConfig(object):
+                                               "is higher than wildcard "
+                                               "groups.")
+         elems = [main]
++        if optional:
++            opt = Element("optional")
++            opt.text = "true"
++            elems.append(opt)
+         target = Element("targetPackage")
+         target.text = package
+         elems.append(target)
+-- 
+1.8.3.1
+
diff --git a/0002-mvn_build-Do-not-install-artifacts-with-classifiers-.patch b/0002-mvn_build-Do-not-install-artifacts-with-classifiers-.patch
new file mode 100644
index 0000000..6d52312
--- /dev/null
+++ b/0002-mvn_build-Do-not-install-artifacts-with-classifiers-.patch
@@ -0,0 +1,27 @@
+From bebc7ceb9d6b75020b664294a7404c414050a163 Mon Sep 17 00:00:00 2001
+From: Stanislav Ochotnicky <sochotnicky at redhat.com>
+Date: Wed, 25 Sep 2013 17:21:48 +0200
+Subject: [PATCH 2/3] [mvn_build] Do not install artifacts with classifiers in
+ singleton mode
+
+---
+ java-utils/mvn_build.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/java-utils/mvn_build.py b/java-utils/mvn_build.py
+index 9369979..957cbe0 100644
+--- a/java-utils/mvn_build.py
++++ b/java-utils/mvn_build.py
+@@ -140,6 +140,9 @@ if __name__ == "__main__":
+         mvn_args.extend(options.goal_after)
+ 
+     if options.singleton:
++        # make sure we don't install artifacts with non-empty classifiers
++        xc.add_package_mapping(Artifact.from_mvn_str(":::*?:"), "__noinstall",
++                optional=True)
+         xc.add_package_mapping(Artifact.from_mvn_str(":{*}"), "@1")
+ 
+     p = subprocess.Popen(" ".join(mvn_args), shell=True, env=env)
+-- 
+1.8.3.1
+
diff --git a/0003-test-Update-data-for-singleton-packaging.patch b/0003-test-Update-data-for-singleton-packaging.patch
new file mode 100644
index 0000000..9af7ca8
--- /dev/null
+++ b/0003-test-Update-data-for-singleton-packaging.patch
@@ -0,0 +1,93 @@
+From ed172e270bfdde65e3ba303b13bb44141b0392a9 Mon Sep 17 00:00:00 2001
+From: Stanislav Ochotnicky <sochotnicky at redhat.com>
+Date: Wed, 25 Sep 2013 17:37:15 +0200
+Subject: [PATCH 3/3] [test] Update data for singleton packaging
+
+---
+ test/data/build_all1_00004.xml       |  5 +++--
+ test/data/build_all1_00005.xml       | 15 +++++++++++++++
+ test/data/build_singleton1_00001.xml |  5 +++--
+ test/data/build_singleton1_00002.xml | 15 +++++++++++++++
+ 4 files changed, 36 insertions(+), 4 deletions(-)
+ create mode 100644 test/data/build_all1_00005.xml
+ create mode 100644 test/data/build_singleton1_00002.xml
+
+diff --git a/test/data/build_all1_00004.xml b/test/data/build_all1_00004.xml
+index f12fd68..1dd3da6 100644
+--- a/test/data/build_all1_00004.xml
++++ b/test/data/build_all1_00004.xml
+@@ -7,9 +7,10 @@
+ 	<artifactManagement>
+ 		<rule>
+ 			<artifactGlob>
+-				<artifactId>{*}</artifactId>
++				<classifier>*?</classifier>
+ 			</artifactGlob>
+-			<targetPackage>@1</targetPackage>
++			<optional>true</optional>
++			<targetPackage>__noinstall</targetPackage>
+ 		</rule>
+ 	</artifactManagement>
+ </configuration>
+diff --git a/test/data/build_all1_00005.xml b/test/data/build_all1_00005.xml
+new file mode 100644
+index 0000000..f12fd68
+--- /dev/null
++++ b/test/data/build_all1_00005.xml
+@@ -0,0 +1,15 @@
++<?xml version="1.0" ?>
++<configuration xmlns="http://fedorahosted.org/xmvn/CONFIG/0.6.0">
++	
++
++
++	<!--XMvn configuration file generated by javapackages.xmvn_config  (part of javapackages-tools)-->
++	<artifactManagement>
++		<rule>
++			<artifactGlob>
++				<artifactId>{*}</artifactId>
++			</artifactGlob>
++			<targetPackage>@1</targetPackage>
++		</rule>
++	</artifactManagement>
++</configuration>
+diff --git a/test/data/build_singleton1_00001.xml b/test/data/build_singleton1_00001.xml
+index f12fd68..1dd3da6 100644
+--- a/test/data/build_singleton1_00001.xml
++++ b/test/data/build_singleton1_00001.xml
+@@ -7,9 +7,10 @@
+ 	<artifactManagement>
+ 		<rule>
+ 			<artifactGlob>
+-				<artifactId>{*}</artifactId>
++				<classifier>*?</classifier>
+ 			</artifactGlob>
+-			<targetPackage>@1</targetPackage>
++			<optional>true</optional>
++			<targetPackage>__noinstall</targetPackage>
+ 		</rule>
+ 	</artifactManagement>
+ </configuration>
+diff --git a/test/data/build_singleton1_00002.xml b/test/data/build_singleton1_00002.xml
+new file mode 100644
+index 0000000..f12fd68
+--- /dev/null
++++ b/test/data/build_singleton1_00002.xml
+@@ -0,0 +1,15 @@
++<?xml version="1.0" ?>
++<configuration xmlns="http://fedorahosted.org/xmvn/CONFIG/0.6.0">
++	
++
++
++	<!--XMvn configuration file generated by javapackages.xmvn_config  (part of javapackages-tools)-->
++	<artifactManagement>
++		<rule>
++			<artifactGlob>
++				<artifactId>{*}</artifactId>
++			</artifactGlob>
++			<targetPackage>@1</targetPackage>
++		</rule>
++	</artifactManagement>
++</configuration>
+-- 
+1.8.3.1
+
diff --git a/javapackages-tools.spec b/javapackages-tools.spec
index 1f1ac52..b14f476 100644
--- a/javapackages-tools.spec
+++ b/javapackages-tools.spec
@@ -1,6 +1,6 @@
 Name:           javapackages-tools
 Version:        3.2.4
-Release:        1%{?dist}
+Release:        2%{?dist}
 
 Summary:        Macros and scripts for Java packaging support
 
@@ -11,6 +11,10 @@ Source0:        https://fedorahosted.org/released/javapackages/javapackages-%{ve
 # temporary for rebuild with classifier support
 Source1:        google-guice-sisu-guice-noaop.xml
 
+Patch001:       0001-xmvn_config-add-support-for-optional-rule-in-add_pac.patch
+Patch002:       0002-mvn_build-Do-not-install-artifacts-with-classifiers-.patch
+Patch003:       0003-test-Update-data-for-singleton-packaging.patch
+
 BuildArch:      noarch
 
 BuildRequires:  jpackage-utils
@@ -91,6 +95,9 @@ Requires:       fedora-review
 
 %prep
 %setup -q -n javapackages-%{version}
+%patch001 -p1
+%patch002 -p1
+%patch003 -p1
 
 %build
 %configure
@@ -134,6 +141,9 @@ popd
 
 
 %changelog
+* Wed Sep 25 2013 Stanislav Ochotnicky <sochotnicky at redhat.com> - 3.2.4-2
+- Fix installation of artifacts with classifier
+
 * Tue Sep 24 2013 Stanislav Ochotnicky <sochotnicky at redhat.com> - 3.2.4-1
 - Update to upstream version 3.2.4
 


More information about the scm-commits mailing list