BOOTSTRAP PROPERTIES

Property Description Default
builddir The path to the builder/componentbuild directory from the component build file. If the builder directory sits next to the yui2/yui3 source code directory then this does not need to be changed from the default value. ../../../builder/componentbuild
srcdir The path to top of the project source directory (e.g. yui2/, yui3/) from the component build file. ../..
buildfile.dir The directory containing the component build file. ${ant.file}

BUILD FILE PATHS

Property Description Default
global.build.base The path to the top level build directory ${srcdir}/build
global.build.component The path to the top level build directory for the component being built (e.g. yui2/build/autocomplete) ${global.build.base}/${component}
global.build.component.assets The path to the top level assets directory for the component being built (e.g. yui2/build/autocomplete/assets) ${global.build.component}/${assets}

COMPONENT CONFIGURATION

Property Description Default
component Component name, lower-case. Used for build filenames(e.g. component.js, component-min.js)

No Default Value.

Required in build.properties.

component.module Module name, mostly always the same as component ${component}
component.mainclass Main JS class representing the module. Version code will be added to this class. [YUI2 Only]

No Default Value.

Required in build.properties.

component.rollup Whether or not the component is a rollup. [YUI3 Only] false
component.rollup.modules.buildfiles The build files for the sub-modules making up the rollup. [YUI3 Only]

No Default Value.

Required in build.properties, if component.rollup is set to true.

component.rollup.target The default target to run on sub-module builds, initiated by the rollup build. [YUI3 Only] all
component.use Comma separated list of modules which the built module should "use". Used in generating the boilerplate registration code [YUI3 Only]. No Default Value
component.supersedes Comma separated list of modules which the built module "supercedes". Used in generating the boilerplate registration code [YUI3 Only]. No Default Value
component.requires Comma separated list of modules which the built module "requires". Used in generating the boilerplate registration code [YUI3 Only]. No Default Value
component.optional Comma separated list of "optional" modules for the built module. Used in generating the boilerplate registration code [YUI3 Only]. No Default Value
component.skinnable Whether or not the component is "skinnable". Used in generating the boilerplate registration code [YUI3 Only]. No Default Value
component.logger.regex

Regex used to strip logger statements

IMPORTANT :

  • Log statements need to end in semi-colons, otherwise the default regex will strip out code until the next semi-colon is hit.
  • Any code on the same line as the start or end of a Log statement will be stripped. Hence Log statments should be on their own lines.
^.*?(?:logger|YAHOO.log).*?(?:;|\).*;|(?:\r?\n.*?)*?\).*;).*;?.*?\r?\n
component.logger.regex.byline If component.logger.regex.byline is false, regex will match against the entire file as opposed to line by line - required for multiline search. false
component.logger.regex.flags The set of standard Perl5 regex flags which apply. mg
component.logger.regex.replace The replacement string to use. ""
component.logger.regex.skip Can be set to true, to skip the logger regex replacement step. false

COMPONENT FILE PATHS

Property Description Default
component.basedir Absolute path to the component's base directory (e.g. yui2/src/autocomplete) ${buildfile.dir}
component.builddir Absolute path to the component's local build directory (e.g. yui2/src/autocomplete/build_tmp)

${component.basedir}/build_tmp (non-rollups)

${component.basedir}/build_rollup_tmp (rollups)

component.jsfiles Comma seperated ordered list of JS source files to be concatenated, relative to ${component.basedir}/js

No Default Value.

Required in build.properties (for JS modules).

component.cssfiles Comma seperated ordered list of CSS source files to be concatenated (for CSS modules), relative to ${component.basedir}/css

No Default Value.

Required in build.properties (for CSS modules).

component.prependfiles Comma separated list of files to prepend to the built files (in the case of YUI 3, this content would reside outside the registration boilerplate code). Filepaths are relative to component.basedir. No Default Value
component.appendfiles Comma separated list of files to append to the built files (in the case of YUI 3, this content would reside outside the registration boilerplate code). Filepaths are relative to component.basedir. No Default Value
component.assets.skins.base

Base directory for the component's skinning assets (e.g. yui2/src/autocomplete/assets/skins).

If this value is set, the build expects the following directory structure, in the component's assets directory:

    <component.assets.base>
        - <component>-core.css
        - skins/sam/<component>-skin.css
        - skins/sam/*.gif, *.png, *.jpg
${component.assets.base}/skins
component.assets.skins.files Set of skinning assets to deploy. **/*
component.assets.base Base directory for the component's non-skinning related assets. e.g. SWFs and non-skinned images. ${component.basedir}/assets
component.assets.files Set of asset files to deploy. **/*
component.assets.flatten Whether or not to flatten the asset directory structure when deploying to build. true

EXTERNAL TOOLS

Property Description Default
rhino.jar Path to rhino.jar, used to run jslint. ${builddir}/lib/rhino/js.jar
jslintconsole.js Path to the console script used to run jslint. ${builddir}/lib/jslint/jslint-console.js
jslintsrc.js Path to the jslint implementation. ${builddir}/lib/jslint/fulljslint.js
yuicompressor.jar Path to the YUI Compressor jar, used for minification. ${builddir}/lib/yuicompressor/yuicompressor-2.4.jar
yuicompressor.css.args YUI Compressor args for CSS compression. --type css --line-break 6000
yuicompressor.js.args YUI Compressor args for JS compression. --disable-optimizations --preserve-semi --line-break 6000
yuicompressor.js.verbose Whether or not YUI Compressor should run with verbose output enabled for JS compression. If enabled, YUI Compressor will show code related warnings/suggestions during compression. NOTE: Checked in build files should have been compressed with this flag set to true. true
yuicompressor.css.verbose Whether or not YUI Compressor should run with verbose output enabled for CSS compession. true

MISCELLANEOUS

Property Description Default
buildfiles.eol The EOL character to use for built files. lf
workingdir The temporary directory which ant should use during the build. This directory will be deleted at the end of the build. ${component.builddir}/ant
yui.version The version of YUI component being built. 2 for YUI 2, 3 for YUI 3
yui.variable The YUI instance variable name to use when generating the YUI.add(function(YUIInstanceVariable) {}) wrapper. [YUI3 Only] Y
lint.skip Set to true to skip the lint step, during a build. NOTE: Checked in build files should not have this flag set to true. Checked in component code needs to have gone through lint. false
register.skip Set to true to skip the build step which adds the boiler plate registration code. This can be used if your code has the registration code added manually, however this is not recommended. false
clean.skip Set to true to skip the build step which deletes the local build directory (build_tmp) before each build. false