API+1 bit for sdk/dart code?

8 views
Skip to first unread message

Jaeheon Yi

unread,
Oct 7, 2021, 6:28:43 PM10/7/21
to api-council, David Worsham
Dear API Council,

The API Council Charter states that: 
"every change that modifies the Fuchsia API Surface must receive an API-Review+1" [1]. 

and presumably, libraries under sdk/dart are also part of the Fuchsia API Surface, like sdk/dart/fuchsia_scenic_flutter [2]. 

However, today it seems that modifications to these sdk/dart libraries don't actually require an API+1 bit in Gerrit. For example, see the recently submitted fxr/577314 [3]. 

Am I understanding the situation correctly? Is this mere oversight that can be remedied with a Gerrit fix? Has such a fix already been made?

Thank you,

Jaeheon

Adam Barth

unread,
Oct 8, 2021, 12:36:55 AM10/8/21
to Jaeheon Yi, api-council, David Worsham
The API-Review flag in Gerrit is triggered when there's a ".api" file changed in the CL.  If you look at sdk_source_set:


... you'll see that we set the "api" and "api_contents" parameters for the sdk_atom:

      api = api_reference
      api_contents = sdk_header_files

These parameters cause the build system to generate and verify the ".api" files for that source set.  See the documentation for the sdk_atom template:


Presumably we'd need to do something similar for Dart libraries in order to integrate them with the API-Review mechanism in the SDK pipeline.

Adam


--
You received this message because you are subscribed to the Google Groups "api-council" group.
To unsubscribe from this group and stop receiving emails from it, send an email to api-council...@fuchsia.dev.
To view this discussion on the web visit https://groups.google.com/a/fuchsia.dev/d/msgid/api-council/CADNd37in7%2BBZqoAxgxo%3DFTT-1YOMSVD_eA%2Bd_zhm3J2%3DHdaRoQ%40mail.gmail.com.

Adam Barth

unread,
Oct 8, 2021, 12:37:04 AM10/8/21
to Jaeheon Yi, Misha Gridnev, api-council, David Worsham

Misha Gridnev

unread,
Oct 11, 2021, 3:19:23 PM10/11/21
to Adam Barth, Jerry Belton, Jaeheon Yi, api-council, David Worsham
This is basically https://fxbug.dev/6623. We tried to turn the dart API verification on a couple of times but had to roll it back because it was causing too much friction. One of the problems was dart being in //topaz repo at the time. Cross-repo API verification is notoriously painful. Topaz is no longer an issue since it was recently retired.

Perhaps we can turn the dart verification back on? +Jerry Belton any sharp corners we should watch out for?

Jerry Belton

unread,
Oct 11, 2021, 6:36:38 PM10/11/21
to Misha Gridnev, Adam Barth, Jaeheon Yi, api-council, David Worsham
fxr/592674 is currently WIP, but it will re-enable Dart API verification.

A few things have changed in the dart library code since I last tried to enable this, so I'll need some time to update things, but I hope to have things up for review in the next few days. 

Jerry Belton

unread,
Oct 13, 2021, 5:19:43 PM10/13/21
to Misha Gridnev, Adam Barth, Jaeheon Yi, api-council, David Worsham
fxr/592674 updates the Dart API diffing script, and submits .api files for all of the Dart SDKs in //sdk. 
A follow-up CL will enable the check at TOT.

Jaeheon Yi

unread,
Oct 13, 2021, 8:12:43 PM10/13/21
to Jerry Belton, Misha Gridnev, Adam Barth, api-council, David Worsham
Wonderful!!

Jaeheon

Alice Neels

unread,
Oct 14, 2021, 12:18:14 PM10/14/21
to Jaeheon Yi, Jerry Belton, Misha Gridnev, Adam Barth, api-council, David Worsham
This is great! Thank you for getting it in.

Jaeheon Yi

unread,
Feb 11, 2022, 6:13:03 PM2/11/22
to Alice Neels, Jerry Belton, Misha Gridnev, Adam Barth, api-council, David Worsham
Reply all
Reply to author
Forward
0 new messages