Skip to content

Commit

Permalink
Merge pull request #23813 Log deprecations for old properties in `bas…
Browse files Browse the repository at this point in the history
…e.*` plugin extension

* Fixes #22908

Co-authored-by: Paul Merlin <paul@gradle.com>
  • Loading branch information
bot-gradle and eskatos committed Oct 20, 2023
2 parents f748e27 + 158875c commit b4b16dd
Show file tree
Hide file tree
Showing 14 changed files with 88 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,14 @@ class KotlinDslPluginGradlePluginCrossVersionSmokeTest(

if (kotlinVersion.startsWith("1.6")) {
executer.expectDocumentedDeprecationWarning("The AbstractCompile.destinationDir property has been deprecated. This is scheduled to be removed in Gradle 9.0. Please use the destinationDirectory property instead. Consult the upgrading guide for further information: https://docs.gradle.org/current/userguide/upgrading_version_7.html#compile_task_wiring")
if (GradleContextualExecuter.isConfigCache()) {
executer.expectDocumentedDeprecationWarning(
"The BasePluginExtension.archivesBaseName property has been deprecated. " +
"This is scheduled to be removed in Gradle 9.0. " +
"Please use the archivesName property instead. " +
"For more information, please refer to https://docs.gradle.org/current/dsl/org.gradle.api.plugins.BasePluginExtension.html#org.gradle.api.plugins.BasePluginExtension:archivesName in the Gradle documentation."
)
}
}

if (VersionNumber.parse(kotlinVersion) < VersionNumber.parse("1.7.0") && GradleContextualExecuter.isConfigCache()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -469,6 +469,12 @@ class JavaToolchainBuildOperationsIntegrationTest extends AbstractIntegrationSpe
"This is scheduled to be removed in Gradle 9.0. " +
"Consult the upgrading guide for further information: " +
"https://docs.gradle.org/current/userguide/upgrading_version_8.html#deprecated_access_to_conventions")
executer.expectDocumentedDeprecationWarning(
"The BasePluginExtension.archivesBaseName property has been deprecated. " +
"This is scheduled to be removed in Gradle 9.0. " +
"Please use the archivesName property instead. " +
"For more information, please refer to https://docs.gradle.org/current/dsl/org.gradle.api.plugins.BasePluginExtension.html#org.gradle.api.plugins.BasePluginExtension:archivesName in the Gradle documentation."
)
}
if (!isKotlin1dot8) {
if (GradleContextualExecuter.isConfigCache()) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
import org.gradle.api.file.DirectoryProperty;
import org.gradle.api.plugins.BasePluginExtension;
import org.gradle.api.provider.Property;
import org.gradle.internal.deprecation.DeprecationLogger;
import org.gradle.util.internal.RelativePathUtil;

import java.io.File;
Expand Down Expand Up @@ -53,10 +54,10 @@ public Property<String> getArchivesName() {
return archivesName;
}


@Override
@Deprecated
public String getDistsDirName() {
logPropertyDeprecation("distsDirName", "distsDirectory");
File buildDir = project.getLayout().getBuildDirectory().get().getAsFile();
File distsDir = getDistsDirectory().get().getAsFile();
return RelativePathUtil.relativePath(buildDir, distsDir);
Expand All @@ -65,12 +66,14 @@ public String getDistsDirName() {
@Override
@Deprecated
public void setDistsDirName(String distsDirName) {
logPropertyDeprecation("distsDirName", "distsDirectory");
getDistsDirectory().set(project.getLayout().getBuildDirectory().dir(distsDirName));
}

@Override
@Deprecated
public String getLibsDirName() {
logPropertyDeprecation("libsDirName", "libsDirectory");
File buildDir = project.getLayout().getBuildDirectory().get().getAsFile();
File libsDir = getLibsDirectory().get().getAsFile();
return RelativePathUtil.relativePath(buildDir, libsDir);
Expand All @@ -79,18 +82,29 @@ public String getLibsDirName() {
@Override
@Deprecated
public void setLibsDirName(String libsDirName) {
logPropertyDeprecation("libsDirName", "libsDirectory");
getLibsDirectory().set(project.getLayout().getBuildDirectory().dir(libsDirName));
}

@Override
@Deprecated
public String getArchivesBaseName() {
logPropertyDeprecation("archivesBaseName", "archivesName");
return getArchivesName().get();
}

@Override
@Deprecated
public void setArchivesBaseName(String archivesBaseName) {
logPropertyDeprecation("archivesBaseName", "archivesName");
getArchivesName().set(archivesBaseName);
}

private static void logPropertyDeprecation(String propertyName, String replacementPropertyName) {
DeprecationLogger.deprecateProperty(BasePluginExtension.class, propertyName)
.replaceWith(replacementPropertyName)
.willBeRemovedInGradle9()
.withDslReference(BasePluginExtension.class, replacementPropertyName)
.nagUser();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -1611,7 +1611,7 @@ org:leaf2:1.0
version = '1.0'
}
base {
archivesBaseName = 'root'
archivesName = 'root'
}
dependencies {
implementation project(":impl")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import org.gradle.test.fixtures.file.TestNameTestDirectoryProvider
import org.gradle.testkit.runner.BuildResult
import org.gradle.testkit.runner.TaskOutcome
import org.gradle.testkit.runner.internal.ToolingApiGradleExecutor
import org.gradle.util.internal.VersionNumber
import org.junit.Rule

/**
Expand Down Expand Up @@ -70,6 +71,7 @@ class AbstractAndroidSantaTrackerSmokeTest extends AbstractSmokeTest {
expectBasePluginConventionDeprecation(agpVersion)
expectConfigUtilDeprecationWarning(agpVersion)
expectBuildIdentifierIsCurrentBuildDeprecation(agpVersion)
expectAndroidBasePluginExtensionArchivesBaseNameDeprecation(VersionNumber.parse(agpVersion))
}
}.build()
}
Expand All @@ -83,6 +85,7 @@ class AbstractAndroidSantaTrackerSmokeTest extends AbstractSmokeTest {
expectConfigUtilDeprecationWarning(agpVersion)
expectBuildIdentifierNameDeprecation(agpVersion)
expectBuildIdentifierIsCurrentBuildDeprecation(agpVersion)
expectAndroidBasePluginExtensionArchivesBaseNameDeprecation(VersionNumber.parse(agpVersion))
} else {
expectBuildIdentifierNameDeprecation(agpVersion)
// TODO - this is here because AGP 7.4.x reads build/generated/source/kapt/debug at configuration time
Expand All @@ -107,6 +110,7 @@ class AbstractAndroidSantaTrackerSmokeTest extends AbstractSmokeTest {
expectConfigUtilDeprecationWarning(agpVersion)
expectBuildIdentifierIsCurrentBuildDeprecation(agpVersion)
expectBuildIdentifierNameDeprecation(agpVersion)
expectAndroidBasePluginExtensionArchivesBaseNameDeprecation(VersionNumber.parse(agpVersion))
}.build()
}

Expand Down Expand Up @@ -146,6 +150,7 @@ class AbstractAndroidSantaTrackerSmokeTest extends AbstractSmokeTest {
expectAndroidConventionTypeDeprecationWarning(agpVersion)
expectBasePluginConventionDeprecation(agpVersion)
expectConfigUtilDeprecationWarning(agpVersion)
expectAndroidBasePluginExtensionArchivesBaseNameDeprecation(VersionNumber.parse(agpVersion))
}.build()
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ abstract class AbstractKotlinPluginAndroidSmokeTest extends AbstractSmokeTest im
if (GradleContextualExecuter.configCache) {
expectForUseAtConfigurationTimeDeprecation(kotlinPluginVersionNumber)
}
expectBasePluginExtensionArchivesBaseNameDeprecation(kotlinPluginVersionNumber, androidPluginVersionNumber)
}.build()
then:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,7 @@ class AndroidGradleRecipesKotlinSmokeTest extends AbstractSmokeTest {
maybeExpectConventionTypeDeprecation(kotlinVersionNumber)
expectAndroidConventionTypeDeprecationWarning(agpVersion)
expectBasePluginConventionDeprecation(agpVersion)
expectBasePluginExtensionArchivesBaseNameDeprecation(kotlinVersionNumber, VersionNumber.parse(agpVersion))
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,10 @@ import org.gradle.integtests.fixtures.executer.GradleContextualExecuter
import org.gradle.integtests.fixtures.executer.IntegrationTestBuildContext
import org.gradle.internal.reflect.validation.ValidationMessageChecker
import org.gradle.testkit.runner.TaskOutcome
import org.gradle.util.internal.VersionNumber

import static org.gradle.api.problems.Severity.ERROR

/**
* For these tests to run you need to set ANDROID_SDK_ROOT to your Android SDK directory
*
Expand Down Expand Up @@ -68,6 +70,7 @@ class AndroidPluginsSmokeTest extends AbstractPluginValidatingSmokeTest implemen
maybeExpectProjectConventionDeprecationWarning(agpVersion)
maybeExpectAndroidConventionTypeDeprecationWarning(agpVersion)
maybeExpectBasePluginConventionDeprecation(agpVersion)
expectAndroidBasePluginExtensionArchivesBaseNameDeprecation(VersionNumber.parse(agpVersion))
}
when:
Expand All @@ -88,6 +91,7 @@ class AndroidPluginsSmokeTest extends AbstractPluginValidatingSmokeTest implemen
given:
AGP_VERSIONS.assumeCurrentJavaVersionIsSupportedBy(agpVersion)
def agpVersionNumber = VersionNumber.parse(agpVersion)
and:
def abiChange = androidLibraryAndApplicationBuild(agpVersion)
Expand All @@ -111,6 +115,7 @@ class AndroidPluginsSmokeTest extends AbstractPluginValidatingSmokeTest implemen
expectBuildIdentifierNameDeprecation(agpVersion)
expectBuildIdentifierIsCurrentBuildDeprecation(agpVersion)
maybeExpectOrgGradleUtilGUtilDeprecation(agpVersion)
expectAndroidBasePluginExtensionArchivesBaseNameDeprecation(agpVersionNumber)
}.build()
then:
Expand All @@ -133,6 +138,9 @@ class AndroidPluginsSmokeTest extends AbstractPluginValidatingSmokeTest implemen
maybeExpectAndroidConventionTypeDeprecationWarning(agpVersion)
maybeExpectBasePluginConventionDeprecation(agpVersion)
maybeExpectBuildIdentifierIsCurrentBuildDeprecation(agpVersion)
if (!GradleContextualExecuter.isConfigCache()) {
expectAndroidBasePluginExtensionArchivesBaseNameDeprecation(agpVersionNumber)
}
}.build()
then:
Expand All @@ -156,6 +164,7 @@ class AndroidPluginsSmokeTest extends AbstractPluginValidatingSmokeTest implemen
expectAndroidConventionTypeDeprecationWarning(agpVersion)
expectBasePluginConventionDeprecation(agpVersion)
expectBuildIdentifierIsCurrentBuildDeprecation(agpVersion)
expectAndroidBasePluginExtensionArchivesBaseNameDeprecation(agpVersionNumber)
}
}.build()
Expand All @@ -175,6 +184,7 @@ class AndroidPluginsSmokeTest extends AbstractPluginValidatingSmokeTest implemen
expectProjectConventionDeprecationWarning(agpVersion)
expectAndroidConventionTypeDeprecationWarning(agpVersion)
expectBasePluginConventionDeprecation(agpVersion)
expectAndroidBasePluginExtensionArchivesBaseNameDeprecation(agpVersionNumber)
}.build()
SantaTrackerConfigurationCacheWorkaround.beforeBuild(runner.projectDir, IntegrationTestBuildContext.INSTANCE.gradleUserHomeDir)
result = runner.deprecations(AndroidDeprecations) {
Expand All @@ -187,6 +197,7 @@ class AndroidPluginsSmokeTest extends AbstractPluginValidatingSmokeTest implemen
expectAndroidConventionTypeDeprecationWarning(agpVersion)
expectBasePluginConventionDeprecation(agpVersion)
expectBuildIdentifierIsCurrentBuildDeprecation(agpVersion)
expectAndroidBasePluginExtensionArchivesBaseNameDeprecation(agpVersionNumber)
}
}.build()
Expand All @@ -201,7 +212,7 @@ class AndroidPluginsSmokeTest extends AbstractPluginValidatingSmokeTest implemen
where:
[agpVersion, ide] << [
TestedVersions.androidGradle.toList(),
[false, true]
[false]
].combinations()
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ class AndroidSantaTrackerLintSmokeTest extends AndroidSantaTrackerSmokeTest {
expectBuildIdentifierNameDeprecation(agpVersion)
}
maybeExpectOrgGradleUtilGUtilDeprecation(agpVersion)
expectAndroidBasePluginExtensionArchivesBaseNameDeprecation(VersionNumber.parse(agpVersion))
}
def result = runner.buildAndFail()
Expand All @@ -145,6 +146,7 @@ class AndroidSantaTrackerLintSmokeTest extends AndroidSantaTrackerSmokeTest {
expectAndroidConventionTypeDeprecationWarning(agpVersion)
expectBasePluginConventionDeprecation(agpVersion)
expectBuildIdentifierIsCurrentBuildDeprecation(agpVersion)
expectAndroidBasePluginExtensionArchivesBaseNameDeprecation(VersionNumber.parse(agpVersion))
}
}
result = runner.buildAndFail()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ package org.gradle.smoketests

import org.gradle.api.internal.DocumentationRegistry
import org.gradle.smoketests.KotlinRunnerFactory.ParallelTasksInProject
import org.gradle.util.GradleVersion
import org.gradle.util.internal.VersionNumber

import static org.gradle.api.internal.DocumentationRegistry.RECOMMENDATION
Expand All @@ -42,4 +43,15 @@ class KotlinAndroidDeprecations extends BaseDeprecations implements WithKotlinDe
void expectAndroidOrKotlinWorkerSubmitDeprecation(VersionNumber androidPluginVersionNumber, ParallelTasksInProject parallelTasksInProject, VersionNumber kotlinPluginVersionNumber) {
runner.expectLegacyDeprecationWarningIf(androidPluginUsesOldWorkerApi(androidPluginVersionNumber.toString()) || (parallelTasksInProject.isPropertyPresent() && kotlinPluginUsesOldWorkerApi(kotlinPluginVersionNumber)), WORKER_SUBMIT_DEPRECATION)
}

void expectBasePluginExtensionArchivesBaseNameDeprecation(VersionNumber kotlinVersionNumber, VersionNumber androidVersionNumber) {
expectKotlinBasePluginExtensionArchivesBaseNameDeprecation(kotlinVersionNumber)
runner.expectLegacyDeprecationWarningIf(
kotlinVersionNumber >= VersionNumber.parse('1.7.0') && androidVersionNumber < VersionNumber.parse('7.4.0'),
"The BasePluginExtension.archivesBaseName property has been deprecated. " +
"This is scheduled to be removed in Gradle 9.0. " +
"Please use the archivesName property instead. " +
"For more information, please refer to https://docs.gradle.org/${GradleVersion.current().version}/dsl/org.gradle.api.plugins.BasePluginExtension.html#org.gradle.api.plugins.BasePluginExtension:archivesName in the Gradle documentation."
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ class KotlinPluginSmokeTest extends AbstractKotlinPluginSmokeTest {
expectJavaPluginConventionDeprecation(versionNumber)
if (GradleContextualExecuter.isConfigCache()) {
expectBasePluginConventionDeprecation(versionNumber)
expectKotlinBasePluginExtensionArchivesBaseNameDeprecation(versionNumber)
expectForUseAtConfigurationTimeDeprecation(versionNumber)
}
}.build()
Expand Down Expand Up @@ -102,6 +103,7 @@ class KotlinPluginSmokeTest extends AbstractKotlinPluginSmokeTest {
expectConventionTypeDeprecation(versionNumber)
expectJavaPluginConventionDeprecation(versionNumber)
expectBasePluginConventionDeprecation(versionNumber)
expectKotlinBasePluginExtensionArchivesBaseNameDeprecation(versionNumber)
if (GradleContextualExecuter.isConfigCache()) {
expectForUseAtConfigurationTimeDeprecation(versionNumber)
}
Expand Down Expand Up @@ -162,6 +164,7 @@ class KotlinPluginSmokeTest extends AbstractKotlinPluginSmokeTest {
expectJavaPluginConventionDeprecation(versionNumber)
if (GradleContextualExecuter.isConfigCache()) {
expectBasePluginConventionDeprecation(versionNumber)
expectKotlinBasePluginExtensionArchivesBaseNameDeprecation(versionNumber)
expectForUseAtConfigurationTimeDeprecation(versionNumber)
}
}.build()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ class ThirdPartyGradleModuleMetadataSmokeTest extends AbstractSmokeTest {
expectJavaPluginConventionDeprecation(kotlinVersionNumber)
expectBasePluginConventionDeprecation(kotlinVersionNumber, agpVersionNumber)
maybeExpectOrgGradleUtilGUtilDeprecation(agpVersion)
expectBasePluginExtensionArchivesBaseNameDeprecation(kotlinVersionNumber, agpVersionNumber)
if (GradleContextualExecuter.isConfigCache()) {
expectForUseAtConfigurationTimeDeprecation(kotlinVersionNumber)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,4 +119,15 @@ trait WithAndroidDeprecations implements WithReportDeprecations {
GUTIL_DEPRECATION
)
}

void expectAndroidBasePluginExtensionArchivesBaseNameDeprecation(VersionNumber versionNumber) {
runner.expectLegacyDeprecationWarningIf(
versionNumber < VersionNumber.parse('7.4.0'),
"The BasePluginExtension.archivesBaseName property has been deprecated. " +
"This is scheduled to be removed in Gradle 9.0. " +
"Please use the archivesName property instead. " +
"For more information, please refer to https://docs.gradle.org/${GradleVersion.current().version}/dsl/org.gradle.api.plugins.BasePluginExtension.html#org.gradle.api.plugins.BasePluginExtension:archivesName in the Gradle documentation."
)
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,16 @@ trait WithKotlinDeprecations extends WithReportDeprecations {
}
}

void expectKotlinBasePluginExtensionArchivesBaseNameDeprecation(VersionNumber versionNumber) {
runner.expectLegacyDeprecationWarningIf(
versionNumber < VersionNumber.parse('1.7.0'),
"The BasePluginExtension.archivesBaseName property has been deprecated. " +
"This is scheduled to be removed in Gradle 9.0. " +
"Please use the archivesName property instead. " +
"For more information, please refer to https://docs.gradle.org/${GradleVersion.current().version}/dsl/org.gradle.api.plugins.BasePluginExtension.html#org.gradle.api.plugins.BasePluginExtension:archivesName in the Gradle documentation."
)
}

protected static enum ProjectTypes {
JVM,
JS;
Expand Down

0 comments on commit b4b16dd

Please sign in to comment.