commit 839cacd3d188ad696c6c43f4304662bf3c426c31 Author: Michal Srb msrb@redhat.com Date: Wed Apr 8 10:58:00 2015 +0200
Maven ignores "optional" tag in dependencyManagement section, do the same
See: http://jira.codehaus.org/browse/MNG-5632 http://jira.codehaus.org/browse/MNG-4600
python/javapackages/maven/artifact.py | 5 ++--- python/javapackages/maven/dependency.py | 6 ------ .../merge_sections/child/child/pom.xml | 5 +++++ .../data/mvn_artifact/merge_sections/child/pom.xml | 6 ++++++ test/data/mvn_artifact/merge_sections/pom.xml | 10 ++++++++++ .../data/mvn_artifact/test_merge_sections-want.xml | 16 +++++++++++++++- 6 files changed, 38 insertions(+), 10 deletions(-) --- diff --git a/python/javapackages/maven/artifact.py b/python/javapackages/maven/artifact.py index 50264ba..1246cc6 100644 --- a/python/javapackages/maven/artifact.py +++ b/python/javapackages/maven/artifact.py @@ -32,7 +32,6 @@ # Authors: Stanislav Ochotnicky sochotnicky@redhat.com # Michal Srb msrb@redhat.com
-import sys import re import six
@@ -147,7 +146,7 @@ class AbstractArtifact(object): if self.compare_to(artifact): for member in self.__dict__: if not member.startswith('_'): - # for "scope" and "optional": + # for "scope": # copy value from parent artifact only if this object # contains default/implicit value if (hasattr(self, "_default_" + member) and @@ -158,7 +157,7 @@ class AbstractArtifact(object): # override it again if not getattr(artifact, "_default_" + member): setattr(self, "_default_" + member, False) - # for fields other than "scope" and "optional": + # for fields other than "scope": # copy value from parent artifact, if current value is empty elif not getattr(self, member): setattr(self, member, getattr(artifact, member)) diff --git a/python/javapackages/maven/dependency.py b/python/javapackages/maven/dependency.py index 0ab517d..d3c05a1 100644 --- a/python/javapackages/maven/dependency.py +++ b/python/javapackages/maven/dependency.py @@ -67,7 +67,6 @@ class Dependency(AbstractArtifact): # raw values # TODO: probably not needed anymore self._raw_scope = scope - self._raw_optional = optional
if extension: self.extension = extension.strip() @@ -80,7 +79,6 @@ class Dependency(AbstractArtifact): self._default_scope = False if optional is not None: self.optional = optional.strip() - self._default_optional = False if exclusions: self.exclusions = exclusions
@@ -89,10 +87,6 @@ class Dependency(AbstractArtifact): return True return False
- def get_raw_optional(self): - """Return original value for 'optional' element.""" - return self._raw_optional - def get_raw_scope(self): """Return original value for 'scope' element.""" return self._raw_scope diff --git a/test/data/mvn_artifact/merge_sections/child/child/pom.xml b/test/data/mvn_artifact/merge_sections/child/child/pom.xml index 068ae91..a0306b2 100644 --- a/test/data/mvn_artifact/merge_sections/child/child/pom.xml +++ b/test/data/mvn_artifact/merge_sections/child/child/pom.xml @@ -18,5 +18,10 @@ <groupId>gdep1</groupId> <artifactId>adep1</artifactId> </dependency> + <dependency> + <groupId>gdep2</groupId> + <artifactId>adep2</artifactId> + <scope>compile</scope> + </dependency> </dependencies> </project> diff --git a/test/data/mvn_artifact/merge_sections/child/pom.xml b/test/data/mvn_artifact/merge_sections/child/pom.xml index e036faf..543d06b 100644 --- a/test/data/mvn_artifact/merge_sections/child/pom.xml +++ b/test/data/mvn_artifact/merge_sections/child/pom.xml @@ -21,6 +21,12 @@ <version>10</version> <optional>true</optional> </dependency> + <dependency> + <groupId>gdep2</groupId> + <artifactId>adep2</artifactId> + <version>20</version> + <scope>test</scope> + </dependency> </dependencies> </dependencyManagement> </project> diff --git a/test/data/mvn_artifact/merge_sections/pom.xml b/test/data/mvn_artifact/merge_sections/pom.xml index 1f1c9ff..52b8142 100644 --- a/test/data/mvn_artifact/merge_sections/pom.xml +++ b/test/data/mvn_artifact/merge_sections/pom.xml @@ -16,4 +16,14 @@ </dependency> </dependencies> </dependencyManagement> + + <dependencies> + <dependency> + <groupId>gdep3</groupId> + <artifactId>adep3</artifactId> + <scope>compile</scope> + <version>30</version> + <optional>true</optional> + </dependency> + </dependencies> </project> diff --git a/test/data/mvn_artifact/test_merge_sections-want.xml b/test/data/mvn_artifact/test_merge_sections-want.xml index 0f15ed1..cd89a4f 100644 --- a/test/data/mvn_artifact/test_merge_sections-want.xml +++ b/test/data/mvn_artifact/test_merge_sections-want.xml @@ -11,9 +11,23 @@ ns0:groupIdgdep1</ns0:groupId> ns0:artifactIdadep1</ns0:artifactId> ns0:extensionjar</ns0:extension> - ns0:optionaltrue</ns0:optional> + ns0:optionalfalse</ns0:optional> ns0:requestedVersion10</ns0:requestedVersion> </ns0:dependency> + ns0:dependency + ns0:groupIdgdep2</ns0:groupId> + ns0:artifactIdadep2</ns0:artifactId> + ns0:extensionjar</ns0:extension> + ns0:optionalfalse</ns0:optional> + ns0:requestedVersion20</ns0:requestedVersion> + </ns0:dependency> + ns0:dependency + ns0:groupIdgdep3</ns0:groupId> + ns0:artifactIdadep3</ns0:artifactId> + ns0:extensionjar</ns0:extension> + ns0:optionaltrue</ns0:optional> + ns0:requestedVersion30</ns0:requestedVersion> + </ns0:dependency> </ns0:dependencies> </ns0:artifact> </ns0:artifacts>