Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Calcite build should fail if Calcite code uses deprecated APIs. This includes external APIs (e.g. Guava methods) and internal APIs (e.g. a deprecated class in the org.apache.calcite.util package).
This used to occur when the build was powered by Maven.
Compared to a policy where code is allowed to use deprecated APIs for a 'grace period', this policy has a number of advantages. One is that Calcite devs (or users) can upgrade dependencies at short notice, with no code changes.
Another is that it forces people who are doing internal refactoring (replacing one internal Calcite API with another) to finish the job.
vlsi Can you take this please? I can't figure out how to set javac's '-Xlint:deprecated -Werror' from Gradle.