mill
mill copied to clipboard
Current `semanticDbData` implementation isn't incremental
I've identified some issues with our current approach to generate semanticdb data in a Scala 2.13 module:
- When we stop scalac after phase
semanticdb-typer, zinc is not able to incrementally compile the next round, therefore we effectively always generate all semanticdb files in each run - If we don't stop scalac after phase
semanticdb-typer, we can generate semanticdb data incrementally, but we also unnecessarily compile all scala files to class files - Incremental compilation doesn't seem to clean semanticdb files for removed sources. So, we need to manually remove those that belong to non-existing source files
Originally posted by @lefou in https://github.com/com-lihaoyi/mill/issues/3080#issuecomment-2076564757