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

Build should fail if Calcite code uses deprecated APIs

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.24.0
    • 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.

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

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment