Skip to content

Simplify proguard handling logic. #2744

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

Merged
merged 2 commits into from
Jun 18, 2021
Merged

Simplify proguard handling logic. #2744

merged 2 commits into from
Jun 18, 2021

Conversation

vkryachko
Copy link
Member

This change removes custom logic that configures proguarding and
consumerProguardFiles for SDKs and instead makes all configuration
explicit per SDK.

This change removes custom logic that configures proguarding and
consumerProguardFiles for SDKs and instead makes all configuration
explicit per SDK.
@google-cla google-cla bot added the cla: yes Override cla label Jun 17, 2021
@google-oss-bot
Copy link
Contributor

google-oss-bot commented Jun 17, 2021

Coverage Report

Affected SDKs

  • firebase-firestore

    SDK overall coverage changed from 47.23% (c816404) to 47.15% (1b401253) by -0.09%.

    Filename Base (c816404) Head (1b401253) Diff
    AsyncQueue.java 78.39% 77.89% -0.50%
    FirestoreClient.java 34.96% 30.08% -4.88%
    LruGarbageCollector.java 93.46% 84.11% -9.35%
  • firebase-messaging

    SDK overall coverage changed from 83.56% (c816404) to 83.43% (1b401253) by -0.14%.

    Filename Base (c816404) Head (1b401253) Diff
    TopicsSubscriber.java 91.38% 89.66% -1.72%
  • firebase-perf

    SDK overall coverage changed from ? (c816404) to 70.72% (1b401253) by ?.

    Click to show coverage changes in 97 files.
    Filename Base (c816404) Head (1b401253) Diff
    AddTrace.java ? 0.00% ?
    AndroidApplicationInfo.java ? 34.71% ?
    AndroidApplicationInfoOrBuilder.java ? 0.00% ?
    AndroidLogger.java ? 97.78% ?
    AndroidMemoryReading.java ? 38.36% ?
    AndroidMemoryReadingOrBuilder.java ? 0.00% ?
    AppStartTrace.java ? 85.71% ?
    AppStateMonitor.java ? 86.78% ?
    AppStateUpdateHandler.java ? 92.59% ?
    ApplicationInfo.java ? 45.00% ?
    ApplicationInfoOrBuilder.java ? 0.00% ?
    ApplicationProcessState.java ? 73.91% ?
    Clock.java ? 100.00% ?
    ConfigResolver.java ? 97.23% ?
    ConfigurationConstants.java ? 99.21% ?
    ConfigurationFlag.java ? 100.00% ?
    ConsoleUrlGenerator.java ? 62.50% ?
    Constants.java ? 95.65% ?
    Counter.java ? 90.91% ?
    CpuGaugeCollector.java ? 93.10% ?
    CpuMetricReading.java ? 39.33% ?
    CpuMetricReadingOrBuilder.java ? 0.00% ?
    DaggerFirebasePerformanceComponent.java ? 100.00% ?
    DeviceCacheManager.java ? 76.03% ?
    FirebasePerfApplicationInfoValidator.java ? 92.86% ?
    FirebasePerfGaugeMetricValidator.java ? 100.00% ?
    FirebasePerfHttpClient.java ? 93.85% ?
    FirebasePerfMetricProto.java ? 0.00% ?
    FirebasePerfNetworkValidator.java ? 86.67% ?
    FirebasePerfOkHttpClient.java ? 44.90% ?
    FirebasePerfProvider.java ? 76.92% ?
    FirebasePerfRegistrar.java ? 100.00% ?
    FirebasePerfTraceValidator.java ? 88.24% ?
    FirebasePerfUrlConnection.java ? 44.26% ?
    FirebasePerformance.java ? 83.87% ?
    FirebasePerformanceAttributable.java ? 0.00% ?
    FirebasePerformanceComponent.java ? 0.00% ?
    FirebasePerformanceInitializer.java ? 33.33% ?
    FirebasePerformanceModule.java ? 100.00% ?
    FirebasePerformanceModule_ProvidesConfigResolverFactory.java ? 100.00% ?
    FirebasePerformanceModule_ProvidesFirebaseAppFactory.java ? 100.00% ?
    FirebasePerformanceModule_ProvidesFirebaseInstallationsFactory.java ? 100.00% ?
    FirebasePerformanceModule_ProvidesGaugeManagerFactory.java ? 100.00% ?
    FirebasePerformanceModule_ProvidesRemoteConfigComponentFactory.java ? 100.00% ?
    FirebasePerformanceModule_ProvidesRemoteConfigManagerFactory.java ? 100.00% ?
    FirebasePerformanceModule_ProvidesTransportFactoryProviderFactory.java ? 100.00% ?
    FirebasePerformance_Factory.java ? 100.00% ?
    FlgTransport.java ? 83.33% ?
    GaugeManager.java ? 98.39% ?
    GaugeMetadata.java ? 32.21% ?
    GaugeMetadataManager.java ? 84.21% ?
    GaugeMetadataOrBuilder.java ? 0.00% ?
    GaugeMetric.java ? 39.47% ?
    GaugeMetricOrBuilder.java ? 0.00% ?
    HttpMetric.java ? 91.78% ?
    ImmutableBundle.java ? 100.00% ?
    InstrHttpInputStream.java ? 92.86% ?
    InstrHttpOutputStream.java ? 98.00% ?
    InstrHttpURLConnection.java ? 93.42% ?
    InstrHttpsURLConnection.java ? 94.32% ?
    InstrURLConnectionBase.java ? 95.24% ?
    InstrumentApacheHttpResponseHandler.java ? 100.00% ?
    InstrumentOkHttpEnqueueCallback.java ? 100.00% ?
    LogWrapper.java ? 23.08% ?
    MemoryGaugeCollector.java ? 90.00% ?
    NetworkConnectionInfo.java ? 0.00% ?
    NetworkConnectionInfoOrBuilder.java ? 0.00% ?
    NetworkRequestMetric.java ? 49.16% ?
    NetworkRequestMetricBuilder.java ? 95.97% ?
    NetworkRequestMetricBuilderUtil.java ? 75.00% ?
    NetworkRequestMetricOrBuilder.java ? 0.00% ?
    Optional.java ? 86.67% ?
    PendingPerfEvent.java ? 100.00% ?
    PerfMetric.java ? 33.67% ?
    PerfMetricOrBuilder.java ? 0.00% ?
    PerfMetricValidator.java ? 90.32% ?
    PerfSession.java ? 93.33% ?
    PerfSessionOrBuilder.java ? 0.00% ?
    Rate.java ? 100.00% ?
    RateLimiter.java ? 90.60% ?
    RemoteConfigManager.java ? 92.24% ?
    ResourceType.java ? 0.00% ?
    SessionAwareObject.java ? 0.00% ?
    SessionManager.java ? 100.00% ?
    SessionVerbosity.java ? 68.42% ?
    StorageUnit.java ? 57.89% ?
    Timer.java ? 93.75% ?
    Trace.java ? 96.69% ?
    TraceMetric.java ? 43.42% ?
    TraceMetricBuilder.java ? 100.00% ?
    TraceMetricOrBuilder.java ? 0.00% ?
    TransportInfo.java ? 0.00% ?
    TransportInfoOrBuilder.java ? 0.00% ?
    TransportManager.java ? 93.93% ?
    URLAllowlist.java ? 94.44% ?
    URLWrapper.java ? 0.00% ?
    Utils.java ? 78.57% ?
  • firebase-storage

    SDK overall coverage changed from 85.85% (c816404) to 85.81% (1b401253) by -0.04%.

    Filename Base (c816404) Head (1b401253) Diff
    StreamDownloadTask.java 88.89% 88.41% -0.48%

Test Logs

Notes

HTML coverage reports can be produced locally with ./gradlew <product>:checkCoverage.
Report files are located at <product-build-dir>/reports/jacoco/.

Head commit (1b401253) is created by Prow via merging commits: c816404 f80edcc.

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Jun 17, 2021

Binary Size Report

Affected SDKs

  • firebase-database

    Type Base (c816404) Head (1b401253) Diff
    aar 490 kB 490 kB -102 B (-0.0%)
  • firebase-encoders-json

    Type Base (c816404) Head (1b401253) Diff
    aar 10.6 kB 10.5 kB -102 B (-1.0%)
  • firebase-inappmessaging-display

    Type Base (c816404) Head (1b401253) Diff
    aar 203 kB 203 kB -102 B (-0.1%)
  • firebase-storage

    Type Base (c816404) Head (1b401253) Diff
    aar 115 kB 115 kB -102 B (-0.1%)
  • transport-runtime

    Type Base (c816404) Head (1b401253) Diff
    aar 150 kB 149 kB -153 B (-0.1%)

Test Logs

Notes

Head commit (1b401253) is created by Prow via merging commits: c816404 f80edcc.

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Jun 17, 2021

Macrobenchmark Report

Affected SDKs

Measurements are for head commit (f80edcc). Diffing against base commit (c816404) is working in progress.

  • baseline

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait124.0 ms151.0 ms134.0 ms149.0 ms150.6 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait32.0 ms64.0 ms53.0 ms61.1 ms63.6 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait57.0 ms100.0 ms74.0 ms80.1 ms96.4 ms
  • firebase-common

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait124.0 ms170.0 ms143.0 ms157.2 ms167.9 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait42.0 ms67.0 ms51.5 ms65.0 ms66.6 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait61.0 ms94.0 ms73.0 ms84.0 ms93.8 ms
  • firebase-config

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait137.0 ms185.0 ms149.5 ms168.7 ms183.1 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait33.0 ms64.0 ms54.0 ms62.1 ms63.8 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait52.0 ms97.0 ms74.0 ms90.4 ms96.4 ms
  • firebase-crashlytics

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait145.0 ms254.0 ms159.5 ms174.4 ms243.0 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait37.0 ms66.0 ms53.0 ms59.1 ms64.9 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait57.0 ms101.0 ms76.0 ms88.6 ms99.7 ms
  • firebase-database

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait123.0 ms158.0 ms144.5 ms157.1 ms158.0 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait30.0 ms58.0 ms51.5 ms57.0 ms57.8 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait56.0 ms86.0 ms71.5 ms84.2 ms86.0 ms
  • firebase-dynamic-links

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait123.0 ms163.0 ms139.5 ms151.0 ms160.7 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait35.0 ms66.0 ms53.0 ms59.1 ms64.9 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait53.0 ms96.0 ms73.5 ms83.4 ms96.0 ms
  • firebase-firestore

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait120.0 ms175.0 ms138.0 ms162.3 ms174.8 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait37.0 ms67.0 ms47.0 ms64.1 ms66.6 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait54.0 ms86.0 ms68.0 ms82.0 ms85.2 ms
  • firebase-functions

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait119.0 ms167.0 ms142.0 ms150.1 ms164.0 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait37.0 ms64.0 ms49.0 ms55.4 ms63.1 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait49.0 ms94.0 ms72.0 ms91.0 ms93.4 ms
  • firebase-inappmessaging-display

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait153.0 ms206.0 ms175.0 ms182.6 ms204.3 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait37.0 ms71.0 ms53.5 ms60.3 ms69.5 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait56.0 ms94.0 ms74.5 ms88.4 ms93.6 ms
  • firebase-messaging

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait135.0 ms178.0 ms143.0 ms162.0 ms176.7 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait38.0 ms68.0 ms49.5 ms59.2 ms66.7 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait53.0 ms87.0 ms70.5 ms82.4 ms86.8 ms
  • firebase-perf

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait150.0 ms176.0 ms160.5 ms172.3 ms175.8 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait37.0 ms66.0 ms51.0 ms64.1 ms65.8 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait64.0 ms94.0 ms76.5 ms87.7 ms94.0 ms
  • firebase-storage

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait127.0 ms164.0 ms143.0 ms155.8 ms163.8 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait39.0 ms69.0 ms48.0 ms59.3 ms67.7 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait50.0 ms86.0 ms76.0 ms85.1 ms86.0 ms

@vkryachko
Copy link
Member Author

/retest

@vkryachko vkryachko requested review from rlazo and VinayGuthal June 18, 2021 14:22
@vkryachko
Copy link
Member Author

/retest

@@ -25,6 +25,7 @@
import com.google.firebase.gradle.plugins.apiinfo.GetMetalavaJarTask;
import com.google.firebase.gradle.plugins.ci.Coverage;
import com.google.firebase.gradle.plugins.ci.device.FirebaseTestServer;
import com.google.firebase.gradle.plugins.license.LicenseResolverPlugin;
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is this change related to the proguard logic?

Copy link
Member Author

Choose a reason for hiding this comment

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

yes and no :)

It used to live in the root project configuration alongside the proguard logic. So it makes sense to move it here

@rlazo rlazo self-requested a review June 18, 2021 16:25
@vkryachko
Copy link
Member Author

/retest

1 similar comment
@vkryachko
Copy link
Member Author

/retest

@google-oss-bot
Copy link
Contributor

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

Test name Commit Details Rerun command
check-changed f80edcc link /test check-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.

@vkryachko vkryachko merged commit 7ba2d2a into master Jun 18, 2021
@vkryachko vkryachko deleted the vk.proguard branch June 18, 2021 18:19
@firebase firebase locked and limited conversation to collaborators Jul 19, 2021
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