public class FSharp extends DotnetCompile
All parameters are optional: <fsc/> should suffice to produce a debug build of all *.fs files.
The task is a directory based task, so attributes like includes="**\/*.fs" and excludes="broken.fs" can be used to control the files pulled in. By default, all *.fs files from the project folder down are included in the command. When this happens the destFile -if not specified- is taken as the first file in the list, which may be somewhat hard to control. Specifying the output file with destfile is prudent.
Also, dependency checking only works if destfile is set.
For historical reasons the pattern
**
/*.fs
is preset as includes list and
you can not override it with an explicit includes attribute. Use
nested <src>
elements instead of the basedir
attribute if you need more control.
Example
<fsc optimize="true" debug="false" warnLevel="4" targetType="exe" definitions="RELEASE" excludes="src/unicode_class.fs" destFile="NetApp.exe" tailcalls="true" references="System.Xml,System.Web.Xml" > <reference file="${testCSC.dll}" /> <define name="RELEASE" /> <define name="DEBUG" if="debug.property"/> <define name="def3" unless="def2.property"/> </fsc>
DotnetCompile.TargetTypes
additionalModules, debug, definitionList, executable, extraOptions, mainClass, REFERENCE_OPTION, referenceFilesets, resources, targetType, utf8output
filesets, isWindows, outputFile, srcDir
Constructor and Description |
---|
FSharp() |
Modifier and Type | Method and Description |
---|---|
protected void |
addCompilerSpecificOptions(NetCommand command)
implement FSC commands
|
void |
clear()
reset all contents.
|
protected void |
createResourceParameter(NetCommand command,
DotnetResource resource) |
boolean |
getCrossoptimize()
Whether to enable cross-module optimizations.
|
java.lang.String |
getCrossoptimizeParameter()
Form the option string for cross-module optimizations.
|
java.lang.String |
getFileExtension()
Get the extension of filenames to compile.
|
java.lang.String |
getReferenceDelimiter()
Get the delimiter that the compiler uses between references.
|
boolean |
getStandalone()
Whether to create a standalone assembly.
|
java.lang.String |
getStandaloneParameter()
Form the option string for standalone.
|
boolean |
getTailcalls()
Whether to enable tailcalls.
|
java.lang.String |
getTailcallsParameter()
Form the option string for tailcalls.
|
void |
setCrossoptimize(boolean b)
Whether to enable cross-module optimizations.
|
void |
setStandalone(boolean b)
Whether to create a standalone assembly.
|
void |
setTailcalls(boolean b)
Whether to enable tailcalls.
|
addDefine, addReference, addReferenceFilesets, addResource, addResources, createNetCommand, execute, fillInSharedParameters, getAdditionalModulesParameter, getDebug, getDebugParameter, getDefinitionsDelimiter, getDefinitionsParameter, getDestFileParameter, getExecutable, getExtraOptions, getExtraOptionsParameter, getExtraOptionsParameters, getFailOnError, getFilePattern, getIncludeDefaultReferences, getIncludeDefaultReferencesParameter, getMainClass, getMainClassParameter, getOptimize, getOptimizeParameter, getReferenceFilesParameter, getReferencesParameter, getTargetType, getTargetTypeParameter, getUtf8OutputParameter, getWarnLevel, getWarnLevelParameter, getWin32IconParameter, getWin32Res, getWin32ResParameter, isFileManagedBinary, isUseResponseFile, notEmpty, setAdditionalModules, setDebug, setDestDir, setExecutable, setExtraOptions, setFailOnError, setIncludeDefaultReferences, setMainClass, setOptimize, setReferenceFiles, setReferences, setTargetType, setTargetType, setUseResponseFile, setUtf8Output, setWarnLevel, setWin32Icon, setWin32Res, validate
addFilesAndExecute, addFilesToCommand, addSrc, buildFileList, getDestFile, getOutputFileTimestamp, getSrcDir, setDestFile, setSrcDir
add, addAnd, addContains, addContainsRegexp, addCustom, addDate, addDepend, addDepth, addDifferent, addFilename, addMajority, addModified, addNone, addNot, addOr, addPresent, addSelector, addSize, addType, appendSelector, createExclude, createExcludesFile, createInclude, createIncludesFile, createPatternSet, getDirectoryScanner, getImplicitFileSet, getSelectors, hasSelectors, selectorCount, selectorElements, setCaseSensitive, setDefaultexcludes, setExcludes, setExcludesfile, setFollowSymlinks, setIncludes, setIncludesfile, setProject, XsetIgnore, XsetItems
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
public void clear()
clear
in class DotnetCompile
public void setTailcalls(boolean b)
public boolean getTailcalls()
public java.lang.String getTailcallsParameter()
public void setCrossoptimize(boolean b)
public boolean getCrossoptimize()
public java.lang.String getCrossoptimizeParameter()
public void setStandalone(boolean b)
public boolean getStandalone()
public java.lang.String getStandaloneParameter()
protected void addCompilerSpecificOptions(NetCommand command)
addCompilerSpecificOptions
in class DotnetCompile
command
- public java.lang.String getReferenceDelimiter()
getReferenceDelimiter
in class DotnetCompile
public java.lang.String getFileExtension()
getFileExtension
in class DotnetCompile
protected void createResourceParameter(NetCommand command, DotnetResource resource)
createResourceParameter
in class DotnetCompile