| java.lang.Object org.codehaus.aspectwerkz.compiler.AspectWerkzC
AspectWerkzC | public class AspectWerkzC (Code) | | AspectWerkzC allow for precompilation of class / jar / zip given a class preprocessor.
Usage
java [-Daspectwerkz.classloader.preprocessor={ClassPreProcessorImpl}] -cp [...]
org.codehaus.aspectwerkz.compiler.AspectWerkzC [-verbose] [-haltOnError] [-verify] [-genjp] [-details] [-cp {additional cp i}]* {target
1} .. {target n}
{ClassPreProcessorImpl} : full qualified name of the ClassPreProcessor implementation (must be in classpath)
defaults to org.codehaus.aspectwerkz.transform.AspectWerkzPreProcessor
{additional cp i} : additionnal classpath needed at compile time (eg: myaspect.jar)
use as many -cp options as needed
supports java classpath syntax for classpath separator: ; on windows, : on others
{target i} : exploded dir, jar, zip files to compile
Ant 1.5 must be in the classpath
Classpath note
At the beginning of the compilation, all {target i} are added to the classpath automatically. This is required
to support caller side advices.
Error handling
For each target i, a backup copy is written in ./_aspectwerkzc/i/target Transformation occurs on original target
class/dir/jar/zip file On failure, target backup is restored and stacktrace is given
If
-haltOnError was set, compilations ends and a complete rollback occurs on all targets, else a status
report is printed at the end of the compilation, indicating SUCCESS or ERROR for each given target. If
-verify was set, all compiled class are verified during the compilation and an error is generated if the
compiled class bytecode is corrupted. The error is then handled according to the -haltOnError option.
Manifest.mf update
The Manifest.mf if present is updated wit the following:
- AspectWerkzC-created: date of the compilation
- AspectWerkzC-preprocessor: full qualified classname of the preprocessor used
- AspectWerkzC-comment: comments
author: Alexandre Vasseur |
AspectWerkzC | public AspectWerkzC()(Code) | | Construct a new Utility, restore the index for backup
|
backup | public void backup(File source, int index)(Code) | | Backup source file in backup_dir/index/file. The backupMap is updated for further rollback
|
compile | public boolean compile(File source)(Code) | | Compile given target.
false if process should stop |
compile | public static void compile(AspectWerkzC compiler, ClassLoader classLoader, String preProcessor, List classpath, List targets)(Code) | | Runs the AspectWerkzC compiler for the targets files.
Parameters: compiler - a configured AspectWerkzC Parameters: classLoader - the class loader to be used Parameters: preProcessor - fully qualified name of the preprocessor class.If null than the default is used(org.codehaus.aspectwerkz.transform.AspectWerkzPreProcessor ) Parameters: classpath - list of Files representing the classpath (List) Parameters: targets - the list of target files (List) |
compileClass | public void compileClass(File file, String packaging) throws CompileException(Code) | | Compiles .class file using fileName as className and given packaging as package name
|
compileJar | public void compileJar(File file) throws CompileException(Code) | | Compile all .class encountered in the .jar/.zip file. The target.jar is compiled in the
target.jar.aspectwerkzc and the target.jar.aspectwerkzc then overrides target.jar on success.
|
doCompile | public void doCompile(File sourceFile, String prefixPackage) throws CompileException(Code) | | Compile sourceFile. If prefixPackage is not null, assumes it is the class package information. Handles :
- directory recursively (exploded jar)
- jar / zip file
|
doHelp | public static void doHelp()(Code) | | Usage message
|
isJarFile | public static boolean isJarFile(File source)(Code) | | Test if file is a zip/jar file
|
postCompile | public void postCompile(String message)(Code) | | Delete backup dir at the end of all compilation
|
restoreBackup | public void restoreBackup()(Code) | | Restore the backup registered
|
setCompilationPath | public void setCompilationPath(File[] targets, ClassLoader parentLoader)(Code) | | Set up the compilation path by building a URLClassLoader with all targets in
Parameters: targets - to add to compilationLoader classpath Parameters: parentLoader - the parent ClassLoader used by the new one |
setDetails | public void setDetails(boolean details)(Code) | | |
setGenJp | public void setGenJp(boolean genpJp)(Code) | | |
setHaltOnError | public void setHaltOnError(boolean haltOnError)(Code) | | |
setPreprocessor | public void setPreprocessor(String preprocessor) throws CompileException(Code) | | Sets the ClassPreProcessor implementation to use. The ClassLoader will be set to System ClassLoader when
transform(className, byteCode, callerClassLoader) will be called to compile a class.
|
setVerbose | public void setVerbose(boolean verbose)(Code) | | |
setVerify | public void setVerify(boolean verify)(Code) | | |
|
|