diff --git a/dependency-submission/action.yml b/dependency-submission/action.yml index e722f2a2..e062cb3c 100644 --- a/dependency-submission/action.yml +++ b/dependency-submission/action.yml @@ -143,21 +143,6 @@ inputs: required: false # DEPRECATED ACTION INPUTS - build-scan-terms-of-service-url: - description: The URL to the Build Scan® terms of use. This input must be set to 'https://gradle.com/terms-of-service'. - required: false - deprecation-message: The input has been renamed to align with the Develocity API. Use 'build-scan-terms-of-use-url' instead. - - build-scan-terms-of-service-agree: - description: Indicate that you agree to the Build Scan® terms of use. This input value must be "yes". - required: false - deprecation-message: The input has been renamed to align with the Develocity API. Use 'build-scan-terms-of-use-agree' instead. - - generate-job-summary: - description: When 'false', no Job Summary will be generated for the Job. - required: false - default: true - deprecation-message: Superceded by the new 'add-job-summary' and 'add-job-summary-as-pr-comment' parameters. # EXPERIMENTAL ACTION INPUTS # The following action properties allow fine-grained tweaking of the action caching behaviour. diff --git a/setup-gradle/action.yml b/setup-gradle/action.yml index 6db10101..ff0ca799 100644 --- a/setup-gradle/action.yml +++ b/setup-gradle/action.yml @@ -166,31 +166,10 @@ inputs: default: false # DEPRECATED ACTION INPUTS - build-scan-terms-of-service-url: - description: The URL to the Build Scan® terms of use. This input must be set to 'https://gradle.com/terms-of-service'. - required: false - deprecation-message: The input has been renamed to align with the Develocity API. Use 'build-scan-terms-of-use-url' instead. - - build-scan-terms-of-service-agree: - description: Indicate that you agree to the Build Scan® terms of use. This input value must be "yes". - required: false - deprecation-message: The input has been renamed to align with the Develocity API. Use 'build-scan-terms-of-use-agree' instead. - - generate-job-summary: - description: When 'false', no Job Summary will be generated for the Job. - required: false - default: true - deprecation-message: Superceded by the new 'add-job-summary' and 'add-job-summary-as-pr-comment' parameters. - arguments: description: Gradle command line arguments (supports multi-line input) required: false - deprecation-message: Using the action to execute Gradle directly is deprecated in favor of using the action to setup Gradle, and executing Gradle in a subsequent Step. - - build-root-directory: - description: Path to the root directory of the build. Default is the root of the GitHub workspace. - required: false - deprecation-message: Using the action to execute Gradle directly is deprecated in favor of using the action to setup Gradle, and executing Gradle in a subsequent Step. + deprecation-message: This parameter has been deprecated and removed. It is only left here to allow for better reporting to assist users to migrate. # EXPERIMENTAL ACTION INPUTS # The following action properties allow fine-grained tweaking of the action caching behaviour. diff --git a/sources/src/actions/setup-gradle/main.ts b/sources/src/actions/setup-gradle/main.ts index 7012f5d2..18f67b8f 100644 --- a/sources/src/actions/setup-gradle/main.ts +++ b/sources/src/actions/setup-gradle/main.ts @@ -1,5 +1,5 @@ import * as setupGradle from '../../setup-gradle' -import * as gradle from '../../execution/gradle' +import * as provisioner from '../../execution/provision' import * as dependencyGraph from '../../dependency-graph' import { BuildScanConfig, @@ -19,6 +19,7 @@ import {handleMainActionError} from '../../errors' export async function run(): Promise { try { if (getActionId() === 'gradle/gradle-build-action') { + recordDeprecation( 'The action `gradle/gradle-build-action` has been replaced by `gradle/actions/setup-gradle`' ) @@ -38,11 +39,8 @@ export async function run(): Promise { await dependencyGraph.setup(new DependencyGraphConfig()) const config = new GradleExecutionConfig() - await gradle.provisionAndMaybeExecute( - config.getGradleVersion(), - config.getBuildRootDirectory(), - config.getArguments() - ) + config.verifyNoArguments() + await provisioner.provisionGradle(config.getGradleVersion()) saveDeprecationState() } catch (error) { diff --git a/sources/src/configuration.ts b/sources/src/configuration.ts index 673e8a18..d4916083 100644 --- a/sources/src/configuration.ts +++ b/sources/src/configuration.ts @@ -4,7 +4,6 @@ import * as cache from '@actions/cache' import * as deprecator from './deprecation-collector' import {SUMMARY_ENV_VAR} from '@actions/core/lib/summary' -import {parseArgsStringToArgv} from 'string-argv' import path from 'path' const ACTION_ID_VAR = 'GRADLE_ACTION_ID' @@ -173,11 +172,6 @@ export class SummaryConfig { return false } - // Check if Job Summary is disabled using the deprecated input - if (!this.isJobSummaryEnabled()) { - return false - } - return this.shouldAddJobSummary(this.getJobSummaryOption(), hasFailure) } @@ -196,10 +190,6 @@ export class SummaryConfig { } } - private isJobSummaryEnabled(): boolean { - return getBooleanInput('generate-job-summary', true) - } - private getJobSummaryOption(): JobSummaryOption { return this.parseJobSummaryOption('add-job-summary') } @@ -239,11 +229,11 @@ export class BuildScanConfig { } getBuildScanTermsOfUseUrl(): string { - return this.getTermsOfUseProp('build-scan-terms-of-use-url', 'build-scan-terms-of-service-url') + return core.getInput('build-scan-terms-of-use-url') } getBuildScanTermsOfUseAgree(): string { - return this.getTermsOfUseProp('build-scan-terms-of-use-agree', 'build-scan-terms-of-service-agree') + return core.getInput('build-scan-terms-of-use-agree') } getDevelocityAccessKey(): string { @@ -312,22 +302,6 @@ export class BuildScanConfig { } return true } - - /** - * TODO @bigdaz: remove support for the deprecated input property in the next major release of the action - */ - private getTermsOfUseProp(newPropName: string, oldPropName: string): string { - const newProp = core.getInput(newPropName) - if (newProp !== '') { - return newProp - } - const oldProp = core.getInput(oldPropName) - if (oldProp !== '') { - deprecator.recordDeprecation('The `build-scan-terms-of-service` input parameters have been renamed') - return oldProp - } - return core.getInput(oldPropName) - } } export class GradleExecutionConfig { @@ -345,16 +319,6 @@ export class GradleExecutionConfig { return resolvedBuildRootDirectory } - getArguments(): string[] { - const input = core.getInput('arguments') - if (input.length !== 0) { - deprecator.recordDeprecation( - 'Using the action to execute Gradle via the `arguments` parameter is deprecated' - ) - } - return parseArgsStringToArgv(input) - } - getDependencyResolutionTask(): string { return core.getInput('dependency-resolution-task') || ':ForceDependencyResolutionPlugin_resolveAllDependencies' } @@ -362,6 +326,16 @@ export class GradleExecutionConfig { getAdditionalArguments(): string { return core.getInput('additional-arguments') } + + verifyNoArguments(): void { + const input = core.getInput('arguments') + if (input.length !== 0) { + deprecator.failOnUseOfRemovedFeature( + `The 'arguments' parameter is no longer supported for ${getActionId()}`, + 'Using the action to execute Gradle via the `arguments` parameter is deprecated' + ) + } + } } export function doValidateWrappers(): boolean { diff --git a/sources/src/deprecation-collector.ts b/sources/src/deprecation-collector.ts index 3cfeffc1..a3ee8b1b 100644 --- a/sources/src/deprecation-collector.ts +++ b/sources/src/deprecation-collector.ts @@ -22,6 +22,13 @@ export function recordDeprecation(message: string): void { } } +export function failOnUseOfRemovedFeature(removalMessage: string, deprecationMessage: string): void { + const deprecation = new Deprecation(deprecationMessage) + core.error( + `${removalMessage}. See ${deprecation.getDocumentationLink()}` + ) +} + export function getDeprecations(): Deprecation[] { return recordedDeprecations }