[ 
https://issues.apache.org/jira/browse/BEAM-878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kenneth Knowles updated BEAM-878:
---------------------------------
    Description: 
{{ApiSurfaceTest}} in the {{sdks/java/core}} is the class responsible for 
protecting our public API surface.

This test walks the public signatures of all modules and explicitly verifies 
that everything is on an allowlist. This is how we control what dependencies we 
expose to our users, so that Beam can keep a tight, stable API surface.

We should improve this functionality to be reusable across modules. Ideally, 
there would be only 2 things in the file: a allowlist and a ~1-line test that 
passes the allowlist as a parameter to {{ApiSurfaceTest}}.

As an example of what you have to do without this functionality, see 
https://github.com/apache/incubator-beam/pull/1183

  was:
{{ApiSurfaceTest}} in the {{sdks/java/core}} is the class responsible for 
protecting our public API surface.

This test walks the public signatures of all modules and explicitly verifies 
that everything is on a whitelist. This is how we control what dependencies we 
expose to our users, so that Beam can keep a tight, stable API surface.

We should improve this functionality to be reusable across modules. Ideally, 
there would be only 2 things in the file: a whitelist and a ~1-line test that 
passes the whitelist as a parameter to {{ApiSurfaceTest}}.

As an example of what you have to do without this functionality, see 
https://github.com/apache/incubator-beam/pull/1183


> Allow usage of ApiSurfaceTest providing nothing but an allowlist
> ----------------------------------------------------------------
>
>                 Key: BEAM-878
>                 URL: https://issues.apache.org/jira/browse/BEAM-878
>             Project: Beam
>          Issue Type: Improvement
>          Components: testing
>    Affects Versions: Not applicable
>            Reporter: Dan Halperin
>            Assignee: Stas Levin
>            Priority: P3
>              Labels: easy, easyfix, newbie, starter
>             Fix For: 0.6.0
>
>
> {{ApiSurfaceTest}} in the {{sdks/java/core}} is the class responsible for 
> protecting our public API surface.
> This test walks the public signatures of all modules and explicitly verifies 
> that everything is on an allowlist. This is how we control what dependencies 
> we expose to our users, so that Beam can keep a tight, stable API surface.
> We should improve this functionality to be reusable across modules. Ideally, 
> there would be only 2 things in the file: a allowlist and a ~1-line test that 
> passes the allowlist as a parameter to {{ApiSurfaceTest}}.
> As an example of what you have to do without this functionality, see 
> https://github.com/apache/incubator-beam/pull/1183



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

Reply via email to