Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a new plugin for Dackka #4023

Merged
merged 29 commits into from
Aug 25, 2022
Merged

Add a new plugin for Dackka #4023

merged 29 commits into from
Aug 25, 2022

Conversation

daymxn
Copy link
Member

@daymxn daymxn commented Aug 23, 2022

Our current Dokka implementation is old and was due for an upgrade. Thankfully, the folks over at AndroidX have been working on new tooling that integrates directly with Dokka- and provides translations for DevSite. This PR does not include the removal of any old systems, only the addition of the new ones. The java variant of our ref doc generations will remain the same until we are comfortable with the DackkaPlugin.

This PR comes with:

  • Various javadoc fixes
  • Additional utility methods for buildSrc
  • DackkaGenerationTask for creating ref docs with dackka
  • FiresiteTransformTask for translating Devsite output from dackka to Firesite ready output
  • DackkaPlugin for managing everything dackka related, and providing default configurations

All functionality provided in this PR is annotated, and follows standard practices with newer Gradle versions. There are minor differences that we can not implement until we upgrade our AGP version (per #3974), but I've left comments around them to revisit in the future.

daymxn added 9 commits August 23, 2022 15:58
This causes no issues on our part, and makes for an easy fix as far as grabbing the fat jar of dackka.
All `ComponentRegistrar` subclasses should be annotated with `@suppress` or `@hide`.
Created a bug to track Timestamp being incorrectly under `firebase-firestore` instead of `firebase-common`.
Dangling empty annotations were left in FirebaseInAppMessaging. This causes issues with certain javadoc systems.
Wrapped the pretex in a paragraph block, as dangling text causes issues with javadoc processing.

b/243064949
Wrapped the pretex in a paragraph block, as dangling text causes issues with javadoc processing.

b/243064949
In preparation of dackka implementation, these util methods will help keep certain segments easier to read.
Added a new plugin to replace our current dokka setup with dackka. This also includes various tasks to support the plugin.
I removed this for macOS testing, and accidentally committed the change.
@github-actions
Copy link
Contributor

github-actions bot commented Aug 23, 2022

Unit Test Results

   392 files  +   314     392 suites  +314   16m 56s ⏱️ + 15m 52s
4 708 tests +3 612  4 686 ✔️ +3 606  22 💤 +6  0 ±0 
4 724 runs  +3 628  4 702 ✔️ +3 622  22 💤 +6  0 ±0 

Results for commit c24efc7. ± Comparison against base commit d7eac87.

♻️ This comment has been updated with latest results.

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Aug 23, 2022

Size Report 1

Affected Products

  • firebase-appcheck-ktx

    TypeBase (13083a2)Merge (c65a5ab)Diff
    aar6.44 kB6.44 kB-2 B (-0.0%)
  • firebase-inappmessaging

    TypeBase (13083a2)Merge (c65a5ab)Diff
    aar470 kB470 kB+13 B (+0.0%)
    apk (release)3.43 MB3.43 MB+20 B (+0.0%)
  • firebase-inappmessaging-display

    TypeBase (13083a2)Merge (c65a5ab)Diff
    apk (release)4.69 MB4.69 MB-100 B (-0.0%)
  • firebase-inappmessaging-display-ktx

    TypeBase (13083a2)Merge (c65a5ab)Diff
    apk (release)5.23 MB5.23 MB+84 B (+0.0%)

Test Logs

Notes

  • Commit (c65a5ab) is created by Prow via merging PR base commit (13083a2) and head commit (c24efc7).

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/HkdWCxCBvt.html

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Aug 23, 2022

Coverage Report 1

Affected Products

  • firebase-common

    Overall coverage changed from ? (13083a2) to 66.44% (c65a5ab) by ?.

    32 individual files with coverage change

    FilenameBase (13083a2)Merge (c65a5ab)Diff
    AutoValue_HeartBeatResult.java?33.33%?
    AutoValue_LibraryVersion.java?58.33%?
    AutoValue_SdkHeartBeatResult.java?0.00%?
    ComponentDiscoveryService.java?0.00%?
    ComponentMonitor.java?100.00%?
    DataCollectionConfigStorage.java?88.89%?
    DataCollectionDefaultChange.java?100.00%?
    DefaultHeartBeatController.java?94.03%?
    DefaultUserAgentPublisher.java?95.45%?
    EmulatedServiceSettings.java?0.00%?
    FirebaseApp.java?55.71%?
    FirebaseAppLifecycleListener.java?0.00%?
    FirebaseCommonRegistrar.java?95.74%?
    FirebaseError.java?0.00%?
    FirebaseInitProvider.java?58.82%?
    FirebaseNetworkException.java?0.00%?
    FirebaseOptions.java?31.94%?
    FirebaseTooManyRequestsException.java?0.00%?
    FirebaseTrace.java?100.00%?
    GlobalLibraryVersionRegistrar.java?75.00%?
    HeartBeatConsumer.java?0.00%?
    HeartBeatConsumerComponent.java?0.00%?
    HeartBeatController.java?0.00%?
    HeartBeatInfo.java?100.00%?
    HeartBeatInfoStorage.java?90.57%?
    HeartBeatResult.java?100.00%?
    KotlinDetector.java?66.67%?
    LibraryVersion.java?100.00%?
    LibraryVersionComponent.java?100.00%?
    PublicApi.java?0.00%?
    SdkHeartBeatResult.java?0.00%?
    UserAgentPublisher.java?0.00%?

  • firebase-firestore

    Overall coverage changed from 46.01% (13083a2) to 46.04% (c65a5ab) by +0.02%.

    FilenameBase (13083a2)Merge (c65a5ab)Diff
    AbstractStream.java34.81%37.02%+2.21%
    DeleteMutation.java90.48%95.24%+4.76%
    SetMutation.java94.44%97.22%+2.78%
  • firebase-messaging

    Overall coverage changed from 84.88% (13083a2) to 85.26% (c65a5ab) by +0.38%.

    FilenameBase (13083a2)Merge (c65a5ab)Diff
    FirebaseMessaging.java74.89%76.21%+1.32%
    Metadata.java57.14%61.90%+4.76%
    TopicsSubscriber.java88.60%89.47%+0.88%
    TopicsSyncTask.java49.33%53.33%+4.00%

Test Logs

Notes

  • Commit (c65a5ab) is created by Prow via merging PR base commit (13083a2) and head commit (c24efc7).
  • Run gradle <product>:checkCoverage to produce HTML coverage reports locally. After gradle commands finished, report files can be found under <product-build-dir>/reports/jacoco/.

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/2ZOdC2sfGm.html

daymxn and others added 13 commits August 24, 2022 12:19
Instead of ran, use the present-tense of run.

Co-authored-by: Vladimir Kryachko <vkryachko@google.com>
I didn't mean to add it again.
Not really sure why this was here to begin with.
The firesite transform task will now directly pull the output dir from the generate documentation task. This allows us to avoid hardcoding strings, and any weird edge cases that could end up happening as a result.
Similar to the firesite task, this avoids as many hardcoded strings as possible.
Instead of passing around the task explicitly, just pass what the task needs. This is easier to maintain, read, and will be easier to integrate with other tasks.
daymxn added 5 commits August 24, 2022 14:04
Instead of having a separate extension method for it, just use the already fetched `LibraryExtension`.
Hopefully this fixes the failing buildSrc tests.
@github-actions
Copy link
Contributor

github-actions bot commented Aug 24, 2022

buildSrc Test Results

18 tests   18 ✔️  2m 11s ⏱️
  4 suites    0 💤
  4 files      0

Results for commit c24efc7.

♻️ This comment has been updated with latest results.

Copy link
Member

@vkryachko vkryachko left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@daymxn
Copy link
Member Author

daymxn commented Aug 25, 2022

/retest

1 similar comment
@daymxn
Copy link
Member Author

daymxn commented Aug 25, 2022

/retest

@google-oss-bot
Copy link
Contributor

@daymxn: The following test failed, say /retest to rerun them all:

Test name Commit Details Rerun command
check-coverage-changed c24efc7 link /test check-coverage-changed

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@daymxn daymxn merged commit 0176ee4 into master Aug 25, 2022
@daymxn daymxn deleted the daymon-adding-dackka-plugin branch August 25, 2022 17:38
@firebase firebase locked and limited conversation to collaborators Sep 25, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants