org.eclipse.xtend.core.compiler.batch
Class XtendBatchCompiler

java.lang.Object
  extended by org.eclipse.xtend.core.compiler.batch.XtendBatchCompiler

public class XtendBatchCompiler
extends java.lang.Object

Author:
Michael Clay - Initial contribution and API

Field Summary
protected static java.io.FileFilter ACCEPT_ALL_FILTER
           
protected  java.lang.String classPath
           
protected  java.lang.String complianceLevel
           
protected  boolean deleteTempDirectory
           
protected  java.io.Writer errorWriter
           
protected  java.lang.String fileEncoding
           
protected  FileExtensionProvider fileExtensionProvider
           
protected  com.google.inject.Provider<JavaIoFileSystemAccess> javaIoFileSystemAccessProvider
           
protected  java.lang.String outputPath
           
protected  java.io.Writer outputWriter
           
protected  com.google.inject.Provider<ResourceSetBasedResourceDescriptions> resourceSetDescriptionsProvider
           
protected  com.google.inject.Provider<org.eclipse.emf.ecore.resource.ResourceSet> resourceSetProvider
           
protected  java.lang.String sourcePath
           
protected  java.lang.String tempDirectory
           
protected  java.util.List<java.io.File> tempFolders
           
protected  boolean useCurrentClassLoaderAsParent
           
protected  boolean verbose
           
 
Constructor Summary
XtendBatchCompiler()
           
 
Method Summary
protected static boolean cleanFolder(java.io.File parentFolder, java.io.FileFilter filter, boolean continueOnError, boolean deleteParentFolder)
           
 boolean compile()
           
protected  java.io.File createStubs(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
           
protected  java.io.File createTempDir(java.lang.String prefix)
           
protected  void deleteTmpFolders()
           
protected  void generateJavaFiles(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
           
protected  java.util.List<java.lang.String> getClassPathEntries()
           
protected  java.lang.String getComplianceLevel()
           
protected  java.util.List<java.lang.String> getDirectories(java.lang.String path)
           
 java.io.Writer getErrorWriter()
           
 java.lang.String getFileEncoding()
           
 java.io.Writer getOutputWriter()
           
protected  ResourceSetBasedResourceDescriptions getResourceDescriptions(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
           
protected  java.util.List<java.lang.String> getSourcePathDirectories()
           
 java.lang.String getTempDirectory()
           
protected  void installJvmTypeProvider(org.eclipse.emf.ecore.resource.ResourceSet resourceSet, java.io.File tmpClassDirectory)
           
 boolean isDeleteTempDirectory()
           
protected  boolean isVerbose()
           
protected  org.eclipse.emf.ecore.resource.ResourceSet loadXtendFiles()
           
protected  boolean preCompileStubs(java.io.File tmpSourceDirectory, java.io.File classDirectory)
           
protected  void reportIssues(java.lang.Iterable<Issue> issues)
           
 void setClassPath(java.lang.String classPath)
           
 void setDeleteTempDirectory(boolean deletetempDirectory)
           
 void setErrorWriter(java.io.Writer errorWriter)
           
 void setFileEncoding(java.lang.String encoding)
           
 void setOutputPath(java.lang.String outputPath)
           
 void setOutputWriter(java.io.Writer ouputWriter)
           
 void setSourcePath(java.lang.String sourcePath)
           
 void setTempDirectory(java.lang.String tempDirectory)
           
 void setUseCurrentClassLoaderAsParent(boolean useCurrentClassLoaderAsParent)
           
 void setVerbose(boolean verbose)
           
protected  java.util.List<Issue> validate(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ACCEPT_ALL_FILTER

protected static final java.io.FileFilter ACCEPT_ALL_FILTER

resourceSetProvider

@Inject
protected com.google.inject.Provider<org.eclipse.emf.ecore.resource.ResourceSet> resourceSetProvider

javaIoFileSystemAccessProvider

@Inject
protected com.google.inject.Provider<JavaIoFileSystemAccess> javaIoFileSystemAccessProvider

fileExtensionProvider

@Inject
protected FileExtensionProvider fileExtensionProvider

resourceSetDescriptionsProvider

@Inject
protected com.google.inject.Provider<ResourceSetBasedResourceDescriptions> resourceSetDescriptionsProvider

outputWriter

protected java.io.Writer outputWriter

errorWriter

protected java.io.Writer errorWriter

sourcePath

protected java.lang.String sourcePath

classPath

protected java.lang.String classPath

useCurrentClassLoaderAsParent

protected boolean useCurrentClassLoaderAsParent

outputPath

protected java.lang.String outputPath

fileEncoding

protected java.lang.String fileEncoding

complianceLevel

protected java.lang.String complianceLevel

verbose

protected boolean verbose

tempDirectory

protected java.lang.String tempDirectory

deleteTempDirectory

protected boolean deleteTempDirectory

tempFolders

protected java.util.List<java.io.File> tempFolders
Constructor Detail

XtendBatchCompiler

public XtendBatchCompiler()
Method Detail

setUseCurrentClassLoaderAsParent

public void setUseCurrentClassLoaderAsParent(boolean useCurrentClassLoaderAsParent)

getTempDirectory

public java.lang.String getTempDirectory()

setTempDirectory

public void setTempDirectory(java.lang.String tempDirectory)

isDeleteTempDirectory

public boolean isDeleteTempDirectory()

setDeleteTempDirectory

public void setDeleteTempDirectory(boolean deletetempDirectory)

getOutputWriter

public java.io.Writer getOutputWriter()

setOutputWriter

public void setOutputWriter(java.io.Writer ouputWriter)

getErrorWriter

public java.io.Writer getErrorWriter()

setErrorWriter

public void setErrorWriter(java.io.Writer errorWriter)

setClassPath

public void setClassPath(java.lang.String classPath)

setOutputPath

public void setOutputPath(java.lang.String outputPath)

setSourcePath

public void setSourcePath(java.lang.String sourcePath)

getComplianceLevel

protected java.lang.String getComplianceLevel()

setVerbose

public void setVerbose(boolean verbose)

isVerbose

protected boolean isVerbose()

getFileEncoding

public java.lang.String getFileEncoding()

setFileEncoding

public void setFileEncoding(java.lang.String encoding)

compile

public boolean compile()

loadXtendFiles

protected org.eclipse.emf.ecore.resource.ResourceSet loadXtendFiles()

createStubs

protected java.io.File createStubs(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)

preCompileStubs

protected boolean preCompileStubs(java.io.File tmpSourceDirectory,
                                  java.io.File classDirectory)

validate

protected java.util.List<Issue> validate(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)

installJvmTypeProvider

protected void installJvmTypeProvider(org.eclipse.emf.ecore.resource.ResourceSet resourceSet,
                                      java.io.File tmpClassDirectory)

reportIssues

protected void reportIssues(java.lang.Iterable<Issue> issues)

generateJavaFiles

protected void generateJavaFiles(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)

getResourceDescriptions

protected ResourceSetBasedResourceDescriptions getResourceDescriptions(org.eclipse.emf.ecore.resource.ResourceSet resourceSet)

getClassPathEntries

protected java.util.List<java.lang.String> getClassPathEntries()

getSourcePathDirectories

protected java.util.List<java.lang.String> getSourcePathDirectories()

getDirectories

protected java.util.List<java.lang.String> getDirectories(java.lang.String path)

createTempDir

protected java.io.File createTempDir(java.lang.String prefix)

deleteTmpFolders

protected void deleteTmpFolders()

cleanFolder

protected static boolean cleanFolder(java.io.File parentFolder,
                                     java.io.FileFilter filter,
                                     boolean continueOnError,
                                     boolean deleteParentFolder)