[javapackages] [maven.req] When generating req from POM file, do not blindly take first POM file, but iterate over
by Michal Srb
commit 52525455278ad5801cf89a768b81499229af1f68
Author: Michal Srb <msrb(a)redhat.com>
Date: Thu May 29 13:45:52 2014 +0200
[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 files 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
10 years
[javapackages] [test] Fix test data so we can better test maven.req
by Michal Srb
commit cdd30c6265f7aaf3836f977d6d8ee9445081341d
Author: Michal Srb <msrb(a)redhat.com>
Date: Thu May 29 13:45:27 2014 +0200
[test] Fix test data so we can better test maven.req
test/metadata/require2/maven-metadata/require.xml | 6 +++---
test/metadata/require4/maven-metadata/require.xml | 6 +++---
2 files changed, 6 insertions(+), 6 deletions(-)
---
diff --git a/test/metadata/require2/maven-metadata/require.xml b/test/metadata/require2/maven-metadata/require.xml
index 33a01ee..9bcc832 100644
--- a/test/metadata/require2/maven-metadata/require.xml
+++ b/test/metadata/require2/maven-metadata/require.xml
@@ -2,9 +2,9 @@
<uuid>432048235932</uuid>
<artifacts>
<artifact>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-ant-factory</artifactId>
- <version>1.0</version>
+ <groupId>org.kohsuke</groupId>
+ <artifactId>pom</artifactId>
+ <version>8</version>
<extension>pom</extension>
<compatVersions>
<version>1.0</version>
diff --git a/test/metadata/require4/maven-metadata/require.xml b/test/metadata/require4/maven-metadata/require.xml
index 33a01ee..2e74269 100644
--- a/test/metadata/require4/maven-metadata/require.xml
+++ b/test/metadata/require4/maven-metadata/require.xml
@@ -2,9 +2,9 @@
<uuid>432048235932</uuid>
<artifacts>
<artifact>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-ant-factory</artifactId>
- <version>1.0</version>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-plugins</artifactId>
+ <version>25</version>
<extension>pom</extension>
<compatVersions>
<version>1.0</version>
10 years
[javapackages] Fix javapackages-metadata.xml
by Mikolaj Izdebski
commit a48fe9f51512fe367d44519e41c94b24ef8af983
Author: Mikolaj Izdebski <mizdebsk(a)redhat.com>
Date: Thu May 29 13:38:56 2014 +0200
Fix javapackages-metadata.xml
s/com.jdk:jconsole/sun.jdk:jconsole/
etc/javapackages-metadata.xml | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
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>
10 years
[javapackages] Add TODO item for maven.req
by Mikolaj Izdebski
commit 92145a2afd0ea276b15012e90a99806d6ad2c2a8
Author: Mikolaj Izdebski <mizdebsk(a)redhat.com>
Date: Thu May 29 13:13:37 2014 +0200
Add TODO item for maven.req
depgenerators/maven.req | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
---
diff --git a/depgenerators/maven.req b/depgenerators/maven.req
index a42162e..aea1dd4 100755
--- a/depgenerators/maven.req
+++ b/depgenerators/maven.req
@@ -267,6 +267,7 @@ class TagBuilder(object):
requires = set()
for provided in depmap.get_provided_artifacts():
+ # TODO: use javapackages-config.json
if provided.namespace:
requires.add("{ns}-runtime".format(ns=provided.namespace))
else:
10 years
[javapackages] [maven.req] Fix self-dependency detection code
by Mikolaj Izdebski
commit 424bba5b517fa1c458d7f11b10e577ba59585bd2
Author: Mikolaj Izdebski <mizdebsk(a)redhat.com>
Date: Thu May 29 13:08:11 2014 +0200
[maven.req] Fix self-dependency detection code
depgenerators/maven.req | 5 +----
1 files changed, 1 insertions(+), 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):
10 years
[javapackages] Bump version to 4.1.0-SNAPSHOT
by Michal Srb
commit b180bfc23a0fc764fd322f5bb803432349be9c1d
Author: Michal Srb <msrb(a)redhat.com>
Date: Thu May 29 12:38:28 2014 +0200
Bump version to 4.1.0-SNAPSHOT
VERSION | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/VERSION b/VERSION
index fcdb2e1..6c3e1de 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-4.0.0
+4.1.0-SNAPSHOT
10 years
[javapackages] [maven.req] Generate versioned deps on subpackages
by Michal Srb
commit 8cd3338ddfeef5965f05d5082695d9d72bcf4629
Author: Michal Srb <msrb(a)redhat.com>
Date: Thu May 29 11:28:57 2014 +0200
[maven.req] Generate versioned deps on subpackages
depgenerators/maven.req | 19 ++++++++++++++-----
1 files 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())
10 years
[javapackages] [test] Fix maven.req test
by Michal Srb
commit 1679028eb75d783eeb7ca36616abe0778999ec94
Author: Michal Srb <msrb(a)redhat.com>
Date: Thu May 29 11:28:12 2014 +0200
[test] Fix maven.req test
test/maven_req_test.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
---
diff --git a/test/maven_req_test.py b/test/maven_req_test.py
index d510000..bf69222 100644
--- a/test/maven_req_test.py
+++ b/test/maven_req_test.py
@@ -215,7 +215,7 @@ class TestMavenReq(unittest.TestCase):
# self.assertEquals(return_value, 0, stderr)
# sout = [x for x in stdout.split('\n') if x]
# want = ("mvn(org.apache.maven.plugins:maven-plugin-plugin)", "jpackage-utils",
- # "mvn(org.codehaus.plexus:plexus-ant-factory-dep:pom:)", "java-headless")
+ # "mvn(org.codehaus.plexus:plexus-ant-factory-dep:pom:) = 1.0", "java-headless")
# self.assertEquals(set(want), set(sout))
if __name__ == '__main__':
10 years
[javapackages] [maven.req] Check if dependency is not provided by subpackage
by Michal Srb
commit 5224614066cfd01c02112a849fca3c7969202142
Author: Michal Srb <msrb(a)redhat.com>
Date: Thu May 29 10:24:39 2014 +0200
[maven.req] Check if dependency is not provided by subpackage
depgenerators/maven.req | 24 +++++++++++++++++-------
1 files 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{}: {}"
10 years
[javapackages] [pom] Add ability to read parent's version
by Michal Srb
commit 0870cac2b02aef1e75aada3b4d235f76b0d4ee1e
Author: Michal Srb <msrb(a)redhat.com>
Date: Thu May 29 10:23:07 2014 +0200
[pom] Add ability to read parent's version
python/javapackages/pom.py | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
---
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
10 years