You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by va...@apache.org on 2009/08/20 06:39:01 UTC

svn commit: r806057 - in /lucene/pylucene/trunk/jcc: CHANGES jcc/cpp.py jcc/python.py

Author: vajda
Date: Thu Aug 20 04:39:00 2009
New Revision: 806057

URL: http://svn.apache.org/viewvc?rev=806057&view=rev
Log:
 - added --libpath parameter to specify -Djava.library.path
 - classes listed with --exclude are no longer loaded (except for dependencies)

Modified:
    lucene/pylucene/trunk/jcc/CHANGES
    lucene/pylucene/trunk/jcc/jcc/cpp.py
    lucene/pylucene/trunk/jcc/jcc/python.py

Modified: lucene/pylucene/trunk/jcc/CHANGES
URL: http://svn.apache.org/viewvc/lucene/pylucene/trunk/jcc/CHANGES?rev=806057&r1=806056&r2=806057&view=diff
==============================================================================
--- lucene/pylucene/trunk/jcc/CHANGES (original)
+++ lucene/pylucene/trunk/jcc/CHANGES Thu Aug 20 04:39:00 2009
@@ -4,6 +4,8 @@
  - added 'typeof' to reserved word list
  - added Java stacktrace to __str__() of JavaError, fixing half of PYLUCENE-1
  - fixed local string ref leaks in JArray<jstring>.get/toSequence (Aric Coady)
+ - added --libpath parameter to specify -Djava.library.path
+ - classes listed with --exclude are no longer loaded (except for dependencies)
  - 
 
 Version 2.2 -> 2.3

Modified: lucene/pylucene/trunk/jcc/jcc/cpp.py
URL: http://svn.apache.org/viewvc/lucene/pylucene/trunk/jcc/jcc/cpp.py?rev=806057&r1=806056&r2=806057&view=diff
==============================================================================
--- lucene/pylucene/trunk/jcc/jcc/cpp.py (original)
+++ lucene/pylucene/trunk/jcc/jcc/cpp.py Thu Aug 20 04:39:00 2009
@@ -148,7 +148,8 @@
     while cls.isArray():
         cls = cls.getComponentType()
 
-    if cls in excludes:
+    className = cls.getName()
+    if className in excludes:
         return False
 
     if cls.isPrimitive():
@@ -158,7 +159,7 @@
         declares.add(cls)
         return True
 
-    if split_pkg(cls.getName(), '.')[0] in packages:
+    if split_pkg(className, '.')[0] in packages:
         typeset.add(cls)
         declares.add(cls)
         cls = cls.getSuperclass()
@@ -256,6 +257,7 @@
     packages = set()
     jars = []
     classpath = []
+    libpath = []
     moduleName = None
     modules = []
     build = False
@@ -298,6 +300,9 @@
             elif arg == '--classpath':
                 i += 1
                 classpath.append(args[i])
+            elif arg == '--libpath':
+                i += 1
+                libpath.append(args[i])
             elif arg == '--python':
                 from python import python, module
                 i += 1
@@ -372,12 +377,15 @@
             classNames.add(arg)
         i += 1
 
-    env = initVM(os.pathsep.join(classpath) or None, maxstack='512k',
-                 vmargs='-Djava.awt.headless=true')
+    vmargs = '-Djava.awt.headless=true'
+    if libpath:
+        vmargs += ' -Djava.library.path=' + os.pathsep.join(libpath)
+
+    env = initVM(os.pathsep.join(classpath) or None,
+                 maxstack='512k', vmargs=vmargs)
 
     typeset = set()
-    excludes = set([findClass(className.replace('.', '/'))
-                    for className in excludes])
+    excludes = set(excludes)
 
     if recompile or not build and (install or dist):
         if moduleName is None:
@@ -389,11 +397,11 @@
                     shared, compiler, modules, wininst)
     else:
         for className in classNames:
+            if className in excludes:
+                continue
             cls = findClass(className.replace('.', '/'))
             if cls is None:
                 raise ValueError, className
-            if cls in excludes:
-                continue
             if Modifier.isPublic(cls.getModifiers()):
                 typeset.add(cls)
                 cls = cls.getSuperclass()
@@ -462,7 +470,7 @@
                                          cls, superCls, constructors,
                                          methods, protectedMethods,
                                          fields, instanceFields, 
-                                         declares, typeset, excludes)
+                                         declares, typeset)
                 if moduleName:
                     python(env, out_h, out_cpp,
                            cls, superCls, names, superNames,
@@ -470,7 +478,7 @@
                            fields, instanceFields,
                            mappings.get(className), sequences.get(className),
                            renames.get(className),
-                           declares, typeset, excludes, moduleName)
+                           declares, typeset, moduleName)
 
                 line(out_h)
                 line(out_h, 0, '#endif')
@@ -733,7 +741,7 @@
 
 
 def code(env, out, cls, superCls, constructors, methods, protectedMethods,
-         fields, instanceFields, declares, typeset, excludes):
+         fields, instanceFields, declares, typeset):
 
     className = cls.getName()
     names = className.split('.')

Modified: lucene/pylucene/trunk/jcc/jcc/python.py
URL: http://svn.apache.org/viewvc/lucene/pylucene/trunk/jcc/jcc/python.py?rev=806057&r1=806056&r2=806057&view=diff
==============================================================================
--- lucene/pylucene/trunk/jcc/jcc/python.py (original)
+++ lucene/pylucene/trunk/jcc/jcc/python.py Thu Aug 20 04:39:00 2009
@@ -390,7 +390,7 @@
 
 def python(env, out_h, out, cls, superCls, names, superNames,
            constructors, methods, protectedMethods, fields, instanceFields,
-           mapping, sequence, rename, declares, typeset, excludes, moduleName):
+           mapping, sequence, rename, declares, typeset, moduleName):
 
     line(out_h)
     line(out_h, 0, '#include <Python.h>')