Author: tcurdt
Date: Sat Dec 10 17:16:04 2005
New Revision: 355851

URL: http://svn.apache.org/viewcvs?rev=355851&view=rev
Log:
applied various patches from Mark Proctor

Modified:
    jakarta/commons/sandbox/jci/trunk/project.xml
    
jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/JavaCompilerFactory.java
    
jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/groovy/GroovyJavaCompiler.java

Modified: jakarta/commons/sandbox/jci/trunk/project.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/project.xml?rev=355851&r1=355850&r2=355851&view=diff
==============================================================================
--- jakarta/commons/sandbox/jci/trunk/project.xml (original)
+++ jakarta/commons/sandbox/jci/trunk/project.xml Sat Dec 10 17:16:04 2005
@@ -20,11 +20,11 @@
   <description>Commons JCI (java compiler interface)</description>
 
   <licenses>
-        <license>
-        <name>The Apache Software License, Version 2.0</name>
-        <url>/LICENSE.txt</url>
-        <distribution>repo</distribution>
-        </license>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>/LICENSE.txt</url>
+      <distribution>repo</distribution>
+    </license>
   </licenses>
 
   <gumpRepositoryId>jakarta</gumpRepositoryId>
@@ -81,96 +81,129 @@
 
   <dependencies>
 
-    <dependency>
-      <groupId>maven-plugins</groupId>
-      <artifactId>maven-cobertura-plugin</artifactId>
-      <version>1.1</version>
-      <type>plugin</type>
-    </dependency>
-
+    <!-- needed by the core -->
     <dependency>
       <groupId>commons-io</groupId>
       <artifactId>commons-io</artifactId>
       <version>1.0</version>
     </dependency>
 
+    <!-- needed by the core -->
     <dependency>
       <groupId>commons-lang</groupId>
       <artifactId>commons-lang</artifactId>
       <version>2.0</version>
     </dependency>
 
+    <!-- needed by the core -->
     <dependency>
       <groupId>commons-logging</groupId>
       <artifactId>commons-logging</artifactId>
       <version>1.0.4</version>
     </dependency>
 
+    <!-- needed by the core -->
+    <!--
     <dependency>
       <groupId>commons-logging</groupId>
       <artifactId>commons-logging-api</artifactId>
       <version>1.0.4</version>
     </dependency>
+    -->
 
+    <!-- needed by the core -->
     <dependency>
       <groupId>commons-collections</groupId>
       <artifactId>commons-collections</artifactId>
       <version>3.1</version>
     </dependency>
 
+    <!-- supported compiler -->
     <dependency>
       <groupId>eclipse</groupId>
       <artifactId>jdtcore</artifactId>
       <version>3.1.0</version>
     </dependency>
 
+    <!-- supported compiler -->
     <dependency>
       <groupId>janino</groupId>
       <artifactId>janino</artifactId>
       <version>2.3.7</version>
     </dependency>
 
+    <!-- supported compiler -->
     <dependency>
       <groupId>groovy</groupId>
       <artifactId>groovy</artifactId>
       <version>1.0-jsr-02</version>
     </dependency>
+
+    <!-- needed for groovy and dependency analysis -->
     <dependency>
       <groupId>asm</groupId>
       <artifactId>asm</artifactId>
       <version>2.0</version>
     </dependency>
+
+    <!-- needed for groovy and dependency analysis -->
     <dependency>
       <groupId>asm</groupId>
       <artifactId>asm-util</artifactId>
       <version>2.0</version>
     </dependency>
+
+    <!-- needed for groovy and dependency analysis -->
     <dependency>
       <groupId>asm</groupId>
       <artifactId>asm-attrs</artifactId>
       <version>2.0</version>
     </dependency>
+
+    <!-- needed for groovy and dependency analysis -->
     <dependency>
       <groupId>asm</groupId>
       <artifactId>asm-analysis</artifactId>
       <version>2.0</version>
     </dependency>
+
+    <!-- needed for groovy and dependency analysis -->
     <dependency>
       <groupId>asm</groupId>
       <artifactId>asm-tree</artifactId>
       <version>2.0</version>
     </dependency>
+
+    <!-- needed for groovy and dependency analysis -->
     <dependency>
       <groupId>asm</groupId>
       <artifactId>asm-commons</artifactId>
       <version>2.0</version>
     </dependency>
+
+    <!-- needed for groovy -->
     <dependency>
       <groupId>antlr</groupId>
       <artifactId>antlr</artifactId>
       <version>2.7.5</version>
     </dependency>
 
+    <!-- only for reports -->
+    <dependency>
+      <groupId>maven-plugins</groupId>
+      <artifactId>maven-cobertura-plugin</artifactId>
+      <version>1.1</version>
+      <type>plugin</type>
+    </dependency>
+
+    <!-- for creating the embeddable jar -->
+    <dependency>
+      <groupId>com.tonicsystems</groupId>
+      <artifactId>jarjar</artifactId>
+      <version>0.6</version>
+    </dependency>
+
+    <!-- needed for the tests -->
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>

Modified: 
jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/JavaCompilerFactory.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/JavaCompilerFactory.java?rev=355851&r1=355850&r2=355851&view=diff
==============================================================================
--- 
jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/JavaCompilerFactory.java
 (original)
+++ 
jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/JavaCompilerFactory.java
 Sat Dec 10 17:16:04 2005
@@ -16,6 +16,7 @@
 package org.apache.commons.jci.compilers;
 
 import org.apache.commons.jci.compilers.eclipse.EclipseJavaCompiler;
+import org.apache.commons.jci.compilers.eclipse.EclipseJavaCompilerSettings;
 import org.apache.commons.jci.compilers.groovy.GroovyJavaCompiler;
 import org.apache.commons.jci.compilers.janino.JaninoJavaCompiler;
 
@@ -32,6 +33,16 @@
     }
     
     private JavaCompilerFactory() {
+    }
+    
+    public JavaCompiler createCompiler(final JavaCompilerSettings pSettings) {
+        if (pSettings instanceof EclipseJavaCompilerSettings) {
+            return new EclipseJavaCompiler((EclipseJavaCompilerSettings) 
pSettings);
+        }
+        
+        // FIXME create settings for the other compilers and add here
+        
+        return null;
     }
     
     /**

Modified: 
jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/groovy/GroovyJavaCompiler.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/groovy/GroovyJavaCompiler.java?rev=355851&r1=355850&r2=355851&view=diff
==============================================================================
--- 
jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/groovy/GroovyJavaCompiler.java
 (original)
+++ 
jakarta/commons/sandbox/jci/trunk/src/java/org/apache/commons/jci/compilers/groovy/GroovyJavaCompiler.java
 Sat Dec 10 17:16:04 2005
@@ -1,5 +1,6 @@
 package org.apache.commons.jci.compilers.groovy;
 
+import groovy.lang.GroovyClassLoader;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Iterator;
@@ -16,6 +17,7 @@
 import org.codehaus.groovy.control.CompilerConfiguration;
 import org.codehaus.groovy.control.ErrorCollector;
 import org.codehaus.groovy.control.MultipleCompilationErrorsException;
+import org.codehaus.groovy.control.Phases;
 import org.codehaus.groovy.control.SourceUnit;
 import org.codehaus.groovy.control.messages.Message;
 import org.codehaus.groovy.control.messages.WarningMessage;
@@ -31,19 +33,18 @@
             final ResourceStore store,
             final ClassLoader classLoader
             ) {
-     
         final CompilerConfiguration configuration = new 
CompilerConfiguration();
         final ErrorCollector collector = new ErrorCollector(configuration);
-        final CompilationUnit unit = new CompilationUnit(configuration, null, 
classLoader);
+        final GroovyClassLoader groovyClassLoader = new 
GroovyClassLoader(classLoader);
+        final CompilationUnit unit = new CompilationUnit(configuration, null, 
groovyClassLoader);
         final SourceUnit[] source = new SourceUnit[clazzNames.length];
         for (int i = 0; i < source.length; i++) {
             final String filename = clazzNames[i].replace('.','/') + ".groovy";
-            log.debug("adding source unit " + filename);
             source[i] = new SourceUnit(
                     filename,
                     new String(reader.getContent(filename)), // FIXME delay 
the read
                     configuration,
-                    classLoader,
+                    groovyClassLoader,
                     collector
                     );
             unit.addSource(source[i]);
@@ -53,7 +54,7 @@
 
         try {
             log.debug("compiling");
-            unit.compile();
+            unit.compile(Phases.CLASS_GENERATION);
             
             final List classes = unit.getClasses();
             for (final Iterator it = classes.iterator(); it.hasNext();) {
@@ -63,7 +64,6 @@
             }
         } catch (final MultipleCompilationErrorsException e) {
             final ErrorCollector col = e.getErrorCollector();
-
             final Collection warnings = col.getWarnings();
             if (warnings != null) {
                 for (final Iterator it = warnings.iterator(); it.hasNext();) {
@@ -88,7 +88,6 @@
                 }
             }
         } catch (CompilationFailedException e) {
-            e.printStackTrace();
             throw new RuntimeException("no expected");
         }
         



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to