org.apache.tools.ant.taskdefs.optional.dotnet
Class VisualBasicCompile

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.tools.ant.taskdefs.MatchingTask
              extended by org.apache.tools.ant.taskdefs.optional.dotnet.DotnetBaseMatchingTask
                  extended by org.apache.tools.ant.taskdefs.optional.dotnet.DotnetCompile
                      extended by org.apache.tools.ant.taskdefs.optional.dotnet.VisualBasicCompile
All Implemented Interfaces:
java.lang.Cloneable, SelectorContainer

public class VisualBasicCompile
extends DotnetCompile

This task compiles Visual Basic.NET source into executables or modules. The task requires vbc.exe on the execute path, unless it or an equivalent program is specified in the executable parameter

All parameters are optional: <vbc/> should suffice to produce a debug build of all *.vb files.

The task is a directory based task, so attributes like includes="**\/*.vb" and excludes="broken.vb" can be used to control the files pulled in. By default, all *.vb 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 **/*.vb 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.

As with <csc> nested src filesets of source, reference filesets, definitions and resources can be provided.

Example

<vbc
   optimize="true"
   debug="false"
   warnLevel="4"
   targetType="exe"
   definitions="RELEASE"
   excludes="src/unicode_class.vb"
   mainClass = "MainApp"
   destFile="NetApp.exe"
   optionExplicit="true"
   optionCompare="text"
   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"/>
   </vbc>
 


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.tools.ant.taskdefs.optional.dotnet.DotnetCompile
DotnetCompile.TargetTypes
 
Field Summary
 
Fields inherited from class org.apache.tools.ant.taskdefs.optional.dotnet.DotnetCompile
additionalModules, debug, definitionList, executable, extraOptions, mainClass, REFERENCE_OPTION, referenceFilesets, resources, targetType, utf8output
 
Fields inherited from class org.apache.tools.ant.taskdefs.optional.dotnet.DotnetBaseMatchingTask
filesets, isWindows, outputFile, srcDir
 
Fields inherited from class org.apache.tools.ant.taskdefs.MatchingTask
fileset
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
VisualBasicCompile()
          Constructor for VisualBasicCompile.
 
Method Summary
protected  void addCompilerSpecificOptions(NetCommand command)
          implement VBC commands
 void clear()
          reset all contents.
protected  void createResourceParameter(NetCommand command, DotnetResource resource)
          Build a C# style parameter.
 java.lang.String getFileExtension()
          Get the extension of filenames to compile.
 java.lang.String getImports()
          Get global imports for namespaces in referenced metadata files.
protected  java.lang.String getImportsParameter()
          Format the option for imports.
 java.lang.String getOptionCompare()
          "binary" or "text" for the string-comparison style.
protected  java.lang.String getOptionCompareParameter()
          Format the option for string comparison style.
 boolean getOptionExplicit()
          Get the flag for whether to require explicit declaration of variables.
 java.lang.String getOptionExplicitParameter()
          Form the option string for optionExplicit..
 boolean getOptionStrict()
          Get the flag for whether to enforce strict language semantics.
 java.lang.String getOptionStrictParameter()
          For the option string for optionStrict.
 java.lang.String getReferenceDelimiter()
          Get the delimiter that the compiler uses between references.
 boolean getRemoveIntChecks()
          Get the flag for removing integer checks.
 java.lang.String getRemoveIntChecksParameter()
          Form the option string for removeIntChecks.
 java.lang.String getRootNamespace()
          Get the root namespace.
protected  java.lang.String getRootNamespaceParameter()
          Form the option string for rootNamespace.
protected  java.lang.String getWin32ResParameter()
          get the argument or null for no argument needed This is overridden from DotnetCompile.java because VBC uses "/win32resource:" rather than "/win32res:"
 void setImports(java.lang.String imports)
          Declare global imports for namespaces in referenced metadata files.
 void setOptionCompare(java.lang.String optionCompare)
          Specify binary- or text-style string comparisons.
 void setOptionExplicit(boolean flag)
          Whether to require explicit declaration of variables.
 void setOptionStrict(boolean flag)
          Enforce strict language semantics.
 void setRemoveIntChecks(boolean flag)
          Whether to remove integer checks.
 void setRootNamespace(java.lang.String rootNamespace)
          Specifies the root namespace for all type declarations.
protected  void validate()
          validation code
 
Methods inherited from class org.apache.tools.ant.taskdefs.optional.dotnet.DotnetCompile
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, isFileManagedBinary, isUseResponseFile, notEmpty, setAdditionalModules, setDebug, setDestDir, setExecutable, setExtraOptions, setFailOnError, setIncludeDefaultReferences, setMainClass, setOptimize, setReferenceFiles, setReferences, setTargetType, setTargetType, setUseResponseFile, setUtf8Output, setWarnLevel, setWin32Icon, setWin32Res
 
Methods inherited from class org.apache.tools.ant.taskdefs.optional.dotnet.DotnetBaseMatchingTask
addFilesAndExecute, addFilesToCommand, addSrc, buildFileList, getDestFile, getOutputFileTimestamp, getSrcDir, setDestFile, setSrcDir
 
Methods inherited from class org.apache.tools.ant.taskdefs.MatchingTask
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
 
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
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VisualBasicCompile

public VisualBasicCompile()
Constructor for VisualBasicCompile.

Method Detail

clear

public void clear()
reset all contents.

Overrides:
clear in class DotnetCompile

getWin32ResParameter

protected java.lang.String getWin32ResParameter()
get the argument or null for no argument needed This is overridden from DotnetCompile.java because VBC uses "/win32resource:" rather than "/win32res:"

Overrides:
getWin32ResParameter in class DotnetCompile
Returns:
The Win32Res Parameter to CSC

setRemoveIntChecks

public void setRemoveIntChecks(boolean flag)
Whether to remove integer checks. Default false.

Parameters:
flag - on/off flag

getRemoveIntChecks

public boolean getRemoveIntChecks()
Get the flag for removing integer checks.

Returns:
true if flag is turned on

getRemoveIntChecksParameter

public java.lang.String getRemoveIntChecksParameter()
Form the option string for removeIntChecks.

Returns:
The parameter string.

setOptionExplicit

public void setOptionExplicit(boolean flag)
Whether to require explicit declaration of variables.

Parameters:
flag - on/off flag

getOptionExplicit

public boolean getOptionExplicit()
Get the flag for whether to require explicit declaration of variables.

Returns:
true if flag is turned on

getOptionExplicitParameter

public java.lang.String getOptionExplicitParameter()
Form the option string for optionExplicit..

Returns:
The parameter string.

setOptionStrict

public void setOptionStrict(boolean flag)
Enforce strict language semantics.

Parameters:
flag - on/off flag

getOptionStrict

public boolean getOptionStrict()
Get the flag for whether to enforce strict language semantics.

Returns:
true if flag is turned on

getOptionStrictParameter

public java.lang.String getOptionStrictParameter()
For the option string for optionStrict.

Returns:
The parameter string.

setRootNamespace

public void setRootNamespace(java.lang.String rootNamespace)
Specifies the root namespace for all type declarations.

Parameters:
rootNamespace - a root namespace.

getRootNamespace

public java.lang.String getRootNamespace()
Get the root namespace.

Returns:
the root namespace.

getRootNamespaceParameter

protected java.lang.String getRootNamespaceParameter()
Form the option string for rootNamespace.

Returns:
the root namespace option string.

setImports

public void setImports(java.lang.String imports)
Declare global imports for namespaces in referenced metadata files.

Parameters:
imports - the imports string

getImports

public java.lang.String getImports()
Get global imports for namespaces in referenced metadata files.

Returns:
the imports string.

getImportsParameter

protected java.lang.String getImportsParameter()
Format the option for imports.

Returns:
the formatted import option.

setOptionCompare

public void setOptionCompare(java.lang.String optionCompare)
Specify binary- or text-style string comparisons. Defaults to "binary"

Parameters:
optionCompare - the option compare style. "text" | "binary".

getOptionCompare

public java.lang.String getOptionCompare()
"binary" or "text" for the string-comparison style.

Returns:
the option compare style.

getOptionCompareParameter

protected java.lang.String getOptionCompareParameter()
Format the option for string comparison style.

Returns:
The formatted option.

addCompilerSpecificOptions

protected void addCompilerSpecificOptions(NetCommand command)
implement VBC commands

Specified by:
addCompilerSpecificOptions in class DotnetCompile
Parameters:
command - the command to set arguements on.

getReferenceDelimiter

public java.lang.String getReferenceDelimiter()
Get the delimiter that the compiler uses between references. For example, c# will return ";"; VB.NET will return ","

Specified by:
getReferenceDelimiter in class DotnetCompile
Returns:
The string delimiter for the reference string.

getFileExtension

public java.lang.String getFileExtension()
Get the extension of filenames to compile.

Specified by:
getFileExtension in class DotnetCompile
Returns:
The string extension of files to compile.

createResourceParameter

protected void createResourceParameter(NetCommand command,
                                       DotnetResource resource)
Build a C# style parameter.

Specified by:
createResourceParameter in class DotnetCompile
Parameters:
command - the command.
resource - the resource.

validate

protected void validate()
                 throws BuildException
validation code

Overrides:
validate in class DotnetCompile
Throws:
BuildException - if validation failed