Update to upstream version 4.2.0
This commit is contained in:
parent
3fac015197
commit
ee8847f60a
1
.gitignore
vendored
1
.gitignore
vendored
@ -61,3 +61,4 @@
|
|||||||
/javapackages-3.5.0.tar.xz
|
/javapackages-3.5.0.tar.xz
|
||||||
/javapackages-4.0.0.tar.xz
|
/javapackages-4.0.0.tar.xz
|
||||||
/javapackages-4.1.0.tar.xz
|
/javapackages-4.1.0.tar.xz
|
||||||
|
/javapackages-4.2.0.tar.xz
|
||||||
|
@ -1,43 +0,0 @@
|
|||||||
From 642f1828322489c6b5b0e450994a3d8a5836d56f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michal Srb <msrb@redhat.com>
|
|
||||||
Date: Tue, 10 Jun 2014 16:19:18 +0200
|
|
||||||
Subject: [PATCH] [artifact] Generate provides for compat artifacts with
|
|
||||||
alliases
|
|
||||||
|
|
||||||
---
|
|
||||||
python/javapackages/artifact.py | 10 ++++++----
|
|
||||||
1 file changed, 6 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/python/javapackages/artifact.py b/python/javapackages/artifact.py
|
|
||||||
index c6afc34..fc3f245 100644
|
|
||||||
--- a/python/javapackages/artifact.py
|
|
||||||
+++ b/python/javapackages/artifact.py
|
|
||||||
@@ -108,19 +108,21 @@ class ProvidedArtifact(object):
|
|
||||||
strlist = []
|
|
||||||
if not self.compatVersions:
|
|
||||||
strlist.append(self.artifact.get_rpm_str())
|
|
||||||
+ for alias in self.aliases:
|
|
||||||
+ full_alias = Artifact.merge_artifacts(alias.artifact, self.artifact)
|
|
||||||
+ strlist.append(full_alias.get_rpm_str())
|
|
||||||
else:
|
|
||||||
for ver in self.compatVersions:
|
|
||||||
rpmstr = self.artifact.get_rpm_str(ver)
|
|
||||||
strlist.append(rpmstr)
|
|
||||||
+ for alias in self.aliases:
|
|
||||||
+ full_alias = Artifact.merge_artifacts(alias.artifact, self.artifact)
|
|
||||||
+ strlist.append(full_alias.get_rpm_str(ver))
|
|
||||||
|
|
||||||
if not (self.version):
|
|
||||||
raise ArtifactFormatException(
|
|
||||||
"Cannot create versioned string from artifact without version: {art}".format(art=str(self)))
|
|
||||||
|
|
||||||
- for alias in self.aliases:
|
|
||||||
- full_alias = Artifact.merge_artifacts(alias.artifact, self.artifact)
|
|
||||||
- strlist.append(full_alias.get_rpm_str())
|
|
||||||
-
|
|
||||||
result = ""
|
|
||||||
for rpmstr in strlist:
|
|
||||||
if result:
|
|
||||||
--
|
|
||||||
1.9.3
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
From 9b45dfe3a03e70c1413b7a1a7ee88431a4fe7f4c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michal Srb <msrb@redhat.com>
|
|
||||||
Date: Thu, 10 Jul 2014 15:30:17 +0200
|
|
||||||
Subject: [PATCH] [maven.req] XMvn sets resolvedVersion to UNKNOWN for
|
|
||||||
unresolvable deps
|
|
||||||
|
|
||||||
---
|
|
||||||
depgenerators/maven.req | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
|
|
||||||
index 2e99c1e..f7133d6 100755
|
|
||||||
--- a/depgenerators/maven.req
|
|
||||||
+++ b/depgenerators/maven.req
|
|
||||||
@@ -310,7 +310,7 @@ class TagBuilder(object):
|
|
||||||
|
|
||||||
unknown_deps = self.check_deps(metadata)
|
|
||||||
for dependency in metadata.get_required_artifacts():
|
|
||||||
- if dependency.requestedVersion == "UNKNOWN":
|
|
||||||
+ if dependency.resolvedVersion == "UNKNOWN":
|
|
||||||
unknown_deps.append(dependency)
|
|
||||||
continue
|
|
||||||
for skipped in self.skipped_artifacts:
|
|
||||||
--
|
|
||||||
1.9.3
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
|||||||
From 0870cac2b02aef1e75aada3b4d235f76b0d4ee1e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michal Srb <msrb@redhat.com>
|
|
||||||
Date: Thu, 29 May 2014 10:23:07 +0200
|
|
||||||
Subject: [PATCH 01/10] [pom] Add ability to read parent's version
|
|
||||||
|
|
||||||
---
|
|
||||||
python/javapackages/pom.py | 11 +++++++++++
|
|
||||||
1 file changed, 11 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/python/javapackages/pom.py b/python/javapackages/pom.py
|
|
||||||
index 604728f..6c15813 100644
|
|
||||||
--- a/python/javapackages/pom.py
|
|
||||||
+++ b/python/javapackages/pom.py
|
|
||||||
@@ -95,6 +95,17 @@ class POM(object):
|
|
||||||
return gId.text.strip()
|
|
||||||
|
|
||||||
@property
|
|
||||||
+ def parentVersion(self):
|
|
||||||
+ """
|
|
||||||
+ version of the parent artifact of None
|
|
||||||
+ """
|
|
||||||
+ ver = self.__find('./pom:parent/pom:version')
|
|
||||||
+ if ver is None:
|
|
||||||
+ return None
|
|
||||||
+ else:
|
|
||||||
+ return ver.text.strip()
|
|
||||||
+
|
|
||||||
+ @property
|
|
||||||
def groupId(self):
|
|
||||||
"""
|
|
||||||
Effective groupId of the pom Artifact taking into account parent groupId
|
|
||||||
--
|
|
||||||
1.9.3
|
|
||||||
|
|
@ -1,75 +0,0 @@
|
|||||||
From 5224614066cfd01c02112a849fca3c7969202142 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michal Srb <msrb@redhat.com>
|
|
||||||
Date: Thu, 29 May 2014 10:24:39 +0200
|
|
||||||
Subject: [PATCH 02/10] [maven.req] Check if dependency is not provided by
|
|
||||||
subpackage
|
|
||||||
|
|
||||||
---
|
|
||||||
depgenerators/maven.req | 24 +++++++++++++++++-------
|
|
||||||
1 file changed, 17 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
|
|
||||||
index c81437b..eecb055 100755
|
|
||||||
--- a/depgenerators/maven.req
|
|
||||||
+++ b/depgenerators/maven.req
|
|
||||||
@@ -144,6 +144,15 @@ class TagBuilder(object):
|
|
||||||
continue
|
|
||||||
self.print_mvn_requires(path)
|
|
||||||
|
|
||||||
+ def __is_provided_by_subpackage(self, dependency):
|
|
||||||
+ for provided in self.provided_artifacts:
|
|
||||||
+ if (provided.groupId == dependency.groupId and
|
|
||||||
+ provided.artifactId == dependency.artifactId and
|
|
||||||
+ provided.classifier == dependency.classifier and
|
|
||||||
+ provided.extension == dependency.extension):
|
|
||||||
+ return True
|
|
||||||
+ return False
|
|
||||||
+
|
|
||||||
|
|
||||||
def __generate_requires_from_pom(self, pomfile):
|
|
||||||
pom = POM(pomfile)
|
|
||||||
@@ -151,6 +160,7 @@ class TagBuilder(object):
|
|
||||||
extensions = pom.get_extensions()
|
|
||||||
pgid = pom.parentGroupId
|
|
||||||
paid = pom.parentArtifactId
|
|
||||||
+ pver = pom.parentVersion
|
|
||||||
|
|
||||||
unresolvable = []
|
|
||||||
|
|
||||||
@@ -158,7 +168,7 @@ class TagBuilder(object):
|
|
||||||
for p in plugins:
|
|
||||||
# TODO: namespaces
|
|
||||||
plug = Dependency(p.groupId, p.artifactId, requestedVersion=p.version)
|
|
||||||
- if resolve_artifact(plug.get_mvn_str()):
|
|
||||||
+ if resolve_artifact(plug.get_mvn_str()) or self.__is_provided_by_subpackage(plug):
|
|
||||||
print(plug.get_rpm_str())
|
|
||||||
else:
|
|
||||||
unresolvable.append(plug.get_mvn_str())
|
|
||||||
@@ -173,18 +183,18 @@ class TagBuilder(object):
|
|
||||||
for e in extensions:
|
|
||||||
# TODO: namespaces
|
|
||||||
ext = Dependency(e.groupId, e.artifactId, requestedVersion=e.version)
|
|
||||||
- if resolve_artifact(ext.get_mvn_str()):
|
|
||||||
+ if resolve_artifact(ext.get_mvn_str()) or self.__is_provided_by_subpackage(ext):
|
|
||||||
print(ext.get_rpm_str())
|
|
||||||
else:
|
|
||||||
unresolvable.append(plug.get_mvn_str())
|
|
||||||
|
|
||||||
- if paid:
|
|
||||||
- parent_mvn_str = "{}:{}:pom:".format(pgid, paid)
|
|
||||||
- if resolve_artifact(parent_mvn_str):
|
|
||||||
+ if paid and pver:
|
|
||||||
+ parent_dep = Dependency(pgid, paid, requestedVersion=pver, extension="pom")
|
|
||||||
+ if resolve_artifact(parent_dep.get_mvn_str()) or self.__is_provided_by_subpackage(parent_dep):
|
|
||||||
# TODO: namespaces
|
|
||||||
- print("mvn({})".format(parent_mvn_str))
|
|
||||||
+ print(parent_dep.get_rpm_str())
|
|
||||||
else:
|
|
||||||
- unresolvable.append(parent_mvn_str)
|
|
||||||
+ unresolvable.append(parent_dep.get_mvn_str())
|
|
||||||
|
|
||||||
if unresolvable:
|
|
||||||
raise Exception("Unable to generate requires on unresolvable artifact{}: {}"
|
|
||||||
--
|
|
||||||
1.9.3
|
|
||||||
|
|
@ -1,65 +0,0 @@
|
|||||||
From 8cd3338ddfeef5965f05d5082695d9d72bcf4629 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michal Srb <msrb@redhat.com>
|
|
||||||
Date: Thu, 29 May 2014 11:28:57 +0200
|
|
||||||
Subject: [PATCH 04/10] [maven.req] Generate versioned deps on subpackages
|
|
||||||
|
|
||||||
---
|
|
||||||
depgenerators/maven.req | 19 ++++++++++++++-----
|
|
||||||
1 file changed, 14 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
|
|
||||||
index eecb055..56fd27f 100755
|
|
||||||
--- a/depgenerators/maven.req
|
|
||||||
+++ b/depgenerators/maven.req
|
|
||||||
@@ -150,8 +150,8 @@ class TagBuilder(object):
|
|
||||||
provided.artifactId == dependency.artifactId and
|
|
||||||
provided.classifier == dependency.classifier and
|
|
||||||
provided.extension == dependency.extension):
|
|
||||||
- return True
|
|
||||||
- return False
|
|
||||||
+ return provided.version
|
|
||||||
+ return None
|
|
||||||
|
|
||||||
|
|
||||||
def __generate_requires_from_pom(self, pomfile):
|
|
||||||
@@ -168,8 +168,11 @@ class TagBuilder(object):
|
|
||||||
for p in plugins:
|
|
||||||
# TODO: namespaces
|
|
||||||
plug = Dependency(p.groupId, p.artifactId, requestedVersion=p.version)
|
|
||||||
- if resolve_artifact(plug.get_mvn_str()) or self.__is_provided_by_subpackage(plug):
|
|
||||||
+ aver = self.__is_provided_by_subpackage(plug)
|
|
||||||
+ if resolve_artifact(plug.get_mvn_str()):
|
|
||||||
print(plug.get_rpm_str())
|
|
||||||
+ elif aver is not None:
|
|
||||||
+ print("{rpmstr} = {version}".format(rpmstr=plug.get_rpm_str(), version=aver))
|
|
||||||
else:
|
|
||||||
unresolvable.append(plug.get_mvn_str())
|
|
||||||
for pd in p.dependencies:
|
|
||||||
@@ -183,16 +186,22 @@ class TagBuilder(object):
|
|
||||||
for e in extensions:
|
|
||||||
# TODO: namespaces
|
|
||||||
ext = Dependency(e.groupId, e.artifactId, requestedVersion=e.version)
|
|
||||||
- if resolve_artifact(ext.get_mvn_str()) or self.__is_provided_by_subpackage(ext):
|
|
||||||
+ aver = self.__is_provided_by_subpackage(ext)
|
|
||||||
+ if resolve_artifact(ext.get_mvn_str()):
|
|
||||||
print(ext.get_rpm_str())
|
|
||||||
+ elif aver is not None:
|
|
||||||
+ print("{rpmstr} = {version}".format(rpmstr=ext.get_rpm_str(), version=aver))
|
|
||||||
else:
|
|
||||||
unresolvable.append(plug.get_mvn_str())
|
|
||||||
|
|
||||||
if paid and pver:
|
|
||||||
parent_dep = Dependency(pgid, paid, requestedVersion=pver, extension="pom")
|
|
||||||
- if resolve_artifact(parent_dep.get_mvn_str()) or self.__is_provided_by_subpackage(parent_dep):
|
|
||||||
+ aver = self.__is_provided_by_subpackage(parent_dep)
|
|
||||||
+ if resolve_artifact(parent_dep.get_mvn_str()):
|
|
||||||
# TODO: namespaces
|
|
||||||
print(parent_dep.get_rpm_str())
|
|
||||||
+ elif aver is not None:
|
|
||||||
+ print("{rpmstr} = {version}".format(rpmstr=parent_dep.get_rpm_str(), version=aver))
|
|
||||||
else:
|
|
||||||
unresolvable.append(parent_dep.get_mvn_str())
|
|
||||||
|
|
||||||
--
|
|
||||||
1.9.3
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
|||||||
From 424bba5b517fa1c458d7f11b10e577ba59585bd2 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mikolaj Izdebski <mizdebsk@redhat.com>
|
|
||||||
Date: Thu, 29 May 2014 13:08:11 +0200
|
|
||||||
Subject: [PATCH 06/10] [maven.req] Fix self-dependency detection code
|
|
||||||
|
|
||||||
---
|
|
||||||
depgenerators/maven.req | 5 +----
|
|
||||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
|
|
||||||
index 56fd27f..a42162e 100755
|
|
||||||
--- a/depgenerators/maven.req
|
|
||||||
+++ b/depgenerators/maven.req
|
|
||||||
@@ -242,13 +242,10 @@ class TagBuilder(object):
|
|
||||||
for compatVer in provided.compatVersions:
|
|
||||||
if dependency.resolvedVersion == compatVer:
|
|
||||||
return True
|
|
||||||
- else:
|
|
||||||
- return False
|
|
||||||
elif (not dependency.resolvedVersion and
|
|
||||||
not provided.is_compat()):
|
|
||||||
return True
|
|
||||||
- else:
|
|
||||||
- return False
|
|
||||||
+ return False
|
|
||||||
|
|
||||||
|
|
||||||
def filter_requires(self, requires):
|
|
||||||
--
|
|
||||||
1.9.3
|
|
||||||
|
|
@ -1,26 +0,0 @@
|
|||||||
From a48fe9f51512fe367d44519e41c94b24ef8af983 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mikolaj Izdebski <mizdebsk@redhat.com>
|
|
||||||
Date: Thu, 29 May 2014 13:38:56 +0200
|
|
||||||
Subject: [PATCH 08/10] Fix javapackages-metadata.xml
|
|
||||||
|
|
||||||
s/com.jdk:jconsole/sun.jdk:jconsole/
|
|
||||||
---
|
|
||||||
etc/javapackages-metadata.xml | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/etc/javapackages-metadata.xml b/etc/javapackages-metadata.xml
|
|
||||||
index 6f6c98e..1126a69 100644
|
|
||||||
--- a/etc/javapackages-metadata.xml
|
|
||||||
+++ b/etc/javapackages-metadata.xml
|
|
||||||
@@ -9,7 +9,7 @@
|
|
||||||
<path>${JAVA_HOME}/../lib/tools.jar</path>
|
|
||||||
</artifact>
|
|
||||||
<artifact>
|
|
||||||
- <groupId>com.jdk</groupId>
|
|
||||||
+ <groupId>sun.jdk</groupId>
|
|
||||||
<artifactId>jconsole</artifactId>
|
|
||||||
<version>SYSTEM</version>
|
|
||||||
<path>${JAVA_HOME}/../lib/jconsole.jar</path>
|
|
||||||
--
|
|
||||||
1.9.3
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
|||||||
From 52525455278ad5801cf89a768b81499229af1f68 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michal Srb <msrb@redhat.com>
|
|
||||||
Date: Thu, 29 May 2014 13:45:52 +0200
|
|
||||||
Subject: [PATCH 10/10] [maven.req] When generating req from POM file, do not
|
|
||||||
blindly take first POM file, but iterate over all of them and pick the right
|
|
||||||
one
|
|
||||||
|
|
||||||
---
|
|
||||||
depgenerators/maven.req | 23 ++++++++++++++++++++---
|
|
||||||
1 file changed, 20 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
|
|
||||||
index aea1dd4..dea89d7 100755
|
|
||||||
--- a/depgenerators/maven.req
|
|
||||||
+++ b/depgenerators/maven.req
|
|
||||||
@@ -137,7 +137,9 @@ class TagBuilder(object):
|
|
||||||
|
|
||||||
if os.path.exists(XMVN_RESOLVE_PATH):
|
|
||||||
if is_it_pom_only_pkg(paths[0]):
|
|
||||||
- self.__generate_requires_from_pom(ppaths[0])
|
|
||||||
+ poms = self.__find_poms_for_metadata(ppaths, paths[0])
|
|
||||||
+ for p in poms:
|
|
||||||
+ self.__generate_requires_from_pom(p)
|
|
||||||
|
|
||||||
for path in paths:
|
|
||||||
if path.endswith(".pom"):
|
|
||||||
@@ -154,8 +156,23 @@ class TagBuilder(object):
|
|
||||||
return None
|
|
||||||
|
|
||||||
|
|
||||||
- def __generate_requires_from_pom(self, pomfile):
|
|
||||||
- pom = POM(pomfile)
|
|
||||||
+ # TODO: move functions like this to some POMUtils, or similar module
|
|
||||||
+ def __find_poms_for_metadata(self, pom_paths, metadata_path):
|
|
||||||
+ poms = []
|
|
||||||
+ depmap = Depmap([metadata_path])
|
|
||||||
+ provided = depmap.get_provided_artifacts()
|
|
||||||
+ for prov in provided:
|
|
||||||
+ for p in pom_paths:
|
|
||||||
+ pom = POM(p)
|
|
||||||
+ if (pom.groupId == prov.groupId and
|
|
||||||
+ pom.artifactId == prov.artifactId and
|
|
||||||
+ pom.version == prov.version):
|
|
||||||
+
|
|
||||||
+ poms.append(pom)
|
|
||||||
+ break
|
|
||||||
+ return poms
|
|
||||||
+
|
|
||||||
+ def __generate_requires_from_pom(self, pom):
|
|
||||||
plugins = pom.get_plugins()
|
|
||||||
extensions = pom.get_extensions()
|
|
||||||
pgid = pom.parentGroupId
|
|
||||||
--
|
|
||||||
1.9.3
|
|
||||||
|
|
@ -1,112 +0,0 @@
|
|||||||
diff --git a/java-utils/maven_depmap.py b/java-utils/maven_depmap.py
|
|
||||||
index 9377725..c80ff5b 100644
|
|
||||||
--- a/java-utils/maven_depmap.py
|
|
||||||
+++ b/java-utils/maven_depmap.py
|
|
||||||
@@ -280,6 +280,7 @@ if __name__ == "__main__":
|
|
||||||
if namespace:
|
|
||||||
artifact.namespace = namespace
|
|
||||||
|
|
||||||
+ artifact.properties["xmvn.resolver.disableEffectivePom"] = "true"
|
|
||||||
|
|
||||||
|
|
||||||
buildroot = os.environ.get('RPM_BUILD_ROOT')
|
|
||||||
diff --git a/java-utils/mvn_artifact.py b/java-utils/mvn_artifact.py
|
|
||||||
index e5e2731..9c0d55a 100644
|
|
||||||
--- a/java-utils/mvn_artifact.py
|
|
||||||
+++ b/java-utils/mvn_artifact.py
|
|
||||||
@@ -45,8 +45,6 @@ from javapackages.pom import *
|
|
||||||
from lxml import etree
|
|
||||||
import pyxb
|
|
||||||
|
|
||||||
-from xml.dom.minidom import getDOMImplementation
|
|
||||||
-
|
|
||||||
|
|
||||||
usage="usage: %prog [options] <MVN spec | POM path> [artifact path]"
|
|
||||||
epilog="""
|
|
||||||
@@ -117,21 +115,17 @@ def add_artifact_elements(root, uart, ppath=None, jpath=None):
|
|
||||||
for path in [ppath, jpath]:
|
|
||||||
if path:
|
|
||||||
a = uart.to_metadata()
|
|
||||||
+ props = []
|
|
||||||
if path is ppath:
|
|
||||||
if not is_it_ivy_file(ppath):
|
|
||||||
a.extension = "pom"
|
|
||||||
else:
|
|
||||||
a.extension = os.path.splitext(pom_path)[1][1:]
|
|
||||||
-
|
|
||||||
- # add property "type"
|
|
||||||
- domimpl = getDOMImplementation()
|
|
||||||
- doc = domimpl.createDocument(None, None, None)
|
|
||||||
- ty = doc.createElement('type')
|
|
||||||
- te = doc.createTextNode('ivy')
|
|
||||||
- ty.appendChild(te)
|
|
||||||
- a.properties = pyxb.BIND(ty)
|
|
||||||
+ props.append(Depmap.build_property('type', 'ivy'))
|
|
||||||
|
|
||||||
a.path = os.path.abspath(path)
|
|
||||||
+ props.append(Depmap.build_property('xmvn.resolver.disableEffectivePom', 'true'))
|
|
||||||
+ a.properties = pyxb.BIND(*props)
|
|
||||||
artifacts.append(a)
|
|
||||||
|
|
||||||
if root.artifacts is None:
|
|
||||||
diff --git a/python/javapackages/artifact.py b/python/javapackages/artifact.py
|
|
||||||
index ed8e0ba..33d1583 100644
|
|
||||||
--- a/python/javapackages/artifact.py
|
|
||||||
+++ b/python/javapackages/artifact.py
|
|
||||||
@@ -130,7 +130,6 @@ class ProvidedArtifact(object):
|
|
||||||
return result
|
|
||||||
|
|
||||||
def to_metadata(self):
|
|
||||||
- # TODO: add support for properties(?)
|
|
||||||
a = m.ArtifactMetadata()
|
|
||||||
a.groupId = self.groupId
|
|
||||||
a.artifactId = self.artifactId
|
|
||||||
@@ -149,6 +148,11 @@ class ProvidedArtifact(object):
|
|
||||||
als = [alias.to_metadata() for alias in self.aliases]
|
|
||||||
a.aliases = pyxb.BIND(*als)
|
|
||||||
|
|
||||||
+ if self.properties:
|
|
||||||
+ import javapackages.depmap
|
|
||||||
+ prop = [javapackages.depmap.Depmap.build_property(k, v) for k, v in self.properties.iteritems()]
|
|
||||||
+ a.properties = pyxb.BIND(*prop)
|
|
||||||
+
|
|
||||||
return a
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
diff --git a/python/javapackages/depmap.py b/python/javapackages/depmap.py
|
|
||||||
index 356af95..a4b83fb 100644
|
|
||||||
--- a/python/javapackages/depmap.py
|
|
||||||
+++ b/python/javapackages/depmap.py
|
|
||||||
@@ -41,6 +41,7 @@ from javapackages.artifact import (Artifact, Dependency, ProvidedArtifact,
|
|
||||||
import pyxb
|
|
||||||
|
|
||||||
import javapackages.metadata as metadata
|
|
||||||
+from xml.dom.minidom import getDOMImplementation
|
|
||||||
|
|
||||||
|
|
||||||
class MetadataLoadingException(Exception):
|
|
||||||
@@ -170,3 +171,12 @@ class Depmap(object):
|
|
||||||
if prop.tagName == u'requiresJavaDevel':
|
|
||||||
return prop.firstChild.value
|
|
||||||
return None
|
|
||||||
+
|
|
||||||
+ @staticmethod
|
|
||||||
+ def build_property(name, value):
|
|
||||||
+ domimpl = getDOMImplementation()
|
|
||||||
+ doc = domimpl.createDocument(None, None, None)
|
|
||||||
+ elem = doc.createElement(name)
|
|
||||||
+ tnode = doc.createTextNode(value)
|
|
||||||
+ elem.appendChild(tnode)
|
|
||||||
+ return elem
|
|
||||||
diff --git a/test/run_tests.sh b/test/run_tests.sh
|
|
||||||
index 55d47cd..8bdc221 100755
|
|
||||||
--- a/test/run_tests.sh
|
|
||||||
+++ b/test/run_tests.sh
|
|
||||||
@@ -1,6 +1,6 @@
|
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
-PYTHONPATH="../python" nosetests --with-xunit --exclude=maven_prov_test_fuzzed.py
|
|
||||||
+PYTHONPATH="../python" nosetests --with-xunit --exclude="(maven_prov)|(maven_depmap)|(mvn_artifact)_test.py"
|
|
||||||
r1=$?
|
|
||||||
r2=0
|
|
||||||
|
|
58
build.bash
58
build.bash
@ -1,58 +0,0 @@
|
|||||||
#!/bin/bash -ex
|
|
||||||
|
|
||||||
resultdir="/var/lib/mock/javapackages-rawhide/result/"
|
|
||||||
|
|
||||||
# create directories
|
|
||||||
repo=RPM/latest/
|
|
||||||
[[ ! -d ${repo} ]] && mkdir -p ${repo}
|
|
||||||
|
|
||||||
# update version and release tag in spec file
|
|
||||||
version=`sed 's/-SNAPSHOT//' VERSION`
|
|
||||||
release=$(git describe --match="[^(jenkins)].*" --tags | sed 's/[^-]*-/0./;s/-/./;s/g/git/')
|
|
||||||
sed -i "s/^Version:\s\+[0-9.]*$/Version: ${version}/" javapackages-tools.spec
|
|
||||||
sed -i "s/^Release:\s\+[0-9.]*%{?dist}$/Release: ${release}/" javapackages-tools.spec
|
|
||||||
|
|
||||||
# make tarball
|
|
||||||
git archive -v --prefix=javapackages-${version}/ HEAD | xz > javapackages-${version}.tar.xz
|
|
||||||
|
|
||||||
# print root.log and build.log in case of failure
|
|
||||||
trap "cat ${resultdir}/root.log | tail -30; cat ${resultdir}/build.log || :" 0
|
|
||||||
|
|
||||||
# crate srpm
|
|
||||||
rm -f SRPMS/*
|
|
||||||
rpmbuild -bs --clean --define "_topdir `pwd`" --define "_sourcedir `pwd`" javapackages-tools.spec
|
|
||||||
|
|
||||||
# build RPM with custom mock config
|
|
||||||
rm -Rf ${resultdir}/*
|
|
||||||
mock -r ../..$PWD/fedora-rawhide-x86_64 SRPMS/*.src.rpm
|
|
||||||
|
|
||||||
# get nosetests results
|
|
||||||
mock -r ../..$PWD/fedora-rawhide-x86_64 --copyout /builddir/build/BUILD/javapackages-${version}/test/nosetests.xml .
|
|
||||||
|
|
||||||
# remove unneeded stuff
|
|
||||||
rm -f javapackages-*.tar.xz
|
|
||||||
|
|
||||||
last_bn=`grep "Build number" ${repo}/info.log | awk '{ print $3 }'`
|
|
||||||
if [ -n "${last_bn}" ]; then
|
|
||||||
mkdir -p RPM/${last_bn}
|
|
||||||
mv ${repo}/* RPM/${last_bn}
|
|
||||||
|
|
||||||
# we only want keep RPMs from last 10 builds
|
|
||||||
blist=`find ./RPM/ -maxdepth 1 -name "[0-9]*"`
|
|
||||||
for bn in $blist; do
|
|
||||||
if [ `basename $bn` -lt `expr $last_bn - 10` ]; then
|
|
||||||
rm -Rf $bn
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
# copy resulting RPMs to RPM/latest
|
|
||||||
cp ${resultdir}/* ${repo}
|
|
||||||
|
|
||||||
tail -n 50 ${resultdir}/build.log
|
|
||||||
|
|
||||||
createrepo ${repo}
|
|
||||||
|
|
||||||
# store current build number into the file
|
|
||||||
echo "Build number: $BUILD_NUMBER" >> ${repo}/info.log
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
|||||||
config_opts['root'] = 'javapackages-rawhide'
|
|
||||||
config_opts['target_arch'] = 'x86_64'
|
|
||||||
config_opts['legal_host_arches'] = ('x86_64',)
|
|
||||||
config_opts['chroot_setup_cmd'] = 'install @buildsys-build PyXB asciidoc dia python-formencode python-lxml python-nose python-setuptools python2-devel scl-utils-build xmlto'
|
|
||||||
config_opts['dist'] = 'rawhide' # only useful for --resultdir variable subst
|
|
||||||
config_opts['extra_chroot_dirs'] = [ '/run/lock', ]
|
|
||||||
config_opts['releasever'] = '21'
|
|
||||||
|
|
||||||
config_opts['yum.conf'] = """
|
|
||||||
[main]
|
|
||||||
logfile=/var/log/yum.log
|
|
||||||
retries=20
|
|
||||||
gpgcheck=0
|
|
||||||
assumeyes=1
|
|
||||||
syslog_ident=mock
|
|
||||||
syslog_device=
|
|
||||||
metadata_expire=1
|
|
||||||
mirrorlist_expire=1
|
|
||||||
debuglevel=2
|
|
||||||
|
|
||||||
[mock-rawhide]
|
|
||||||
name=mock-rawhide
|
|
||||||
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=rawhide&arch=x86_64
|
|
||||||
failovermethod=priority
|
|
||||||
cost=1000
|
|
||||||
|
|
||||||
[mock-koji]
|
|
||||||
name=mock-koji
|
|
||||||
baseurl=http://kojipkgs.fedoraproject.org/repos/rawhide/latest/x86_64/
|
|
||||||
cost=2000
|
|
||||||
|
|
||||||
[mock-override]
|
|
||||||
name=mock-override
|
|
||||||
baseurl=http://people.redhat.com/~mizdebsk/jenkins-extra-repo/
|
|
||||||
gpgcheck=0
|
|
||||||
cost=500
|
|
||||||
"""
|
|
@ -1,24 +0,0 @@
|
|||||||
diff --git a/install b/install
|
|
||||||
index 6caf88f..16216a7 100755
|
|
||||||
--- a/install
|
|
||||||
+++ b/install
|
|
||||||
@@ -142,6 +142,7 @@ inst_data target/pom_disable_module.7 "${mandir}/man7"
|
|
||||||
inst_data target/pom_remove_dep.7 "${mandir}/man7"
|
|
||||||
inst_data target/pom_remove_parent.7 "${mandir}/man7"
|
|
||||||
inst_data target/pom_remove_plugin.7 "${mandir}/man7"
|
|
||||||
+inst_data target/pom_change_dep.7 "${mandir}/man7"
|
|
||||||
inst_data target/pom_set_parent.7 "${mandir}/man7"
|
|
||||||
inst_data target/pom_xpath_inject.7 "${mandir}/man7"
|
|
||||||
inst_data target/pom_xpath_remove.7 "${mandir}/man7"
|
|
||||||
diff --git a/man/pom_change_dep.txt b/man/pom_change_dep.txt
|
|
||||||
index 234853f..3871641 100644
|
|
||||||
--- a/man/pom_change_dep.txt
|
|
||||||
+++ b/man/pom_change_dep.txt
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
-pom_add_dep(7)
|
|
||||||
-==============
|
|
||||||
+pom_change_dep(7)
|
|
||||||
+=================
|
|
||||||
:doctype: manpage
|
|
||||||
:man source: JAVAPACKAGES
|
|
||||||
:man manual: Java Packages Tools
|
|
@ -1,39 +1,61 @@
|
|||||||
|
%if 0%{?fedora} > 12
|
||||||
|
%global with_python3 1
|
||||||
|
%else
|
||||||
|
%{!?__python2: %global __python2 /usr/bin/python2}
|
||||||
|
%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")}
|
||||||
|
%endif
|
||||||
|
|
||||||
Name: javapackages-tools
|
Name: javapackages-tools
|
||||||
Version: 4.1.0
|
Version: 4.2.0
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
|
|
||||||
Summary: Macros and scripts for Java packaging support
|
Summary: Macros and scripts for Java packaging support
|
||||||
|
|
||||||
License: BSD
|
License: BSD
|
||||||
URL: https://fedorahosted.org/javapackages/
|
URL: https://git.fedorahosted.org/git/javapackages.git
|
||||||
Source0: https://fedorahosted.org/released/javapackages/javapackages-%{version}.tar.xz
|
Source0: https://fedorahosted.org/released/javapackages/javapackages-%{version}.tar.xz
|
||||||
|
|
||||||
Patch0: 0001-maven.req-XMvn-sets-resolvedVersion-to-UNKNOWN-for-u.patch
|
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%if 0%{?with_python3}
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: python3-lxml
|
||||||
|
BuildRequires: python3-setuptools
|
||||||
|
BuildRequires: python3-nose
|
||||||
|
BuildRequires: python3-six
|
||||||
|
BuildRequires: python3-PyXB = 1.2.4
|
||||||
|
%else
|
||||||
|
BuildRequires: python2-devel
|
||||||
|
BuildRequires: python-lxml
|
||||||
|
BuildRequires: python-setuptools
|
||||||
|
BuildRequires: python-nose
|
||||||
|
BuildRequires: python-six
|
||||||
|
BuildRequires: PyXB = 1.2.4
|
||||||
|
%endif
|
||||||
BuildRequires: asciidoc
|
BuildRequires: asciidoc
|
||||||
BuildRequires: xmlto
|
BuildRequires: xmlto
|
||||||
BuildRequires: python-lxml
|
|
||||||
BuildRequires: python2-devel
|
|
||||||
BuildRequires: python-setuptools
|
|
||||||
BuildRequires: python-formencode
|
|
||||||
BuildRequires: scl-utils-build
|
BuildRequires: scl-utils-build
|
||||||
BuildRequires: python-nose
|
|
||||||
BuildRequires: dia
|
BuildRequires: dia
|
||||||
BuildRequires: PyXB >= 1.2.3
|
|
||||||
BuildRequires: javapackages-tools >= 4.0.0
|
BuildRequires: javapackages-tools >= 4.0.0
|
||||||
BuildRequires: xmvn-resolve >= 2.0.0
|
BuildRequires: xmvn-resolve >= 2
|
||||||
|
|
||||||
Requires: coreutils
|
Requires: coreutils
|
||||||
Requires: libxslt
|
Requires: libxslt
|
||||||
Requires: lua
|
Requires: lua
|
||||||
Requires: python
|
%if 0%{?with_python3}
|
||||||
|
Requires: python3-javapackages = %{version}-%{release}
|
||||||
|
Requires: python3
|
||||||
|
%else
|
||||||
Requires: python-javapackages = %{version}-%{release}
|
Requires: python-javapackages = %{version}-%{release}
|
||||||
|
Requires: python
|
||||||
|
%endif
|
||||||
|
|
||||||
Provides: jpackage-utils = %{version}-%{release}
|
Provides: jpackage-utils = %{version}-%{release}
|
||||||
Obsoletes: jpackage-utils < %{version}-%{release}
|
Obsoletes: jpackage-utils < %{version}-%{release}
|
||||||
|
|
||||||
|
Provides: mvn(com.sun:tools)
|
||||||
|
Provides: mvn(sun.jdk:jconsole)
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This package provides macros and scripts to support Java packaging.
|
This package provides macros and scripts to support Java packaging.
|
||||||
|
|
||||||
@ -90,14 +112,31 @@ Requires: xmvn-connector-ivy >= 2
|
|||||||
This package implements local mode fow Apache Ivy, which allows
|
This package implements local mode fow Apache Ivy, which allows
|
||||||
artifact resolution using XMvn resolver.
|
artifact resolution using XMvn resolver.
|
||||||
|
|
||||||
|
%if 0%{?with_python3}
|
||||||
|
%package -n python3-javapackages
|
||||||
|
Summary: Module for handling various files for Java packaging
|
||||||
|
Requires: python3-PyXB = 1.2.4
|
||||||
|
Requires: python3-lxml
|
||||||
|
Requires: python3-six
|
||||||
|
Obsoletes: python-javapackages < %{version}-%{release}
|
||||||
|
|
||||||
|
%description -n python3-javapackages
|
||||||
|
Module for handling, querying and manipulating of various files for Java
|
||||||
|
packaging in Linux distributions
|
||||||
|
|
||||||
|
%else # python2
|
||||||
%package -n python-javapackages
|
%package -n python-javapackages
|
||||||
Summary: Module for handling various files for Java packaging
|
Summary: Module for handling various files for Java packaging
|
||||||
Requires: PyXB >= 1.2.3
|
Requires: PyXB = 1.2.4
|
||||||
Requires: python-lxml
|
Requires: python-lxml
|
||||||
|
Requires: python-six
|
||||||
|
Obsoletes: python3-javapackages < %{version}-%{release}
|
||||||
|
|
||||||
%description -n python-javapackages
|
%description -n python-javapackages
|
||||||
Module for handling, querying and manipulating of various files for Java
|
Module for handling, querying and manipulating of various files for Java
|
||||||
packaging in Linux distributions
|
packaging in Linux distributions
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%package -n fedora-review-plugin-java
|
%package -n fedora-review-plugin-java
|
||||||
Summary: fedora-review plugin for checking Java packaging guidelines
|
Summary: fedora-review plugin for checking Java packaging guidelines
|
||||||
@ -119,13 +158,6 @@ Requires: %{name} = %{version}-%{release}
|
|||||||
Requires: xmvn-install >= 2
|
Requires: xmvn-install >= 2
|
||||||
Requires: xmvn-subst >= 2
|
Requires: xmvn-subst >= 2
|
||||||
Requires: xmvn-resolve >= 2
|
Requires: xmvn-resolve >= 2
|
||||||
# We want to use OpenJDK 8 for building packages as it is default
|
|
||||||
# implementation used in Fedora. Due to YUM bugs and limitations,
|
|
||||||
# sometimes Java 7 may be installed alone. To workaround this
|
|
||||||
# maven-local explicitly requires version 8 of OpenJDK. (If needed
|
|
||||||
# Maven can still work with Java 7, but this needs to be enabled
|
|
||||||
# explicitly in the spec file.)
|
|
||||||
Requires: java-1.8.0-openjdk-devel >= 1:1.8
|
|
||||||
|
|
||||||
%description -n javapackages-local
|
%description -n javapackages-local
|
||||||
This package provides non-essential macros and scripts to support Java packaging.
|
This package provides non-essential macros and scripts to support Java packaging.
|
||||||
@ -133,13 +165,23 @@ This package provides non-essential macros and scripts to support Java packaging
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n javapackages-%{version}
|
%setup -q -n javapackages-%{version}
|
||||||
|
|
||||||
%patch0 -p1
|
%if 0%{?with_python3}
|
||||||
|
find . -name '*.py' | xargs sed -i '1s|^#!.*python|#!%{__python3}|'
|
||||||
|
find ./depgenerators -name '*.req' | xargs sed -i '1s|^#!.*python|#!%{__python3}|'
|
||||||
|
find ./depgenerators -name '*.prov' | xargs sed -i '1s|^#!.*python|#!%{__python3}|'
|
||||||
|
%endif # with_python3
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
%configure
|
||||||
./build
|
./build
|
||||||
|
|
||||||
pushd python
|
pushd python
|
||||||
%{__python} setup.py build
|
%if 0%{?with_python3}
|
||||||
|
%{__python3} setup.py build
|
||||||
|
%else
|
||||||
|
%{__python2} setup.py build
|
||||||
|
%endif
|
||||||
popd
|
popd
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -147,12 +189,19 @@ popd
|
|||||||
sed -e 's/.[17]$/&.gz/' -e 's/.py$/&*/' -i files-*
|
sed -e 's/.[17]$/&.gz/' -e 's/.py$/&*/' -i files-*
|
||||||
|
|
||||||
pushd python
|
pushd python
|
||||||
%{__python} setup.py install --skip-build --root $RPM_BUILD_ROOT
|
%if 0%{?with_python3}
|
||||||
|
%{__python3} setup.py install -O1 --skip-build --root %{buildroot}
|
||||||
|
%else
|
||||||
|
%{__python} setup.py install -O1 --skip-build --root %{buildroot}
|
||||||
|
%endif
|
||||||
popd
|
popd
|
||||||
|
|
||||||
%check
|
%check
|
||||||
./check
|
%if 0%{?with_python3}
|
||||||
|
./check 3
|
||||||
|
%else
|
||||||
|
./check 2
|
||||||
|
%endif
|
||||||
|
|
||||||
%files -f files-common
|
%files -f files-common
|
||||||
%doc LICENSE
|
%doc LICENSE
|
||||||
@ -163,9 +212,15 @@ popd
|
|||||||
|
|
||||||
%files -n ivy-local -f files-ivy
|
%files -n ivy-local -f files-ivy
|
||||||
|
|
||||||
|
%if 0%{?with_python3}
|
||||||
|
%files -n python3-javapackages
|
||||||
|
%doc LICENSE
|
||||||
|
%{python3_sitelib}/javapackages*
|
||||||
|
%else # python2
|
||||||
%files -n python-javapackages
|
%files -n python-javapackages
|
||||||
%doc LICENSE
|
%doc LICENSE
|
||||||
%{python_sitelib}/javapackages*
|
%{python_sitelib}/javapackages*
|
||||||
|
%endif
|
||||||
|
|
||||||
%files -n fedora-review-plugin-java
|
%files -n fedora-review-plugin-java
|
||||||
%{_datadir}/fedora-review/plugins/*
|
%{_datadir}/fedora-review/plugins/*
|
||||||
@ -174,6 +229,9 @@ popd
|
|||||||
%doc LICENSE
|
%doc LICENSE
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jul 24 2014 Michal Srb <msrb@redhat.com> - 4.2.0-1
|
||||||
|
- Update to upstream version 4.2.0
|
||||||
|
|
||||||
* Thu Jul 10 2014 Michal Srb <msrb@redhat.com> - 4.1.0-2
|
* Thu Jul 10 2014 Michal Srb <msrb@redhat.com> - 4.1.0-2
|
||||||
- Backport upstream patch for maven.req
|
- Backport upstream patch for maven.req
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
90858a73cb6ba12b19c6a7d70a4c2cdf javapackages-4.1.0.tar.xz
|
69b79deca82c70af3f7aa5356abc5866 javapackages-4.2.0.tar.xz
|
||||||
|
@ -1,227 +0,0 @@
|
|||||||
diff --git a/doc/ant.txt b/doc/ant.txt
|
|
||||||
index 06ba3f3..fc500c3 100644
|
|
||||||
--- a/doc/ant.txt
|
|
||||||
+++ b/doc/ant.txt
|
|
||||||
@@ -22,7 +22,7 @@ Repository for it, ship it as another source and install it.
|
|
||||||
[source,spec]
|
|
||||||
-------------
|
|
||||||
BuildRequires: ant
|
|
||||||
-BuildRequires: maven-local
|
|
||||||
+BuildRequires: javapackages-local
|
|
||||||
...
|
|
||||||
%build
|
|
||||||
ant test
|
|
||||||
diff --git a/doc/core_java_packages.txt b/doc/core_java_packages.txt
|
|
||||||
index 34e0728..2baf4b2 100644
|
|
||||||
--- a/doc/core_java_packages.txt
|
|
||||||
+++ b/doc/core_java_packages.txt
|
|
||||||
@@ -51,9 +51,39 @@ non-zero epoch in order to keep version ordering correct.
|
|
||||||
=======
|
|
||||||
|
|
||||||
|
|
||||||
+==== Java Packages Tools
|
|
||||||
+
|
|
||||||
+Java Packages Tools are packaged as severas binary RPM packages
|
|
||||||
+
|
|
||||||
+*`maven-local`*::
|
|
||||||
+
|
|
||||||
+ This package provides a complete environment which is required to
|
|
||||||
+ build Java packages using Apache Maven build system. This
|
|
||||||
+ includes a default system version of Java Development Kit (JDK),
|
|
||||||
+ Maven, a number of Maven plugins commonly used to build packages,
|
|
||||||
+ various macros and utlilty tools. `maven-local` is usually
|
|
||||||
+ declared as build dependency of Maven packages.
|
|
||||||
+
|
|
||||||
+*`ivy-local`*::
|
|
||||||
+
|
|
||||||
+ Analogously to `maven-local`, this package provides an environment
|
|
||||||
+ required to build Java packages using Apache Ivy as dependency
|
|
||||||
+ manager.
|
|
||||||
+
|
|
||||||
+*`javapackages-local`*::
|
|
||||||
+
|
|
||||||
+ Package providing a basic environment necessary to geterate and
|
|
||||||
+ install metadata for system artifact repository.
|
|
||||||
+
|
|
||||||
+*`javapackages-tools`*::
|
|
||||||
+
|
|
||||||
+ Package owning basic Java directories and providing runtime
|
|
||||||
+ support for Java packages. The great majority of Java packages
|
|
||||||
+ depend on `javapackages-tools`.
|
|
||||||
+
|
|
||||||
+
|
|
||||||
TODO
|
|
||||||
|
|
||||||
-* Java Packages Tools
|
|
||||||
* Ant
|
|
||||||
** extra tasks and /etc/ant.d
|
|
||||||
* Maven
|
|
||||||
diff --git a/doc/directory_layout.txt b/doc/directory_layout.txt
|
|
||||||
index 862ccd4..907777d 100644
|
|
||||||
--- a/doc/directory_layout.txt
|
|
||||||
+++ b/doc/directory_layout.txt
|
|
||||||
@@ -34,13 +34,6 @@ short description.
|
|
||||||
Maven are installed. Each POM must have name that strictly
|
|
||||||
corresponds to JAR file in `%{_javadir}` or `%{_jnidir}`.
|
|
||||||
|
|
||||||
-*`%{_mavendepmapfragdir}`* -- `/usr/share/maven-fragments`::
|
|
||||||
-
|
|
||||||
- Directory containing package metadata in XML format. Typically
|
|
||||||
- each binary package installs there a single XML file containing
|
|
||||||
- various information (metadata) about artifacts associated with
|
|
||||||
- that package.
|
|
||||||
-
|
|
||||||
|
|
||||||
.Other directories
|
|
||||||
[glossary]
|
|
||||||
diff --git a/doc/generic_java_build.txt b/doc/generic_java_build.txt
|
|
||||||
index 6fb09bb..5c29c95 100644
|
|
||||||
--- a/doc/generic_java_build.txt
|
|
||||||
+++ b/doc/generic_java_build.txt
|
|
||||||
@@ -11,49 +11,18 @@ POM or JAR file, we may use the `%add_maven_depmap` macro. However, if package
|
|
||||||
is build in standard way (i.e.: `%mvn_build` and `%mvn_install`), then calling
|
|
||||||
`%add_maven_depmap` is neither needed nor recommended. This macro is usually
|
|
||||||
useful only for packages that use other build tool than Maven (e.g.: ant,
|
|
||||||
-gradle). It creates files in `%{_mavendepmapfragdir}` that map
|
|
||||||
-groupId:artifactId pairs to JAR files under `%{_javadir}`. These files are
|
|
||||||
-called depmap fragments. The macro can read the groupId and artifactId from the
|
|
||||||
-POM file or maintainer can pass this information as an argument. All fragments
|
|
||||||
-in `%{_mavendepmapfragdir}` directory are read by XMvn, allowing the
|
|
||||||
-locally installed JAR and POM files to be used as a maven repository.
|
|
||||||
-
|
|
||||||
-Note that -- unless you use the `-f` option as shown below -- all
|
|
||||||
-depmap fragments for a given package are written to the same file,
|
|
||||||
-`%{_mavendepmapfragdir}/%{name}`. You should be sure to include this
|
|
||||||
-file in the `%files` section of your RPM.
|
|
||||||
+gradle).
|
|
||||||
|
|
||||||
For the macro to work properly, all JAR files must be copied into `%{_javadir}`
|
|
||||||
-and all POM files must be copied into `%{_mavenpomdir}` and given file names of
|
|
||||||
-the following form, where `jarname` is the name of the JAR without the .jar
|
|
||||||
-suffix:
|
|
||||||
+and all POM files must be copied into `%{_mavenpomdir}`.
|
|
||||||
|
|
||||||
-[source,spec]
|
|
||||||
---------
|
|
||||||
-%{_mavenpomdir}/JPP[.subdirectory]-jarname.pom
|
|
||||||
---------
|
|
||||||
-
|
|
||||||
-Note that the subdirectory is only necessary if the JAR file is put into a
|
|
||||||
-subdirectory of `%{_javadir}`. For example:
|
|
||||||
-
|
|
||||||
-* For junit, the JAR is `%{_javadir}/junit.jar`, so the POM would be
|
|
||||||
- `%{_mavenpomdir}/JPP-junit.pom`.
|
|
||||||
-* For plexus-ant-factory, the JAR is `%{_javadir}/plexus/ant-factory.jar`, so
|
|
||||||
- the POM would named `%{_mavenpomdir}/JPP.plexus-ant-factory.pom`.
|
|
||||||
-
|
|
||||||
-If a POM is installed with no corresponding JAR file -- for example, for parent
|
|
||||||
-POM files -- the same convention should be followed:
|
|
||||||
-
|
|
||||||
-* The Apache commons parent POM is installed in
|
|
||||||
- `%{_mavenpomdir}/JPP-commons-parent.pom`.
|
|
||||||
-
|
|
||||||
-In its simplest form (a POM without a JAR file), `%add_maven_depmap` looks like
|
|
||||||
+In simplest form (a POM without a JAR file), `%add_maven_depmap` looks like
|
|
||||||
this:
|
|
||||||
|
|
||||||
.Parent POM
|
|
||||||
[source,spec]
|
|
||||||
--------
|
|
||||||
-%add_maven_depmap JPP-%{name}.pom
|
|
||||||
+%add_maven_depmap %{name}.pom
|
|
||||||
--------
|
|
||||||
|
|
||||||
This will read the POM file in question and provide a mapping between the
|
|
||||||
@@ -65,7 +34,7 @@ For a POM that maps directly to a JAR file, the following is the correct form:
|
|
||||||
.Standard invocation
|
|
||||||
[source,spec]
|
|
||||||
--------
|
|
||||||
-%add_maven_depmap JPP-%{name}.pom %{name}.jar
|
|
||||||
+%add_maven_depmap %{name}.pom %{name}.jar
|
|
||||||
--------
|
|
||||||
|
|
||||||
In addition to creating the POM mapping, this will also ensure that the correct
|
|
||||||
@@ -82,7 +51,7 @@ mapping between Maven artifact and corresponding JAR file:
|
|
||||||
.Providing additional artifact mappings
|
|
||||||
[source,spec]
|
|
||||||
--------
|
|
||||||
-%add_maven_depmap JPP-%{name}.pom %{name}.jar -a "org.apache.commons:commons-lang"
|
|
||||||
+%add_maven_depmap %{name}.pom %{name}.jar -a "org.apache.commons:commons-lang"
|
|
||||||
--------
|
|
||||||
This form also adds additional mappings for given POM/JAR file. For example, if
|
|
||||||
the POM file indicates that it contains groupId commons-lang, artifactId
|
|
||||||
@@ -94,16 +63,16 @@ require different IDs than those reflected in the installed POM.
|
|
||||||
.Multiple subpackages
|
|
||||||
[source,spec]
|
|
||||||
--------
|
|
||||||
-%add_maven_depmap JPP-%{name}.pom %{name}.jar -f "XXX"
|
|
||||||
+%add_maven_depmap %{name}.pom %{name}.jar -f "XXX"
|
|
||||||
--------
|
|
||||||
-This form stores dependency mapping inside `%{_mavendepmapfragdir}/%{name}-XXX`
|
|
||||||
-instead of standard location. This is useful for packages with multiple
|
|
||||||
-subpackages where each has its own JAR files.
|
|
||||||
+This form stores metadata information in file with suffix "XXX". This
|
|
||||||
+is useful for packages with multiple subpackages where each has its own
|
|
||||||
+JAR files.
|
|
||||||
|
|
||||||
.Multiple artifacts in a subdirectory
|
|
||||||
[source,spec]
|
|
||||||
--------
|
|
||||||
-%add_maven_depmap JPP.%{name}-sub.pom %{name}/sub.jar
|
|
||||||
+%add_maven_depmap %{name}-sub.pom %{name}/sub.jar
|
|
||||||
--------
|
|
||||||
|
|
||||||
This form should be used when a package consists of multiple JAR files that are
|
|
||||||
diff --git a/doc/index.txt b/doc/index.txt
|
|
||||||
index f9af27e..22c9ab2 100644
|
|
||||||
--- a/doc/index.txt
|
|
||||||
+++ b/doc/index.txt
|
|
||||||
@@ -63,22 +63,6 @@ References
|
|
||||||
'DocBook - The Definitive Guide'. O'Reilly & Associates. 1999.
|
|
||||||
ISBN 1-56592-580-7.
|
|
||||||
|
|
||||||
-
|
|
||||||
-[glossary]
|
|
||||||
-Glossary
|
|
||||||
---------
|
|
||||||
-Glossaries are optional. Glossaries entries are an example of a style
|
|
||||||
-of AsciiDoc labeled lists.
|
|
||||||
-
|
|
||||||
-[glossary]
|
|
||||||
-[[Xdepmap]]depmap::
|
|
||||||
- Depmap is a special file telling Maven relationships between
|
|
||||||
- groupId,artifactId and JAR file on the filesystem
|
|
||||||
-
|
|
||||||
-A second glossary term::
|
|
||||||
- The corresponding (indented) definition.
|
|
||||||
-
|
|
||||||
-
|
|
||||||
ifdef::backend-docbook[]
|
|
||||||
[index]
|
|
||||||
Example Index
|
|
||||||
diff --git a/doc/maven.txt b/doc/maven.txt
|
|
||||||
index 7539d00..63c8cc8 100644
|
|
||||||
--- a/doc/maven.txt
|
|
||||||
+++ b/doc/maven.txt
|
|
||||||
@@ -35,7 +35,7 @@ BuildRequires: maven-local
|
|
||||||
|
|
||||||
The macros `%mvn_build` and `%mvn_install` automatically handle building of the
|
|
||||||
JAR files and their subsequent installation to the correct directory. The
|
|
||||||
-corresponding POM and <<Xdepmap,depmap>> files are also installed.
|
|
||||||
+corresponding POM and metadata files are also installed.
|
|
||||||
|
|
||||||
[[packaging_maven_project]]
|
|
||||||
=== Packaging Maven project
|
|
||||||
diff --git a/doc/mvn_macros.txt b/doc/mvn_macros.txt
|
|
||||||
index c1b9aa2..1115cc8 100644
|
|
||||||
--- a/doc/mvn_macros.txt
|
|
||||||
+++ b/doc/mvn_macros.txt
|
|
||||||
@@ -66,7 +66,7 @@ If the project consists of multiple artifacts, it is recommended to install each
|
|
||||||
artifact to the separate subpackage. The macro `%mvn_build -s` will generate
|
|
||||||
separate `.mfiles` file for every artifact in the project. This file contains
|
|
||||||
list of files related to specific artifact (typically JAR file, POM file and
|
|
||||||
-depmap). It can be later used in `%files` section of the spec file.
|
|
||||||
+metadata). It can be later used in `%files` section of the spec file.
|
|
||||||
|
|
||||||
.Creating one subpackage for each generated artifact
|
|
||||||
[source,spec]
|
|
Loading…
Reference in New Issue
Block a user