biicode / client

Biicode client
http://www.biicode.com
MIT License
35 stars 15 forks source link

"bii build" runs "bii configure" even if nothing changed #22

Open smessmer opened 9 years ago

smessmer commented 9 years ago

OS: Ubuntu 14.10 Biicode: 3.0

Steps to reproduce:

$ git clone git@github.com:smessmer/cryfs.git
$ cd cryfs
$ bii init -l
$ bii build -- -j5

Then, without changing any files, directly call

$ bii build -- -j5

It runs the whole configure step again before it notices that actually nothing changed. For projects with some dependencies, this happening with each compiler call is a lot of lost time.

Especially in a project with multiple open blocks (old project layout), this configure step takes quite a while, because configuring an open block takes longer than configuring a closed block.

drodri commented 9 years ago

Last refactors, released in version 3.1.1 would greatly alleviate the problem of speed in configuring large projects. In any case, I suggest the following solution: https://github.com/biicode/client/pull/25

Could it be enough? Just typing 2 chars "-q" more :)

smessmer commented 9 years ago

I didn't see a big difference in configuring speed in 3.1.1 unfortunately.

To your point of not breaking developer expectations, maybe "bii build" could configure the project if it isn't configured yet, but not reconfigure it after the first call.

An alternative approach would be that "bii build" is intelligent on whether a reconfigure is necessary (check whether config files changed) and only reconfigure in that case.

I think these solutions would be better, but I can also live with "-q". If you decide not to implement the suggestions, you can close this issue.