diff options
author | 2008-06-15 20:23:10 +0000 | |
---|---|---|
committer | 2008-06-15 20:23:10 +0000 | |
commit | 7b7416d8051732ff5881a165f76154a9b9782403 (patch) | |
tree | 32cf1dc58847227286117f0d922937dcfa6de201 | |
parent | Mark buildparser as executable. (diff) | |
download | javatoolkit-7b7416d8051732ff5881a165f76154a9b9782403.tar.gz javatoolkit-7b7416d8051732ff5881a165f76154a9b9782403.tar.bz2 javatoolkit-7b7416d8051732ff5881a165f76154a9b9782403.zip |
New jarjarclean utility.
svn path=/projects/javatoolkit/trunk/; revision=6316
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | src/jarjarclean/Makefile | 17 | ||||
-rwxr-xr-x | src/jarjarclean/jarjarclean | 40 |
3 files changed, 59 insertions, 2 deletions
@@ -23,7 +23,7 @@ dist: dist-javatoolkit dist-javatoolkit: mkdir -p release/javatoolkit-$(VERSION)$(RELEASE_TAG) rm -rf release/javatoolkit-$(VERSION)$(RELEASE_TAG)/ - for x in sun-fetch findclass bsfix buildparser javatoolkit maven ; do \ + for x in sun-fetch findclass bsfix buildparser javatoolkit maven jarjarclean ; do \ ( cd src/$$x ; $(MAKE) distdir=release/javatoolkit-$(VERSION)$(RELEASE_TAG) dist ) \ done cp Makefile AUTHORS README TODO COPYING NEWS ChangeLog.2004 release/javatoolkit-$(VERSION)$(RELEASE_TAG)/ @@ -44,7 +44,7 @@ install-javatoolkit: install -m 0644 AUTHORS ChangeLog.2004 COPYING NEWS README TODO $(docdir)/ - for x in sun-fetch findclass bsfix buildparser javatoolkit maven; do \ + for x in sun-fetch findclass bsfix buildparser javatoolkit maven jarjarclean ; do \ ( cd src/$$x ; $(MAKE) DESTDIR=$(DESTDIR) install ) \ done diff --git a/src/jarjarclean/Makefile b/src/jarjarclean/Makefile new file mode 100644 index 0000000..3c4c382 --- /dev/null +++ b/src/jarjarclean/Makefile @@ -0,0 +1,17 @@ +# Copyright 2008 James Le Cuirot <chewi@aura-online.co.uk> +# Copyright 2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# +# $Header: $ + +include ../../makedefs.mak + +all: + +dist: + mkdir -p ../../$(distdir)/src/jarjarclean + cp Makefile jarjarclean ../../$(distdir)/src/jarjarclean + +install: all + install -m 0755 jarjarclean $(bindir)/ + diff --git a/src/jarjarclean/jarjarclean b/src/jarjarclean/jarjarclean new file mode 100755 index 0000000..b3252f7 --- /dev/null +++ b/src/jarjarclean/jarjarclean @@ -0,0 +1,40 @@ +#!/usr/bin/python +# +# Copyright 2008 James Le Cuirot <chewi@aura-online.co.uk> +# Copyright 2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# +# $Header: $ + +import sys +import xml.etree.cElementTree as et + +args = sys.argv[1:] +if len(args) == 0: + args = [ 'build.xml' ] + +for file in args: + tree = et.ElementTree(file=file) + tags = [] + + for elem in tree.getiterator(): + for child in list(elem): + if child.tag == 'taskdef' and child.get('classname') == 'com.tonicsystems.jarjar.JarJarTask': + tags.append(child.get('name')) + elem.remove(child) + + for tag in tags: + for jarjar in tree.getiterator(tag): + if jarjar.get('destfile') or jarjar.get('jarfile'): + jarjar.tag = 'jar' + + if jarjar.get('verbose'): + del jarjar.attrib['verbose'] + + for child in list(jarjar): + if child.tag == 'keep' or child.tag == 'rule' or child.tag == 'zipfileset': + jarjar.remove(child) + + f = open(file, 'w') + tree.write(f) + f.close() |