aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKasun Gajasinghe <kasunbg@gmail.com>2011-08-06 07:03:35 +0000
committerKasun Gajasinghe <kasunbg@gmail.com>2011-08-06 07:03:35 +0000
commit63dc4d62812418fa17866e33b0e5acbd899c4722 (patch)
tree28da1b5a8405ede31a7d1a58225f88282d513c1a
parent1.6 too is a valid source now. Added a newline for each <dependency> tag for ... (diff)
downloadjavatoolkit-63dc4d62812418fa17866e33b0e5acbd899c4722.tar.gz
javatoolkit-63dc4d62812418fa17866e33b0e5acbd899c4722.tar.bz2
javatoolkit-63dc4d62812418fa17866e33b0e5acbd899c4722.zip
added maven pom's <parent> tag rewriter. Three options to control it: --pgroup, --partifact, --pversion. --pversion is enough in most cases.
svn path=/projects/javatoolkit/branches/kasun/; revision=8670
-rw-r--r--src/py/javatoolkit/maven/MavenPom.py23
-rwxr-xr-xsrc/py/maven-helper.py5
2 files changed, 26 insertions, 2 deletions
diff --git a/src/py/javatoolkit/maven/MavenPom.py b/src/py/javatoolkit/maven/MavenPom.py
index 2710d11..9aa926c 100644
--- a/src/py/javatoolkit/maven/MavenPom.py
+++ b/src/py/javatoolkit/maven/MavenPom.py
@@ -101,12 +101,33 @@ class MavenPom:
self.__write("%d:dep_artifact:%s\n" % (i,dependency.artifact) )
self.__write("%d:dep_version:%s\n" % (i,dependency.version) )
-
def read(self):
return self.buffer.getvalue()
def rewrite(self,xmldoc,**kwargs):
+ #rewrite the <parent> with the values in self.cli_options.{p_parentgroup,p_parentartifact,p_parentversion}
+ #This rewriting is optional. Packager may only rewrite version if he wishes.
+ parent_element = ( xmldoc.getElementsByTagName("parent") or [] )
+ if parent_element:
+ if self.cli_options.p_parentgroup:
+ current_pgroup = parent_element.getElementsByTagName("groupId")[0]
+ parent_element.removeChild( current_pgroup )
+ current_pgroup.unlink()
+ parent_element.appendChild( self.create_element(xmldoc, "groupId", self.cli_options.p_parentgroup) )
+ if self.cli_options.p_parentartifact:
+ current_partifact = parent_element.getElementsByTagName("artifactId")[0]
+ parent_element.removeChild( current_partifact )
+ current_partifact.unlink()
+ parent_element.appendChild( self.create_element(xmldoc, "artifactId", self.cli_options.p_parentartifact) )
+ if self.cli_options.p_parentversion:
+ current_pversion = parent_element.getElementsByTagName("version")[0]
+ parent_element.removeChild( current_pversion )
+ current_pversion.unlink()
+ parent_element.appendChild( self.create_element(xmldoc, "version", self.cli_options.p_parentversion) )
+# else:
+# create parent element and map the parent to gentoo maven super pom. That contains all the plugin versions etc.
+
# desactivate all dependencies
dependencies_root = ( xmldoc.getElementsByTagName("dependencies") or [] )
for node in dependencies_root:
diff --git a/src/py/maven-helper.py b/src/py/maven-helper.py
index a8ba61f..c0775a1 100755
--- a/src/py/maven-helper.py
+++ b/src/py/maven-helper.py
@@ -98,12 +98,15 @@ if __name__ == '__main__':
make_option ("-c", "--classpath", action="append", dest="classpath", help="set classpath to use with maven."),
make_option ("-s", "--source", action="append", dest="p_source", help="Java source version."),
make_option ("-t", "--target", action="append", dest="p_target", help="Java target version."),
- make_option ("-d", "--depependencies" , action="store_true", dest="p_dep", help="get dependencies infos"),
+ make_option ("-d", "--dependencies" , action="store_true", dest="p_dep", help="get dependencies infos"),
make_option ("-f", "--file", action="append", dest="files", help="Transform files instead of operating on stdout and stdin"),
make_option ("-g", "--group" , action="store_true", dest="p_group", help="get artifact group."),
make_option ("-r", "--rewrite", action="store_true", dest="p_rewrite", help="rewrite poms to use our classpath"),
make_option ("-p", "--ischild", action="store_true", dest="p_ischild", help="return true if this is a child pom"),
make_option ("-v", "--version" , action="store_true", dest="p_version", help="get artifact version."),
+ make_option ("-x", "--pgroup" , action="append", dest="p_parentgroup", help="set <parent> groupId"),
+ make_option ("-y", "--partifact" , action="append", dest="p_parentartifact", help="set <parent> artifactId"),
+ make_option ("-z", "--pversion" , action="append", dest="p_parentversion", help="set <parent> version"),
]
parser = OptionParser(usage, options_list)