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.TargetTypesadditionalModules, debug, definitionList, executable, extraOptions, mainClass, REFERENCE_OPTION, referenceFilesets, resources, targetType, utf8outputfilesets, 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, validateaddFilesAndExecute, addFilesToCommand, addSrc, buildFileList, getDestFile, getOutputFileTimestamp, getSrcDir, setDestFile, setSrcDiradd, 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, XsetItemsbindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskTypepublic void clear()
clear in class DotnetCompilepublic 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 DotnetCompilecommand - public java.lang.String getReferenceDelimiter()
getReferenceDelimiter in class DotnetCompilepublic java.lang.String getFileExtension()
getFileExtension in class DotnetCompileprotected void createResourceParameter(NetCommand command, DotnetResource resource)
createResourceParameter in class DotnetCompile