mirror of https://github.com/sbt/sbt.git
We want to check the build sources before any command runs, not just tasks. To achieve this, I moved the logic for checking for build source changes to CommandProcess.processCommand. Also, @smarter had noticed that if a user modified a build file and then ran reload, a warning would be displayed about changed build sources even though they had just ran reload. This was because running reload didn't update the previous cache for checkBuildSources / fileInputStamps. I fixed that bug by running 'checkBuildSources / changedInputFiles' instead of 'checkBuildSources' when the user runs reload. I verified that after this change: - If I changed a build file and ran 'show version' a warning was printed before it displayed the version. If I also set global / onChangedBuildSource := ReloadOnSourceChanges, it automatically reloaded before displaying the version. - If I changed a build source and ran 'reload', followed by 'show version', no warnings were ever displayed. As an implementation detail, I had to add the Aggregation.suppressShow attribute key. We set this key to true before checking the build sources. Without this, log.success is called whenever we check the build sources which is both confusing and noisy. |
||
|---|---|---|
| .. | ||
| src | ||
| NOTICE | ||