### Ant Core plugin message catalog

### labels
label.buildFile = Build file: {0}
label.mainTargets = Main targets:
label.subTargets = Subtargets:
label.defaultTarget = Default target:

### usage
usage.options = options
usage.target = target
usage.Options = Options
usage.printMessage = print this message
usage.projectHelp = print project help information
usage.versionInfo = print the version information and exit
usage.beQuiet = be extra quiet
usage.beVerbose = be extra verbose
usage.printDebugInfo = print debugging information
usage.emacsLog = produce logging information without adornments
usage.useFile = use given file for log
usage.logClass = the class which is to perform logging
usage.listenerClass = add an instance of class as a project listener
usage.fileToBuild = use given buildfile
usage.propertiesValues = use value for given property
usage.findFileToBuild = search for buildfile towards the root of the filesystem and use it
usage.antVersion = Ant version 
usage.compiledOn =  compiled on 



### info
info.compiling = Compiling source files
info.searchingFor = Searching for: {0} ...
info.searchingIn = Searching in: {0} ...
info.couldNotLoadLibrary = Could not load library: {0}.

### error
error.compileFailed = Compile failed; messages should have been provided.
error.buildFailed = Build Failed.

### exception
exception.antTaskCallingParentTarget = Ant task calling its own parent target.
exception.buildFileIsDirectory = Build file is a directory: {0}
exception.buildFileNotFound = Build file not found: {0}
exception.cannotAppendToReference = Cannot append to a reference.
exception.cannotCreateListener = Unable to instantiate listener: {0}
exception.cannotCreateLogger = Unable to instantiate logger: {0}
exception.cannotLoadVersionInfo = Could not load the version information. {0}
exception.cannotSetOutput = Ant cannot set output to: {0}
exception.cannotWriteToLog = Cannot write on the specified log file.  Make sure the path exists and you have write permissions.
exception.classNotFound = Class not found: {0}
exception.classNotCompiler = Class is not a compiler adapter: {0}
exception.creationProblem = Exception creating: {0}
exception.loggerDoesNotImplementInterface = The specified logger class does not implement the BuildLogger interface: {0}
exception.missingBuildFile = You must specify a build file when using the -buildfile argument.
exception.missingClassName = You must specify a class name when using the -listener argument.
exception.missingDestinationDir = Destination directory does not exist or is not a directory: {0}
exception.missingExcludesFile = Excludes file not found: {0}
exception.missingIncludesFile = Includes file not found: {0}
exception.missingLogFile = You must specify a log file when using the -log argument.
exception.missingSrcAttribute = srcdir attribute must be set.
exception.missingSourceDir = srcdir does not exist: {0}
exception.multipleLoggers = Only one logger class may be specified.
exception.noBuildFile = Could not locate a build file.
exception.noParser = No JAXP compliant XML parser found. See http://java.sun.com/xml for the reference implementation.
exception.notAPatternSet = Not a patternset: {0}
exception.patternFile = An error occured while reading pattern file: {0}
exception.resourceNotFound = Resource not found: {0}
exception.unknownArgument = Unknown argument: {0}
exception.sourceNotSpecified = The attribute "source" must be specified.
exception.forceNotSpecified = The attribute "force" must be specified.
exception.deleteContentNotSpecified = The attribute "deleteContent" must be specified.
exception.projectDoesntExist = The project "{0}" does not exist.
exception.nameAlreadyUsed = The name "{0}" is already used for another project.
exception.destinationNotSpecified = The attribute destination must be specified.
exception.invalidPath = Invalid path: {0}.
exception.propertyAndPathIdNotSpecified = At least one of the "property" or "pathId" attributes must be specified.
exception.cantUseBoth = "fileSystemPath" and "resourcePath" can't be used at the same time.
exception.mustHaveOneAttribute = "fileSystemPath" or "resourcePath" must be specified.
exception.pathNotValid = The path "{0}" for the resource is not a valid path as the first segment does not represent a project.
exception.noProjectMatchThePath = The path "{0}" doesn't match any existing project.
exception.unknownProject = The project "{0}" does not exist.
exception.commandMustHaveName = The attribute "name" must be set for the command.
exception.doesntDenoteACommand = {0} doesn't denote a command.
exception.noAttributes = You must not specify any attribute when using refid.
exception.noNestedElements = You must not define nested elements when using refid.
exception.folderAlreadyUsedForAnotherProject = Project content location overlaps with an existing project's content location.
exception.cantCopyProjectInSameFolder = You must specify a location for the project to copy because it is already located in a specific folder ("{0}").
exception.resourceNotSpecified = The resource attribute must be specified with a valid existing resource name.
exception.targetDoesNotExist = The target "{0}" does not exist.