matrei commented on PR #39: URL: https://github.com/apache/grails-gradle-publish/pull/39#issuecomment-5864961095
Thanks @jdaugherty, the example projects and the Nexus endpoint are a big step up in coverage, and you're right about the parent project properties. **Parent project properties (161dc93).** My grails-core runs passed `-PprojectVersion=8.0.0`, which made the version a Gradle property on every project and hid exactly this. The release job sets it in the root `gradle.properties`, which `SharedPropertyPlugin` copies into the grails-gradle root's `ext`, so its subprojects need the parent lookup. I reran the comparison that way: the release job's assemble and publish steps for grails-gradle, grails-core and grails-forge, with `projectVersion=8.0.0` set in `gradle.properties`, comparing `1.0.x` with 8507dd7. - Both runs pass and publish the same 5,058 files; all 843 signatures verify and every checksum file matches. - 12 `.module` files differ. 11 of them gain a version for a dependency that `1.0.x` published without one (e.g. `requires 6.1.0` in `grails-controllers`, `grails-web-core`, `grails-mimetypes`), so the module metadata fix corrects what grails-core publishes today. The 12th is `grails-gradle-plugins`, whose jar only differs in its SBOM. - The plugin logs no warn-level parent lookups. - The only new warnings are grails-core's own `isCiBuild` lookup in `gradle/test-config.gradle` line 44, reported through `findProperty()` 33 more times, probably because the plugin now queries `compileGroovy`'s output directory for the descriptor. Nothing from the plugin itself. The branch's own `clean check rat` passes locally as well: 14 unit tests, 99 functional tests with the same 6 skipped. The functional tests now take about 16 minutes instead of 5, which seems a fair price for what they cover. A few small things: 1. **The help text contradicts itself** (`GrailsPublishGradlePlugin.groovy:185`): after "...not available with Isolated Projects." it still has "or its build script before the plugin is applied. Properties set on parent projects, including in the gradle.properties of a parent project's directory, are not read." That looks like a leftover from the edit; the README is right. 2. **`findProjectProperty` is now public.** It was package-private and static; as an instance method on a class grails-core extends, it becomes API. `@PackageScope` (the unit test is in the same package) or `protected` would keep it internal. 3. **Nit: the rewritten `.module` files are pretty-printed with 4-space indentation**, while Gradle writes 2, so they look different from the untouched ones. Harmless, and reproducible, but `JsonOutput.prettyPrint` could be replaced by writing with Gradle's indentation if you care. 4. **For later:** `configureModuleMetadataVersions` uses `project` inside `doLast`, which the configuration cache doesn't allow. Publishing isn't configuration-cache compatible yet anyway, so this doesn't need to block. I'll update the PR description and title, since "plugin properties are no longer read from parent projects" is no longer a breaking change. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
