[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