Download the PHP package massive/build-bundle without Composer
On this page you can find all versions of the php package massive/build-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download massive/build-bundle
More information about massive/build-bundle
Files in massive/build-bundle
Package build-bundle
Short Description Massive Art Build Bundle
License MIT
Homepage https://github.com/massiveart/MassiveBuildBundle
Informations about the package build-bundle
Massive Build Bundle
The Massive Build Bundle provides a massive:build
command which runs build
targets.
Targets are classes which execute arbitary code, and are registred in the dependency injection container via. tags. Targets can depend on other targets.
Virtual targets can be created in you applications configuration file. These virtual targets simply declare depenencies, enabling you to configure custom build processes.
The aim of this bundle is to provide an extensible, decoupled, way of building software project environments, especially in a development context.
If you often find youself executing several Symfony commands consecutively to establish your environment, then this bundle is for you.
This tool is not mean to replace Make or Ant or Phing. The bundle should only be used to execute build steps which are contained in the client application.
Defining targets
You can define new build targets in you applications configuration file:
`
The above will allow you to execute:
`
and:
`
Creating build classes
You create builder classes in your application / bundles. Each build class should have a specific responsiblity.
A minimal example:
``
- getName: Return a name for the builder.
- getDependencies: Return the names of any builders that this builder depends on.
- build: Execute all logic in this method
- setContext: Called automatically by the master build command, contains
the
Input
,Output
andApplication
.
Registring the builder class
You can register the builder class in the dependency injection container and# then tag it with
`
Adding global options and customization
You can make options available to your commands (e.g. to specify that they
should destroy
the database, or that the name of user "x" should be set to
"y").
By taking this approach you are free to customize the build
command in
anyway that you like.
To so this you need to extend the massive BuildCommand
and configuring the
MassiveBuild bundle to use your extended class.
``
Launching the build
You can launch all the builders with the following command:
`
Launch a specific target:
`
If you want to see which targets are available, use the
`
By default if you specify a specific target, the build system will build any dependencies
it has, to disable this use the --nodeps
option.
`
All versions of build-bundle with dependencies
symfony/console Version ^4.3 || ^5.0 || ^6.0 || ^7.0
symfony/config Version ^4.3 || ^5.0 || ^6.0 || ^7.0
symfony/dependency-injection Version ^4.3 || ^5.0 || ^6.0 || ^7.0
symfony/framework-bundle Version ^4.3 || ^5.0 || ^6.0 || ^7.0