Protobuf Gradle Plugin Versions Save

Protobuf Plugin for Gradle

v0.9.4

9 months ago
  • Fix a bug that codegen plugins from system search path no longer works. (#675)
  • Avoid duplicate GenerateProtoTask output dir. This causes tasks to fail if it depends on the output source and duplicationStrategy is set to DuplicatesStrategy.FAIL. (#718)
  • Avoid eagerly resolving input files in ProtobufExtract. This bug would cause a lot of invalidations of configuration cache when upgrading to Gradle 8.1. (#719)
  • Fix plugin compatibility with Kotlin Gradle Plugin 1.9.0 release. (#721)

v0.9.3

11 months ago
  • Fix "KotlinCompile is not a subclass of the given type org.gradle.api.tasks.SourceTask" regression in 0.9.2 (#657)
  • Fix configuration cache incompatibility with Gradle 8.1 with GenerateProtoTask.getIsTest() in the stack trace (#692)
  • Avoid eager reading of buildDir (#678). buildDir reading is now delayed until task configuration, so care is still needed if you modify buildDir.
  • Upgrade osdetector-gradle-plugin to 1.7.3. This adds detection for loongarch64 and avoids calling Provider.forUseAtConfigurationTime() for Gradle >= 7.4

v0.9.2

1 year ago

Fixed bugs

  • Avoid circular dependencies with other plugins by manually plumbing the test dependency on main instead of using the compile classpath (#631). Fixes #624, a regression introduced in 0.9.0
  • Emulate and deprecate generatedFilesBaseDir (#636). generatedFilesBaseDir no longer changes the output directory directly. Instead, the default directory is always used and files are copied to generatedFilesBaseDir. This allows the task to delete previous output before generating new output. Users of generatedFilesBaseDir should stop using the configuration and instead use a separate Copy or Sync task. Fixes #33 where generated code of old builds remains, for users not using generatedFilesBaseDir
  • Set default command length limit to 64k (#653). Fixes argument list too long on Mac OS (#633)

v0.9.1

1 year ago

Fixed bugs

  • Fixed a regression from 0.8.x where the proto source set filters were not being applied, causing non-.proto files to be passed to protoc (#621). This fixes errors of the form No syntax specified for the proto file: where the file listed is not a .proto file.

v0.9.0

1 year ago

Fixed bugs

  • Workaround provider bug in Gradle when excluding tasks (#576). Errors were of the form Querying the mapped value of provider(interface java.util.Set) before task ':project:processResources' has completed is not supported

Improvements

  • Improved Kotlin accessor support for Android Gradle Plugin 7.x, which uses a different SourceSet class (#565, fixes #540)
  • Migrated project.protobuf from a convention to an extension (#577). This greatly improves the Kotlin experience, as fewer imports are necessary. On upgrade, kts users will need to remove any now-unnecessary imports from their scripts
  • Significantly improve support for task configuration avoidance. README.md has not yet been updated to encourage using configureEach instead of each within generateProtoTasks {}, but it is beneficial as long as you are not using any IDE plugins
  • Added generated code to java SourceSet instead of only adding it to JavaCompile and related tasks. This should cause tasks like sourcesJar and javadoc to now include the generated code. You may need to exclude the generated code from linters
  • Added Eclipse and VSCode support (#590). They should no longer have trouble finding generated code
  • Removed references to unused Gradle-internal FileResolver (#595)
  • Removed usage of deprecated GUtil (#604)
  • Removed dependency on Apache commons-lang (#606)
  • Removed dependency on Guava (#609)
  • Upgraded osdetector-gradle-plugin to 1.7.1
  • Substantial internal modernization. This should not impact most users, but there is risk of a regression or observing timing differences.

Thanks to contributors

  • @donat
  • Special thanks to new maintainer @rougsig

v0.8.19

1 year ago

The coordinates of the plugin have changed (inadvertently, same as in https://github.com/gradle/plugin-portal-requests/issues/124). If you are not using the plugin DSL, then you will need to change the dependency classpath from gradle.plugin.com.google.protobuf:protobuf-gradle-plugin to com.google.protobuf:protobuf-gradle-plugin when upgrading. I hope that's the only issue. I would fix it with another release, but it seems this is how Gradle wants it, because plugin-publish is removing an override.

Fixed bugs

Improvements

  • Avoid eager task loading (#544). This reduces the Gradle configuration time
  • Ignore protoc/plugin artifact classifier for out-of-date checks (#560). This allows the Gradle cache to share results between platforms

Thanks to contributors

  • @gavra0
  • @larsgrefer
  • @clayburn
  • @rougsig
  • @apatsekin

v0.8.18

2 years ago

Fixed bugs

  • Restrict getOutputSourceDirectorySet() to directories only (#533). This fixes build failures for certain configurations when outputPath is a zip/jar

Improvements

  • Ignore empty directories for sources (#530). This is in preparation for Gradle 8 which will stop implicitly skipping the task when all directories are empty
  • Clean up Kotlin integration using newer Gradle integration (#531). Does not change minimum Gradle version supported

Thanks to contributors

  • @bigdaz
  • @cilki
  • @wolfs

v0.8.17

2 years ago

Fixed bugs

  • Fix configuration caching violation when generating jar plugin trampoline script by using saved ProjectLayout to get build directory in GenerateProtoTask (#509)

Improvements

  • Make IDEA support work out of the box with lazy lookup of the IDEA plugin (#506)

Thanks to contributors

  • @ALikhachev
  • @oehme

v0.8.16

3 years ago

Fixed bugs

  • Make compileProtoPath variant selection criteria tighter by adding JAVA_RUNTIME usage attribute. Without this, dependency resolution may result in ambiguous variant selection error if the dependency exposes variants with different usages (#489)
  • Add explicit DuplicatesStrategy as required by Gradle 7+ (#487)

Improvements

  • Mark generated code as "generated" folder in IDEA, so that users will get warned if they try to edit those files (#477)
  • Support outputting generated code directly into JAR/ZIP (#480)

Thanks to contributors

  • @oehme
  • @karuppiah7890
  • @tom-haines

v0.8.15

3 years ago

Fixed bugs

  • Added missing proto{} Kotlin DSL for Android builds configuring proto source directory (#443).

Improvements

  • Undeclared configuration-time system property or file reads have been eliminated, this plugin is fully compliant with Gradle configuration caching (#467).
  • Avoid running ProtobufExtract tasks if unrelated files change (#452).

Thanks to contributors

  • @gavra0