[ https://issues.apache.org/jira/browse/BEAM-878?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kenneth Knowles updated BEAM-878:
---------------------------------
Priority: Minor (was: Major)
> Allow usage of ApiSurfaceTest providing nothing but a whitelist
> ---------------------------------------------------------------
>
> Key: BEAM-878
> URL: https://issues.apache.org/jira/browse/BEAM-878
> Project: Beam
> Issue Type: Improvement
> Components: testing
> Affects Versions: Not applicable
> Reporter: Daniel Halperin
> Priority: Minor
> Fix For: Not applicable
>
>
> {{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.
> Some desiderata for reuse:
> * test automatically infers the module on which it should seed the API search.
> * only 2 things in the file -- a whitelist and a ~1-line test that passes the whitelist
as a parameter to some helper.
> * test fails if there are things in the whitelist that are not exposed.
> Any other cool things that are similar to what Maven enforcer does?
> 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
(v6.3.4#6332)
|