This merges branch spoofax3 into master, so there are a few superfluous commits that change Gradle/gitignore files, but the main change are two bugfixes to Back.java:
Parent directories are now created before (possibly) creating the file to ensure that the file can be created. Without this, writing to and thus creating the file (if it does not exist) could fail if the parent directories did not exist.
The provided file dependency is created after writing to the file. The dependency was created before writing to the file, which means that it creates a stamp before writing, and then wrote to the file. That means that this dependency was always invalidated if the contents of the file changes. Creating the provided file dependency after writing fix this. I did not check the code for other instances of this problem, but in general, provided file dependencies should always be created after all file modifications.
I also implemented shouldExecWhenAffected for CompileDynamicRules such that its tasks are only executed in non-interactive builds.
This merges branch
spoofax3
intomaster
, so there are a few superfluous commits that change Gradle/gitignore files, but the main change are two bugfixes toBack.java
:I also implemented
shouldExecWhenAffected
forCompileDynamicRules
such that its tasks are only executed in non-interactive builds.