>> - modify tools/builds_examples.sh <
http://examples.sh> to read version.sbt and send it as
>> environment variable before requesting example rebuild
>>
> Sounds good.
>
>> - in scalameter-examples instead of running sbt $TASKS for each
>> $TEST_DIR do version check
>> - if there is a mismatch do nothing
>> - if versions match pass $TASKS to sbt
>> - use something like
https://github.com/dmakhno/travis_after_all which
>> will do actual version bumping, tagging and push if necessary
>> This solution seems to be pretty straighforward although it's not a
>> clean one, and I also haven't tested
>> it yet.
>>
> To reduce complexity, I would actually recommend that you put
> version.sbt in the top-level directory,
> and use sbt-release again for version bumping, just as you did in
> scalameter.
>
> You could just use vanilla sbt-release functionality - I don't think
> branches for versions are necessary in scalameter-examples,
> so we could just tag versions.
> This would mean that you wouldn't have to implement the extras as you
> did in the scalameter repo.
>
> Thoughts?
>
>
I've started writing solution and it's based on your proposal.
I think it can be actually more simple and safe than using my initial idea.
However, I'm not writing bash script, only just release step using
sbt.IO and sbt.Process API. So it will look like:
- clone examples repo
- loop over directories and swap content of sbt.version to releaseVersion
- tag using sbt-release git api
- loop over directories and swap content of sbt.version to nextVersion
- push changes using sbt-release git api
I cant change it and add global version.sbt in examples although I think
it's not so good idea, because it's making examples less independent and
less readable.