You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2017/01/25 16:39:26 UTC

[jira] [Commented] (CALCITE-1602) Remove uses of deprecated APIs

    [ https://issues.apache.org/jira/browse/CALCITE-1602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15838080#comment-15838080 ] 

Josh Elser commented on CALCITE-1602:
-------------------------------------

bq. If people introduce warnings the build won't fail, but my calcite-regress.sh script will, and you'll soon get an email from me

I was wondering how you were planning to do this :). If you'd like, I can help you set up a new job on the ASF jenkins to run this script and email offenders so that we're not reliant on your personal builds or time sending an email.

bq. Enforcement will be asynchronous

It'd be great if we could catch it synchronously, but I don't know of a maven plugin that would do this check. Maybe it's an option on the compiler-plugin? Would have to do some searching, but I didn't want to derail your current plan.

> Remove uses of deprecated APIs
> ------------------------------
>
>                 Key: CALCITE-1602
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1602
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Julian Hyde
>            Assignee: Julian Hyde
>
> Calcite should not use deprecated methods and classes, especially in third-party libraries. I propose that we adopt a zero-tolerance policy, fixing deprecated calls as soon as they occur. As long as the third-party libraries use semantic versioning, this should give us prior warning before things disappear.
> You can find the calls to deprecated APIs by adding {{<compilerArgument>-Xlint:deprecation</compilerArgument>}} then running {{mvn clean package -DskipTests | grep 'has been deprecated' | grep -v 'in org.apache.calcite'}}. Currently there are 51 when you run in JDK9 and Guava 20.0. Here are the first few:
> {noformat}
> [WARNING] /home/jhyde/open1/calcite.2/linq4j/src/main/java/org/apache/calcite/linq4j/tree/Types.java:[254,38] getPackage(java.lang.String) in java.lang.Package has been deprecated
> [WARNING] /home/jhyde/open1/calcite.2/linq4j/src/test/java/org/apache/calcite/linq4j/test/Linq4jTest.java:[736,25] Integer(int) in java.lang.Integer has been deprecated
> [WARNING] /home/jhyde/open1/calcite.2/linq4j/src/test/java/org/apache/calcite/linq4j/test/Linq4jTest.java:[737,26] Integer(int) in java.lang.Integer has been deprecated
> [WARNING] /home/jhyde/open1/calcite.2/linq4j/src/test/java/org/apache/calcite/linq4j/test/Linq4jTest.java:[738,25] Integer(int) in java.lang.Integer has been deprecated
> [WARNING] /home/jhyde/open1/calcite.2/core/src/main/java/org/apache/calcite/rex/RexBuilder.java:[539,47] ROUND_HALF_DOWN in java.math.BigDecimal has been deprecated
> {noformat}
> We should fix these (and other deprecated APIs when we run on other JDK versions and other Guava versions), then add a nightly check that none are added back.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)