No description, website, or topics provided.
Go Shell
Switch branches/tags
Nothing to show
Clone or download
danw Merge pull request #215 from danw/gomod
Add go1.11 go.mod and fix `go vet` issues
Latest commit 0799fad Jul 24, 2018
Permalink
Failed to load latest commit information.
bootstrap Fix issues found by `go vet` Jul 21, 2018
bpfmt Fix format issues found by go vet Feb 23, 2018
bpmodify Fix format issues found by go vet Feb 23, 2018
deptools Make WriteDepFile escape spaces and special characters Apr 15, 2015
gotestmain Support go1.10 Feb 27, 2018
gotestrunner gotestrunner: Make GOROOT absolute before chdir Jan 18, 2017
loadplugins Implement plugins for bootstrap go modules Sep 14, 2015
microfactory Disable parallel compilation when using race detector Apr 30, 2018
parser Emit errors on mixed property syntax Jun 26, 2018
pathtools Support trailing slash in pathtools.Match patterns Jul 14, 2018
proptools Add proptools.BoolDefault and proptools.StringDefault Apr 10, 2018
tests Make test_tree_tests.sh slightly easier to read Oct 30, 2017
.gitignore Import globbing from Soong Nov 3, 2016
.travis.fix-fork.sh Fix running travis on forked repos Jul 24, 2015
.travis.gofmt.sh Enforce gofmt in travis Aug 11, 2016
.travis.install-ninja.sh Support implicit outputs Nov 1, 2016
.travis.yml Support go1.10 Feb 27, 2018
Blueprints Add Patch and PatchList for making textual changes Apr 10, 2018
CONTRIBUTING.md Add CONTRIBUTING.md file Mar 16, 2015
LICENSE Add license headers and LICENSE file Jan 23, 2015
README.md Update link to Ninja Aug 18, 2016
blueprint.bash Use microfactory to build the bootstrap minibp Jul 24, 2017
blueprint_impl.bash Run globs during earlier bootstrap phases Jul 6, 2018
bootstrap.bash Run globs during earlier bootstrap phases Jul 6, 2018
context.go Fix issues found by `go vet` Jul 21, 2018
context_test.go Prevent duplicate visit calls in WalkDeps Jun 21, 2018
doc.go Finish switching blueprint back to the original Blueprints format Oct 19, 2017
glob.go Fix glob cache conflict when excludes=nil and excludes=[]string{} Feb 23, 2018
glob_test.go Fix glob cache conflict when excludes=nil and excludes=[]string{} Feb 23, 2018
go.mod Add go.mod for go1.11 module support Jul 21, 2018
live_tracker.go Allow rules to specify order-only dependencies Oct 17, 2017
mangle.go Add license headers and LICENSE file Jan 23, 2015
module_ctx.go Prevent duplicate visit calls in WalkDeps Jun 21, 2018
name_interface.go Return an error when renaming a module that doesn't exist Apr 16, 2018
ninja_defs.go Allow rules to specify order-only dependencies Oct 17, 2017
ninja_strings.go Make ninja file deterministic even with dup module names Dec 5, 2017
ninja_strings_test.go Escape leading space in ninja strings May 9, 2017
ninja_writer.go Run globs during earlier bootstrap phases Jul 6, 2018
ninja_writer_test.go Run globs during earlier bootstrap phases Jul 6, 2018
package_ctx.go Add NewBuiltinRule and NewBuiltinPool Aug 29, 2016
scope.go Allow wrapping of PackageContext Dec 1, 2015
singleton_ctx.go Run globs during earlier bootstrap phases Jul 6, 2018
splice_modules_test.go Parallelize BottomUpMutators Aug 10, 2016
unpack.go Support parsing int64 in Blueprint file. Nov 3, 2017
unpack_test.go Replace unpack's replace semantics with append Aug 1, 2017
visit_test.go Allow multiple dependencies on the same module Jun 20, 2018

README.md

Blueprint Build System

Build Status

Blueprint is a meta-build system that reads in Blueprints files that describe modules that need to be built, and produces a Ninja manifest describing the commands that need to be run and their dependencies. Where most build systems use built-in rules or a domain-specific language to describe the logic for converting module descriptions to build rules, Blueprint delegates this to per-project build logic written in Go. For large, heterogenous projects this allows the inherent complexity of the build logic to be maintained in a high-level language, while still allowing simple changes to individual modules by modifying easy to understand Blueprints files.