You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2009/09/23 14:20:16 UTC
svn commit: r818072 - in /myfaces/extensions/scripting/trunk: core/core/
core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/
core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jci/
core/core/src/main/java/org/apache/myface...
Author: werpu
Date: Wed Sep 23 12:20:16 2009
New Revision: 818072
URL: http://svn.apache.org/viewvc?rev=818072&view=rev
Log:
https://issues.apache.org/jira/browse/EXTSCRIPT-22
JDK5 integration now works outside of the bounds of jsr199
switch defined between jdk versions jdk5 -> our own compiler facade
jdk6+ -> jsr199 api fallback which then falls back into javac (maybe we will add
eclipse as internal fallback as well in the long run)
Removed:
myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jci/CompilerFacade.java
Modified:
myfaces/extensions/scripting/trunk/core/core/pom.xml
myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java
myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/Compiler.java
myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/CompilerFacade.java
myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/JavacCompiler.java
myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java
Modified: myfaces/extensions/scripting/trunk/core/core/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/pom.xml?rev=818072&r1=818071&r2=818072&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/pom.xml (original)
+++ myfaces/extensions/scripting/trunk/core/core/pom.xml Wed Sep 23 12:20:16 2009
@@ -64,19 +64,6 @@
<version>3.2</version>
</dependency>
-
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-jci-core</artifactId>
- <version>1.0</version>
- </dependency>
-
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-jci-javac</artifactId>
- <version>1.0</version>
- </dependency>
</dependencies>
Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java?rev=818072&r1=818071&r2=818072&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/JavaScriptingWeaver.java Wed Sep 23 12:20:16 2009
@@ -46,7 +46,7 @@
private static final String JAVA_FILE_ENDING = ".java";
private static final String JSR199_COMPILER = "org.apache.myfaces.scripting.loaders.java.jsr199.CompilerFacade";
- private static final String JCI_COMPILER = "org.apache.myfaces.scripting.loaders.java.jci.CompilerFacade";
+ private static final String JAVA5_COMPILER = "org.apache.myfaces.scripting.loaders.java.jdk5.CompilerFacade";
AnnotationScanner _scanner = null;
@@ -76,7 +76,7 @@
@Override
public void appendCustomScriptPath(String scriptPath) {
super.appendCustomScriptPath(scriptPath);
- if(_scanner != null) {
+ if (_scanner != null) {
_scanner.addScanPath(scriptPath);
}
}
@@ -148,16 +148,16 @@
private String getScriptingFacadeClass() {
String javaVer = System.getProperty("java.version");
- String [] versionArr = javaVer.split("\\.");
+ String[] versionArr = javaVer.split("\\.");
int major = Integer.parseInt(versionArr[Math.min(versionArr.length, 1)]);
- if(major > 5) {
+ if (major > 5) {
//jsr199 compliant jdk
return JSR199_COMPILER;
}
//otherwise
- return JCI_COMPILER;
+ return JAVA5_COMPILER;
}
public boolean isDynamic(Class clazz) {
@@ -169,7 +169,7 @@
* full scan, scans for all artefacts in all files
*/
public void fullAnnotationScan() {
- if(_scanner == null) {
+ if (_scanner == null) {
return;
}
_scanner.scanPaths();
Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/Compiler.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/Compiler.java?rev=818072&r1=818071&r2=818072&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/Compiler.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/Compiler.java Wed Sep 23 12:20:16 2009
@@ -17,6 +17,6 @@
*
* @return the compilation result, i.e. the compiler output, a list of errors and a list of warnings
*/
- public CompilationResult compile(File sourcePath, File targetPath, String file) throws CompilationException;
+ public CompilationResult compile(File sourcePath, File targetPath, String file, String classPath) throws CompilationException;
}
Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/CompilerFacade.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/CompilerFacade.java?rev=818072&r1=818071&r2=818072&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/CompilerFacade.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/CompilerFacade.java Wed Sep 23 12:20:16 2009
@@ -55,7 +55,7 @@
className = ClassUtils.relativeFileToClassName(className);
try {
- CompilationResult result = compiler.compile(new File(sourceRoot), fileManager.getTempDir(), filePath);
+ CompilationResult result = compiler.compile(new File(sourceRoot), fileManager.getTempDir(), filePath, fileManager.getClassPath());
displayMessages(result);
@@ -73,6 +73,8 @@
Thread.currentThread().setContextClassLoader(oldClassLoader);
}
}
+ } else {
+ log.error("Compiler output:"+result.getCompilerOutput());
}
} catch (CompilationException e) {
@@ -83,7 +85,8 @@
private void displayMessages(CompilationResult result) {
for (CompilationResult.CompilationMessage error : result.getErrors()) {
- log.error(error.getMessage());
+ log.error(error.getLineNumber()+"-"+error.getMessage());
+
}
for (CompilationResult.CompilationMessage error : result.getWarnings()) {
log.error(error.getMessage());
Modified: myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/JavacCompiler.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/JavacCompiler.java?rev=818072&r1=818071&r2=818072&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/JavacCompiler.java (original)
+++ myfaces/extensions/scripting/trunk/core/core/src/main/java/org/apache/myfaces/scripting/loaders/java/jdk5/JavacCompiler.java Wed Sep 23 12:20:16 2009
@@ -88,7 +88,7 @@
* @param file the relative file name of the class you want to compile
* @return the compilation result, i.e. as of now only the compiler output
*/
- public CompilationResult compile(File sourcePath, File targetPath, String file) throws CompilationException {
+ public CompilationResult compile(File sourcePath, File targetPath, String file, String classPath) throws CompilationException {
// The destination directory must already exist as javac will not create the destination directory.
if (!targetPath.exists()) {
if (!targetPath.mkdirs()) {
@@ -106,7 +106,7 @@
// Invoke the Javac compiler
Method compile = compilerClass.getMethod("compile", new Class[]{String[].class, PrintWriter.class});
Integer returnCode = (Integer) compile.invoke(null,
- new Object[]{buildCompilerArguments(sourcePath, targetPath, file), new PrintWriter(compilerOutput)});
+ new Object[]{buildCompilerArguments(sourcePath, targetPath, file, classPath), new PrintWriter(compilerOutput)});
CompilationResult result = new CompilationResult(compilerOutput.toString());
if (returnCode == null || returnCode.intValue() != 0) {
@@ -138,7 +138,7 @@
* @param file the relative file name of the class you want to compile
* @return an array of arguments that you have to pass to the Javac compiler
*/
- protected String[] buildCompilerArguments(File sourcePath, File targetPath, String file) {
+ protected String[] buildCompilerArguments(File sourcePath, File targetPath, String file, String classPath) {
List arguments = new ArrayList();
// Set both the source code path to search for class or interface
@@ -147,6 +147,8 @@
arguments.add(sourcePath.getAbsolutePath());
arguments.add("-d");
arguments.add(targetPath.getAbsolutePath());
+ arguments.add("-cp");
+ arguments.add(classPath);
// Enable verbose output.
arguments.add("-verbose");
Modified: myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java?rev=818072&r1=818071&r2=818072&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces12-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java Wed Sep 23 12:20:16 2009
@@ -9,7 +9,7 @@
String hello3 = "hello from added attribute 2";
public String getSayHello() {
- return " Java dynamic bean - "+TestClass2.hello2 + hello3;
+ return " Java dynamic bean - "+TestClass2.hello2 + hello3;
}
public String getSayHello2() {