File 0001-Scriptlet-and-rules-to-replace-bundled-jars.patch of Package intellij-idea
From e60d995c0ae29bcf1b83f59ecad4d6885b12a871 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Sat, 31 Oct 2009 12:02:57 +0100
Subject: [PATCH] Scriptlet and rules to replace bundled jars
This is kept separate from RPM to ease package development.
---
replacedeps.sh | 36 ++++++++++
replacerules.txt | 207 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 243 insertions(+), 0 deletions(-)
create mode 100644 replacedeps.sh
create mode 100644 replacerules.txt
diff --git a/replacedeps.sh b/replacedeps.sh
new file mode 100644
index 0000000..d905651
--- /dev/null
+++ b/replacedeps.sh
@@ -0,0 +1,36 @@
+set -e
+
+awk '/^[^ \t#]/ {jar=$0} /^\t[^#]/ {print jar; print $0}' |
+while read ORIG
+do
+ read LINE
+ LINE="$(eval "echo $LINE")"
+
+ NEW=
+ for ENTRY in $LINE
+ do
+ if [ "$ENTRY" != :erase ]
+ then
+ echo $ENTRY |grep -q ^/ || ENTRY=$(build-classpath $ENTRY)
+ [ -f "$ENTRY" ] || echo "Replacement for $ORIG not found"
+ [ -f "$ENTRY" ]
+ NEW="$NEW $ENTRY"
+ fi
+ done
+
+ [ "$1" = -v ] && echo "$ORIG ==> $NEW" >/dev/stderr
+
+ OPATH='jar://$PROJECT_DIR$/lib/'$ORIG'!/'
+ for FILE in $(grep -l "$OPATH" .idea/libraries/* java/compiler/impl/compiler-impl.iml)
+ do
+ NEWCONTENT=;
+ for NEWFILE in $NEW
+ do
+ NEWCONTENT="$NEWCONTENT $(sed -n "s|$OPATH|jar://$NEWFILE!/|p" $FILE)"
+ done
+ sed "s|.*$OPATH.*|$NEWCONTENT|" -i $FILE
+ sed '/:erase/d' -i $FILE
+ done
+
+ rm -rf lib/$ORIG
+done
diff --git a/replacerules.txt b/replacerules.txt
new file mode 100644
index 0000000..d7e09d9
--- /dev/null
+++ b/replacerules.txt
@@ -0,0 +1,207 @@
+# Rules for replacing bundled jars in IntelliJ IDEA source
+# Consumed by replacedeps.sh
+#
+# Entry format is:
+#
+# <original.jar> (as referenced in .idea/libraries/*.xml)
+# <tab># <comment> (ignored)
+# <tab>:erase (the reference is just removed)
+# <tab><replacement> (first expanded by shell. If it does not expand
+# to an absolute path, it is fed to build-classpath)
+
+commons-codec-1.3.jar
+ commons-codec
+
+commons-collections.jar
+ commons-collections
+
+commons-lang-2.4.jar
+ commons-lang
+
+commons-net-1.4.1.jar
+ jakarta-commons-net
+
+jaxen-1.1.1.jar
+ jaxen
+
+jdom.jar
+ jdom
+
+jgoodies-forms.jar
+ $(build-classpath jgoodies-forms 2>/dev/null || build-classpath forms)
+
+jna.jar
+ jna
+
+velocity.jar
+ velocity
+
+xerces.jar
+ xerces-j2
+
+xmlrpc-2.0.jar
+ $(build-classpath xmlrpc 2>/dev/null || build-classpath xmlrpc2)
+
+junit.jar
+ junit
+
+log4j.jar
+ log4j
+
+looks-2.2.2.jar
+ $(build-classpath jgoodies-looks 2>/dev/null || build-classpath looks)
+
+org.eclipse.jdt.core_3.4.4.v_894_R34x.jar
+ $(for F in /usr/{lib/eclipse/dropins/jdt,share/eclipse}/plugins/org.eclipse.jdt.core_*.jar; do [ -f $F ] && echo $F; done)
+
+asm.jar
+ objectweb-asm/asm
+
+asm-commons.jar
+ objectweb-asm/asm-commons
+
+
+groovy-all-1.6.3.jar
+ groovy
+
+jh.jar
+ javahelp2
+
+nanoxml-2.2.3.jar
+ nanoxml-2.2.3
+
+picocontainer.jar
+ # https://bugzilla.redhat.com/show_bug.cgi?id=252119 dead review
+ # http://hany.sk/mirror/jpackage/1.7/generic/free/SRPMS/picocontainer-1.3-1jpp.src.rpm
+ # http://hany.sk/mirror/jpackage/1.7/generic/free/RPMS/picocontainer-1.3-1jpp.noarch.rpm
+ # proxytoys dependency
+ picocontainer
+
+resolver.jar
+ xml-commons-resolver
+
+trove4j.jar
+ # Locally patched 1.0.2 fork
+ # gnu-trove from jpackage is not sufficient
+ $PWD/trove4j/trove4j.jar
+
+xbean.jar
+ xmlbeans/xbean
+
+xstream.jar
+ xstream
+
+junit-4.6.jar
+ # Need 4.6. 4.5, which is in rawhide is too old
+ junit4-4.6
+
+cglib-nodep-2.1_3.jar
+ cglib objectweb-asm/asm
+
+jsr173_1.0_api.jar
+ :erase
+
+dev/easymockclassextension.jar
+ :erase
+
+dev/easymock.jar
+ :erase
+
+dev/jmock-1.0.1.jar
+ :erase
+
+dev/jmock-cglib-1.0.1.jar
+ :erase
+
+microba.jar
+ microba
+
+oromatcher.jar
+ oro
+
+eawtstub.jar
+ # http://netbeans.sourcearchive.com/documentation/6.1/dir_058efec17710427ed803a9cbd4a5c4fa.html
+ # Separately packaged
+ $PWD/eawtstub/dist/eawtstub.jar
+
+jna-utils.jar
+ # The jna package needs to be patched!
+ jna-examples
+
+serviceMessages.jar
+ # From jetbrains, soruce included
+ # XXX: needs idea jars to build, we need to bootstrap somehow!
+
+dev/compilerapi.jar
+ # Needs s/DefaultFileManager/JavacFileManager/ change in OpenJDK 1.6.0
+ ../jvm/java/lib/tools
+
+# Directories
+src
+ :erase
+ant
+ :erase
+dev
+ :erase
+
+# ANT
+ant/lib/ant-apache-oro.jar
+ ant/ant-apache-oro
+ant/lib/ant-nodeps.jar
+ ant/ant-nodeps
+
+# These are in Fedora, but we don't seem to need them
+ant/lib/ant-apache-resolver.jar
+ :erase
+ant/lib/ant-commons-net.jar
+ :erase
+ant/lib/ant.jar
+ :erase
+ant/lib/ant-javamail.jar
+ :erase
+ant/lib/ant-junit.jar
+ :erase
+ant/lib/ant-antlr.jar
+ :erase
+ant/lib/ant-jsch.jar
+ :erase
+ant/lib/ant-jdepend.jar
+ :erase
+ant/lib/ant-apache-bsf.jar
+ :erase
+ant/lib/ant-swing.jar
+ :erase
+ant/lib/ant-apache-log4j.jar
+ :erase
+ant/lib/ant-apache-regexp.jar
+ :erase
+ant/lib/ant-commons-logging.jar
+ :erase
+ant/lib/ant-trax.jar
+ :erase
+ant/lib/ant-apache-bcel.jar
+ :erase
+
+# These don't seem to be in Fedora
+ant/lib/ant-jmf.jar
+ :erase
+ant/lib/ant-jai.jar
+ :erase
+ant/lib/ant-launcher.jar
+ :erase
+ant/lib/libraries.properties
+ :erase
+ant/lib/ant-testutil.jar
+ :erase
+ant/lib/ant-starteam.jar
+ :erase
+ant/lib/ant-weblogic.jar
+ :erase
+ant/lib/xml-apis.jar
+ :erase
+ant/lib/ant-stylebook.jar
+ :erase
+ant/lib/xercesImpl.jar
+ :erase
+ant/lib/ant-netrexx.jar
+ :erase
--
1.6.5.1