skelterjohn/go-gb — Issue #24: Ignore some package trees by default (config file)
Author: bmatsuo
Created: 2011-11-08 05:27:14+00:00
State: open

I would really like for there to be an optional config file that tells `gb` to ignore a package subtree. I'll illustrate with an example. A project called go-mypkg with structure

```
go-mypkg/
|
|- README
|- ignore.gb
`- mypkg/
|
|- workspace.gb
|- mypkg.go
|- ....
|- openglutils/
| |
| `- ...
`- sdlutils/
|
`- ...
```

The file go-mypkg/ignore.gb could have contents

```
# Don't install "mypkg/openglutils" or "mypkg/sdlutils" subpackages by default.
mypkg/openglutils
mypkg/sdlutils
```

If my intentions were not clear from the example. The subpackages "mypkg/openglutils", and "mypkg/sdlutils" are presumably for some kind of easy/assisted integration of "mypkg" with go-opengl and go-sdl. But the programmer of the example doesn't want go-opengl and go-sdl be actual dependencies of "mypkg" because "mypkg" by itself is useful without OpenGL and SDL (the C libs) being installed at all. I hope this makes sense and sounds reasonable. I would really appreciate this feature. (And if it exists, I would like it to be more promenant in the documentation.)

It would be nice to be able to still be able to build these sub-packages by explicitly naming them in the command line. And, if a package being built depends on a package in ignore.gb, the best thing to do would probably be to override ignore.gb and build the package anyway.

Furthermore, it would be nice to be able to place these "ignore.gb" files rooted at any directory in the workspace tree. So, to continue the above example, the go-mypkg/ignore.gb could be moved to go-mypkg/ignore.gb and it contents could be altered to

```
# Don't install "mypkg/openglutils" or "mypkg/sdlutils" subpackages by default.
openglutils
sdlutils
```

Please consider adding this feature. What go-gb does do is polished and awesome! But I really need a build tool that I can tell to stay out of certain directories.