aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Le Cuirot <chewi@aura-online.co.uk>2008-06-15 20:23:10 +0000
committerJames Le Cuirot <chewi@aura-online.co.uk>2008-06-15 20:23:10 +0000
commit7b7416d8051732ff5881a165f76154a9b9782403 (patch)
tree32cf1dc58847227286117f0d922937dcfa6de201
parentMark buildparser as executable. (diff)
downloadjavatoolkit-7b7416d8051732ff5881a165f76154a9b9782403.tar.gz
javatoolkit-7b7416d8051732ff5881a165f76154a9b9782403.tar.bz2
javatoolkit-7b7416d8051732ff5881a165f76154a9b9782403.zip
New jarjarclean utility.
svn path=/projects/javatoolkit/trunk/; revision=6316
-rw-r--r--Makefile4
-rw-r--r--src/jarjarclean/Makefile17
-rwxr-xr-xsrc/jarjarclean/jarjarclean40
3 files changed, 59 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index c5c964b..29213a6 100644
--- a/Makefile
+++ b/Makefile
@@ -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()