- Buildr::Application home_dir
- should point to ~/.buildr
- should point to existing directory
- Buildr::Application environment
- should return value of BUILDR_ENV
- should default to development
- should set environment name from -e argument
- Buildr::Application gems
- should return empty array if no gems specified
- should return one entry for each gem specified in buildr.yaml
- should return a Gem::Specification for each installed gem
- should parse Gem name correctly
- should find installed version of Gem
- Buildr::Application load_gems
- should do nothing if no gems specified
- should install nothing if specified gems already installed
- should fail if required gem not found in remote repository
- should fail if need to install gem and not running in interactive mode
- should ask permission before installing required gems
- should fail if permission not granted to install gem
- should install gem if permission granted
- should reload gem cache after installing required gems
- should load previously installed gems
- should load newly installed gems
- should default to >=0 version requirement if not specified
- should parse exact version requirement
- should parse range version requirement
- should parse multiple version requirements
- Buildr settings user
- should be empty hash if no settings.yaml file
- should return loaded settings.yaml file
- should return loaded settings.yml file
- should fail if settings.yaml file is not a hash
- should be empty hash if settings.yaml file is empty
- Buildr settings configuration
- should be empty hash if no build.yaml file
- should return loaded build.yaml file
- should return loaded build.yml file
- should fail if build.yaml file is not a hash
- should be empty hash if build.yaml file is empty
- Buildr settings profiles
- should be empty hash if no profiles.yaml file
- should return loaded profiles.yaml file
- should return loaded profiles.yml file
- should fail if profiles.yaml file is not a hash
- should be empty hash if profiles.yaml file is empty
- Buildr settings profile
- should be empty hash if no profiles.yaml
- should be empty hash if no matching profile
- should return profile matching environment name
- Buildr environment
- should be same as Buildr.application.environment
- Buildr application
- should be same as Rake.application
- Buildr settings
- should be same as Buildr.application.settings
- Buildr::Artifact
- should act as one
- should have an artifact identifier
- should have a group identifier
- should have a version number
- should know if it is a snapshot
- should have a file type
- should understand classifier
- should return hash specification
- should return string specification
- should have associated POM artifact
- should have one artifact for all classifiers
- should download file if file does not exist
- should not download file if file exists
- should handle lack of POM gracefully
- should pass if POM provided
- should pass if POM not required
- should not download file if dry-run
- should resolve to path in local repository
- should return a list of all registered artifact specifications
- Buildr::Repositories local
- should default to .m2 path
- should be settable
- should reset to default
- should locate file from string specification
- should locate file from hash specification
- should load path from settings file
- Buildr::Repositories remote
- should be empty initially
- should be settable
- should be settable from array
- should add and return repositories in order
- should be used to download artifact
- should lookup in array order
- should fail if artifact not found
- should support artifact classifier
- should deal well with repositories URL that lack the last slash
- should deal well with repositories URL that have the last slash
- should resolve m2-style deployed snapshots
- should handle missing maven metadata by reporting the artifact unavailable
- should handle missing m2 snapshots by reporting the artifact unavailable
- should load with all repositories specified in settings file
- should load with all repositories specified in build.yaml file
- should load with all repositories specified in settings and build.yaml files
- Buildr::Repositories release_to
- should accept URL as first argument
- should accept hash with options
- should allow the hash to be manipulated
- should load URL from settings file
- should load URL, username and password from settings file
- Buildr#artifact
- should accept hash specification
- should reject partial hash specifier
- should complain about invalid key
- should use JAR type by default
- should accept string specification
- should reject partial string specifier
- should create a task naming the artifact in the local repository
- should use from method to install artifact from existing file
- should reference artifacts defined on build.yaml by using ruby symbols
- Buildr#artifacts
- should return a list of artifacts from all its arguments
- should accept nested arrays
- should accept struct
- should ignore duplicates
- should accept and return existing tasks
- should accept filenames and expand them
- should accept filenames and return filenames
- should accept project and return all its packaging tasks
- should complain about an invalid specification
- Buildr#group
- should accept list of artifact identifiers
- should accept array with artifact identifiers
- Builder#install
- should return the install task
- should accept artifacts to install
- should install artifact when install task is run
- should install POM alongside artifact
- Builder#upload
- should return the upload task
- should accept artifacts to upload
- should upload artifact when upload task is run
- Buildr::ActsAsArtifact#upload
- should be used to upload artifact
- should support artifact classifier
- should complain without any repository configuration
- should accept repositories.upload setting
- Rake::Task artifacts
- should download all specified artifacts
- should fail if failed to download an artifact
- should succeed if artifact already exists
- Buildr#transitive
- should return a list of artifacts from all its arguments
- should accept nested arrays
- should accept struct
- should ignore duplicates
- should accept and return existing tasks
- should accept filenames and expand them
- should accept filenames and return file task
- should accept project and return all its packaging tasks
- should complain about an invalid specification
- should bring artifact and its dependencies
- should bring dependencies of POM without artifact itself
- should bring artifact and transitive depenencies
- Buildr::VersionRequirement.create
- should complain on invalid input
- should allow versions using hyphen
- should create a single version requirement
- Buildr::VersionRequirement#satisfied_by?
- should accept Gem version operators
- should accept logic not operator
- should accept logic or operator
- should accept logic and operator
- should assume logic and if missing operator between expressions
- should allow combining logic operators
- should allow using parens to group logic expressions
- Buildr::VersionRequirement#default
- should return nil if missing default requirement
- should return the last version with a = requirement
- Buildr::Project
- should be findable
- should not exist unless defined
- should fail to be defined if its name is already used for a task
- should exist once defined
- should always return same project for same name
- should show up in projects list if defined
- should not show up in projects list unless defined
- should be findable from within a project
- should cease to exist when project list cleared
- should be defined only once
- should be definable in any order
- should detect circular dependency
- Buildr::Project property
- should be set if passed as argument
- should be set if assigned in body
- should take precedence when assigned in body
- should inherit from parent (for some properties)
- should have different value if set in sub-project
- Buildr::Project block
- should execute once
- should execute in describe of project
- should execute by passing project
- should execute in namespace of project
- Buildr::Project#base_dir
- should be pwd if not specified
- should come from property, if specified
- should be expanded path
- should be relative to parent project
- should be settable only if not read
- Buildr::Layout
- should expand empty to itself
- should expand array of symbols
- should expand array of names
- should map symbol to path
- should map symbols to path
- should return nil if path not mapped
- should return path from symbol
- should return path from symbol
- should do eager mapping
- Buildr::Project#layout
- should exist by default
- should be clone of default layout
- should come from property, if specified
- should inherit from parent project
- should clone when inheriting from parent project
- should be settable only if not read
- Buildr::Project#path_to
- should return absolute paths as is
- should resolve empty path to project's base directory
- should resolve relative paths
- should accept multiple arguments
- should handle relative paths
- should resolve symbols using layout
- should resolve path for sub-project
- should be idempotent for relative paths
- Buildr::Project#on_define
- should be called when project is defined
- should be called with project object
- should be called with project object and set properties
- should execute in namespace of project
- should be called before project block
- should accept enhancement and call it after project block
- should accept enhancement and call it with project
- should execute enhancement in namespace of project
- Rake::Task recursive
- should invoke same task in child project
- should invoke in depth-first order
- should not invoke task in parent project
- Sub-project
- should point at parent project
- should be defined only within parent project
- should have unique name
- should be findable from root
- should be findable from parent project
- should be findable only if exists
- should always execute its definition
- should execute in order of dependency
- should warn of circular dependency
- Top-level project
- should have no parent
- Buildr#project
- should raise error if no such project
- should return a project if exists
- should find a project by its full name
- should find a project from any context
- should find a project from its parent or sibling project
- should fine a project from its parent by proximity
- should invoke project before returning it
- should fail if called without a project name
- should return self if called on a project without a name
- should evaluate parent project before returning
- Buildr#projects
- should only return defined projects
- should return all defined projects
- should return only named projects
- should complain if named project does not exist
- should find a project from its parent or sibling project
- should fine a project from its parent by proximity
- should evaluate all projects before returning
- Rake::Task local directory
- should execute project in local directory
- should execute sub-project in local directory
- should do nothing if no project in local directory
- should find closest project that matches current directory
- Buildr::Project#task
- should create a regular task
- should return a task defined in the project
- should not create task outside project definition
- should include project name as prefix
- should accept single dependency
- should accept multiple dependencies
- should execute task exactly once
- should create a file task
- should create file task with absolute path
- should create file task relative to project base directory
- should accept single dependency
- should accept multiple dependencies
- should accept hash arguments
- should return a file task defined in the project
- should create file task relative to project definition
- should execute task exactly once
- Rake::Task buildr:initialize
- should be ready to run as the first task
- should evaluate all project definitions
- Buildr::JtestR
- should be selected by :jtestr name
- should include src/spec/ruby/**/*_spec.rb (PENDING: Not Yet Implemented)
- should auto generate jtestr configuration (PENDING: Not Yet Implemented)
- should run runit test cases (PENDING: Not Yet Implemented)
- should use a java compiler if java sources found (PENDING: Not Yet Implemented)
- should run junit test cases (PENDING: Not Yet Implemented)
- Buildr::JBehave
- should apply to projects having JBehave sources
- should be selected by :jbehave name
- should select a java compiler for its sources
- should include JBehave dependencies
- should include JMock dependencies
- should include classes whose name ends with Behavior
- should include classes implementing Behaviours
- Buildr::EasyB
- should apply to a project having EasyB sources
- should be selected by :easyb name
- should select a java compiler if java sources are found
- should include src/spec/groovy/*Behavior.groovy
- should include src/spec/groovy/*Story.groovy
- Buildr::JUnit
- should be the default test framework when test cases are in java
- should be picked if the test language is Java
- should include JUnit dependencies
- should include JMock dependencies
- should include public classes extending junit.framework.TestCase
- should include public classes with annotated test cases
- should include public classes with RunWith annotation
- should ignore classes not extending junit.framework.TestCase
- should ignore inner classes
- should pass when JUnit test case passes
- should fail when JUnit test case fails
- should report failed test names
- should report to reports/junit
- should pass properties to JVM
- should set current directory
- should run all test cases in same VM if fork is once
- should run each test case in separate same VM if fork is each
- Buildr::JUnit report
- should default to the target directory reports/junit
- should generate report into the target directory
- should clean after itself
- should generate a consolidated XML report
- should default to generating a report with frames
- should generate single page when frames is false
- should generate frame page when frames is false
- should generate reports from all projects that ran test cases
- Buildr::TestNG
- should be selectable in project
- should be selectable in parent project
- should include TestNG dependencies
- should include TestNG dependencies
- should include classes using TestNG annotations
- should ignore classes not using TestNG annotations
- should ignore inner classes
- should pass when TestNG test case passes
- should fail when TestNG test case fails
- should report failed test names
- should report to reports/testng
- should generate reports
- Buildr::Project#manifest
- should include user name
- should include JDK version
- should include project comment
- should include project name if no comment
- should include project version
- should not include project version unless specified
- should inherit from parent project
- Buildr::Project#meta_inf
- should by an array
- should include LICENSE file if found
- should be empty unless LICENSE exists
- should inherit from parent project
- should expect LICENSE file parent project
- Buildr::Packaging jar
- should create artifact of proper type
- should create file with proper extension
- should always return same task for the same package
- should complain if option not known
- should respond to with() and return self
- should respond to with() and complain if unknown option
- should include default header when no options specified
- should not exist when manifest=false
- should map manifest from hash
- should end hash manifest with EOL
- should break hash manifest lines longer than 72 characters using continuations
- should map manifest from array
- should end array manifest with EOL
- should break array manifest lines longer than 72 characters using continuations
- should put Name: at beginning of section
- should create manifest from proc
- should create manifest from file
- should create manifest from task
- should respond to with() and accept manifest
- should include META-INF directory
- should default to LICENSE file
- should be empty if no LICENSE file
- should include file specified by :meta_inf option
- should include files specified by :meta_inf option
- should include file task specified by :meta_inf option
- should include file tasks specified by :meta_inf option
- should complain if cannot find file
- should complain if cannot build task
- should respond to with() and accept manifest and meta_inf
- should use files from compile directory if nothing included
- should use files from resources directory if nothing included
- should include class directories
- should include resource files starting with dot
- should include empty resource directories
- Buildr::Packaging war
- should create artifact of proper type
- should create file with proper extension
- should always return same task for the same package
- should complain if option not known
- should respond to with() and return self
- should respond to with() and complain if unknown option
- should include default header when no options specified
- should not exist when manifest=false
- should map manifest from hash
- should end hash manifest with EOL
- should break hash manifest lines longer than 72 characters using continuations
- should map manifest from array
- should end array manifest with EOL
- should break array manifest lines longer than 72 characters using continuations
- should put Name: at beginning of section
- should create manifest from proc
- should create manifest from file
- should create manifest from task
- should respond to with() and accept manifest
- should include META-INF directory
- should default to LICENSE file
- should be empty if no LICENSE file
- should include file specified by :meta_inf option
- should include files specified by :meta_inf option
- should include file task specified by :meta_inf option
- should include file tasks specified by :meta_inf option
- should complain if cannot find file
- should complain if cannot build task
- should respond to with() and accept manifest and meta_inf
- should use files from webapp directory if nothing included
- should accept files from :classes option
- should use files from compile directory if nothing included
- should ignore compile directory if no source files to compile
- should include only specified classes directories
- should use files from resources directory if nothing included
- should include empty resource directories
- should accept file from :libs option
- should accept file from :libs option
- should use artifacts from compile classpath if no libs specified
- should include only specified libraries
- Buildr::Packaging aar
- should create artifact of proper type
- should create file with proper extension
- should always return same task for the same package
- should complain if option not known
- should respond to with() and return self
- should respond to with() and complain if unknown option
- should include default header when no options specified
- should not exist when manifest=false
- should map manifest from hash
- should end hash manifest with EOL
- should break hash manifest lines longer than 72 characters using continuations
- should map manifest from array
- should end array manifest with EOL
- should break array manifest lines longer than 72 characters using continuations
- should put Name: at beginning of section
- should create manifest from proc
- should create manifest from file
- should create manifest from task
- should respond to with() and accept manifest
- should include META-INF directory
- should default to LICENSE file
- should be empty if no LICENSE file
- should include file specified by :meta_inf option
- should include files specified by :meta_inf option
- should include file task specified by :meta_inf option
- should include file tasks specified by :meta_inf option
- should complain if cannot find file
- should complain if cannot build task
- should respond to with() and accept manifest and meta_inf
- should automatically include services.xml and any *.wsdl files under src/main/axis2
- should accept files from :include option
- should use files from compile directory if nothing included
- should use files from resources directory if nothing included
- should include empty resource directories
- should accept file from :libs option
- should accept file from :libs option
- should NOT use artifacts from compile classpath if no libs specified
- should return all libraries from libs attribute
- Buildr::Packaging ear
- should create artifact of proper type
- should create file with proper extension
- should always return same task for the same package
- should complain if option not known
- should respond to with() and return self
- should respond to with() and complain if unknown option
- should include default header when no options specified
- should not exist when manifest=false
- should map manifest from hash
- should end hash manifest with EOL
- should break hash manifest lines longer than 72 characters using continuations
- should map manifest from array
- should end array manifest with EOL
- should break array manifest lines longer than 72 characters using continuations
- should put Name: at beginning of section
- should create manifest from proc
- should create manifest from file
- should create manifest from task
- should respond to with() and accept manifest
- should include META-INF directory
- should default to LICENSE file
- should be empty if no LICENSE file
- should include file specified by :meta_inf option
- should include files specified by :meta_inf option
- should include file task specified by :meta_inf option
- should include file tasks specified by :meta_inf option
- should complain if cannot find file
- should complain if cannot build task
- should respond to with() and accept manifest and meta_inf
- should set display name from project id
- should set display name in application.xml
- should accept different display name
- should map WARs to /war directory
- should map EJBs to /ejb directory
- should not modify original artifact for its components
- should map JARs to /lib directory
- should accept component type with :type option
- should accept component and its type as type=>artiract
- should map typed JARs to /jar directory
- should add multiple components at a time using the type=>component style
- should add all EAR supported packages when given a project argument
- should complain about unknown component type
- should allow unknown component types with explicit type
- should accept alternative directory name
- should accept customization of directory map
- should accept customization of directory map with nil paths in application.xml
- should accept customization of directory map with nil paths in the classpath
- should list WAR components in application.xml
- should specify web-uri for WAR components in application.xml
- should specify context-root for WAR components in application.xml
- should accept context-root for WAR components in application.xml
- should allow disabling the context root
- should list EJB components in application.xml
- should list JAR components in application.xml
- should update WAR component classpath to include libraries
- should update WAR component classpath but skip internal libraries
- should update EJB component classpath to include libraries
- should update JAR component classpath to include libraries
- should deal with very long classpaths
- should generate relative classpaths for top level EJB
- should generate relative classpaths for second level EJB
- should generate relative classpaths for nested EJB
- Buildr::Packaging sources
- should create artifact of proper type
- should create file with proper extension
- should always return same task for the same package
- should complain if option not known
- should respond to with() and return self
- should respond to with() and complain if unknown option
- should create package of type :zip and classifier 'sources'
- should contain source files
- should be a ZipTask
- Buildr::Packaging javadoc
- should create artifact of proper type
- should create file with proper extension
- should always return same task for the same package
- should complain if option not known
- should respond to with() and return self
- should respond to with() and complain if unknown option
- should create package of type :zip and classifier 'javadoc'
- should contain Javadocs
- should use project description in window title
- should be a ZipTask
- package_with_sources
- should create package of type zip with classifier
- should create package for projects that have source files
- should not create package for projects that have no source files
- should limit to projects specified by :only
- should limit to projects specified by :only array
- should ignore project specified by :except
- should ignore projects specified by :except array
- package_with_javadoc
- should create package of type zip with classifier
- should create package for projects that have source files
- should not create package for projects that have no source files
- should limit to projects specified by :only
- should limit to projects specified by :only array
- should ignore project specified by :except
- should ignore projects specified by :except array
- Buildr::CompileTask
- should respond to from() and return self
- should respond to from() and add sources
- should respond to with() and return self
- should respond to with() and add dependencies
- should respond to into() and return self
- should respond to into() and create file task
- should respond to using() and return self
- should respond to using() and set options
- should attempt to identify compiler
- should only support existing compilers
- should only allow setting the compiler once
- Buildr::CompileTask#compiler
- should be nil if no compiler identifier
- should return the selected compiler
- should attempt to identify compiler if sources are specified
- Buildr::CompileTask#language
- should be nil if no compiler identifier
- should return the appropriate language
- Buildr::CompileTask#sources
- should be empty if no sources in default directory
- should point to default directory if it contains sources
- should be an array
- should allow files
- should allow directories
- should allow tasks
- should act as prerequisites
- Buildr::CompileTask#dependencies
- should be empty
- should be an array
- should allow files
- should allow tasks
- should allow artifacts
- should allow projects
- should be accessible as classpath
- Buildr::CompileTask#target
- should be a file task
- should accept a task
- should create dependency in file task when set
- Buildr::CompileTask#options
- should have getter and setter methods
- should have bracket accessors
- should map from bracket accessor to get/set accessor
- should be independent of parent
- Buildr::CompileTask#invoke
- should compile into target directory
- should compile only once
- should compile if there are source files to compile
- should not compile unless there are source files to compile
- should require source file or directory to exist
- should run all source files as prerequisites
- should require dependencies to exist
- should run all dependencies as prerequisites
- should force compilation if no target
- should force compilation if target empty
- should force compilation if sources newer than compiled
- should not force compilation if sources older than compiled
- should force compilation if dependencies newer than compiled
- should not force compilation if dependencies older than compiled
- should timestamp target directory if specified
- should touch target if anything compiled
- should not touch target if nothing compiled
- should not touch target if failed to compile
- should complain if source directories and no compiler selected
- Buildr::Project#compile
- should return a task
- should always return the same task
- should be unique for the project
- should be named after the project
- should return a compile task
- should accept sources and add to source list
- should accept block and enhance task
- should execute resources task
- should be recursive
- sould be a local task
- should run from build task
- should clean after itself
- Buildr::Project#resources
- should return a task
- should always return the same task
- should be unique for the project
- should be named after the project
- should return a resources task
- should provide a filter
- should include src/main/resources as source directory
- should include src/main/resources directory only if it exists
- should accept prerequisites
- should respond to from and add additional sources
- should pass include pattern to filter
- should pass exclude pattern to filter
- should accept block and enhance task
- should set target directory to target/resources
- should use provided target directoy
- should create file task for target directory
- should copy resources to target directory
- should not create target directory unless there are resources
- should not be recursive
- should use current profile for filtering
- groovyc compiler
- should identify itself from groovy source directories
- should identify if groovy sources are found on java directories
- should identify itself even if groovy and java sources are found
- should identify from custom layout
- should identify from compile source directories
- should report the multi-language as :groovy, :java
- should set the target directory to target/classes
- should not override existing target directory
- should not change existing list of sources
- should compile groovy sources
- should include as classpath dependency
- should cross compile java sources
- should cross compile test java sources
- should package classes into a jar file
- groovyc compiler options
- should set warning option to false by default
- should set warning option to true when running with --verbose option
- should not set verbose option by default
- should set verbose option when running with --trace option
- should set debug option to false based on Buildr.options
- should set debug option to false based on debug environment variable
- should set debug option to false based on DEBUG environment variable
- should set deprecation option to false by default
- should use deprecation argument when deprecation is true
- should not use deprecation argument when deprecation is false
- should set optimise option to false by default
- should use optimize argument when deprecation is true
- should not use optimize argument when deprecation is false
- Buildr::TarTask
- should point to archive file
- should create file
- should create empty archive if no files included
- should create empty archive if called #clean method