You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Danny Chen (Jira)" <ji...@apache.org> on 2020/04/02 04:41:00 UTC

[jira] [Commented] (CALCITE-3871) Remove dependency of org.apiguardian:apiguardian-api

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

Danny Chen commented on CALCITE-3871:
-------------------------------------

As a downstream project, Flink did see these dependency change of calcite-core for Calcite 1.23 compared to 1.22:

- Additional avatica-server jar which is fixed in CALCITE-3888
- commons-io jar
- apiguardian jar
- google guava changes from scope compile to runtime
- Junit5 for test scope

Theses changes has lead some confusion/breaking for existing code/tests more or less, i think we should keep caution to change the dependency, maybe we should add a test for the dependencies.

As for the apiguardian, it's really weird from Flink side, why we have to introduce an additional jar that we never uses. calcite-core is a jar that may be used as dependency of many downstream projects, so the less indirect dependency the better.

I didn't see much harm to copy the API.java, we can still use it and we reduce a dependency.



> Remove dependency of org.apiguardian:apiguardian-api
> ----------------------------------------------------
>
>                 Key: CALCITE-3871
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3871
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core, linq4j
>    Affects Versions: 1.22.0
>            Reporter: Danny Chen
>            Assignee: Danny Chen
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> The org.apiguardian:apiguardian-api is introduced in CALCITE-3652 in order to mark the new introduced API status.
> Remove the dependency and copy the class into Calcite because the org.apiguardian:apiguardian-api jar has only a single API.java class and it is not necessary to add a dependency for that(All the downstream projects that have calcite-core as a dependency would see this jar which is annoying).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)