rpms/intellij-idea/devel 0001-Disable-svn-for-now.patch, NONE, 1.1 0001-Do-not-install-stuff-from-lib.patch, NONE, 1.1 0001-NotNull-annotations-cause-broken-bytecode-to-be-crea.patch, NONE, 1.1 0002-Make-groovy-plugin-build.patch, NONE, 1.1 0003-Make-it-build.patch, NONE, 1.1 0004-Make-it-build-with-cglib-2.2.patch, NONE, 1.1 0005-Rename-javac.util.DefaultFileManager-for-OpenJDK-1.6.patch, NONE, 1.1 0006-Scriptlet-and-rules-to-replace-bundled-jars.patch, NONE, 1.1 0007-Delete-unneeded-import-that-is-not-compatible-with-O.patch, NONE, 1.1 0008-Use-system-wide-installed-gant-ant-and-jps.patch, NONE, 1.1 0009-Chop-out-proxy-support-for-CVS-plugin.patch, NONE, 1.1 0010-Fix-build-of-svn-plugin-against-newer-svnkit.patch, NONE, 1.1 0011-Scriptlet-to-disable-certain-modules.patch, NONE, 1.1 intellij-idea-idea, NONE, 1.1 intellij-idea.desktop, NONE, 1.1 intellij-idea.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 sources, 1.1, 1.2

Lubomir Rintel lkundrak at fedoraproject.org
Tue Mar 23 08:03:41 UTC 2010


Author: lkundrak

Update of /cvs/pkgs/rpms/intellij-idea/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv17205

Modified Files:
	.cvsignore sources 
Added Files:
	0001-Disable-svn-for-now.patch 
	0001-Do-not-install-stuff-from-lib.patch 
	0001-NotNull-annotations-cause-broken-bytecode-to-be-crea.patch 
	0002-Make-groovy-plugin-build.patch 0003-Make-it-build.patch 
	0004-Make-it-build-with-cglib-2.2.patch 
	0005-Rename-javac.util.DefaultFileManager-for-OpenJDK-1.6.patch 
	0006-Scriptlet-and-rules-to-replace-bundled-jars.patch 
	0007-Delete-unneeded-import-that-is-not-compatible-with-O.patch 
	0008-Use-system-wide-installed-gant-ant-and-jps.patch 
	0009-Chop-out-proxy-support-for-CVS-plugin.patch 
	0010-Fix-build-of-svn-plugin-against-newer-svnkit.patch 
	0011-Scriptlet-to-disable-certain-modules.patch 
	intellij-idea-idea intellij-idea.desktop intellij-idea.spec 
Log Message:
Import IntelliJ IDEA for bootstrap

0001-Disable-svn-for-now.patch:
 build/scripts/layouts.gant |    6 +++---
 disablemodules.sh          |    3 +--
 2 files changed, 4 insertions(+), 5 deletions(-)

--- NEW FILE 0001-Disable-svn-for-now.patch ---
>From 15496437d7a2ad77ef74034f9302c02cf0045c09 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak at v3.sk>
Date: Thu, 25 Feb 2010 15:00:35 +0100
Subject: [PATCH] Disable svn for now

---
 build/scripts/layouts.gant |    6 +++---
 disablemodules.sh          |    2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/build/scripts/layouts.gant b/build/scripts/layouts.gant
index b9fd02e..6200910 100644
--- a/build/scripts/layouts.gant
+++ b/build/scripts/layouts.gant
@@ -173,9 +173,9 @@ def layoutFull(String home, String targetDirectory) {
         fileset(dir: "$home/plugins/git4idea/lib", excludes: "**/trilead-ssh2-src.zip")
       }
 
-      layoutPlugin("svn4idea") {
-        fileset(dir: "$home/plugins/svn4idea/lib", excludes: "**/svnkitsrc.zip")
-      }
+//      layoutPlugin("svn4idea") {
+//        fileset(dir: "$home/plugins/svn4idea/lib", excludes: "**/svnkitsrc.zip")
+//      }
 
 
       dir("junit") {
diff --git a/disablemodules.sh b/disablemodules.sh
index e0aaad2..db23e99 100644
--- a/disablemodules.sh
+++ b/disablemodules.sh
@@ -3,7 +3,7 @@
 #MODULES="jetgroovy jetgroovy-tests"	# groovy too new?
 #MODULES="$MODULES IntelliLangJava"	# depends on groovy
 #MODULES="$MODULES cvs-core cvs-plugin"	# patched trilead
-#MODULES="$MODULES svn4idea svn4idea-tests" # patched svnkit
+MODULES="$MODULES svn4idea svn4idea-tests" # patched svnkit
 MODULES="$MODULES maven"		# dependencies
 
 for M in $MODULES
-- 
1.6.6


0001-Do-not-install-stuff-from-lib.patch:
 layouts.gant |   31 +++++++++++++++----------------
 1 file changed, 15 insertions(+), 16 deletions(-)

--- NEW FILE 0001-Do-not-install-stuff-from-lib.patch ---
>From 33eec486ea1b2a0a70e03cff74d46a2a35c90bd7 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak at v3.sk>
Date: Fri, 30 Oct 2009 22:31:52 +0100
Subject: [PATCH 01/12] Do not install stuff from lib/

---
 build/scripts/layouts.gant |   30 +++++++++++++++---------------
 1 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/build/scripts/layouts.gant b/build/scripts/layouts.gant
index 2ef163e..436e09b 100644
--- a/build/scripts/layouts.gant
+++ b/build/scripts/layouts.gant
@@ -129,21 +129,21 @@ def layoutFull(String home, String targetDirectory) {
         module("notNull")
       }
 
-      fileset(dir: "$home/lib") {
-        include(name: "*.jar")
-        exclude(name: "eawtstub.jar")
-      }
-
-      fileset(dir: "$home/lib/src") {
-        include(name: "trove4j_changes.txt")
-        include(name: "trove4j_src.jar")
-      }
-
-      dir("ant") {
-        fileset(dir: "$home/lib/ant") {
-          exclude(name: "**/src/**")
-        }
-      }
+//      fileset(dir: "$home/lib") {
+//        include(name: "*.jar")
+//        exclude(name: "eawtstub.jar")
+//      }
+//
+//      fileset(dir: "$home/lib/src") {
+//        include(name: "trove4j_changes.txt")
+//        include(name: "trove4j_src.jar")
+//      }
+//
+//      dir("ant") {
+//        fileset(dir: "$home/lib/ant") {
+//          exclude(name: "**/src/**")
+//        }
+//      }
     }
 
     dir("plugins") {
-- 
1.6.6


0001-NotNull-annotations-cause-broken-bytecode-to-be-crea.patch:
 Javac2.java |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--- NEW FILE 0001-NotNull-annotations-cause-broken-bytecode-to-be-crea.patch ---
>From 3e70430cead1a055470865db3d7b2111fa5669e5 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak at v3.sk>
Date: Thu, 25 Feb 2010 14:53:00 +0100
Subject: [PATCH] NotNull annotations cause broken bytecode to be created (to be investigated)

---
 .../javac2/src/com/intellij/ant/Javac2.java        |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/java/compiler/javac2/src/com/intellij/ant/Javac2.java b/java/compiler/javac2/src/com/intellij/ant/Javac2.java
index 9566bc8..50a4baa 100644
--- a/java/compiler/javac2/src/com/intellij/ant/Javac2.java
+++ b/java/compiler/javac2/src/com/intellij/ant/Javac2.java
@@ -175,7 +175,9 @@ public class Javac2 extends Javac {
         if (areJavaClassesCompiled()) {
             super.compile();
         }
+	return;
 
+/*
         ClassLoader loader = buildClasspathClassLoader();
         if (loader == null) return;
         instrumentForms(loader);
@@ -183,6 +185,7 @@ public class Javac2 extends Javac {
         //NotNull instrumentation
         final int instrumented = instrumentNotNull(getDestdir(), loader);
         log("Added @NotNull assertions to " + instrumented + " files", Project.MSG_INFO);
+*/
     }
 
     /**
-- 
1.6.6


0002-Make-groovy-plugin-build.patch:
 GroovyEnhancerConsumer.groovy |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

--- NEW FILE 0002-Make-groovy-plugin-build.patch ---
>From 8c57f3333073b7a4186e46f181fe45446093f2ba Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak at v3.sk>
Date: Mon, 22 Feb 2010 21:34:12 +0100
Subject: [PATCH 02/12] Make groovy plugin build

---
 .../groovy/dsl/GroovyEnhancerConsumer.groovy       |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/GroovyEnhancerConsumer.groovy b/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/GroovyEnhancerConsumer.groovy
index 44c4a1e..c654481 100644
--- a/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/GroovyEnhancerConsumer.groovy
+++ b/plugins/groovy/src/org/jetbrains/plugins/groovy/dsl/GroovyEnhancerConsumer.groovy
@@ -5,6 +5,7 @@ package org.jetbrains.plugins.groovy.dsl
  */
 
 interface GroovyEnhancerConsumer {
-  @Delegate void property(String name, String type)
+  //@Delegate void property(String name, String type)
+  void property(String name, String type)
   void method(String name, String type, LinkedHashMap<String, String> parameters)
-}
\ No newline at end of file
+}
-- 
1.6.6


0003-Make-it-build.patch:
 GlobalJavaInspectionContextImpl.java |   11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

--- NEW FILE 0003-Make-it-build.patch ---
>From e0a93f3b75cf00d740244801f610801ef74ed3a7 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak at v3.sk>
Date: Thu, 29 Oct 2009 16:27:11 +0100
Subject: [PATCH 03/12] Make it build

---
 .../ex/GlobalJavaInspectionContextImpl.java        |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/java/java-impl/src/com/intellij/codeInspection/ex/GlobalJavaInspectionContextImpl.java b/java/java-impl/src/com/intellij/codeInspection/ex/GlobalJavaInspectionContextImpl.java
index 1c146d8..932064d 100644
--- a/java/java-impl/src/com/intellij/codeInspection/ex/GlobalJavaInspectionContextImpl.java
+++ b/java/java-impl/src/com/intellij/codeInspection/ex/GlobalJavaInspectionContextImpl.java
@@ -219,8 +219,8 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext
         ));
 
         final List<DerivedClassesProcessor> processors = myDerivedClassesRequests.get(sortedID);
-        ClassInheritorsSearch.search(psiClass, searchScope, false)
-          .forEach(createMembersProcessor(processors, scope));
+//        ClassInheritorsSearch.search(psiClass, searchScope, false)
+//          .forEach(createMembersProcessor(processors, scope));
       }
 
       myDerivedClassesRequests = null;
@@ -236,8 +236,8 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext
           .incrementJobDoneAmount(GlobalInspectionContextImpl.FIND_EXTERNAL_USAGES, refManager.getQualifiedName(refMethod));
 
         final List<DerivedMethodsProcessor> processors = myDerivedMethodsRequests.get(sortedID);
-        OverridingMethodsSearch.search(psiMethod, searchScope, true)
-          .forEach(createMembersProcessor(processors, scope));
+//        OverridingMethodsSearch.search(psiMethod, searchScope, true)
+//          .forEach(createMembersProcessor(processors, scope));
       }
 
       myDerivedMethodsRequests = null;
@@ -423,4 +423,4 @@ public class GlobalJavaInspectionContextImpl extends GlobalJavaInspectionContext
     while (!needRepeatSearchRequest.isEmpty());
   }
 
-}
\ No newline at end of file
+}
-- 
1.6.6


0004-Make-it-build-with-cglib-2.2.patch:
 com/intellij/util/InstanceofCheckerGeneratorImpl.java |   13 +++---
 net/sf/cglib/core/AbstractClassGenerator.java         |    2 
 net/sf/cglib/proxy/AdvancedEnhancer.java              |   39 ++++++++----------
 3 files changed, 27 insertions(+), 27 deletions(-)

--- NEW FILE 0004-Make-it-build-with-cglib-2.2.patch ---
>From be6bfea8b5bb7942f3658d1369f55ac4bd2de9e2 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak at v3.sk>
Date: Tue, 10 Nov 2009 10:18:03 +0100
Subject: [PATCH 04/12] Make it build with cglib-2.2

Change cglib-2.1.3 specific constructions and replace references to asm
that was bundled with cglib-nodeps with objectweb asm class names.
---
 .../util/InstanceofCheckerGeneratorImpl.java       |   13 ++++---
 .../net/sf/cglib/core/AbstractClassGenerator.java  |    2 +-
 .../src/net/sf/cglib/proxy/AdvancedEnhancer.java   |   38 ++++++++++----------
 3 files changed, 27 insertions(+), 26 deletions(-)

diff --git a/platform/platform-impl/src/com/intellij/util/InstanceofCheckerGeneratorImpl.java b/platform/platform-impl/src/com/intellij/util/InstanceofCheckerGeneratorImpl.java
index 48a8ac2..ca512ad 100644
--- a/platform/platform-impl/src/com/intellij/util/InstanceofCheckerGeneratorImpl.java
+++ b/platform/platform-impl/src/com/intellij/util/InstanceofCheckerGeneratorImpl.java
@@ -17,9 +17,9 @@ package com.intellij.util;
 
 import com.intellij.openapi.util.Condition;
 import com.intellij.util.containers.ConcurrentFactoryMap;
-import net.sf.cglib.asm.ClassVisitor;
-import net.sf.cglib.asm.Label;
-import net.sf.cglib.asm.Type;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.Label;
+import org.objectweb.asm.Type;
 import net.sf.cglib.core.*;
 
 import java.lang.reflect.Modifier;
@@ -82,16 +82,17 @@ public class InstanceofCheckerGeneratorImpl extends InstanceofCheckerGenerator {
     public void generateClass(ClassVisitor classVisitor) throws Exception {
       ClassEmitter cv = new ClassEmitter(classVisitor);
 
-      cv.visit(Constants.V1_2, Modifier.PUBLIC, "com/intellij/util/InstanceofChecker$$$$$" + myCheckedClass.getName().replace('.', '$'), toInternalName(Object.class), new String[]{toInternalName(Condition.class)}, Constants.SOURCE_FILE);
+      cv.visit(Constants.V1_2, Modifier.PUBLIC, "com/intellij/util/InstanceofChecker$$$$$" + myCheckedClass.getName().replace('.', '$'), null, toInternalName(Object.class), new String[]{toInternalName(Condition.class)});
+      cv.visitSource(Constants.SOURCE_FILE, null);
       final Signature signature = new Signature("<init>", "()V");
-      final CodeEmitter cons = cv.begin_method(Modifier.PUBLIC, signature, new Type[0], null);
+      final CodeEmitter cons = cv.begin_method(Modifier.PUBLIC, signature, new Type[0]);
       cons.load_this();
       cons.dup();
       cons.super_invoke_constructor(signature);
       cons.return_value();
       cons.end_method();
 
-      final CodeEmitter e = cv.begin_method(Modifier.PUBLIC, new Signature("value", "(L" + toInternalName(Object.class) + ";)Z"), new Type[0], null);
+      final CodeEmitter e = cv.begin_method(Modifier.PUBLIC, new Signature("value", "(L" + toInternalName(Object.class) + ";)Z"), new Type[0]);
       e.load_arg(0);
       e.instance_of(Type.getType(myCheckedClass));
 
diff --git a/platform/platform-impl/src/net/sf/cglib/core/AbstractClassGenerator.java b/platform/platform-impl/src/net/sf/cglib/core/AbstractClassGenerator.java
index edee29c..9f2bbc1 100644
--- a/platform/platform-impl/src/net/sf/cglib/core/AbstractClassGenerator.java
+++ b/platform/platform-impl/src/net/sf/cglib/core/AbstractClassGenerator.java
@@ -15,7 +15,7 @@
  */
 package net.sf.cglib.core;
 
-import net.sf.cglib.asm.ClassReader;
+import org.objectweb.asm.ClassReader;
 
 import java.lang.ref.Reference;
 import java.lang.ref.WeakReference;
diff --git a/platform/platform-impl/src/net/sf/cglib/proxy/AdvancedEnhancer.java b/platform/platform-impl/src/net/sf/cglib/proxy/AdvancedEnhancer.java
index b2c4ef7..3400112 100644
--- a/platform/platform-impl/src/net/sf/cglib/proxy/AdvancedEnhancer.java
+++ b/platform/platform-impl/src/net/sf/cglib/proxy/AdvancedEnhancer.java
@@ -18,9 +18,9 @@ package net.sf.cglib.proxy;
 import com.intellij.ide.plugins.PluginManager;
 import com.intellij.ide.plugins.cl.PluginClassLoader;
 import com.intellij.util.ReflectionCache;
-import net.sf.cglib.asm.ClassVisitor;
-import net.sf.cglib.asm.Label;
-import net.sf.cglib.asm.Type;
+import org.objectweb.asm.ClassVisitor;
+import org.objectweb.asm.Label;
+import org.objectweb.asm.Type;
 import net.sf.cglib.core.*;
 
 import java.lang.reflect.Constructor;
@@ -505,18 +505,18 @@ public class AdvancedEnhancer extends AbstractClassGenerator
                   Constants.SOURCE_FILE);
     List constructorInfo = CollectionUtils.transform(constructors, MethodInfoTransformer.getInstance());
 
-    e.declare_field(Constants.ACC_PRIVATE, BOUND_FIELD, Type.BOOLEAN_TYPE, null, null);
+    e.declare_field(Constants.ACC_PRIVATE, BOUND_FIELD, Type.BOOLEAN_TYPE, null);
     if (!interceptDuringConstruction) {
-      e.declare_field(Constants.ACC_PRIVATE, CONSTRUCTED_FIELD, Type.BOOLEAN_TYPE, null, null);
+      e.declare_field(Constants.ACC_PRIVATE, CONSTRUCTED_FIELD, Type.BOOLEAN_TYPE, null);
     }
-    e.declare_field(Constants.PRIVATE_FINAL_STATIC, THREAD_CALLBACKS_FIELD, THREAD_LOCAL, null, null);
-    e.declare_field(Constants.PRIVATE_FINAL_STATIC, STATIC_CALLBACKS_FIELD, CALLBACK_ARRAY, null, null);
+    e.declare_field(Constants.PRIVATE_FINAL_STATIC, THREAD_CALLBACKS_FIELD, THREAD_LOCAL, null);
+    e.declare_field(Constants.PRIVATE_FINAL_STATIC, STATIC_CALLBACKS_FIELD, CALLBACK_ARRAY, null);
     if (serialVersionUID != null) {
-      e.declare_field(Constants.PRIVATE_FINAL_STATIC, Constants.SUID_FIELD_NAME, Type.LONG_TYPE, serialVersionUID, null);
+      e.declare_field(Constants.PRIVATE_FINAL_STATIC, Constants.SUID_FIELD_NAME, Type.LONG_TYPE, serialVersionUID);
     }
 
     for (int i = 0; i < callbackTypes.length; i++) {
-      e.declare_field(Constants.ACC_PRIVATE, getCallbackField(i), callbackTypes[i], null, null);
+      e.declare_field(Constants.ACC_PRIVATE, getCallbackField(i), callbackTypes[i], null);
     }
     final Map<Method, MethodInfo> methodInfoMap = new HashMap<Method, MethodInfo>();
     for (Method method : actualMethods) {
@@ -792,7 +792,7 @@ public class AdvancedEnhancer extends AbstractClassGenerator
   }
 
   private void emitGetCallback(ClassEmitter ce, int[] keys) {
-    final CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, GET_CALLBACK, null, null);
+    final CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, GET_CALLBACK, null);
     e.load_this();
     e.invoke_static_this(BIND_CALLBACKS);
     e.load_this();
@@ -812,7 +812,7 @@ public class AdvancedEnhancer extends AbstractClassGenerator
   }
 
   private void emitSetCallback(ClassEmitter ce, int[] keys) {
-    final CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, SET_CALLBACK, null, null);
+    final CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, SET_CALLBACK, null);
     e.load_this();
     e.load_arg(1);
     e.load_arg(0);
@@ -835,7 +835,7 @@ public class AdvancedEnhancer extends AbstractClassGenerator
   }
 
   private void emitSetCallbacks(ClassEmitter ce) {
-    CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, SET_CALLBACKS, null, null);
+    CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, SET_CALLBACKS, null);
     e.load_this();
     e.load_arg(0);
     for (int i = 0; i < callbackTypes.length; i++) {
@@ -849,7 +849,7 @@ public class AdvancedEnhancer extends AbstractClassGenerator
   }
 
   private void emitGetCallbacks(ClassEmitter ce) {
-    CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, GET_CALLBACKS, null, null);
+    CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, GET_CALLBACKS, null);
     e.load_this();
     e.invoke_static_this(BIND_CALLBACKS);
     e.load_this();
@@ -867,7 +867,7 @@ public class AdvancedEnhancer extends AbstractClassGenerator
   }
 
   private void emitNewInstanceCallbacks(ClassEmitter ce) {
-    CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, NEW_INSTANCE, null, null);
+    CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, NEW_INSTANCE, null);
     e.load_arg(0);
     e.invoke_static_this(SET_THREAD_CALLBACKS);
     emitCommonNewInstance(e);
@@ -884,7 +884,7 @@ public class AdvancedEnhancer extends AbstractClassGenerator
   }
 
   private void emitNewInstanceCallback(ClassEmitter ce) {
-    CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, SINGLE_NEW_INSTANCE, null, null);
+    CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, SINGLE_NEW_INSTANCE, null);
     switch (callbackTypes.length) {
       case 0:
         // TODO: make sure Callback is null
@@ -906,7 +906,7 @@ public class AdvancedEnhancer extends AbstractClassGenerator
   }
 
   private void emitNewInstanceMultiarg(ClassEmitter ce, List constructors) {
-    final CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, MULTIARG_NEW_INSTANCE, null, null);
+    final CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC, MULTIARG_NEW_INSTANCE, null);
     e.load_arg(2);
     e.invoke_static_this(SET_THREAD_CALLBACKS);
     e.new_instance_this();
@@ -974,6 +974,9 @@ public class AdvancedEnhancer extends AbstractClassGenerator
     se.putfield(THREAD_CALLBACKS_FIELD);
 
     CallbackGenerator.Context context = new CallbackGenerator.Context() {
+      public ClassLoader getClassLoader() {
+  	return AdvancedEnhancer.this.getClassLoader();
+      }
       public int getOriginalModifiers(MethodInfo method) {
         return originalModifiers.get(method);
       }
@@ -1028,7 +1031,6 @@ public class AdvancedEnhancer extends AbstractClassGenerator
   private void emitSetThreadCallbacks(ClassEmitter ce) {
     CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC | Constants.ACC_STATIC,
                                     SET_THREAD_CALLBACKS,
-                                    null,
                                     null);
     e.getfield(THREAD_CALLBACKS_FIELD);
     e.load_arg(0);
@@ -1040,7 +1042,6 @@ public class AdvancedEnhancer extends AbstractClassGenerator
   private void emitSetStaticCallbacks(ClassEmitter ce) {
     CodeEmitter e = ce.begin_method(Constants.ACC_PUBLIC | Constants.ACC_STATIC,
                                     SET_STATIC_CALLBACKS,
-                                    null,
                                     null);
     e.load_arg(0);
     e.putfield(STATIC_CALLBACKS_FIELD);
@@ -1065,7 +1066,6 @@ public class AdvancedEnhancer extends AbstractClassGenerator
   private void emitBindCallbacks(ClassEmitter ce) {
     CodeEmitter e = ce.begin_method(Constants.PRIVATE_FINAL_STATIC,
                                     BIND_CALLBACKS,
-                                    null,
                                     null);
     Local me = e.make_local();
     e.load_arg(0);
-- 
1.6.6


0005-Rename-javac.util.DefaultFileManager-for-OpenJDK-1.6.patch:
 MyFileManager.java |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

--- NEW FILE 0005-Rename-javac.util.DefaultFileManager-for-OpenJDK-1.6.patch ---
>From b0b068458b123c72aadb8e2f5b08451ea9147253 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak at v3.sk>
Date: Fri, 30 Oct 2009 19:06:58 +0100
Subject: [PATCH 05/12] Rename javac.util.DefaultFileManager for OpenJDK 1.6.0

MyFileManager.java:25: cannot find symbol
symbol  : class DefaultFileManager
location: package com.sun.tools.javac.util
    import com.sun.tools.javac.util.DefaultFileManager;
---
 .../impl/javaCompiler/api/MyFileManager.java       |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/api/MyFileManager.java b/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/api/MyFileManager.java
index 166145e..8b488dc 100644
--- a/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/api/MyFileManager.java
+++ b/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/api/MyFileManager.java
@@ -23,7 +23,7 @@ import com.intellij.openapi.vfs.LocalFileSystem;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.SmartList;
 import com.sun.tools.javac.util.Context;
-import com.sun.tools.javac.util.DefaultFileManager;
+import com.sun.tools.javac.util.JavacFileManager;
 import gnu.trove.THashSet;
 import gnu.trove.TObjectHashingStrategy;
 
@@ -37,7 +37,7 @@ import java.util.*;
 * @author cdr
 */
 @SuppressWarnings({"Since15"})
-class MyFileManager extends DefaultFileManager {
+class MyFileManager extends JavacFileManager {
   private static final Logger LOG = Logger.getInstance("#com.intellij.compiler.impl.javaCompiler.api.MyFileManager");
 
   private final String myOutputDir;
-- 
1.6.6


0006-Scriptlet-and-rules-to-replace-bundled-jars.patch:
 replacedeps.sh   |   40 +++++++
 replacerules.txt |  295 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 334 insertions(+), 1 deletion(-)

--- NEW FILE 0006-Scriptlet-and-rules-to-replace-bundled-jars.patch ---
>From 09798b964e5e76ffa62c6e5fd45f97a21dbf6c09 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak at v3.sk>
Date: Sat, 31 Oct 2009 12:02:57 +0100
Subject: [PATCH 06/12] Scriptlet and rules to replace bundled jars

This is kept separate from RPM to ease package development.
This is in a separate file and not in RPM scriptlet to ease the package
development.
---
 replacedeps.sh   |   40 ++++++++
 replacerules.txt |  294 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 334 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..8153a76
--- /dev/null
+++ b/replacedeps.sh
@@ -0,0 +1,40 @@
+set -e
+
+IMLS="$(find -name '*.iml')"
+
+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'!/'
+	ORIG_BASE="$(echo "$ORIG" |sed 's,plugins/[^/]*/,,')"
+	OPATH='jar://[^"]*/'$ORIG_BASE'!/'
+	for FILE in $(grep -l "$OPATH" .idea/libraries/* $IMLS)
+	do
+		NEWCONTENT=;
+		for NEWFILE in $NEW
+		do
+			NEWCONTENT="$NEWCONTENT $(sed -n "s|$OPATH|jar://$NEWFILE!/|p" $FILE |head -1)"
+		done
+		sed "s|.*$OPATH.*|$NEWCONTENT|" -i $FILE
+		sed '/:erase/d' -i $FILE
+	done
+
+	rm -rf $ORIG
+done
diff --git a/replacerules.txt b/replacerules.txt
new file mode 100644
index 0000000..7145f92
--- /dev/null
+++ b/replacerules.txt
@@ -0,0 +1,294 @@
+# 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)
+
+lib/commons-codec-1.3.jar
+	commons-codec
+
+lib/commons-collections.jar
+	commons-collections
+
+lib/commons-lang-2.4.jar
+	commons-lang
+
+lib/commons-net-1.4.1.jar
+	jakarta-commons-net
+
+lib/jaxen-1.1.1.jar
+	jaxen
+
+lib/jdom.jar
+	jdom
+
+lib/jgoodies-forms.jar
+	jgoodies-forms
+
+lib/jna.jar
+	jna
+
+lib/velocity.jar
+	velocity
+
+lib/xerces.jar
+	xerces-j2
+
+lib/xmlrpc-2.0.jar
+	xmlrpc
+
+lib/junit.jar
+	junit
+
+lib/log4j.jar
+	log4j
+
+lib/looks-2.2.2.jar
+	jgoodies-looks
+
+lib/org.eclipse.jdt.core_3.4.4.v_894_R34x.jar
+	/usr/lib*/eclipse/dropins/jdt/plugins/org.eclipse.jdt.core_*.jar
+
+lib/asm.jar
+	objectweb-asm/asm
+
+lib/asm-commons.jar
+	objectweb-asm/asm-commons
+
+
+lib/groovy-all-1.6.3.jar
+	groovy
+
+lib/jh.jar
+	javahelp2
+
+lib/nanoxml-2.2.3.jar
+	nanoxml-2.2.3
+
+lib/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
+
+lib/resolver.jar
+	xml-commons-resolver
+
+lib/trove4j.jar
+	# Locally patched 1.0.2 fork
+	# gnu-trove from jpackage is not sufficient
+	$PWD/trove4j/trove4j.jar
+
+lib/xbean.jar
+	xmlbeans/xbean
+
+lib/xstream.jar
+	xstream
+
+lib/junit-4.6.jar
+	# Need 4.6. 4.5, which is in rawhide is too old
+	junit4-4.6
+
+lib/cglib-nodep-2.1_3.jar
+	cglib objectweb-asm/asm
+
+lib/jsr173_1.0_api.jar
+	:erase
+
+lib/dev/easymockclassextension.jar
+	:erase
+
+lib/dev/easymock.jar
+	:erase
+
+lib/dev/jmock-1.0.1.jar
+	:erase
+
+lib/dev/jmock-cglib-1.0.1.jar
+	:erase
+
+lib/microba.jar
+	microba
+
+lib/oromatcher.jar
+	oro
+
+lib/eawtstub.jar
+	# http://netbeans.sourcearchive.com/documentation/6.1/dir_058efec17710427ed803a9cbd4a5c4fa.html
+	# Separately packaged
+	$PWD/eawtstub/dist/eawtstub.jar
+
+lib/jna-utils.jar
+	# The jna package needs to be patched!
+	jna-examples
+
+lib/serviceMessages.jar
+	# From jetbrains, soruce included
+	# XXX: needs idea jars to build, we need to bootstrap somehow!
+	
+lib/dev/compilerapi.jar
+	# Needs s/DefaultFileManager/JavacFileManager/ change in OpenJDK 1.6.0
+	../jvm/java/lib/tools
+
+# Directories
+lib/src
+	:erase
+lib/ant
+	:erase
+lib/dev
+	:erase
+
+# ANT
+lib/ant/lib/ant-apache-oro.jar
+	ant/ant-apache-oro
+lib/ant/lib/ant-nodeps.jar
+	ant/ant-nodeps
+
+# These are in Fedora, but we don't seem to need them
+lib/ant/lib/ant-apache-resolver.jar
+	:erase
+lib/ant/lib/ant-commons-net.jar
+	:erase
+lib/ant/lib/ant.jar
+	:erase
+lib/ant/lib/ant-javamail.jar
+	:erase
+lib/ant/lib/ant-junit.jar
+	:erase
+lib/ant/lib/ant-antlr.jar
+	:erase
+lib/ant/lib/ant-jsch.jar
+	:erase
+lib/ant/lib/ant-jdepend.jar
+	:erase
+lib/ant/lib/ant-apache-bsf.jar
+	:erase
+lib/ant/lib/ant-swing.jar
+	:erase
+lib/ant/lib/ant-apache-log4j.jar
+	:erase
+lib/ant/lib/ant-apache-regexp.jar
+	:erase
+lib/ant/lib/ant-commons-logging.jar
+	:erase
+lib/ant/lib/ant-trax.jar
+	:erase
+lib/ant/lib/ant-apache-bcel.jar
+	:erase
+
+# These don't seem to be in Fedora
+lib/ant/lib/ant-jmf.jar
+	:erase
+lib/ant/lib/ant-jai.jar
+	:erase
+lib/ant/lib/ant-launcher.jar
+	:erase
+lib/ant/lib/libraries.properties
+	:erase
+lib/ant/lib/ant-testutil.jar
+	:erase
+lib/ant/lib/ant-starteam.jar
+	:erase
+lib/ant/lib/ant-weblogic.jar
+	:erase
+lib/ant/lib/xml-apis.jar
+	:erase
+lib/ant/lib/ant-stylebook.jar
+	:erase
+lib/ant/lib/xercesImpl.jar
+	:erase
+lib/ant/lib/ant-netrexx.jar
+	:erase
+
+# Modules
+
+# svn4idea
+
+# does this exist?
+lib/ganymed.jar
+	ganymed-ssh2
+
+plugins/svn4idea/lib/svnkit.jar
+	svnkit svnkit-javahl
+	
+plugins/svn4idea/lib/trilead.jar
+	trilead-ssh2
+
+plugins/svn4idea/lib/jna.jar
+	jna
+
+# testng
+
+plugins/testng/lib/testng-jdk14.jar
+	:erase
+
+plugins/testng/lib/testng-jdk15.jar
+	testng
+
+# maven (TODO!)
+
+plugins/maven/lib/archetype-common-2.0-alpha-4-SNAPSHOT.jar
+	:erase
+
+plugins/maven/lib/classworlds-1.1.jar
+	classworlds
+
+plugins/maven/lib/commons-beanutils.jar
+	commons-beanutils
+
+plugins/maven/lib/commons-logging-1.1.1.jar
+	commons-logging
+
+plugins/maven/lib/lucene-core-2.3.0.jar
+	lucene
+
+plugins/maven/lib/maven-2.2.0-uber.jar
+	:erase
+
+plugins/maven/lib/maven-embedder-idea-2.1.jar
+	:erase
+
+plugins/maven/lib/mercury-artifact-1.0-alpha-6.jar
+	mercury/artifact
+	
+plugins/maven/lib/nexus-indexer-1.0.0-SNAPSHOT.jar
+	:erase
+
+plugins/maven/lib/nexus-indexer-1.2.3.jar
+	:erase
+
+plugins/maven/lib/plexus-digest-1.1.jar
+	plexus/digest
+
+plugins/maven/lib/plexus-utils-1.5.1.jar
+	plexus/utils
+
+plugins/maven/lib/plexus-utils-1.5.5.jar
+	plexus/utils
+
+# cvs
+
+plugins/cvs/lib/trilead-ssh2-build213.jar
+	trilead-ssh2
+
+# git4idea
+
+plugins/git4idea/lib/trilead-ssh2.jar
+	trilead-ssh2
+
+# groovy
+
+plugins/groovy/lib/gradle-open-api-0.8.jar
+	gradle-open-api
+
+plugins/spellchecker/lib/patricia-trie-0.1.jar
+	patricia-trie
+
+plugins/spellchecker/lib/jazzy-core.jar
+	jazzy/jazzy-core
-- 
1.6.6


0007-Delete-unneeded-import-that-is-not-compatible-with-O.patch:
 SpellCheckerManager.java |    2 --
 1 file changed, 2 deletions(-)

--- NEW FILE 0007-Delete-unneeded-import-that-is-not-compatible-with-O.patch ---
>From eb5ec927a0eb15ff3e48c48a24dcff71ae85392e Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak at v3.sk>
Date: Tue, 16 Feb 2010 14:39:10 +0100
Subject: [PATCH 07/12] Delete unneeded import that is not compatible with OpenJDK

---
 .../intellij/spellchecker/SpellCheckerManager.java |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/plugins/spellchecker/src/com/intellij/spellchecker/SpellCheckerManager.java b/plugins/spellchecker/src/com/intellij/spellchecker/SpellCheckerManager.java
index 6301354..7e21685 100644
--- a/plugins/spellchecker/src/com/intellij/spellchecker/SpellCheckerManager.java
+++ b/plugins/spellchecker/src/com/intellij/spellchecker/SpellCheckerManager.java
@@ -33,7 +33,6 @@ import com.intellij.spellchecker.state.StateLoader;
 import com.intellij.spellchecker.util.SPFileUtil;
 import com.intellij.spellchecker.util.Strings;
 import com.intellij.util.Consumer;
-import com.sun.net.ssl.internal.ssl.SSLEngineImpl;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
-- 
1.6.6


0008-Use-system-wide-installed-gant-ant-and-jps.patch:
 build.xml      |   22 +++++++++++++++-------
 build/gant.xml |    5 -----
 2 files changed, 15 insertions(+), 12 deletions(-)

--- NEW FILE 0008-Use-system-wide-installed-gant-ant-and-jps.patch ---
>From ea8687536a5e45a9632be7ae97b8484792373e0c Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak at v3.sk>
Date: Mon, 23 Nov 2009 20:31:37 +0100
Subject: [PATCH 08/12] Use system-wide installed gant, ant and jps

We removed them anyway.
---
 build.xml      |   22 +++++++++++++++-------
 build/gant.xml |    4 ----
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/build.xml b/build.xml
index a3ccb87..bf8894f 100644
--- a/build.xml
+++ b/build.xml
@@ -19,15 +19,23 @@
         <jvmarg line="&quot;-Dgant.script=@{script}&quot;"/>
 
         <classpath>
-          <fileset dir="${project.home}/lib/ant/lib">
-            <include name="*.jar"/>
-          </fileset>
-          <pathelement location="${project.home}/build/lib/gant_patches.jar"/>
-          <fileset dir="${gant.home}/lib">
-            <include name="*.jar"/>
-          </fileset>
+          <pathelement location="/usr/share/java/gant.jar"/>
+          <pathelement location="/usr/share/java/ant.jar"/>
+          <pathelement location="/usr/share/java/ant-launcher.jar"/>
+          <pathelement location="/usr/share/java/groovy.jar"/>
+          <pathelement location="/usr/share/java/objectweb-asm/asm.jar"/>
+          <pathelement location="/usr/share/java/antlr.jar"/>
+          <pathelement location="/usr/share/java/commons-cli.jar"/>
+          <pathelement location="/usr/share/java/jgoodies-forms.jar"/>
+          <pathelement location="/usr/share/java/jdom.jar"/>
+          <pathelement location="/usr/share/java/objectweb-asm/asm-commons.jar"/>
+          <pathelement location="/usr/share/java/idea/javac2.jar"/>
+          <pathelement location="/usr/share/java/jps/jps.jar"/>
+          <pathelement location="/usr/share/java/jps/gant_patches.jar"/>
         </classpath>
 
+        <arg value="-d"/>
+        <arg value="-v"/>
         <arg value="-f"/>
         <arg value="${project.home}/build/gant.xml"/>
       </java>
diff --git a/build/gant.xml b/build/gant.xml
index 01c3701..23122f5 100644
--- a/build/gant.xml
+++ b/build/gant.xml
@@ -4,10 +4,6 @@
   <property name="gant.home" value="${project.home}/build/lib/gant"/>
 
   <path id="gant.classpath">
-    <pathelement location="${project.home}/build/lib/gant_patches.jar"/>
-    <fileset dir="${gant.home}/lib">
-      <include name="*.jar"/>
-    </fileset>
   </path>
 
   <taskdef name="gant" classname="org.codehaus.gant.ant.Gant">
-- 
1.6.6


0009-Chop-out-proxy-support-for-CVS-plugin.patch:
 SocksProxyData.java     |    5 +++--
 SshConnectionUtils.java |    5 +++--
 SshProxyFactory.java    |   12 ++++++------
 3 files changed, 12 insertions(+), 10 deletions(-)

--- NEW FILE 0009-Chop-out-proxy-support-for-CVS-plugin.patch ---
>From 23d6b4d49ad51f058f179bdffe6cb960aa6ed757 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak at v3.sk>
Date: Tue, 23 Feb 2010 22:13:32 +0100
Subject: [PATCH 09/12] Chop out proxy support for CVS plugin

It needs patched trilead-ssh2 for which source can't be found.
Requested from upstream.
---
 .../connections/ssh/SocksProxyData.java            |    5 +++--
 .../connections/ssh/SshConnectionUtils.java        |    5 +++--
 .../connections/ssh/SshProxyFactory.java           |   11 ++++++-----
 3 files changed, 12 insertions(+), 9 deletions(-)

diff --git a/plugins/cvs/cvs-core/src/com/intellij/cvsSupport2/connections/ssh/SocksProxyData.java b/plugins/cvs/cvs-core/src/com/intellij/cvsSupport2/connections/ssh/SocksProxyData.java
index af0bd4b..eb6172b 100644
--- a/plugins/cvs/cvs-core/src/com/intellij/cvsSupport2/connections/ssh/SocksProxyData.java
+++ b/plugins/cvs/cvs-core/src/com/intellij/cvsSupport2/connections/ssh/SocksProxyData.java
@@ -15,7 +15,7 @@
  */
 package com.intellij.cvsSupport2.connections.ssh;
 
-import com.trilead.ssh2.SelfConnectionProxyData;
+//import com.trilead.ssh2.SelfConnectionProxyData;
 import org.netbeans.lib.cvsclient.connection.ConnectionSettings;
 
 import java.io.IOException;
@@ -23,6 +23,7 @@ import java.net.InetSocketAddress;
 import java.net.Proxy;
 import java.net.Socket;
 
+/*
 public class SocksProxyData implements SelfConnectionProxyData {
   private final ConnectionSettings mySettings;
 
@@ -39,4 +40,4 @@ public class SocksProxyData implements SelfConnectionProxyData {
     socket.setSoTimeout(0);
     return socket;
   }
-}
+}*/
diff --git a/plugins/cvs/cvs-core/src/com/intellij/cvsSupport2/connections/ssh/SshConnectionUtils.java b/plugins/cvs/cvs-core/src/com/intellij/cvsSupport2/connections/ssh/SshConnectionUtils.java
index 4e966b2..526b305 100644
--- a/plugins/cvs/cvs-core/src/com/intellij/cvsSupport2/connections/ssh/SshConnectionUtils.java
+++ b/plugins/cvs/cvs-core/src/com/intellij/cvsSupport2/connections/ssh/SshConnectionUtils.java
@@ -46,7 +46,8 @@ public class SshConnectionUtils {
   }
 
   public static boolean connectionSupportsPing(final Connection connection) {
-    final ClientServerHello csh = connection.getClientServerHello();
-    return (csh != null) && (csh.getServerString() != null) && (new String(csh.getServerString()).contains("OpenSSH"));
+      return (false);
+//    final ClientServerHello csh = connection.getClientServerHello();
+//    return (csh != null) && (csh.getServerString() != null) && (new String(csh.getServerString()).contains("OpenSSH"));
   }
 }
diff --git a/plugins/cvs/cvs-core/src/com/intellij/cvsSupport2/connections/ssh/SshProxyFactory.java b/plugins/cvs/cvs-core/src/com/intellij/cvsSupport2/connections/ssh/SshProxyFactory.java
index 02611b0..e40282c 100644
--- a/plugins/cvs/cvs-core/src/com/intellij/cvsSupport2/connections/ssh/SshProxyFactory.java
+++ b/plugins/cvs/cvs-core/src/com/intellij/cvsSupport2/connections/ssh/SshProxyFactory.java
@@ -18,7 +18,7 @@ package com.intellij.cvsSupport2.connections.ssh;
 import com.intellij.cvsSupport2.config.ProxySettings;
 import com.trilead.ssh2.HTTPProxyData;
 import com.trilead.ssh2.ProxyData;
-import com.trilead.ssh2.transport.SocketFactory;
+//import com.trilead.ssh2.transport.SocketFactory;
 import org.jetbrains.annotations.Nullable;
 import org.netbeans.lib.cvsclient.connection.ConnectionSettings;
 
@@ -35,8 +35,8 @@ public class SshProxyFactory {
     if (! connectionSettings.isUseProxy()) return null;
     final int type = connectionSettings.getProxyType();
     if ((ProxySettings.SOCKS4 == type) || (ProxySettings.SOCKS5 == type)) {
-      result = new SocksProxyData(connectionSettings);
-      SocksAuthenticatorManager.getInstance().register(connectionSettings);
+      //result = new SocksProxyData(connectionSettings);
+      //SocksAuthenticatorManager.getInstance().register(connectionSettings);
     } else if (ProxySettings.HTTP == type) {
       /*String proxyHost, int proxyPort, String proxyUser, String proxyPass*/
       result = new HTTPProxyData(connectionSettings.getProxyHostName(), connectionSettings.getProxyPort(),
@@ -46,7 +46,8 @@ public class SshProxyFactory {
   }
 
   public static Socket createSocket(final ConnectionSettings connectionSettings) throws IOException {
-      return SocketFactory.open(connectionSettings.getHostName(), connectionSettings.getPort(), createAndRegister(connectionSettings),
-                         connectionSettings.getConnectionTimeout());
+	return null;
+//      return SocketFactory.open(connectionSettings.getHostName(), connectionSettings.getPort(), createAndRegister(connectionSettings),
+//                         connectionSettings.getConnectionTimeout());
   }
 }
-- 
1.6.6


0010-Fix-build-of-svn-plugin-against-newer-svnkit.patch:
 SvnAuthenticationManager.java |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- NEW FILE 0010-Fix-build-of-svn-plugin-against-newer-svnkit.patch ---
>From 98cb64ff085173b7f5d08fb8e827282d8e406ca4 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak at v3.sk>
Date: Tue, 23 Feb 2010 22:41:40 +0100
Subject: [PATCH 10/12] Fix build of svn plugin against newer svnkit

SVNKit commit 5992 slightly changes createCacheAuthenticationProvider()
semantics.
---
 .../idea/svn/SvnAuthenticationManager.java         |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnAuthenticationManager.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnAuthenticationManager.java
index f5e3584..3db0cb0 100644
--- a/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnAuthenticationManager.java
+++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/SvnAuthenticationManager.java
@@ -52,7 +52,7 @@ public class SvnAuthenticationManager extends DefaultSVNAuthenticationManager {
     }
 
     protected ISVNAuthenticationProvider createCacheAuthenticationProvider(File authDir) {
-      myPersistentAuthenticationProviderProxy = new PersistentAuthenticationProviderProxy(super.createCacheAuthenticationProvider(authDir));
+      myPersistentAuthenticationProviderProxy = new PersistentAuthenticationProviderProxy(super.createCacheAuthenticationProvider(authDir, null));
       return myPersistentAuthenticationProviderProxy;
     }
 
-- 
1.6.6


0011-Scriptlet-to-disable-certain-modules.patch:
 build/scripts/layouts.gant |    6 +++---
 disablemodules.sh          |   20 +++++++++++++++++++-
 2 files changed, 22 insertions(+), 4 deletions(-)

--- NEW FILE 0011-Scriptlet-to-disable-certain-modules.patch ---
>From bab8a4f0a5d33aca93ff123eefa71a95c4534413 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak at v3.sk>
Date: Sat, 31 Oct 2009 11:21:24 +0100
Subject: [PATCH 11/12] Scriptlet to disable certain modules

We disable some modules now, until we sort out dependencies.
This is in a separate file and not in RPM scriptlet to ease the package
development.
---
 build/scripts/layouts.gant |    6 +++---
 disablemodules.sh          |   19 +++++++++++++++++++
 2 files changed, 22 insertions(+), 3 deletions(-)
 create mode 100644 disablemodules.sh

diff --git a/build/scripts/layouts.gant b/build/scripts/layouts.gant
index 436e09b..b9fd02e 100644
--- a/build/scripts/layouts.gant
+++ b/build/scripts/layouts.gant
@@ -164,9 +164,9 @@ def layoutFull(String home, String targetDirectory) {
       }
 
 
-      layoutPlugin("maven") {
-        fileset(dir: "$home/plugins/maven/lib")
-      }
+//      layoutPlugin("maven") {
+//        fileset(dir: "$home/plugins/maven/lib")
+//      }
 
 
       layoutPlugin("git4idea") {
diff --git a/disablemodules.sh b/disablemodules.sh
new file mode 100644
index 0000000..e0aaad2
--- /dev/null
+++ b/disablemodules.sh
@@ -0,0 +1,19 @@
+#MODULES=$(sed -n 's|.*module.*/plugins/[^/]*/\([^/]*\)\.iml.*|\1|p' .idea/modules.xml |sort |uniq)
+#MODULES=$(sed -n 's|.*module.*/plugins/.*/\([^/]*\)\.iml.*|\1|p' .idea/modules.xml |sort |uniq)
+#MODULES="jetgroovy jetgroovy-tests"	# groovy too new?
+#MODULES="$MODULES IntelliLangJava"	# depends on groovy
+#MODULES="$MODULES cvs-core cvs-plugin"	# patched trilead
+#MODULES="$MODULES svn4idea svn4idea-tests" # patched svnkit
+MODULES="$MODULES maven"		# dependencies
+
+for M in $MODULES
+do
+	sed -i "s|<\(module.*/plugins/.*/$M.iml.*\)>|<!-- \1 -->|" .idea/modules.xml
+	sed -i "s|<\([^!].*module-name=\"$M\".*\)>|<!-- \1 -->|" community-main.iml
+done
+
+exit 0
+awk '/^    }/ {if (plugins) plugins--}
+	{if (!plugins) print}
+	/dir\("plugins"\)/ {plugins++}' <build/scripts/layouts.gant >build/scripts/layouts.gant.new
+mv build/scripts/layouts.gant.new build/scripts/layouts.gant
-- 
1.6.6



--- NEW FILE intellij-idea-idea ---
#!/bin/sh
# 
# Startup script for IntelliJ IDEA
# Lubomir Rintel <lkundrak at v3.sk>

set -e

# Source functions library
if [ -f /usr/share/java-utils/java-functions ] ; then 
	. /usr/share/java-utils/java-functions
else
	echo "Can't find functions library, aborting"
	exit 1
fi

# Default configuration
BASE_FLAGS="-Xms32m -Xmx256m -XX:MaxPermSize=150m -ea"
MAIN_CLASS=com.intellij.idea.Main

IDEA_HOME=/usr/lib/idea/
[ "$(getconf ULONG_MAX)" = 18446744073709551615 ] &&
	IDEA_HOME=/usr/lib64/idea/

# Override with system-wide configuration
[ -f /etc/idea.conf ] && . /etc/idea.conf

# Override with user configuration
[ -f "$HOME/.idearc" ] && . "$HOME/.idearc"

# IntelliJ itself
BASE_JARS="$BASE_JARS idea/extensions"
BASE_JARS="$BASE_JARS idea/util"
BASE_JARS="$BASE_JARS idea/icons"
BASE_JARS="$BASE_JARS idea/idea_rt"
BASE_JARS="$BASE_JARS idea/annotations"
BASE_JARS="$BASE_JARS idea/resources"
BASE_JARS="$BASE_JARS idea/trove4j"
BASE_JARS="$BASE_JARS idea/idea"
BASE_JARS="$BASE_JARS idea/javac2"
BASE_JARS="$BASE_JARS idea/bootstrap"
BASE_JARS="$BASE_JARS idea/resources_en"
BASE_JARS="$BASE_JARS idea/openapi"
BASE_JARS="$BASE_JARS idea/boot"
BASE_JARS="$BASE_JARS idea/forms_rt"

# Dependencies
BASE_JARS="$BASE_JARS ant/ant-apache-oro"
BASE_JARS="$BASE_JARS ant/ant-nodeps"
BASE_JARS="$BASE_JARS cglib-2.2"
BASE_JARS="$BASE_JARS commons-codec"
BASE_JARS="$BASE_JARS commons-collections"
BASE_JARS="$BASE_JARS commons-lang"
BASE_JARS="$BASE_JARS jakarta-commons-net"
BASE_JARS="$BASE_JARS javahelp2"
BASE_JARS="$BASE_JARS jaxen"
BASE_JARS="$BASE_JARS jdom"
BASE_JARS="$BASE_JARS jgoodies-forms"
BASE_JARS="$BASE_JARS jgoodies-looks"
BASE_JARS="$BASE_JARS jna"
BASE_JARS="$BASE_JARS jna-examples"
BASE_JARS="$BASE_JARS junit"
BASE_JARS="$BASE_JARS junit4"
BASE_JARS="$BASE_JARS log4j"
BASE_JARS="$BASE_JARS microba"
BASE_JARS="$BASE_JARS nanoxml"
BASE_JARS="$BASE_JARS objectweb-asm/asm"
BASE_JARS="$BASE_JARS objectweb-asm/asm-commons"
BASE_JARS="$BASE_JARS oro"
BASE_JARS="$BASE_JARS picocontainer"
BASE_JARS="$BASE_JARS velocity"
BASE_JARS="$BASE_JARS xerces-j2"
BASE_JARS="$BASE_JARS xmlbeans/xbean"
BASE_JARS="$BASE_JARS xml-commons-resolver"
BASE_JARS="$BASE_JARS xmlrpc"
BASE_JARS="$BASE_JARS xstream"
BASE_JARS="$BASE_JARS groovy"

# XXX
BASE_JARS="$BASE_JARS ../jvm/java/lib/tools"
ECLIPSE_CORE=/usr/lib*/eclipse/dropins/jdt/plugins/org.eclipse.jdt.core_*.jar
BASE_JARS="$BASE_JARS $(echo $ECLIPSE_CORE |sed 's,\(.*\)\.jar$,../../..\1,')"

# Bootstrap
BASE_FLAGS="$BASE_FLAGS -Xbootclasspath/a:$(/usr/bin/build-classpath idea/boot)"

# Set parameters
set_jvm
set_classpath $BASE_JARS
set_flags $BASE_FLAGS
set_options $BASE_OPTIONS $IDEA_OPTS -Didea.home.path="$IDEA_HOME" -Didea.log.path="$HOME/.idea/log" \
	-Didea.config.path="$HOME/.idea/config" -Didea.system.path="$HOME/.idea/system"

# Let's start
cd $IDEA_HOME
run "$@"


--- NEW FILE intellij-idea.desktop ---
[Desktop Entry]
Version=1.0
Name=IntelliJ IDEA CE
GenericName=IntelliJ IDEA CE
Comment=Development Environment for Java and Groovy
Type=Application
Categories=Development;IDE;Java;
Exec=idea %F
TryExec=idea
StartupNotify=true
Icon=intellij-idea-ce


--- NEW FILE intellij-idea.spec ---
%bcond_without bootstrap

# Main version can be seen here http://www.jetbrains.com/idea/download/index.html
# while the build numbers corresponds to tags in VCS
%define idea_version 9.0.1
%define idea_build 94.393

Name:           intellij-idea
Version:        %{idea_version}.%{idea_build}
Release:        5%{?dist}
Summary:        IntelliJ IDEA Community Edition IDE

Group:          Development/Tools
License:        ASL 2.0 and LGPLv2 and CDDL and SPL
# trove4j: LGPLv2
# eawtstub: GPLv2 or CDDL
# javacvs: SPL
URL:            http://www.jetbrains.com/idea/nextversion/free_java_ide.html
# git clone --bare git://git.jetbrains.org/idea/community.git idea
# cd idea; git archive 94.393 --prefix=idea-94.393/ |xz >idea-94.393.tar.xz
Source0:        idea-%{idea_build}.tar.xz
Source1:        intellij-idea-idea
Source2:        intellij-idea.desktop
# Used only for bootstrapping
Source10:       jps.jar
Source11:       javac2.jar

# Build changes
Patch1:         0001-Do-not-install-stuff-from-lib.patch
Patch2:         0002-Make-groovy-plugin-build.patch
Patch3:         0003-Make-it-build.patch
Patch4:         0004-Make-it-build-with-cglib-2.2.patch
Patch5:         0005-Rename-javac.util.DefaultFileManager-for-OpenJDK-1.6.patch
Patch6:         0006-Scriptlet-and-rules-to-replace-bundled-jars.patch
Patch7:         0007-Delete-unneeded-import-that-is-not-compatible-with-O.patch
Patch8:         0008-Use-system-wide-installed-gant-ant-and-jps.patch
Patch9:         0009-Chop-out-proxy-support-for-CVS-plugin.patch
Patch10:        0010-Fix-build-of-svn-plugin-against-newer-svnkit.patch
Patch11:        0011-Scriptlet-to-disable-certain-modules.patch

# Hacks
Patch100:       0001-NotNull-annotations-cause-broken-bytecode-to-be-crea.patch
Patch101:       0001-Disable-svn-for-now.patch

BuildRoot:      %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

%if %without bootstrap
BuildRequires:  jps
BuildRequires:  intellij-idea
%endif
BuildRequires:  ant
BuildRequires:  ant-jakarta-oro
BuildRequires:  antlr
BuildRequires:  ant-nodeps
BuildRequires:  cglib = 2.2
BuildRequires:  classworlds
BuildRequires:  commons-beanutils
BuildRequires:  commons-codec
BuildRequires:  commons-collections
BuildRequires:  commons-net
BuildRequires:  eclipse-jdt
BuildRequires:  gant
BuildRequires:  ganymed-ssh2
BuildRequires:  gradle-open-api
BuildRequires:  groovy
BuildRequires:  jakarta-commons-cli
BuildRequires:  jakarta-commons-lang
BuildRequires:  jakarta-commons-logging
BuildRequires:  jakarta-oro
BuildRequires:  java-1.6.0-openjdk-devel
BuildRequires:  javahelp2
BuildRequires:  jaxen
BuildRequires:  jazzy
BuildRequires:  jdom
BuildRequires:  jgoodies-forms
BuildRequires:  jgoodies-looks
BuildRequires:  jna
BuildRequires:  jna-examples >= 3.0.9
BuildRequires:  junit
BuildRequires:  junit4 >= 4.6
BuildRequires:  log4j
BuildRequires:  lucene
BuildRequires:  lucene-core
BuildRequires:  mercury
BuildRequires:  microba
BuildRequires:  nanoxml
BuildRequires:  objectweb-asm
BuildRequires:  patricia-trie
BuildRequires:  picocontainer
BuildRequires:  plexus-digest
BuildRequires:  plexus-utils
BuildRequires:  svnkit
BuildRequires:  testng
BuildRequires:  trilead-ssh2
BuildRequires:  velocity
BuildRequires:  xerces-j2
BuildRequires:  xmlbeans
BuildRequires:  xml-commons-resolver
BuildRequires:  xmlrpc
BuildRequires:  xstream
BuildRequires:  ImageMagick
BuildRequires:  desktop-file-utils

Requires:       ant-apache-oro
Requires:       ant-nodeps
Requires:       cglib
Requires:       commons-codec
Requires:       commons-collections
Requires:       commons-net
Requires:       eclipse-jdt
Requires:       groovy
Requires:       jakarta-commons-lang
Requires:       jakarta-oro
Requires:       java-1.6.0-openjdk-devel
Requires:       javahelp2
Requires:       jaxen
Requires:       jdom
Requires:       jgoodies-forms
Requires:       jgoodies-looks
Requires:       jna
Requires:       jna-examples
Requires:       junit
Requires:       junit4
Requires:       log4j
Requires:       microba
Requires:       nanoxml
Requires:       objectweb-asm
Requires:       picocontainer
Requires:       velocity
Requires:       xerces-j2
Requires:       xmlbeans
Requires:       xml-commons-resolver
Requires:       xmlrpc
Requires:       xstream

%description
IntelliJ IDEA Community Edition features an intelligent code editor that has
all the smarts for understanding Java code; provides refactorings, code
inspections and intentions, super-fast navigation and search. It integrates
with such essential tools as JUnit and TestNG, Ant and Maven, and popular
version control systems: CVS, Subversion and git. XML-Java interoperability
and comprehensive Groovy language support are complemented by the Swing UI
designer providing the suite of tools for developing Java desktop
applications - such as IntelliJ IDEA itself.


%prep
%setup -q -n idea-%{idea_build}

# The patched gnu-trove, adds some equality classes,
# seems like based on 1.0.2
unzip -qd trove4j lib/src/trove4j_src.jar

# This is some code specific to cocoa GUI, originates
# from netbeans, though not packaged with it when
# not on OS X. Not distributed separately.
unzip -d eawtstub lib/src/eawtstub_src.zip

# Patches
%patch1 -p1 -b .Do-not-install-stuff-from-lib
%patch2 -p1 -b .Make-groovy-plugin-build
%patch3 -p1 -b .Make-it-build
%patch4 -p1 -b .Make-it-build-with-cglib-2.2
%patch5 -p1 -b .Rename-javac.util.DefaultFileManager-for-OpenJDK-1.6
%patch6 -p1 -b .Scriptlet-and-rules-to-replace-bundled-jars
%patch7 -p1 -b .Delete-unneeded-import-that-is-not-compatible-with-O
%patch8 -p1 -b .Use-system-wide-installed-gant-ant-and-jps
%patch9 -p1 -b .Chop-out-proxy-support-for-CVS-plugin
%patch10 -p1 -b .Fix-build-of-svn-plugin-against-newer-svnkit
%patch11 -p1 -b .Scriptlet-to-disable-certain-modules

# Hacks
%patch100 -p1 -b .NotNull-annotations-cause-broken-bytecode-to-be-crea


%build
# Build patched trove4j
mkdir -p trove4j/out
find trove4j/src -name '*.java' |xargs javac -d trove4j/out
jar cf trove4j/trove4j.jar -C trove4j/out .

# Build standalone eawt stub
cd eawtstub
ant -Djavac.source=1.5 -Djavac.target=1.5 jar
cd ..

# We don't build certain modules until we sort out the dependencies
sh disablemodules.sh

# Replace the prebuilt JARS
sh replacedeps.sh <replacerules.txt

# Drop bundled gant
find build/lib/ -type f -delete

# Drop other prebuilt stuff
#find lib java plugins -name '*.jar' -not -name 'serviceMessages.jar' -delete

# Break generator
cd native/breakgen
gcc -I/usr/lib/jvm/java/include/linux -I/usr/lib/jvm/java/include \
        %{optflags} -shared -fPIC -o libbreakgen.so AppMain.c
cd ../..
install native/breakgen/libbreakgen.so bin/linux/libbreakgen.so
cp -fl bin/linux/libbreakgen.so bin/linux/libbreakgen64.so

%if %with bootstrap
sed '
	/gant_patches.jar/d
	s|/usr/share/java/idea/javac2.jar|%{SOURCE11}|;
	s|/usr/share/java/jps/jps.jar|%{SOURCE10}|;
' -i build.xml
%endif

# Fire!
ant


%install
rm -rf $RPM_BUILD_ROOT

# Directory structure
install -d $RPM_BUILD_ROOT%{_javadir}/idea
install -d $RPM_BUILD_ROOT%{_libdir}/idea/bin
install -d $RPM_BUILD_ROOT%{_bindir}
install -d $RPM_BUILD_ROOT%{_datadir}/pixmaps
install -d $RPM_BUILD_ROOT%{_datadir}/applications

# Core
install -p -m644 out/dist.all.ce/lib/*.jar trove4j/trove4j.jar \
        $RPM_BUILD_ROOT%{_javadir}/idea
install -p -m644 out/dist.all.ce/lib/*.jar trove4j/trove4j.jar \
        $RPM_BUILD_ROOT%{_javadir}/idea
install -p -m644 bin/idea.properties bin/log.xml bin/appletviewer.policy \
        bin/linux/libbreakgen.so $RPM_BUILD_ROOT%{_libdir}/idea/bin
install -p -m755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/idea

# Plugins
cp -a out/dist.all.ce/plugins $RPM_BUILD_ROOT%{_libdir}/idea

# Menu entry
convert out/classes/production/icons/idea_CE.ico idea.png
mv idea-0.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/%{name}-ce.png
desktop-file-install %{SOURCE2} \
        --dir=${RPM_BUILD_ROOT}%{_datadir}/applications 


%clean
rm -rf $RPM_BUILD_ROOT


%files
%defattr(-,root,root,-)
%{_bindir}/idea
%{_libdir}/idea
%{_javadir}/idea
%{_datadir}/pixmaps/%{name}-ce.png
%{_datadir}/applications/%{name}.desktop
%doc LICENSE.txt


%changelog
* Thu Mar 18 2010 Lubomir Rintel <lkundrak at v3.sk> - 9.0.1.94.393-5
- Re-enable SVN
- Fix License tag
- Build breakgen with proper compiler flags

* Wed Feb 24 2010 Lubomir Rintel <lkundrak at v3.sk> - 9.0.1.94.310-4
- Enable all plugins, except for maven

* Tue Feb 23 2010 Lubomir Rintel <lkundrak at v3.sk> - 9.0.1.94.310-3
- Build with external jps
- Depend upon ourselves -- make it possible to bootstrap

* Wed Feb 17 2010 Lubomir Rintel <lkundrak at v3.sk> - 9.0.1.94.310-2
- Use objectweb-asm 3.1 instead of asm2, needed for new groovy

* Tue Feb 16 2010 Lubomir Rintel <lkundrak at v3.sk> - 9.0.1.94.310-1
- Rebase to newest upstream build

* Tue Feb 16 2010 Lubomir Rintel <lkundrak at v3.sk> - 9.0-0.2.20091028git
- Builds against Fedora

* Fri Oct 30 2009 Lubomir Rintel <lkundrak at v3.sk> - 9.0-0.1.20091028git
- Packaging start


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/intellij-idea/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- .cvsignore	23 Mar 2010 07:40:31 -0000	1.1
+++ .cvsignore	23 Mar 2010 08:03:35 -0000	1.2
@@ -0,0 +1,3 @@
+idea-94.393.tar.xz
+javac2.jar
+jps.jar


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/intellij-idea/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- sources	23 Mar 2010 07:40:32 -0000	1.1
+++ sources	23 Mar 2010 08:03:40 -0000	1.2
@@ -0,0 +1,3 @@
+cb0e07cf60822cad44763c578d2ea33a  idea-94.393.tar.xz
+3ce8d770c8985a7505b74dfb11f34842  javac2.jar
+7d90029d8cbff062536798fd6d1a7c35  jps.jar



More information about the scm-commits mailing list