Represents the project paths and other build settings that the user can change when running the Grails commands. Defaults are provided for all settings, but the user can override those by setting the appropriate system property or specifying a value for it in the BuildConfig.groovy file.
Warning The behaviour is poorly defined if you explicitly set some of the project paths (such as BuildSettings.projectWorkDir), but not others. If you set one of them explicitly, set all of them to ensure consistent behaviour.
Modifiers | Name | Description |
---|---|---|
static java.lang.String |
APP_BASE_DIR |
The base directory of the application |
static java.lang.String |
BUILD_LISTENERS |
The name of the system property for multiple buildListeners. |
static java.lang.String |
COMPILER_SOURCE_LEVEL |
The compiler source level to use |
static java.lang.String |
COMPILER_TARGET_LEVEL |
The compiler source level to use |
static java.lang.String |
CONVERT_CLOSURES_KEY |
A property name to enable/disable AST conversion of closures actions&tags to methods |
static java.lang.String |
CORE_WORKING_DIR_NAME |
The name of the working directory for commands that don't belong to a project (like create-app) |
static java.lang.String |
DEPENDENCY_RESOLVER |
The dependency resolver to use |
static java.lang.String |
FUNCTIONAL_BASE_URL_PROPERTY |
A system property with this name is populated in the preparation phase of functional testing with the base URL that tests should be run against. |
static java.lang.String |
GLOBAL_PLUGINS_DIR |
The name of the system property for globalPluginsDir. |
static java.lang.String |
LOG_SCRIPT_TIMING_KEY |
Property name to enable/disable script event time logging. |
static java.lang.String |
OFFLINE_MODE |
|
static java.lang.String |
PLUGINS_DIR |
The name of the system property for projectPluginsDir. |
static java.lang.String |
PLUGIN_INCLUDE_SOURCE |
The name of the system property for pluginIncludeSource. |
static java.lang.String |
PLUGIN_STAGING_DIR |
The name of the system property for pluginStagingDir. |
static java.lang.String |
PROJECT_AUTODEPLOY_DIR |
The name of the WAR file of the project |
static java.lang.String |
PROJECT_CLASSES_DIR |
The name of the system property for classesDir. |
static java.lang.String |
PROJECT_DOCS_OUTPUT_DIR |
The name of the system property for docsOutputDir. |
static java.lang.String |
PROJECT_PLUGIN_BUILD_CLASSES_DIR |
The name of the system property for pluginBuildClassesDir. |
static java.lang.String |
PROJECT_PLUGIN_CLASSES_DIR |
The name of the system property for pluginClassesDir. |
static java.lang.String |
PROJECT_PLUGIN_PROVIDED_CLASSES_DIR |
The name of the system property for pluginProvidedClassesDir. |
static java.lang.String |
PROJECT_RESOURCES_DIR |
The name of the system property for #. |
static java.lang.String |
PROJECT_SOURCE_DIR |
The name of the system property for sourceDir. |
static java.lang.String |
PROJECT_TARGET_DIR |
The name of the system property for projectTargetDir. |
static java.lang.String |
PROJECT_TEST_CLASSES_DIR |
The name of the system property for testClassesDir. |
static java.lang.String |
PROJECT_TEST_REPORTS_DIR |
The name of the system property for testReportsDir. |
static java.lang.String |
PROJECT_TEST_SOURCE_DIR |
The name of the system property for testSourceDir. |
static java.lang.String |
PROJECT_WAR_EXPLODED_DIR |
The name of the system property for projectWarExplodedDir. |
static java.lang.String |
PROJECT_WAR_FILE |
The name of the WAR file of the project |
static java.lang.String |
PROJECT_WAR_OSGI_HEADERS |
The name of the system property for enabling osgi headers in the WAR Manifest |
static java.lang.String |
PROJECT_WEB_XML_FILE |
The name of the system property for BuildSettings.webXmlLocation. |
static java.lang.String |
PROJECT_WORK_DIR |
The name of the system property for projectWorkDir. |
static java.lang.String |
SERVLET_VERSION |
The version of the servlet API |
static java.lang.String |
VERBOSE_COMPILE |
The name of the system property for enabling verbose compilation verboseCompile. |
static java.lang.String |
WORK_DIR |
The name of the system property for grailsWorkDir. |
protected boolean |
settingsFileLoaded |
Fields inherited from class | Fields |
---|---|
class AbstractBuildSettings |
cache, config, flatConfig, globalPluginsDir, globalPluginsDirSet, projectPluginsDir, projectPluginsDirSet |
Type | Name and description |
---|---|
static java.lang.String |
BUILD_SCOPE |
static java.lang.String |
BUILD_SCOPE_DESC |
static java.lang.String |
COMPILE_SCOPE |
static java.lang.String |
COMPILE_SCOPE_DESC |
static java.util.regex.Pattern |
JAR_PATTERN |
static java.lang.String |
PROVIDED_SCOPE |
static java.lang.String |
PROVIDED_SCOPE_DESC |
static java.lang.String |
RUNTIME_SCOPE |
static java.lang.String |
RUNTIME_SCOPE_DESC |
static java.util.Map<java.lang.String, java.lang.String> |
SCOPE_TO_DESC |
static java.lang.String |
TEST_SCOPE |
static java.lang.String |
TEST_SCOPE_DESC |
java.util.List<java.io.File> |
applicationJars List of jars provided in the applications 'lib' directory |
java.io.File |
autodeployDir Directory where additional war files to be autodeployed are located |
java.io.File |
baseDir The base directory for the build, which is normally the root directory of the current project. |
java.util.List |
buildListeners |
DependencyReport |
buildResolveReport |
java.io.File |
classesDir The location to which Grails compiles a project's classes. |
DependencyReport |
compileResolveReport |
java.lang.String |
compilerSourceLevel The compiler source level to use |
java.lang.String |
compilerTargetLevel The compiler target level to use |
boolean |
convertClosuresArtefacts |
GrailsCoreDependencies |
coreDependencies |
java.util.List<java.io.File> |
defaultBuildDependencies |
java.util.List<java.io.File> |
defaultCompileDependencies |
boolean |
defaultEnv true if the default environment for a script should be used. |
java.util.Map |
defaultPluginMap A Set of plugin names and versions that represent the default set of plugins installed when creating Grails applications |
java.util.Set |
defaultPluginSet A Set of plugin names that represent the default set of plugins installed when creating Grails applications |
java.util.List<java.io.File> |
defaultProvidedDependencies |
java.util.List<java.io.File> |
defaultRuntimeDependencies |
java.util.List<java.io.File> |
defaultTestDependencies |
boolean |
dependenciesExternallyConfigured Whether the project required build dependencies are externally configured (by Maven for example) or not |
DependencyManager |
dependencyManager Manages dependencies and dependency resolution in a Grails application |
java.lang.String |
dependencyResolver The dependency resolution engine to use (aether or ivy) |
java.io.File |
docsOutputDir The location of the documentation output. |
boolean |
enableResolve Whether to enable resolving dependencies |
java.util.Map<java.lang.String, java.lang.Object> |
forkSettings Fork Settings. |
java.lang.String |
grailsEnv The environment for the current script. |
java.io.File |
grailsHome Location of the Grails distribution as usually identified by the GRAILS_HOME environment variable. |
java.lang.String |
grailsVersion The version of Grails being used for the current script. |
java.io.File |
grailsWorkDir The location of the Grails working directory where non-project-specific temporary files are stored. |
boolean |
includeJavadoc whether to include javadoc attachments in a resolve |
boolean |
includeSource whether to include source attachments in a resolve |
boolean |
logScriptTiming |
boolean |
modified Return whether the BuildConfig has been modified |
boolean |
offline Whether the build is allowed to connect to remote servers to resolve dependencies |
java.io.File |
pluginBuildClassesDir The location to which Grails compiles build scoped plugins classes. |
java.io.File |
pluginClassesDir The location to which Grails compiles a project's plugin classes. |
java.util.List<java.io.File> |
pluginDependencies |
java.lang.Boolean |
pluginIncludeSource Whether to include the source in binary plugin JAR files. |
java.io.File |
pluginProvidedClassesDir The location to which Grails compiles provided scoped plugins classes. |
java.io.File |
pluginStagingDir The location of the temporary directory where plugins are staged before being bundled into a ZIP or JAR file. |
java.io.File |
projectTargetDir The location of the project target directory where reports, artifacts and so on are output. |
java.io.File |
projectWarExplodedDir The location of the Grails WAR directory where exploded WAR is built. |
java.io.File |
projectWarFile The WAR file of the project |
boolean |
projectWarOsgiHeaders Setting for whether or not to enable OSGI headers in the WAR Manifest, can be overridden via -verboseCompile(=[true|false])? |
java.io.File |
projectWorkDir The location of the project working directory for project-specific temporary files. |
DependencyReport |
providedResolveReport |
groovy.util.ConfigObject |
proxySettings The settings used to establish the HTTP proxy to use for dependency resolution etc. |
java.io.File |
proxySettingsFile The file containing the proxy settings |
java.io.File |
resourcesDir The location where Grails keeps temporary copies of a project's resources. |
java.net.URLClassLoader |
rootLoader The root loader for the build. |
DependencyReport |
runtimeResolveReport |
java.lang.String |
servletVersion The version of the servlet API used |
java.io.File |
sourceDir The location of the plain source. |
java.io.File |
testClassesDir The location to which Grails compiles a project's test classes and any test scoped plugin classes. |
java.io.File |
testReportsDir The location of the test reports. |
DependencyReport |
testResolveReport |
java.io.File |
testSourceDir The location of the test source. |
java.io.File |
userHome Location of the current user's home directory - equivalent to "user.home" system property. |
boolean |
verboseCompile Setting for whether or not to enable verbose compilation, can be overridden via -verboseCompile(=[true|false])? |
java.io.File |
webXmlLocation Location of the generated web.xml file |
Constructor and description |
---|
BuildSettings
() |
BuildSettings
(java.io.File grailsHome) |
BuildSettings
(java.io.File grailsHome, java.io.File baseDir) |
Type Params | Return Type | Name and description |
---|---|---|
|
DependencyManager |
configureDependencyManager() |
|
protected void |
copyDirectoryContentsToTarget(java.io.File dir, java.lang.String targetPath) |
|
groovy.util.ConfigSlurper |
createConfigSlurper() |
|
DependencyManager |
createNewDependencyManager() |
|
java.util.List<java.io.File> |
doResolve(java.lang.String scope, java.util.List<java.io.File> pluginZips, boolean includeAppJars = true) |
|
java.io.File |
getBasePluginDescriptor() |
|
java.util.List<java.io.File> |
getBuildDependencies() List containing the runtime dependencies of the app as File instances. |
|
java.lang.Object[] |
getBuildListeners() |
|
java.util.List<java.io.File> |
getCompileDependencies() List containing the compile-time dependencies of the app as File instances. |
|
java.io.File |
getConfigFile() |
|
java.lang.String |
getConfigFilePath() @return The path to the Config.groovy file (not to be confused with BuildConfig.groovy) |
|
java.lang.String |
getFunctionalTestBaseUrl() |
|
groovy.lang.Closure |
getGrailsScriptClosure() |
|
protected java.lang.Object |
getInlinePluginDependencyConfig(groovy.util.ConfigObject pluginConfig) |
|
java.util.List<java.io.File> |
getPluginBuildDependencies() Obtains a list of source plugins that are build time dependencies |
|
java.util.List<java.io.File> |
getPluginCompileDependencies() Obtains a list of source plugins that are provided time dependencies |
|
java.util.List<java.io.File> |
getPluginProvidedDependencies() Obtains a list of source plugins that are provided time dependencies |
|
java.util.List<java.io.File> |
getPluginRuntimeDependencies() Obtains a list of source plugins that are runtime time dependencies |
|
java.util.List<java.io.File> |
getPluginTestDependencies() Obtains a list of source plugins that are test time dependencies |
|
java.util.List<java.io.File> |
getProvidedDependencies() List containing the runtime dependencies of the app as File instances. |
|
java.util.List<java.io.File> |
getRuntimeDependencies() List containing the runtime dependencies of the app as File instances. |
|
java.util.List<java.io.File> |
getTestDependencies() List containing the test-time dependencies of the app as File instances. |
|
java.io.File |
getWebXmlLocation() |
|
void |
handleInlinePlugin(java.lang.String pluginName, java.io.File dir, DependencyManager dependencyManager) |
|
static void |
initialiseDefaultLog4j(java.lang.ClassLoader classLoader) |
|
void |
initializeResourcesDir() |
|
boolean |
isDependenciesExternallyConfigured() |
|
boolean |
isGrailsProject() |
|
boolean |
isPluginProject() |
|
boolean |
isRegisteredInMetadata(java.lang.String pluginName) |
|
protected void |
loadBuildPropertiesFromClasspath(java.util.Properties buildProps) |
|
groovy.util.ConfigObject |
loadConfig(java.lang.String environment = null) Loads the application's BuildSettings.groovy file if it exists and returns the corresponding config object. |
|
groovy.util.ConfigObject |
loadConfig(java.io.File configFile, java.lang.String environment = null) Loads the given configuration file if it exists and returns the corresponding config object. |
|
groovy.util.ConfigObject |
loadConfig(groovy.lang.Script script, java.lang.String environment = null) Loads the given script and returns corresponding config object. |
|
groovy.util.ConfigObject |
loadConfig(groovy.util.ConfigObject config) |
|
protected groovy.util.ConfigObject |
loadSettingsFile() |
|
protected java.io.File |
makeAbsolute(java.io.File dir) |
|
boolean |
notDefinedInBuildConfig(java.lang.String pluginName) |
|
groovy.lang.GroovyClassLoader |
obtainGroovyClassLoader() |
|
protected void |
parseGrailsBuildListeners() |
|
protected void |
postLoadConfig() |
|
void |
setBaseDir(java.io.File newBaseDir) |
|
void |
setBuildDependencies(java.util.List<java.io.File> deps) Sets the runtime dependencies for the project |
|
void |
setBuildListeners(java.lang.Object buildListeners) |
|
void |
setClassesDir(java.io.File dir) |
|
void |
setCompileDependencies(java.util.List<java.io.File> deps) Sets the compile time dependencies for the project |
|
void |
setConvertClosuresArtefacts(boolean convert) |
|
void |
setDependenciesExternallyConfigured(boolean dependenciesExternallyConfigured) |
|
void |
setGrailsWorkDir(java.io.File dir) |
|
void |
setLogScriptTiming(boolean b) |
|
void |
setPluginBuildClassesDir(java.io.File dir) |
|
void |
setPluginClassesDir(java.io.File dir) |
|
void |
setPluginIncludeSource(boolean include) |
|
void |
setPluginProvidedClassesDir(java.io.File dir) |
|
void |
setPluginStagingDir(java.io.File dir) |
|
void |
setProjectTargetDir(java.io.File dir) |
|
void |
setProjectWarExplodedDir(java.io.File dir) |
|
void |
setProjectWarFile(java.io.File file) |
|
void |
setProjectWarOsgiHeaders(boolean flag) |
|
void |
setProjectWorkDir(java.io.File dir) |
|
void |
setProvidedDependencies(java.util.List<java.io.File> deps) Sets the runtime dependencies for the project |
|
void |
setResourcesDir(java.io.File dir) |
|
void |
setRuntimeDependencies(java.util.List<java.io.File> deps) Sets the runtime dependencies for the project |
|
void |
setSourceDir(java.io.File dir) |
|
void |
setTestClassesDir(java.io.File dir) |
|
void |
setTestDependencies(java.util.List<java.io.File> deps) Sets the test time dependencies for the project |
|
void |
setTestReportsDir(java.io.File dir) |
|
void |
setTestSourceDir(java.io.File dir) |
|
void |
setVerboseCompile(boolean flag) |
|
void |
setWebXmlLocation(java.io.File location) |
|
protected boolean |
shouldResolve() |
|
void |
storeDependencyCache() |
Methods inherited from class | Name |
---|---|
class AbstractBuildSettings |
addPluginDirectory, getConfig, getGlobalPluginsDir, getImplicitPluginDirectories, getInlinePluginDirectories, getInlinePluginsFromConfiguration, getInlinePluginsFromConfiguration, getPluginBaseDirectories, getPluginDirectories, getProjectPluginsDir, isInlinePluginLocation, setConfig, setGlobalPluginsDir, setProjectPluginsDir |
class java.lang.Object |
java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() |
The base directory of the application
The name of the system property for multiple buildListeners.
The compiler source level to use
The compiler source level to use
A property name to enable/disable AST conversion of closures actions&tags to methods
The name of the working directory for commands that don't belong to a project (like create-app)
The dependency resolver to use
A system property with this name is populated in the preparation phase of functional testing with the base URL that tests should be run against.
The name of the system property for globalPluginsDir.
Property name to enable/disable script event time logging.
The name of the system property for projectPluginsDir.
The name of the system property for pluginIncludeSource.
The name of the system property for pluginStagingDir.
The name of the WAR file of the project
The name of the system property for classesDir.
The name of the system property for docsOutputDir.
The name of the system property for pluginBuildClassesDir.
The name of the system property for pluginClassesDir.
The name of the system property for pluginProvidedClassesDir.
The name of the system property for #.
The name of the system property for sourceDir.
The name of the system property for projectTargetDir.
The name of the system property for testClassesDir.
The name of the system property for testReportsDir.
The name of the system property for testSourceDir.
The name of the system property for projectWarExplodedDir.
The name of the WAR file of the project
The name of the system property for enabling osgi headers in the WAR Manifest
The name of the system property for BuildSettings.webXmlLocation.
The name of the system property for projectWorkDir.
The version of the servlet API
The name of the system property for enabling verbose compilation verboseCompile.
The name of the system property for grailsWorkDir.
List of jars provided in the applications 'lib' directory
Directory where additional war files to be autodeployed are located
The base directory for the build, which is normally the root directory of the current project. If a command is run outside of a project, then this will be the current working directory that the command was launched from.
The location to which Grails compiles a project's classes.
The compiler source level to use
The compiler target level to use
true
if the default environment for a script should be used.
A Set of plugin names and versions that represent the default set of plugins installed when creating Grails applications
A Set of plugin names that represent the default set of plugins installed when creating Grails applications
Whether the project required build dependencies are externally configured (by Maven for example) or not
Manages dependencies and dependency resolution in a Grails application
The dependency resolution engine to use (aether or ivy)
The location of the documentation output.
Whether to enable resolving dependencies
Fork Settings. These are the default settings used to control forked mode, and what
The environment for the current script.
Location of the Grails distribution as usually identified by
the GRAILS_HOME environment variable. This value may be
null
if GRAILS_HOME is not set, for example if a
project uses the Grails JAR files directly.
The version of Grails being used for the current script.
The location of the Grails working directory where non-project-specific temporary files are stored.
whether to include javadoc attachments in a resolve
whether to include source attachments in a resolve
Return whether the BuildConfig has been modified
Whether the build is allowed to connect to remote servers to resolve dependencies
The location to which Grails compiles build scoped plugins classes.
The location to which Grails compiles a project's plugin classes. Plugin classes that are compile or runtime scoped will be compiled to this directory
Whether to include the source in binary plugin JAR files.
The location to which Grails compiles provided scoped plugins classes.
The location of the temporary directory where plugins are staged before being bundled into a ZIP or JAR file.
The location of the project target directory where reports, artifacts and so on are output.
The location of the Grails WAR directory where exploded WAR is built.
The WAR file of the project
Setting for whether or not to enable OSGI headers in the WAR Manifest, can be overridden via -verboseCompile(=[true|false])?
The location of the project working directory for project-specific temporary files.
The settings used to establish the HTTP proxy to use for dependency resolution etc.
The file containing the proxy settings
The location where Grails keeps temporary copies of a project's resources.
The root loader for the build. This has the required libraries on the classpath.
The version of the servlet API used
The location of the plain source.
The location to which Grails compiles a project's test classes and any test scoped plugin classes.
The location of the test reports.
The location of the test source.
Location of the current user's home directory - equivalent to "user.home" system property.
Setting for whether or not to enable verbose compilation, can be overridden via -verboseCompile(=[true|false])?
Location of the generated web.xml file
List containing the runtime dependencies of the app as File instances.
List containing the compile-time dependencies of the app as File instances.
Obtains a list of source plugins that are build time dependencies
Obtains a list of source plugins that are provided time dependencies
Obtains a list of source plugins that are provided time dependencies
Obtains a list of source plugins that are runtime time dependencies
Obtains a list of source plugins that are test time dependencies
List containing the runtime dependencies of the app as File instances.
List containing the runtime dependencies of the app as File instances.
List containing the test-time dependencies of the app as File instances.
Loads the application's BuildSettings.groovy file if it exists and returns the corresponding config object. If the file does not exist, this returns an empty config.
Loads the given configuration file if it exists and returns the corresponding config object. If the file does not exist, this returns an empty config.
Loads the given script and returns corresponding config object. If the file does not exist, this returns an empty config.
Changes the base directory, making sure that everything that depends on it gets refreshed too. If you have have previously loaded a configuration file, you should load it again after calling this method.
Warning This method resets the project paths, so if they have been set manually by the caller, then that information will be lost!
Sets the runtime dependencies for the project
Sets the compile time dependencies for the project
Sets the runtime dependencies for the project
Sets the runtime dependencies for the project
Sets the test time dependencies for the project
Groovy Documentation