Skip to content

Upgrade AGP to 7.2.2 #3974

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 43 commits into from
Sep 13, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
a50083b
Upgrade AGP to 7.2.2
vkryachko Aug 9, 2022
495158d
fix buildSrc presubmit
vkryachko Aug 9, 2022
0f45c7e
add build.gradle.kts
vkryachko Aug 9, 2022
08da26c
Remove obsolete build cache
vkryachko Aug 9, 2022
7c1cfaf
fix
vkryachko Aug 9, 2022
211242d
Fix fiam failures
vkryachko Aug 9, 2022
9399fbd
fix buildSrc tests
vkryachko Aug 9, 2022
39ce0c0
Fix metalava tasks.
vkryachko Aug 9, 2022
a816711
remove old metalava tasks
vkryachko Aug 9, 2022
98a08bc
Fix buildSrc tests.
vkryachko Aug 9, 2022
8d361cd
upgrade smoke tests agp
vkryachko Aug 9, 2022
433696a
Fix smoke tests compileSdk to make androidx.browser work.
vkryachko Aug 9, 2022
e3b7541
Remove redundant kotlin stdlib import, update api.txt files.
vkryachko Aug 9, 2022
2631ba7
fix dev-app
vkryachko Aug 9, 2022
7946a88
Fix fiam vendoring issue.
vkryachko Aug 9, 2022
9d9b6fe
fix kotlin dep
vkryachko Aug 9, 2022
575d5a3
fix tools:lint
vkryachko Aug 9, 2022
3528acd
fix kotlin stdlib dep
vkryachko Aug 9, 2022
a1a5dab
Metalava: allow HiddenAbstractMethod
vkryachko Aug 9, 2022
c713573
fix api_info
vkryachko Aug 9, 2022
25e4de7
fix
vkryachko Aug 9, 2022
d8caa62
fix api info for java libs
vkryachko Aug 9, 2022
10fdc90
properly depend on httpclient
vkryachko Aug 9, 2022
253e4f0
Revert "properly depend on httpclient"
vkryachko Aug 10, 2022
9a4a696
Allow httpclient and commons
vkryachko Aug 10, 2022
81c10ac
Replace Lazy with Provider to avoid vendoring issues.
vkryachko Aug 10, 2022
36d32e0
Fix version handling and fix appcheck-ktx tests.
vkryachko Aug 11, 2022
787f955
fix
vkryachko Aug 11, 2022
ed9d3fb
Replace version name if releaseWith is used.
vkryachko Aug 12, 2022
789c374
Merge branch 'master' into vk.agp_7.2
vkryachko Aug 12, 2022
e49d990
fix perf apps unit tests
vkryachko Aug 12, 2022
0941e27
fix
vkryachko Aug 13, 2022
4fcd528
format appcheck ktx
vkryachko Aug 13, 2022
0ea1ea9
Update dev-app deps to avoid lint error
vkryachko Aug 13, 2022
e4ceaf5
Fix fiam tests, fiamd is still failing with missing resources.
vkryachko Aug 13, 2022
d88b914
fix vendor plugin
vkryachko Aug 13, 2022
c143508
Merge branch 'master' into vk.agp_7.2
vkryachko Aug 16, 2022
b6a8351
Merge branch 'master' into vk.agp_7.2
vkryachko Aug 17, 2022
b936b3e
undo unnecessary changes
vkryachko Aug 17, 2022
a163034
Merge branch 'master' into vk.agp_7.2
vkryachko Aug 18, 2022
dd4b83e
Try smoke tests without gradle metadata.
vkryachko Aug 18, 2022
7be45bc
Merge branch 'master' into vk.agp_7.2
vkryachko Sep 13, 2022
1f973dd
Address review comments.
vkryachko Sep 13, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import com.google.firebase.gradle.plugins.license.LicenseResolverPlugin
import com.google.firebase.gradle.MultiProjectReleasePlugin

buildscript {
ext.kotlinVersion = '1.4.32'
ext.kotlinVersion = '1.7.10'
repositories {
google()
mavenCentral()
Expand All @@ -37,8 +37,6 @@ buildscript {
classpath 'net.ltgt.gradle:gradle-errorprone-plugin:1.3.0'
classpath 'gradle.plugin.com.github.sherter.google-java-format:google-java-format-gradle-plugin:0.9'
classpath 'com.google.gms:google-services:4.3.3'
classpath 'digital.wup:android-maven-publish:3.6.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
classpath 'org.jlleitschuh.gradle:ktlint-gradle:9.2.1'
}
}
Expand Down
6 changes: 3 additions & 3 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,7 @@ dependencies {

implementation("com.google.auto.value:auto-value-annotations:1.8.1")
annotationProcessor("com.google.auto.value:auto-value:1.6.5")
implementation("digital.wup:android-maven-publish:3.6.3")
implementation(kotlin("gradle-plugin", "1.4.32"))
implementation(kotlin("gradle-plugin", "1.7.10"))
implementation("org.json:json:20210307")

implementation("org.eclipse.aether:aether-api:1.0.0.v20140518")
Expand All @@ -57,7 +56,8 @@ dependencies {
implementation("org.apache.maven:maven-aether-provider:3.1.0")

implementation("com.google.code.gson:gson:2.8.9")
implementation("com.android.tools.build:gradle:3.4.3")
implementation("com.android.tools.build:gradle:7.2.2")
implementation("com.android.tools.build:builder-test-api:7.2.2")
implementation("gradle.plugin.com.github.sherter.google-java-format:google-java-format-gradle-plugin:0.9")

testImplementation("junit:junit:4.13.2")
Expand Down
13 changes: 0 additions & 13 deletions buildSrc/settings.gradle.kts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
import org.gradle.api.attributes.Attribute;
import org.gradle.api.file.FileCollection;
import org.gradle.api.plugins.JavaPluginConvention;
import org.gradle.api.publish.PublishingExtension;
import org.gradle.api.publish.maven.MavenPublication;
import org.gradle.api.tasks.SourceSet;
import org.gradle.api.tasks.TaskProvider;
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile;
Expand Down Expand Up @@ -55,6 +57,7 @@ public void apply(Project project) {
ImmutableList.of("-module-name", kotlinModuleName(project))));

setupStaticAnalysis(project, firebaseLibrary);
configurePublishing(project, firebaseLibrary);
project.getTasks().register("kotlindoc");
}

Expand Down Expand Up @@ -178,4 +181,34 @@ private static String kotlinModuleName(Project project) {

return project.getRootProject().getName() + fullyQualifiedProjectPath;
}

private static void configurePublishing(
Project project, FirebaseLibraryExtension firebaseLibrary) {
project.apply(ImmutableMap.of("plugin", "maven-publish"));
PublishingExtension publishing = project.getExtensions().getByType(PublishingExtension.class);
publishing.repositories(
repos ->
repos.maven(
repo -> {
String s = project.getRootProject().getBuildDir() + "/m2repository";
File file = new File(s);
repo.setUrl(file.toURI());
repo.setName("BuildDir");
}));
publishing.publications(
publications ->
publications.create(
"mavenAar",
MavenPublication.class,
publication -> {
publication.from(
project.getComponents().findByName(firebaseLibrary.type.getComponentName()));
project.afterEvaluate(
p -> {
publication.setArtifactId(firebaseLibrary.artifactId.get());
publication.setGroupId(firebaseLibrary.groupId.get());
firebaseLibrary.applyPomCustomization(publication.getPom());
});
}));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,14 @@ public void releaseWith(Project releaseWithProject) {
releaseWithLibrary.librariesToCoRelease.add(this);
this.project.setVersion(releaseWithProject.getVersion());

LibraryExtension android = project.getExtensions().findByType(LibraryExtension.class);
if (android != null) {
android.defaultConfig(
cfg -> {
cfg.buildConfigField("String", "VERSION_NAME", "\"" + project.getVersion() + "\"");
});
}

String latestRelease = "latestReleasedVersion";
if (releaseWithProject.hasProperty(latestRelease)) {
this.project
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@

import com.android.build.gradle.LibraryExtension;
import com.android.build.gradle.api.AndroidSourceSet;
import com.android.build.gradle.internal.dsl.BuildType;
import com.android.build.gradle.internal.dsl.TestOptions;
import com.github.sherter.googlejavaformatgradleplugin.GoogleJavaFormatExtension;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
Expand All @@ -26,11 +28,16 @@
import com.google.firebase.gradle.plugins.license.LicenseResolverPlugin;
import java.io.File;
import java.nio.file.Paths;
import kotlin.Unit;
import org.gradle.api.JavaVersion;
import org.gradle.api.NamedDomainObjectContainer;
import org.gradle.api.Plugin;
import org.gradle.api.Project;
import org.gradle.api.attributes.Attribute;
import org.gradle.api.file.FileCollection;
import org.gradle.api.publish.PublishingExtension;
import org.gradle.api.publish.maven.MavenPublication;
import org.gradle.api.publish.tasks.GenerateModuleMetadata;
import org.gradle.api.tasks.TaskProvider;
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile;

Expand Down Expand Up @@ -60,14 +67,18 @@ public void apply(Project project) {
// In the case of and android library signing config only affects instrumentation test APK.
// We need it signed with default debug credentials in order for FTL to accept the APK.
android.buildTypes(
types ->
(NamedDomainObjectContainer<BuildType> types) ->
types
.getByName("release")
.setSigningConfig(types.getByName("debug").getSigningConfig()));
android.defaultConfig(
cfg -> {
cfg.buildConfigField("String", "VERSION_NAME", "\"" + project.getVersion() + "\"");
});

// see https://github.com/robolectric/robolectric/issues/5456
android.testOptions(
options ->
(TestOptions options) ->
options
.getUnitTests()
.all(
Expand Down Expand Up @@ -98,6 +109,8 @@ public void apply(Project project) {

setupStaticAnalysis(project, firebaseLibrary);

configurePublishing(project, firebaseLibrary, android);

// reduce the likelihood of kotlin module files colliding.
project
.getTasks()
Expand Down Expand Up @@ -182,7 +195,8 @@ private static void setupApiInformationAnalysis(Project project, LibraryExtensio
config.attributes(
container ->
container.attribute(
Attribute.of("artifactType", String.class), "jar")))
Attribute.of("artifactType", String.class),
"android-classes")))
.getArtifacts()
.getArtifactFiles();
apiInfo.configure(t -> t.setClassPath(jars));
Expand Down Expand Up @@ -226,4 +240,53 @@ private static String kotlinModuleName(Project project) {

return project.getRootProject().getName() + fullyQualifiedProjectPath;
}

private static void configurePublishing(
Project project, FirebaseLibraryExtension firebaseLibrary, LibraryExtension android) {
android.publishing(
p -> {
p.singleVariant(
"release",
v -> {
v.withSourcesJar();
return Unit.INSTANCE;
});
});
project
.getTasks()
.withType(
GenerateModuleMetadata.class,
task -> {
task.setEnabled(false);
});
project.afterEvaluate(
p -> {
project.apply(ImmutableMap.of("plugin", "maven-publish"));
PublishingExtension publishing =
project.getExtensions().getByType(PublishingExtension.class);
publishing.repositories(
repos ->
repos.maven(
repo -> {
String s = project.getRootProject().getBuildDir() + "/m2repository";
File file = new File(s);
repo.setUrl(file.toURI());
repo.setName("BuildDir");
}));
publishing.publications(
publications ->
publications.create(
"mavenAar",
MavenPublication.class,
publication -> {
publication.from(
project
.getComponents()
.findByName(firebaseLibrary.type.getComponentName()));
publication.setArtifactId(firebaseLibrary.artifactId.get());
publication.setGroupId(firebaseLibrary.groupId.get());
firebaseLibrary.applyPomCustomization(publication.getPom());
}));
});
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,9 @@ private static FileCollection getJars(Configuration configuration) {
.artifactView(
view ->
view.attributes(
attrs -> attrs.attribute(Attribute.of("artifactType", String.class), "jar")))
attrs ->
attrs.attribute(
Attribute.of("artifactType", String.class), "android-classes")))
.getArtifacts()
.getArtifactFiles();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ public String getComponentName() {
// https://github.com/wupdigital/android-maven-publish ?).
// So we explicitly choose the "Release" variant for android libraries.
if (this == ANDROID) {
return name().toLowerCase() + "Release";
return "release";
}
return name().toLowerCase();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,9 @@ abstract class GenerateLicensesTask extends DefaultTask {
public abstract void setAdditionalLicenses(
List<ThirdPartyLicensesExtension.CustomLicense> additionalLicenses);

@OutputDirectory
public abstract void setOutputDir(File outputDir);

@OutputDirectory
public abstract File getOutputDir();

@Inject
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,7 @@

package com.google.firebase.gradle.plugins.publish;

import com.google.common.collect.ImmutableMap;
import com.google.firebase.gradle.plugins.FirebaseLibraryExtension;
import digital.wup.android_maven_publish.AndroidMavenPublishPlugin;
import java.io.File;
import java.util.Arrays;
import java.util.Set;
Expand All @@ -26,7 +24,6 @@
import org.gradle.api.Task;
import org.gradle.api.publish.PublishingExtension;
import org.gradle.api.publish.maven.MavenPublication;
import org.gradle.api.tasks.bundling.Jar;
import org.gradle.api.tasks.bundling.Zip;

/**
Expand Down Expand Up @@ -110,8 +107,6 @@ public void apply(Project project) {
if (firebaseLibrary == null) {
return;
}

sub.apply(ImmutableMap.of("plugin", AndroidMavenPublishPlugin.class));
PublishingExtension publishing =
sub.getExtensions().getByType(PublishingExtension.class);
publishing.repositories(
Expand All @@ -124,30 +119,11 @@ public void apply(Project project) {
repo.setName("BuildDir");
}));
publishing.publications(
publications ->
publications.create(
"mavenAar",
MavenPublication.class,
publication -> {
publication.from(
sub.getComponents()
.findByName(firebaseLibrary.type.getComponentName()));
publication.setArtifactId(firebaseLibrary.artifactId.get());
publication.setGroupId(firebaseLibrary.groupId.get());
if (firebaseLibrary.publishSources) {
publication.artifact(
sub.getTasks()
.create(
"sourceJar",
Jar.class,
jar -> {
jar.from(firebaseLibrary.getSrcDirs());
jar.getArchiveClassifier().set("sources");
}));
}
firebaseLibrary.applyPomCustomization(publication.getPom());
publisher.decorate(firebaseLibrary, publication);
}));
publications -> {
MavenPublication publication =
(MavenPublication) publications.getByName("mavenAar");
publisher.decorate(firebaseLibrary, publication);
});
publishAllToLocal.dependsOn(
sub.getPath() + ":publishMavenAarPublicationToMavenLocal");
publishAllToBuildDir.dependsOn(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ plugins {
id "java-library"
id "com.github.johnrengelman.shadow" version "5.2.0"
id "com.google.protobuf"
id "org.jetbrains.kotlin.kapt"
id "kotlin-kapt"
}

protobuf {
Expand All @@ -26,18 +26,22 @@ protobuf {
}
}

kapt {
generateStubs = false
correctErrorTypes = true
}

jar {
manifest.attributes "Main-Class": "com.google.firebase.encoders.proto.codegen.MainKt"
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"

implementation "com.google.protobuf:protobuf-java:3.14.0"
implementation 'com.squareup:javapoet:1.13.0'
implementation 'com.google.guava:guava:30.0-jre'
implementation 'com.google.dagger:dagger:2.39.1'
kapt 'com.google.dagger:dagger-compiler:2.39.1'
implementation 'com.google.dagger:dagger:2.43.2'
kapt 'com.google.dagger:dagger-compiler:2.43.2'

testImplementation 'junit:junit:4.13.1'
testImplementation "com.google.truth:truth:1.0.1"
Expand Down
10 changes: 0 additions & 10 deletions firebase-firestore/firebase-firestore.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -111,16 +111,6 @@ android.libraryVariants.all { variant ->
}
}

configurations.all {
if(it.name.contains('AndroidTestRuntimeClasspath')) {
it.resolutionStrategy {
force 'org.checkerframework:checker-compat-qual:2.5.5'
force 'com.google.guava:guava:30.1.1-android'
}
}
exclude group: "com.google.protobuf", module: "protobuf-java"
}

googleJavaFormat {
exclude 'src/testUtil/java/com/google/firebase/firestore/testutil/Assert.java'
exclude 'src/testUtil/java/com/google/firebase/firestore/testutil/ThrowingRunnable.java'
Expand Down
2 changes: 2 additions & 0 deletions firebase-firestore/ktx/ktx.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ plugins {
id 'kotlin-android'
}

group = "com.google.firebase"

firebaseLibrary {
releaseWith project(':firebase-firestore')
publishSources = true
Expand Down
Loading