From bbceef991a8238e9293b4116c7b8321f73e8b417 Mon Sep 17 00:00:00 2001 From: Andrew Parmet Date: Fri, 29 Jan 2021 12:23:35 -0500 Subject: [PATCH] update terminology and update deprecated calls --- README.md | 14 +++--- .../kotlin/com/parmet/buf/gradle/BufPlugin.kt | 43 +++++++++---------- 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 99ff1909..c8854016 100644 --- a/README.md +++ b/README.md @@ -51,8 +51,8 @@ apply(plugin = "com.parmet.buf") ``` When applied the plugin creates two useful tasks: -- `bufCheckLint` lints protobuf code -- `bufCheckBreaking` checks protobuf against a previous version for +- `bufLint` lints protobuf code +- `bufBreaking` checks protobuf against a previous version for backwards-incompatible changes. ### Configuration @@ -103,14 +103,14 @@ publishing { } ``` -#### `bufCheckLint` +#### `bufLint` -`bufCheckLint` is configured solely through `buf.yaml` and follows Buf's +`bufLint` is configured solely through `buf.yaml` and follows Buf's standard CLI behavior. -#### `bufCheckBreaking` +#### `bufBreaking` -`bufCheckBreaking` is more complicated since it requires a previous version of +`bufBreaking` is more complicated since it requires a previous version of the protobuf schema to validate the current version. Buf's built-in Git integration isn't quite enough since it requires a buildable protobuf source set and the `protobuf-gradle-plugin`'s merge step typically targets the project @@ -146,7 +146,7 @@ The plugin will run Buf checking the project's current schema against version `0.1.0`: ``` -> Task :bufCheckBreaking FAILED +> Task :bufBreaking FAILED src/main/proto/parmet/service/test/test.proto:9:1:Previously present field "1" with name "test_content" on message "TestMessage" was deleted. ``` diff --git a/src/main/kotlin/com/parmet/buf/gradle/BufPlugin.kt b/src/main/kotlin/com/parmet/buf/gradle/BufPlugin.kt index c5d71cec..c4df98a4 100644 --- a/src/main/kotlin/com/parmet/buf/gradle/BufPlugin.kt +++ b/src/main/kotlin/com/parmet/buf/gradle/BufPlugin.kt @@ -27,14 +27,14 @@ class BufPlugin : Plugin { } private fun Project.configureCheckLint(ext: BufExtension) { - tasks.register(BUF_CHECK_LINT_TASK_NAME) { + tasks.register(BUF_LINT_TASK_NAME) { group = JavaBasePlugin.CHECK_TASK_NAME - bufTask(ext, "check", "lint") + bufTask(ext, "lint") } afterEvaluate { - tasks.named(BUF_CHECK_LINT_TASK_NAME).dependsOn(EXTRACT_INCLUDE_PROTO_TASK_NAME) - tasks.named(JavaBasePlugin.CHECK_TASK_NAME).dependsOn(BUF_CHECK_LINT_TASK_NAME) + tasks.named(BUF_LINT_TASK_NAME).dependsOn(EXTRACT_INCLUDE_PROTO_TASK_NAME) + tasks.named(JavaBasePlugin.CHECK_TASK_NAME).dependsOn(BUF_LINT_TASK_NAME) } } @@ -53,7 +53,7 @@ class BufPlugin : Plugin { private fun Project.configureImageBuild(ext: BufExtension): AtomicReference { val bufBuildImage = "$BUF_BUILD_DIR/image.json" - tasks.register(BUF_IMAGE_BUILD_TASK_NAME) { + tasks.register(BUF_IMAGE_TASK_NAME) { doFirst { file("$buildDir/$BUF_BUILD_DIR").mkdirs() } @@ -66,7 +66,7 @@ class BufPlugin : Plugin { } afterEvaluate { - tasks.named(BUF_IMAGE_BUILD_TASK_NAME).dependsOn(EXTRACT_INCLUDE_PROTO_TASK_NAME) + tasks.named(BUF_IMAGE_TASK_NAME).dependsOn(EXTRACT_INCLUDE_PROTO_TASK_NAME) } val box = AtomicReference() @@ -93,7 +93,7 @@ class BufPlugin : Plugin { this.version = version artifact(file("$buildDir/$bufBuildImage")) { - builtBy(tasks.named(BUF_IMAGE_BUILD_TASK_NAME)) + builtBy(tasks.named(BUF_IMAGE_TASK_NAME)) } } } @@ -111,49 +111,48 @@ class BufPlugin : Plugin { ) { val bufbuildBreaking = "$BUF_BUILD_DIR/breaking" - configurations.create(BUF_CHECK_BREAKING_CONFIGURATION_NAME) + configurations.create(BUF_BREAKING_CONFIGURATION_NAME) dependencies { afterEvaluate { if (ext.previousVersion != null) { - add(BUF_CHECK_BREAKING_CONFIGURATION_NAME, "$artifactDetails:${ext.previousVersion}") + add(BUF_BREAKING_CONFIGURATION_NAME, "$artifactDetails:${ext.previousVersion}") } } } - tasks.register(BUF_CHECK_BREAKING_EXTRACT_TASK_NAME) { + tasks.register(BUF_BREAKING_EXTRACT_TASK_NAME) { enabled = ext.previousVersion != null - from(configurations.getByName(BUF_CHECK_BREAKING_CONFIGURATION_NAME).files) + from(configurations.getByName(BUF_BREAKING_CONFIGURATION_NAME).files) into(file("$buildDir/$bufbuildBreaking")) } - tasks.register(BUF_CHECK_BREAKING_TASK_NAME) { + tasks.register(BUF_BREAKING_TASK_NAME) { group = JavaBasePlugin.CHECK_TASK_NAME enabled = ext.previousVersion != null bufTask( ext, - "check", "breaking", - "--against-input", + "--against", "$relativeBuildDir/$bufbuildBreaking/${artifactDetails.get().artifactId}-${ext.previousVersion}.json" ) } afterEvaluate { - tasks.named(BUF_CHECK_BREAKING_TASK_NAME).dependsOn(BUF_CHECK_BREAKING_EXTRACT_TASK_NAME) - tasks.named(BUF_CHECK_BREAKING_TASK_NAME).dependsOn(EXTRACT_INCLUDE_PROTO_TASK_NAME) - tasks.named(JavaBasePlugin.CHECK_TASK_NAME).dependsOn(BUF_CHECK_BREAKING_TASK_NAME) + tasks.named(BUF_BREAKING_TASK_NAME).dependsOn(BUF_BREAKING_EXTRACT_TASK_NAME) + tasks.named(BUF_BREAKING_TASK_NAME).dependsOn(EXTRACT_INCLUDE_PROTO_TASK_NAME) + tasks.named(JavaBasePlugin.CHECK_TASK_NAME).dependsOn(BUF_BREAKING_TASK_NAME) } } companion object { private const val EXTRACT_INCLUDE_PROTO_TASK_NAME = "extractIncludeProto" - const val BUF_IMAGE_BUILD_TASK_NAME = "bufImageBuild" - const val BUF_CHECK_BREAKING_EXTRACT_TASK_NAME = "bufCheckBreakingExtract" - const val BUF_CHECK_BREAKING_TASK_NAME = "bufCheckBreaking" - const val BUF_CHECK_LINT_TASK_NAME = "bufCheckLint" + const val BUF_IMAGE_TASK_NAME = "bufImage" + const val BUF_BREAKING_EXTRACT_TASK_NAME = "bufBreakingExtract" + const val BUF_BREAKING_TASK_NAME = "bufBreaking" + const val BUF_LINT_TASK_NAME = "bufLint" - const val BUF_CHECK_BREAKING_CONFIGURATION_NAME = "bufCheckBreaking" + const val BUF_BREAKING_CONFIGURATION_NAME = "bufBreaking" const val BUF_CONFIGURATION_NAME = "buf" const val BUF_IMAGE_PUBLICATION_NAME = "bufbuild" const val BUF_BUILD_DIR = "bufbuild"