Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-4061

Build should fail if Calcite code uses deprecated APIs

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.24.0
    • Component/s: None
    • Labels:
      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.

      Vladimir Sitnikov Can you take this please? I can't figure out how to set javac's '-Xlint:deprecated -Werror' from Gradle.

        Attachments

          Activity

            People

            • Assignee:
              vladimirsitnikov Vladimir Sitnikov
              Reporter:
              julianhyde Julian Hyde
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: