org.cruxframework.crux.tools.compile
Class AbstractCruxCompiler

java.lang.Object
  extended by org.cruxframework.crux.tools.compile.AbstractCruxCompiler
Direct Known Subclasses:
ApplicationCompiler

public abstract class AbstractCruxCompiler
extends Object

A Tool for crux projects compilation

Author:
Thiago da Rosa de Bustamante

Field Summary
protected  File compilerWorkDir
           
protected  boolean indentPages
           
protected  boolean initialized
           
protected  boolean keepPagesGeneratedFiles
           
protected  String outputCharset
           
protected  File outputDir
           
protected  String pageFileExtension
           
protected  File pagesOutputDir
           
protected  File resourcesDir
           
protected  File sourceDir
           
protected  File webDir
           
 
Constructor Summary
AbstractCruxCompiler()
           
 
Method Summary
 void addGwtCompilerArgs(String[] args)
           
protected  void addPostProcessor(CruxPostProcessor postProcessor)
           
protected  void addPreProcessor(CruxPreProcessor preProcessor)
           
protected  boolean compileFile(URL url, Module module)
          Compile files using GWT compiler
protected  void compileJavaSource()
          Pre compile java source folder, if provided
protected  ConsoleParametersProcessor createParametersProcessor()
           
protected  void deleteModuleOutputDir(Module module)
           
protected  void doCompileFile(URL url, String moduleName)
           
protected  void doCompileModule(URL url, Module module)
           
 void execute()
          Runs the crux compilation loop.
protected  String[] getGwtArgs(String moduleName)
           
protected abstract  List<Module> getModules()
          Gets the list of modules that will be compiled
 String getOutputCharset()
           
 File getOutputDir()
           
 String getPageFileExtension()
           
 File getPagesOutputDir()
           
protected  String getProgramName()
           
 File getWebDir()
           
 void initializeCompiler()
           
protected  void initializeCompilerDir()
           
protected abstract  void initializeProcessors()
           
 boolean isIndentPages()
           
 boolean isKeepPagesGeneratedFiles()
           
protected  boolean isModuleCompiled(Module module)
           
 boolean isPreCompileJavaSource()
           
protected  void maybeBackupPreProcessorsOutput(Module module)
           
protected  void maybeRestoreBackup(Module module)
           
protected  void postProcessCruxPage(URL url, Module module)
          A chain composed by CruxPostProcessor object is used.
protected  URL preProcessCruxPage(URL url, Module module)
          A chain composed by CruxPreProcessor object is used.
protected  void processClasspathParameter(ConsoleParameter parameter)
           
protected  void processParameters(Collection<ConsoleParameter> parameters)
           
 void processResourcesParameter(ConsoleParameter parameter)
           
protected  void processSourceParameter(ConsoleParameter parameter)
           
protected  void releaseCompilerResources()
          Release any resource reserved during compilation
 void setIndentPages(boolean indentPages)
           
 void setKeepPagesGeneratedFiles(boolean keepPagesGeneratedFiles)
           
protected  void setModuleAsCompiled(Module module)
           
 void setOutputCharset(String outputCharset)
           
 void setOutputDir(File file)
           
 void setPageFileExtension(String pageFileExtension)
           
 void setPagesOutputDir(File pagesOutputDir)
           
 void setPreCompileJavaSource(boolean preCompileJavaSource)
           
 void setScanAllowedPackages(String packages)
           
 void setScanIgnoredPackages(String packages)
           
 void setWebDir(File file)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

compilerWorkDir

protected File compilerWorkDir

indentPages

protected boolean indentPages

initialized

protected boolean initialized

keepPagesGeneratedFiles

protected boolean keepPagesGeneratedFiles

outputCharset

protected String outputCharset

outputDir

protected File outputDir

pageFileExtension

protected String pageFileExtension

pagesOutputDir

protected File pagesOutputDir

webDir

protected File webDir

sourceDir

protected File sourceDir

resourcesDir

protected File resourcesDir
Constructor Detail

AbstractCruxCompiler

public AbstractCruxCompiler()
Parameters:
parameters -
Method Detail

execute

public void execute()
             throws CompilerException
Runs the crux compilation loop.

First, if a sourceFolder is provided, it is compiled.

Then, a scanner searches for modules, based on all crux pages found (returned by getUrls() method.).

Each of those modules is compiled and all pages found is pre processed and post processed.

Throws:
CompilerException

getOutputCharset

public String getOutputCharset()

getOutputDir

public File getOutputDir()

getPageFileExtension

public String getPageFileExtension()

getPagesOutputDir

public File getPagesOutputDir()

getWebDir

public File getWebDir()

initializeCompiler

public void initializeCompiler()

isIndentPages

public boolean isIndentPages()

isKeepPagesGeneratedFiles

public boolean isKeepPagesGeneratedFiles()

isPreCompileJavaSource

public boolean isPreCompileJavaSource()

setIndentPages

public void setIndentPages(boolean indentPages)

setKeepPagesGeneratedFiles

public void setKeepPagesGeneratedFiles(boolean keepPagesGeneratedFiles)

setOutputCharset

public void setOutputCharset(String outputCharset)

setOutputDir

public void setOutputDir(File file)
Parameters:
parameter -

setPageFileExtension

public void setPageFileExtension(String pageFileExtension)

setPagesOutputDir

public void setPagesOutputDir(File pagesOutputDir)

setPreCompileJavaSource

public void setPreCompileJavaSource(boolean preCompileJavaSource)

setScanAllowedPackages

public void setScanAllowedPackages(String packages)
Parameters:
parameter -

setScanIgnoredPackages

public void setScanIgnoredPackages(String packages)
Parameters:
parameter -

setWebDir

public void setWebDir(File file)
Parameters:
parameter -

addPostProcessor

protected void addPostProcessor(CruxPostProcessor postProcessor)
Parameters:
postProcessor -

addPreProcessor

protected void addPreProcessor(CruxPreProcessor preProcessor)
Parameters:
preProcessor -

compileFile

protected boolean compileFile(URL url,
                              Module module)
                       throws Exception
Compile files using GWT compiler

Parameters:
url -
Throws:
Exception

compileJavaSource

protected void compileJavaSource()
                          throws CompilerException
Pre compile java source folder, if provided

Throws:
CompilerException

createParametersProcessor

protected ConsoleParametersProcessor createParametersProcessor()
Returns:

deleteModuleOutputDir

protected void deleteModuleOutputDir(Module module)
Parameters:
module -

doCompileFile

protected void doCompileFile(URL url,
                             String moduleName)
Parameters:
url -
moduleName -

doCompileModule

protected void doCompileModule(URL url,
                               Module module)
                        throws Exception
Parameters:
url -
module -
Throws:
Exception

addGwtCompilerArgs

public void addGwtCompilerArgs(String[] args)
Parameters:
args -

getGwtArgs

protected String[] getGwtArgs(String moduleName)
Parameters:
moduleName -
Returns:

getProgramName

protected String getProgramName()

getModules

protected abstract List<Module> getModules()
                                    throws Exception
Gets the list of modules that will be compiled

Returns:
Throws:
Exception

initializeCompilerDir

protected void initializeCompilerDir()
                              throws IOException,
                                     MalformedURLException
Throws:
IOException
MalformedURLException

initializeProcessors

protected abstract void initializeProcessors()

isModuleCompiled

protected boolean isModuleCompiled(Module module)
Parameters:
moduleName -
Returns:

maybeBackupPreProcessorsOutput

protected void maybeBackupPreProcessorsOutput(Module module)
                                       throws IOException
Throws:
IOException

maybeRestoreBackup

protected void maybeRestoreBackup(Module module)
                           throws IOException
Parameters:
module -
Throws:
IOException

postProcessCruxPage

protected void postProcessCruxPage(URL url,
                                   Module module)
                            throws Exception
A chain composed by CruxPostProcessor object is used.

Parameters:
url -
module -
Throws:
Exception

preProcessCruxPage

protected URL preProcessCruxPage(URL url,
                                 Module module)
                          throws Exception
A chain composed by CruxPreProcessor object is used.

Parameters:
url -
module -
Returns:
Throws:
Exception

processParameters

protected void processParameters(Collection<ConsoleParameter> parameters)
Parameters:
parameters -

processSourceParameter

protected void processSourceParameter(ConsoleParameter parameter)
Parameters:
parameters -

processResourcesParameter

public void processResourcesParameter(ConsoleParameter parameter)
Parameters:
parameters -

processClasspathParameter

protected void processClasspathParameter(ConsoleParameter parameter)
Parameters:
parameters -

releaseCompilerResources

protected void releaseCompilerResources()
Release any resource reserved during compilation


setModuleAsCompiled

protected void setModuleAsCompiled(Module module)
Parameters:
module -


Copyright © 2014. All rights reserved.