Package jetbrains.mps.build.ant
Class MpsLoadTask
- java.lang.Object
 - 
- org.apache.tools.ant.ProjectComponent
 - 
- org.apache.tools.ant.Task
 - 
- jetbrains.mps.build.ant.MpsLoadTask
 
 
 
 
- 
- All Implemented Interfaces:
 Cloneable
- Direct Known Subclasses:
 CustomMPSLoadTask,GenerateTask,MigrationTask,MpsRunnerTask
public class MpsLoadTask extends org.apache.tools.ant.TaskAnt task that is capable to execute an MPS-aware 'worker' class. Generally, MPS Ant tasks have very limited classpath (j.m.tool.common and j.m.tool.ant, respectively [ant-mps] and [ant-mps-common]) while actual 'worker' class likely to employ full power of MPS (either with MpsEnvironment or IdeaEnvironment). Hence, the idea of the task is to get worker's classpath ready to use whatever MPS functionality needed. Specific task subclasses may control exact classpath withcalculateClassPath(boolean)based on their worker's demand. 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMpsLoadTask.AbstractOutputReaderstatic classMpsLoadTask.LogLevelAttribute 
- 
Field Summary
Fields Modifier and Type Field Description static StringBUILD_NUMBERstatic StringCONFIGURATION_NAMEprotected ScriptmyWhatToDo 
- 
Constructor Summary
Constructors Constructor Description MpsLoadTask()MpsLoadTask(String workerClass) 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddConfiguredExclude(ExcludeNested excludeInner)voidaddConfiguredJvmArg(Arg jvmArg)voidaddConfiguredJvmArgs(JvmArgs jvmArg)voidaddConfiguredMacro(Macro macro)voidaddConfiguredPlugin(Plugin plugin)voidaddConfiguredRepository(RepositoryDataType repo)protected voidaddLibraryJar(File file)handy alternative to myWhatToDo.addLibraryJar(), with hardcoded knowledge about generator modules distributed in distinct jarsprotected Set<File>calculateClassPath(boolean fork)subclasses shall override in case they got better idea how worker classpath shall look like.protected voiddoInProcessWork(Class<?> workerClass)Receives properly loaded worker class and may start worker as appropriate.voidexecute()protected List<String>getAdditionalArgs()FilegetMpsHome()protected FilegetMpsHome_Checked()booleangetUsePropertiesAsMacro()StringgetWorker()protected StringgetWorkerClass()Deprecated.pass worker class name as cons argument or using #setWorkerprotected ObjectinstantiateInProcessWorker(Class<?> workerClass)Controls construction of a new worker instance, subclasses may override e.g.protected voidinvokeInProcessMain(Class<?> workerClass, Object workerInstance)Controls execution of a worker code, by default just invokes "work" no-arg method for supplied worker instance.static StringreadBuildNumber(InputStream stream)voidsetFailOnError(boolean failOnError)voidsetFork(boolean fork)voidsetLogLevel(MpsLoadTask.LogLevelAttribute logLevel)voidsetMpsHome(File mpsHome)voidsetUsePropertiesAsMacro(boolean usePropertiesAsMacro)voidsetWorker(String workerClass)- 
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType 
 - 
 
 - 
 
- 
- 
Field Detail
- 
CONFIGURATION_NAME
public static final String CONFIGURATION_NAME
- See Also:
 - Constant Field Values
 
 
- 
BUILD_NUMBER
public static final String BUILD_NUMBER
- See Also:
 - Constant Field Values
 
 
- 
myWhatToDo
protected final Script myWhatToDo
 
 - 
 
- 
Constructor Detail
- 
MpsLoadTask
public MpsLoadTask()
 
- 
MpsLoadTask
public MpsLoadTask(String workerClass)
 
 - 
 
- 
Method Detail
- 
setMpsHome
public void setMpsHome(File mpsHome)
 
- 
getMpsHome
public File getMpsHome()
 
- 
setFailOnError
public void setFailOnError(boolean failOnError)
 
- 
setLogLevel
public void setLogLevel(MpsLoadTask.LogLevelAttribute logLevel)
 
- 
setFork
public void setFork(boolean fork)
 
- 
addConfiguredRepository
public void addConfiguredRepository(RepositoryDataType repo)
 
- 
addConfiguredExclude
public void addConfiguredExclude(ExcludeNested excludeInner)
 
- 
addConfiguredMacro
public void addConfiguredMacro(Macro macro)
 
- 
getUsePropertiesAsMacro
public boolean getUsePropertiesAsMacro()
 
- 
setUsePropertiesAsMacro
public void setUsePropertiesAsMacro(boolean usePropertiesAsMacro)
 
- 
addConfiguredJvmArg
public void addConfiguredJvmArg(Arg jvmArg)
 
- 
addConfiguredJvmArgs
public void addConfiguredJvmArgs(JvmArgs jvmArg)
 
- 
addConfiguredPlugin
public void addConfiguredPlugin(Plugin plugin)
 
- 
addLibraryJar
protected final void addLibraryJar(File file)
handy alternative to myWhatToDo.addLibraryJar(), with hardcoded knowledge about generator modules distributed in distinct jars 
- 
setWorker
public final void setWorker(String workerClass)
 
- 
getWorker
public final String getWorker()
 
- 
execute
public void execute() throws org.apache.tools.ant.BuildException- Overrides:
 executein classorg.apache.tools.ant.Task- Throws:
 org.apache.tools.ant.BuildException
 
- 
doInProcessWork
protected void doInProcessWork(@NotNull Class<?> workerClass) throws Exception
Receives properly loaded worker class and may start worker as appropriate. By default, instantiates an object and fires its no-arg "work" method, seejetbrains.mps.build.ant.MpsLoadTask#instantiateInProcessWorker(Class>)andjetbrains.mps.build.ant.MpsLoadTask#invokeInProcessMain(Class>, Object)- Throws:
 Exception
 
- 
instantiateInProcessWorker
protected Object instantiateInProcessWorker(@NotNull Class<?> workerClass) throws Exception
Controls construction of a new worker instance, subclasses may override e.g. to pass arguments to a worker through constructor. This method is part ofjetbrains.mps.build.ant.MpsLoadTask#doInProcessWork(Class>).- Throws:
 Exception
 
- 
invokeInProcessMain
protected void invokeInProcessMain(@NotNull Class<?> workerClass, @NotNull Object workerInstance) throws Exception
Controls execution of a worker code, by default just invokes "work" no-arg method for supplied worker instance. Subclasses may override. This method is part ofjetbrains.mps.build.ant.MpsLoadTask#doInProcessWork(Class>).- Throws:
 Exception
 
- 
calculateClassPath
protected Set<File> calculateClassPath(boolean fork)
subclasses shall override in case they got better idea how worker classpath shall look like. Generally, subclasses use properties of theant projectto access information about environment 
- 
getWorkerClass
@Deprecated protected String getWorkerClass()
Deprecated.pass worker class name as cons argument or using #setWorker 
- 
readBuildNumber
public static String readBuildNumber(InputStream stream)
 
 - 
 
 -