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]