# Property file for the wizard used to create a new build file.

###########################################################
# Define required properties for wizard.
###########################################################
next=Next >>
back=<< Back
cancel=Cancel
finish=Finish
progress=Progress
help=Help

###########################################################
# Define the steps the comprise the wizard.
###########################################################
steps=start, type, setup, compile, jar, javadoc, finish

###########################################################
# Step: start
###########################################################
start.editor=org.apache.tools.ant.gui.wizard.InstructionStep
start.title=Create new build file
start.description=This wizard will step you through the process of creating \
a basic Ant build file for your project.

start.instructions=Welcome to the Ant build file wizard!\n\
You will be asked a series of questions about the project you wish to create\
and the types of build options you want included.\n\n\
Click "Next >>" to proceed.

###########################################################
# Step: type
###########################################################

type.editor=org.apache.tools.ant.gui.wizard.build.ProjectTypeStep
type.title=Select project type
type.description=Select "New" if you want the buile environment \
directory structure defined and created for you \
in addition to the build file. Select "Import" if you want \
a build file created for an existing project.

type.isNewLabel=New project
type.isImportLabel=Import existing project

###########################################################
# Step: setup
###########################################################

setup.editor=org.apache.tools.ant.gui.wizard.build.ProjectSetupStep
setup.title=Setup project
setup.description=Give the project a name, and select the features you \
wish to be included in the project file, such as JavaDoc and JAR creation.
setup.fileLabel=Build File:
setup.nameLabel=Project Name:
setup.optionsLabel=Options
setup.compile.label=Compiled Java code (.class files)
setup.jar.label=Executable JAR file
setup.javadoc.label=JavaDoc

###########################################################
# Step: compile
###########################################################
compile.title=Setup Java source compilation
compile.description=Need help?
compile.editor=org.apache.tools.ant.gui.wizard.build.CompileStep

###########################################################
# Step: jar
###########################################################
jar.title=Setup executable JAR creation
jar.description=Need help?
jar.editor=org.apache.tools.ant.gui.wizard.build.JARStep

###########################################################
# Step: javadoc
###########################################################
javadoc.title=Setup JavaDoc creation
javadoc.description=Need help?
javadoc.editor=org.apache.tools.ant.gui.wizard.build.JavaDocStep

###########################################################
# Step: finish
###########################################################
finish.editor=org.apache.tools.ant.gui.wizard.build.FinishStep
finish.title=Complete build file
finish.description=Click "Finish" to save your build file definition.
finish.instructions=You are done!\n\nClick "Finish" to complete your new\
build file.
