You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by jd...@apache.org on 2026/10/13 20:24:01 UTC

(grails-gradle-publish) branch main updated (541bc15 -> 2633b80)

This is an automated email from the ASF dual-hosted git repository.

jdaugherty pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/grails-gradle-publish.git


    from 541bc15  Keep grails-public team as a release reviewer alongside the explicit users
     add abb90bd  chore: upgrade Gradle to 9.4.1
     add 50f340b  chore: bump version to 1.0.0-SNAPSHOT
     add 4122d4b  chore: scope Groovy BOM to compileOnly to avoid leaking to consumers
     add 7294afd  chore: move to Spock 2.4-groovy-4.0
     add f2a9cf5  chore: pin GitHub Actions to approved commit SHAs
     add 2f39618  Merge pull request #25 from apache/upgrade-gradle-9.4.1
     add e8a4df5  Merge pull request #28 from apache/main
     add dee0e85  Optionally delete existing release folder
     add 12069a0  Update constraint check
     add e81f5ac  [skip ci] Release v1.0.0-M1
     add c51a800  [skip ci] Bump version to 1.0.0-SNAPSHOT
     add c9aae94  Merge pull request #31 from apache/merge-back-1.0.0-M1
     add c43a946  Support additional source sets and custom publishing
     add bac796d  review feedback
     add 7ed2293  Merge pull request #34 from apache/feat/additional-publications
     add 1b259b9  [skip ci] Release v1.0.0-M2
     add 6ca3404  [skip ci] Bump version to 1.0.0-SNAPSHOT
     add af08a91  Merge pull request #35 from apache/merge-back-1.0.0-M2
     add 78e9110  Package the javadoc jar from the groovydoc instead of overlaying it
     add 09472a7  Follow-up cleanups from review of the javadoc jar change
     add 9adfc1a  Cover the case where withJavadocJar() was already called
     add 972aa7e  Replace the javadoc contribution rather than filtering by location
     add 05a3fd6  Update GitHub Actions versions so workflows can start again
     add d5d7799  Merge pull request #37 from apache/fix/issue36-stale-javadoc-output
     add 78995c6  Copy grails-core release-drafter configuration to this repo.
     add 3558eef  Allow self-review on release environments
     add 5816437  Add grails-public team as a release reviewer alongside the explicit users
     add c941954  [skip ci] Release v1.0.0-RC1
     add f47974e  [skip ci] Bump version to 1.0.0-SNAPSHOT
     add fa96a68  Merge pull request #41 from apache/merge-back-1.0.0-RC1
     add 8b7eb29  Upgrade to Gradle 9.8.0 and fix Gradle 10 deprecations
     add 25101cf  Set org.gradle.tooling.parallel explicitly
     add 186cb20  Always require signing in release builds
     add 86066d4  Sign the publications container directly
     add 1cc5847  Read GRAILS_PUBLISH_RELEASE directly in subproject scripts
     add e3a611f  Remove redundant jar inputs and the last sourceSets.findAll
     add e3ab538  Make testSourcesJar compatible with the configuration cache
     add fc202d8  Look up project properties in parent projects explicitly
     add 5017269  Fail functional tests on Gradle deprecation warnings
     add c6f6e05  Stop reading plugin properties from parent projects
     add fcd2758  Fix publish type property names in the README
     add 665e8ff  Log through a static logger instead of the root project's
     add c1371d3  Use placeholders instead of GStrings in log messages
     add 48dd545  Throw Gradle's user error exceptions for configuration mistakes
     add 0277710  Fail on class and resource directories in additional publications
     add e6f4a7c  Publish Gradle plugin projects through the pluginMaven publication
     add 27ba06c  Replace the sign task workaround with an ordering for all publish tasks
     add 49232ab  Test signed releases with a throwaway GPG key
     add 1374d81  Keep the plugin extensible by injecting BuildFeatures through a getter
     add d2f482b  Check additional publications for directories once the task graph is ready
     add 2dd9256  Publish the extra artifact from a copy outside the classes directory
     add 5e78370  Only leave the java component to the java-gradle-plugin
     add 71583c3  Say precisely which gradle.properties files are read
     add ec59881  Remove the remaining redundant jar inputs
     add b15e19c  Verify the signatures in ReleaseSigningSpec
     add 90fc131  Build the extra artifact from the main classes only
     add cbc22ae  Fail when a Nexus URL is only set on a parent project
     add 3addf6a  Only default to pluginMaven when the java-gradle-plugin publishes
     add 28ddf7e  Keep the gpg time limit in ReleaseSigningSpec
     add 658fe1f  Only read the Nexus properties in builds publishing through Nexus
     add 92ce236  Name the Nexus environment variables in the parent project error
     add ce471be  Add example projects and functional tests for every publishing scenario
     add 9277a99  Merge the example projects and publishing tests into the Gradle 9.8 branch
     add 161dc93  Read parent project properties explicitly instead of failing on them
     add 8507dd7  Run the containerized release on the JDK that compiled the plugin
     add e28948e  Address review: help text leftover, findProjectProperty scope, module indentation
     add 2444300  Build and publish snapshots on push only from main and the release lines
     add c7bd0a6  Merge pull request #39 from apache/chore/gradle-9.8
     add 1af55dd  [skip ci] Release v1.0.0-RC2
     add ecddbeb  [skip ci] Bump version to 1.0.0-SNAPSHOT
     add f1c441c  Merge pull request #42 from apache/merge-back-1.0.0-RC2
     add 365f0ea  Make publishing compatible with the configuration cache
     add 82ecdfc  Merge pull request #43 from apache/fix/configuration-cache
     add ed1d1f1  [skip ci] Release v1.0.0
     add 045b7e9  [skip ci] Bump version to 1.0.1-SNAPSHOT
     add 626baae  Merge pull request #44 from apache/merge-back-1.0.0
     add e8b0911  Write the Gradle caches from every release branch
     add d02aa00  Merge main into 1.0.x
     new 2633b80  Merge pull request #45 from apache/1.0.x

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/release-drafter.yml                        |   23 +
 .github/scripts/releaseDistributions.sh            |   12 +-
 .github/workflows/ci.yaml                          |   10 +-
 .github/workflows/rat.yaml                         |    3 +-
 .github/workflows/release-notes.yml                |  205 +++-
 .github/workflows/release.yaml                     |    8 +-
 .sdkmanrc                                          |    2 +-
 README.md                                          |  171 ++-
 examples/README.md                                 |  140 +++
 examples/additional-publication/build.gradle       |  124 ++
 .../additional-publication/gradle.properties       |   18 +-
 .../additional-publication/settings.gradle         |   25 +-
 .../example/additional/cli/LibraryCommand.groovy   |   16 +-
 .../org/grails/example/additional/Library.groovy   |   10 +-
 examples/bom/build.gradle                          |   66 ++
 .../bom/gradle.properties                          |   18 +-
 .../bom/settings.gradle                            |   19 +-
 examples/custom-pom/build.gradle                   |   91 ++
 .../custom-pom/gradle.properties                   |   18 +-
 .../custom-pom/settings.gradle                     |   19 +-
 .../org/grails/example/custom/CustomPom.groovy     |   10 +-
 examples/extended-plugin/build.gradle              |   88 ++
 .../extended-plugin/gradle.properties              |   18 +-
 .../extended-plugin/settings.gradle                |   19 +-
 .../org/grails/example/extended/Profile.groovy     |    8 +-
 .../gradle-plugin}/build.gradle                    |   46 +-
 .../gradle-plugin/gradle.properties                |   17 +-
 .../gradle-plugin/settings.gradle                  |   19 +-
 .../org/grails/example/gradle/HelloPlugin.groovy   |   21 +-
 examples/grails-plugin/build.gradle                |   72 ++
 .../grails-plugin/gradle.properties                |   18 +-
 .../grails-plugin/settings.gradle                  |   19 +-
 .../example/plugin/ExampleGrailsPlugin.groovy      |   13 +-
 .../java-library}/build.gradle                     |   21 +-
 .../java-library/gradle.properties                 |   17 +-
 .../java-library/settings.gradle                   |   19 +-
 .../org/grails/example/javalib/Calculator.java     |   20 +-
 examples/kotlin-dsl/build.gradle.kts               |   56 +
 .../kotlin-dsl/gradle.properties                   |   18 +-
 .../kotlin-dsl/settings.gradle.kts                 |   25 +-
 .../example/kotlindsl/KotlinDslGreeter.groovy      |   14 +-
 examples/managed-dependency-versions/build.gradle  |   64 ++
 .../managed-dependency-versions/gradle.properties  |   19 +-
 .../managed-dependency-versions/settings.gradle    |   25 +-
 .../org/grails/example/managed/Managed.groovy      |   15 +-
 .../acme-bom/build.gradle                          |   67 ++
 .../acme-core}/build.gradle                        |   35 +-
 .../grails/example/acme/core/CoreService.groovy    |   10 +-
 .../example/acme/core/CoreTestSupport.groovy       |   15 +-
 .../acme-gradle-plugin}/build.gradle               |   38 +-
 .../grails/example/acme/gradle/AcmePlugin.groovy   |   21 +-
 .../acme-starter/build.gradle                      |   58 +
 .../multi-project-grails-core-layout/build.gradle  |   57 +
 .../consumer/build.gradle                          |   51 +
 .../consumer/gradle.properties                     |   17 +-
 .../consumer/settings.gradle                       |   54 +
 .../gradle.properties                              |   18 +-
 .../gradle/publish-conventions.gradle              |   60 +
 .../settings.gradle                                |   29 +-
 examples/multi-project-per-subproject/build.gradle |   64 ++
 .../core}/build.gradle                             |   19 +-
 .../grails/example/multi/core/CoreService.groovy   |   10 +-
 .../extras}/build.gradle                           |   21 +-
 .../example/multi/extras/ExtraService.groovy       |   12 +-
 .../multi-project-per-subproject/gradle.properties |   18 +-
 .../multi-project-per-subproject/settings.gradle   |   28 +-
 .../multi-project-root-configured/build.gradle     |   74 ++
 .../grails/example/multi/core/CoreService.groovy   |   10 +-
 .../gradle.properties                              |   18 +-
 .../multi-project-root-configured/settings.gradle  |   28 +-
 .../grails/example/multi/web/WebController.groovy  |   12 +-
 .../simple-library}/build.gradle                   |   42 +-
 .../simple-library/gradle.properties               |   22 +-
 .../simple-library/settings.gradle                 |   19 +-
 .../org/grails/example/simple/Greeter.groovy       |   14 +-
 .../java/org/grails/example/simple/Version.java    |   49 +-
 .../resources/META-INF/simple-library.properties   |   16 +-
 .../test-sources}/build.gradle                     |   42 +-
 .../test-sources/gradle.properties                 |   18 +-
 .../test-sources/settings.gradle                   |   19 +-
 .../org/grails/example/testsources/Counter.groovy  |   12 +-
 .../grails/example/testsources/CounterSpec.groovy  |   13 +-
 .../example/testsources/CounterTestSupport.groovy  |   16 +-
 gradle.properties                                  |    7 +-
 gradle/publish-config.gradle                       |    2 +
 gradle/rat-root-config.gradle                      |    3 +-
 gradle/signing-config.gradle                       |   21 +-
 gradle/test-config.gradle                          |   19 +-
 gradle/wrapper/gradle-wrapper.jar                  |  Bin 43764 -> 47623 bytes
 gradle/wrapper/gradle-wrapper.properties           |    4 +-
 gradlew                                            |   11 +-
 gradlew.bat                                        |   86 +-
 plugin/build.gradle                                |    6 +-
 .../publish/AdditionalPublicationSpec.groovy       |  185 +++
 .../gradle/publish/GradleSpecification.groovy      |   23 +-
 .../gradle/publish/GrailsPublishPluginSpec.groovy  |  540 ++++++++-
 .../gradle/publish/PluginDescriptorSpec.groovy     |   77 ++
 .../gradle/publish/ReleaseSigningSpec.groovy       |  170 +++
 .../examples/ContainerizedReleaseSpec.groovy       |  145 +++
 .../examples/ExampleProjectSpecification.groovy    |  233 ++++
 .../publish/examples/ExampleProjectsSpec.groovy    |  566 +++++++++
 .../gradle/publish/examples/MockNexus.groovy       |  330 ++++++
 .../publish/examples/PublishTargetsSpec.groovy     |  577 ++++++++++
 .../gradle/publish/examples/TestSigningKey.groovy  |  137 +++
 .../build.gradle                                   |    2 +-
 .../build.gradle                                   |    2 +-
 .../build.gradle                                   |    4 +-
 .../build.gradle                                   |    2 +-
 .../build.gradle                                   |    2 +-
 .../build.gradle                                   |    2 +-
 .../subproject1/build.gradle                       |    2 +-
 .../additional-publication/build.gradle            |  120 ++
 .../additional-publication}/gradle.properties      |    0
 .../additional-publication}/settings.gradle        |    1 +
 .../org/grails/example/cli/MyCommand.groovy}       |   16 +-
 .../groovy/org/grails/example/MyProject.groovy     |   10 +-
 .../build.gradle                                   |    2 +-
 .../build.gradle                                   |   42 +-
 .../gradle-plugin-project}/gradle.properties       |    0
 .../gradle-plugin-project}/settings.gradle         |    1 +
 .../groovy/org/grails/example/MyProject.groovy     |    0
 .../src/main/java/TestJava.java                    |    0
 .../src/main/java/another/TestOtherJava.java       |    0
 .../build.gradle                                   |   12 +-
 .../buildSrc}/build.gradle                         |   13 +-
 .../StandInGrailsPluginGradlePlugin.groovy         |   51 +
 .../grails-plugin-descriptor/gradle.properties     |   16 +-
 .../grails-plugin-descriptor}/settings.gradle      |    1 +
 .../grails/example/DescriptorGrailsPlugin.groovy}  |    8 +-
 .../build.gradle                                   |   15 +-
 .../grails-plugin-project}/gradle.properties       |    0
 .../grails-plugin-project}/settings.gradle         |    1 +
 .../groovy/org/grails/example/MyProject.groovy     |    0
 .../src/main/java/TestJava.java                    |    0
 .../src/main/java/another/TestOtherJava.java       |    0
 .../groovy-doc-disabled/build.gradle               |    2 +-
 .../groovy-only-project/build.gradle               |    2 +-
 .../java-already-configured/build.gradle           |   10 +-
 .../other-artifacts/java-only-project/build.gradle |    2 +-
 .../build.gradle                                   |    4 +-
 .../build.gradle                                   |    4 +-
 .../multiple-source-sets/build.gradle              |    2 +-
 .../non-groovy-java-sources-included/build.gradle  |    2 +-
 .../other-artifacts/organization/build.gradle      |    2 +-
 .../build.gradle                                   |   54 +-
 .../platform-managed-versions}/gradle.properties   |    0
 .../platform-managed-versions}/settings.gradle     |    1 +
 .../main/groovy/org/grails/example/Managed.groovy} |    8 +-
 .../org/grails/example/ManagedFixtures.groovy}     |   10 +-
 .../properties-from-parent-project}/build.gradle   |   19 +-
 .../gradle.properties                              |    3 +-
 .../settings.gradle                                |    4 +-
 .../subproject}/build.gradle                       |    1 -
 .../groovy/org.grails.example/SubProject2.groovy   |    0
 .../other-artifacts/simple-project/build.gradle    |    2 +-
 .../build.gradle                                   |   16 +-
 .../stale-javadoc-output}/gradle.properties        |    0
 .../stale-javadoc-output}/settings.gradle          |    1 +
 .../groovy/org/grails/example/MyProject.groovy     |    2 +-
 .../src/main/java/TestJava.java                    |    0
 .../{simple-project => test-sources}/build.gradle  |    3 +-
 .../test-sources}/gradle.properties                |    0
 .../other-artifacts/test-sources}/settings.gradle  |    1 +
 .../groovy/org/grails/example/MyProject.groovy     |    0
 .../org/grails/example/MyProjectTest.groovy}       |    4 +-
 .../build.gradle                                   |    2 +-
 .../otherProject/build.gradle                      |    2 +-
 .../build.gradle                                   |    2 +-
 .../build.gradle                                   |    2 +-
 .../build.gradle                                   |    2 +-
 .../subproject1/build.gradle                       |    2 +-
 .../gradle/publish/AdditionalPublication.groovy    |  101 ++
 .../gradle/publish/GrailsPublishExtension.groovy   |   73 +-
 .../publish/GrailsPublishGradlePlugin.groovy       | 1196 ++++++++++++++++----
 .../publish/GrailsRootSoftwareComponent.groovy     |   68 ++
 .../publish/GrailsPublishGradlePluginTest.groovy   |  566 ++++++++-
 settings.gradle                                    |    4 +-
 177 files changed, 7335 insertions(+), 1116 deletions(-)
 create mode 100644 examples/README.md
 create mode 100644 examples/additional-publication/build.gradle
 copy gradle.properties => examples/additional-publication/gradle.properties (57%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/multi-project-parent-child-setup-per-project-child-published/subproject2/build.gradle => examples/additional-publication/settings.gradle (66%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/Organization.groovy => examples/additional-publication/src/cli/groovy/org/grails/example/additional/cli/LibraryCommand.groovy (72%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/PublishType.groovy => examples/additional-publication/src/main/groovy/org/grails/example/additional/Library.groovy (88%)
 create mode 100644 examples/bom/build.gradle
 copy gradle.properties => examples/bom/gradle.properties (57%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/multi-project-no-subproject-build-gradle-publish-all/subproject1/src/main/groovy/org/grails/example/SubProject1.groovy => examples/bom/settings.gradle (67%)
 create mode 100644 examples/custom-pom/build.gradle
 copy gradle.properties => examples/custom-pom/gradle.properties (57%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/multi-project-no-subproject-build-gradle-publish-all/subproject1/src/main/groovy/org/grails/example/SubProject1.groovy => examples/custom-pom/settings.gradle (67%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/PublishType.groovy => examples/custom-pom/src/main/groovy/org/grails/example/custom/CustomPom.groovy (86%)
 create mode 100644 examples/extended-plugin/build.gradle
 copy gradle.properties => examples/extended-plugin/gradle.properties (57%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/multi-project-no-subproject-build-gradle-publish-all/subproject1/src/main/groovy/org/grails/example/SubProject1.groovy => examples/extended-plugin/settings.gradle (67%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/PublishType.groovy => examples/extended-plugin/src/main/groovy/org/grails/example/extended/Profile.groovy (90%)
 copy {plugin/src/functionalTest/resources/publish-projects/plugins-block/child-project-with-unrelated-parent => examples/gradle-plugin}/build.gradle (52%)
 copy gradle.properties => examples/gradle-plugin/gradle.properties (57%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/multi-project-no-subproject-build-gradle-publish-all/subproject1/src/main/groovy/org/grails/example/SubProject1.groovy => examples/gradle-plugin/settings.gradle (67%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/Organization.groovy => examples/gradle-plugin/src/main/groovy/org/grails/example/gradle/HelloPlugin.groovy (69%)
 create mode 100644 examples/grails-plugin/build.gradle
 copy gradle.properties => examples/grails-plugin/gradle.properties (57%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/multi-project-no-subproject-build-gradle-publish-all/subproject1/src/main/groovy/org/grails/example/SubProject1.groovy => examples/grails-plugin/settings.gradle (67%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/Organization.groovy => examples/grails-plugin/src/main/groovy/org/grails/example/plugin/ExampleGrailsPlugin.groovy (78%)
 copy {plugin/src/functionalTest/resources/publish-projects/plugins-block/multi-project-with-subproject-gradle/subproject2 => examples/java-library}/build.gradle (72%)
 copy gradle.properties => examples/java-library/gradle.properties (57%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/multi-project-no-subproject-build-gradle-publish-all/subproject1/src/main/groovy/org/grails/example/SubProject1.groovy => examples/java-library/settings.gradle (67%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/child-project-with-unrelated-parent/src/main/groovy/org/grails/example/SubProject1.groovy => examples/java-library/src/main/java/org/grails/example/javalib/Calculator.java (68%)
 create mode 100644 examples/kotlin-dsl/build.gradle.kts
 copy gradle.properties => examples/kotlin-dsl/gradle.properties (57%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/multi-project-parent-child-setup-per-project-child-published/subproject2/build.gradle => examples/kotlin-dsl/settings.gradle.kts (65%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/Organization.groovy => examples/kotlin-dsl/src/main/groovy/org/grails/example/kotlindsl/KotlinDslGreeter.groovy (78%)
 create mode 100644 examples/managed-dependency-versions/build.gradle
 copy gradle.properties => examples/managed-dependency-versions/gradle.properties (57%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/multi-project-parent-child-setup-per-project-child-published/subproject2/build.gradle => examples/managed-dependency-versions/settings.gradle (66%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/Organization.groovy => examples/managed-dependency-versions/src/main/groovy/org/grails/example/managed/Managed.groovy (72%)
 create mode 100644 examples/multi-project-grails-core-layout/acme-bom/build.gradle
 copy {plugin/src/functionalTest/resources/publish-projects/plugins-block/child-project-with-unrelated-parent/otherProject => examples/multi-project-grails-core-layout/acme-core}/build.gradle (59%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/PublishType.groovy => examples/multi-project-grails-core-layout/acme-core/src/main/groovy/org/grails/example/acme/core/CoreService.groovy (89%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/Organization.groovy => examples/multi-project-grails-core-layout/acme-core/src/testFixtures/groovy/org/grails/example/acme/core/CoreTestSupport.groovy (73%)
 copy {plugin/src/functionalTest/resources/publish-projects/plugins-block/child-project-with-unrelated-parent/otherProject => examples/multi-project-grails-core-layout/acme-gradle-plugin}/build.gradle (60%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/Organization.groovy => examples/multi-project-grails-core-layout/acme-gradle-plugin/src/main/groovy/org/grails/example/acme/gradle/AcmePlugin.groovy (68%)
 create mode 100644 examples/multi-project-grails-core-layout/acme-starter/build.gradle
 create mode 100644 examples/multi-project-grails-core-layout/build.gradle
 create mode 100644 examples/multi-project-grails-core-layout/consumer/build.gradle
 copy gradle.properties => examples/multi-project-grails-core-layout/consumer/gradle.properties (57%)
 create mode 100644 examples/multi-project-grails-core-layout/consumer/settings.gradle
 copy gradle.properties => examples/multi-project-grails-core-layout/gradle.properties (57%)
 create mode 100644 examples/multi-project-grails-core-layout/gradle/publish-conventions.gradle
 copy plugin/src/functionalTest/resources/publish-projects/plugins-block/multi-project-with-subproject-gradle/build.gradle => examples/multi-project-grails-core-layout/settings.gradle (63%)
 create mode 100644 examples/multi-project-per-subproject/build.gradle
 copy {plugin/src/functionalTest/resources/publish-projects/plugins-block/multi-project-parent-child-setup-per-project-child-published/subproject2 => examples/multi-project-per-subproject/core}/build.gradle (76%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/PublishType.groovy => examples/multi-project-per-subproject/core/src/main/groovy/org/grails/example/multi/core/CoreService.groovy (89%)
 copy {plugin/src/functionalTest/resources/publish-projects/plugins-block/multi-project-parent-child-setup-per-project-child-published/subproject2 => examples/multi-project-per-subproject/extras}/build.gradle (71%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/Organization.groovy => examples/multi-project-per-subproject/extras/src/main/groovy/org/grails/example/multi/extras/ExtraService.groovy (82%)
 copy gradle.properties => examples/multi-project-per-subproject/gradle.properties (57%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/multi-project-parent-child-setup-per-project-child-published/subproject2/build.gradle => examples/multi-project-per-subproject/settings.gradle (64%)
 create mode 100644 examples/multi-project-root-configured/build.gradle
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/PublishType.groovy => examples/multi-project-root-configured/core/src/main/groovy/org/grails/example/multi/core/CoreService.groovy (89%)
 copy gradle.properties => examples/multi-project-root-configured/gradle.properties (57%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/multi-project-parent-child-setup-per-project-child-published/subproject2/build.gradle => examples/multi-project-root-configured/settings.gradle (64%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/Organization.groovy => examples/multi-project-root-configured/web/src/main/groovy/org/grails/example/multi/web/WebController.groovy (78%)
 copy {plugin/src/functionalTest/resources/publish-projects/plugins-block/child-project-with-unrelated-parent => examples/simple-library}/build.gradle (63%)
 copy gradle.properties => examples/simple-library/gradle.properties (57%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/multi-project-no-subproject-build-gradle-publish-all/subproject1/src/main/groovy/org/grails/example/SubProject1.groovy => examples/simple-library/settings.gradle (67%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/Organization.groovy => examples/simple-library/src/main/groovy/org/grails/example/simple/Greeter.groovy (77%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/multi-project-parent-child-setup-per-project-child-published/build.gradle => examples/simple-library/src/main/java/org/grails/example/simple/Version.java (54%)
 copy gradle.properties => examples/simple-library/src/main/resources/META-INF/simple-library.properties (57%)
 copy {plugin/src/functionalTest/resources/publish-projects/plugins-block/child-project-with-unrelated-parent => examples/test-sources}/build.gradle (62%)
 copy gradle.properties => examples/test-sources/gradle.properties (57%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/multi-project-no-subproject-build-gradle-publish-all/subproject1/src/main/groovy/org/grails/example/SubProject1.groovy => examples/test-sources/settings.gradle (67%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/PublishType.groovy => examples/test-sources/src/main/groovy/org/grails/example/testsources/Counter.groovy (87%)
 copy plugin/src/functionalTest/resources/publish-projects/legacy-apply/child-project-with-unrelated-parent/src/main/groovy/org/grails/example/SubProject1.groovy => examples/test-sources/src/test/groovy/org/grails/example/testsources/CounterSpec.groovy (79%)
 copy plugin/src/main/groovy/org/apache/grails/gradle/publish/Organization.groovy => examples/test-sources/src/test/groovy/org/grails/example/testsources/CounterTestSupport.groovy (74%)
 mode change 100644 => 100755 gradlew.bat
 create mode 100644 plugin/src/functionalTest/groovy/org/apache/grails/gradle/publish/AdditionalPublicationSpec.groovy
 create mode 100644 plugin/src/functionalTest/groovy/org/apache/grails/gradle/publish/PluginDescriptorSpec.groovy
 create mode 100644 plugin/src/functionalTest/groovy/org/apache/grails/gradle/publish/ReleaseSigningSpec.groovy
 create mode 100644 plugin/src/functionalTest/groovy/org/apache/grails/gradle/publish/examples/ContainerizedReleaseSpec.groovy
 create mode 100644 plugin/src/functionalTest/groovy/org/apache/grails/gradle/publish/examples/ExampleProjectSpecification.groovy
 create mode 100644 plugin/src/functionalTest/groovy/org/apache/grails/gradle/publish/examples/ExampleProjectsSpec.groovy
 create mode 100644 plugin/src/functionalTest/groovy/org/apache/grails/gradle/publish/examples/MockNexus.groovy
 create mode 100644 plugin/src/functionalTest/groovy/org/apache/grails/gradle/publish/examples/PublishTargetsSpec.groovy
 create mode 100644 plugin/src/functionalTest/groovy/org/apache/grails/gradle/publish/examples/TestSigningKey.groovy
 create mode 100644 plugin/src/functionalTest/resources/publish-projects/other-artifacts/additional-publication/build.gradle
 copy plugin/src/functionalTest/resources/publish-projects/{legacy-apply/child-project-with-unrelated-parent => other-artifacts/additional-publication}/gradle.properties (100%)
 copy {gradle-bootstrap => plugin/src/functionalTest/resources/publish-projects/other-artifacts/additional-publication}/settings.gradle (94%)
 copy plugin/src/functionalTest/resources/publish-projects/{legacy-apply/child-project-with-unrelated-parent/src/main/groovy/org/grails/example/SubProject1.groovy => other-artifacts/additional-publication/src/cli/groovy/org/grails/example/cli/MyCommand.groovy} (74%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{explicit-jar-creation-without-gradle-assistance => additional-publication}/src/main/groovy/org/grails/example/MyProject.groovy (87%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{explicit-jar-creation-without-gradle-assistance => gradle-plugin-project}/build.gradle (61%)
 copy plugin/src/functionalTest/resources/publish-projects/{legacy-apply/child-project-with-unrelated-parent => other-artifacts/gradle-plugin-project}/gradle.properties (100%)
 copy {gradle-bootstrap => plugin/src/functionalTest/resources/publish-projects/other-artifacts/gradle-plugin-project}/settings.gradle (95%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{explicit-jar-creation-without-gradle-assistance => gradle-plugin-project}/src/main/groovy/org/grails/example/MyProject.groovy (100%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{explicit-jar-creation-without-gradle-assistance => gradle-plugin-project}/src/main/java/TestJava.java (100%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{explicit-jar-creation-without-gradle-assistance => gradle-plugin-project}/src/main/java/another/TestOtherJava.java (100%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{java-already-configured => grails-plugin-descriptor}/build.gradle (84%)
 copy plugin/src/functionalTest/resources/publish-projects/{plugins-block/multi-project-with-subproject-gradle/subproject1 => other-artifacts/grails-plugin-descriptor/buildSrc}/build.gradle (76%)
 create mode 100644 plugin/src/functionalTest/resources/publish-projects/other-artifacts/grails-plugin-descriptor/buildSrc/src/main/groovy/org/grails/example/buildsrc/StandInGrailsPluginGradlePlugin.groovy
 copy gradle.properties => plugin/src/functionalTest/resources/publish-projects/other-artifacts/grails-plugin-descriptor/gradle.properties (57%)
 copy {gradle-bootstrap => plugin/src/functionalTest/resources/publish-projects/other-artifacts/grails-plugin-descriptor}/settings.gradle (94%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{multiple-source-sets/src/other/groovy/org/grails/example/Library.groovy => grails-plugin-descriptor/src/main/groovy/org/grails/example/DescriptorGrailsPlugin.groovy} (91%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{organization => grails-plugin-project}/build.gradle (80%)
 copy plugin/src/functionalTest/resources/publish-projects/{legacy-apply/child-project-with-unrelated-parent => other-artifacts/grails-plugin-project}/gradle.properties (100%)
 copy {gradle-bootstrap => plugin/src/functionalTest/resources/publish-projects/other-artifacts/grails-plugin-project}/settings.gradle (95%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{explicit-jar-creation-without-gradle-assistance => grails-plugin-project}/src/main/groovy/org/grails/example/MyProject.groovy (100%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{explicit-jar-creation-without-gradle-assistance => grails-plugin-project}/src/main/java/TestJava.java (100%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{explicit-jar-creation-without-gradle-assistance => grails-plugin-project}/src/main/java/another/TestOtherJava.java (100%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{multiple-source-sets => platform-managed-versions}/build.gradle (53%)
 copy plugin/src/functionalTest/resources/publish-projects/{legacy-apply/child-project-with-unrelated-parent => other-artifacts/platform-managed-versions}/gradle.properties (100%)
 copy {gradle-bootstrap => plugin/src/functionalTest/resources/publish-projects/other-artifacts/platform-managed-versions}/settings.gradle (94%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{multiple-source-sets/src/other/groovy/org/grails/example/Library.groovy => platform-managed-versions/src/main/groovy/org/grails/example/Managed.groovy} (91%)
 copy plugin/src/functionalTest/resources/publish-projects/{legacy-apply/child-project-with-unrelated-parent/src/main/groovy/org/grails/example/SubProject1.groovy => other-artifacts/platform-managed-versions/src/testFixtures/groovy/org/grails/example/ManagedFixtures.groovy} (83%)
 copy plugin/src/functionalTest/resources/publish-projects/{legacy-apply/multi-project-parent-child-setup-per-project-child-published => other-artifacts/properties-from-parent-project}/build.gradle (76%)
 copy plugin/src/functionalTest/resources/publish-projects/{legacy-apply/child-project-with-unrelated-parent => other-artifacts/properties-from-parent-project}/gradle.properties (90%)
 copy plugin/src/functionalTest/resources/publish-projects/{legacy-apply/multi-project-parent-child-setup-per-project-parent-published => other-artifacts/properties-from-parent-project}/settings.gradle (91%)
 copy plugin/src/functionalTest/resources/publish-projects/{plugins-block/multi-project-parent-child-setup-per-project-child-published/subproject2 => other-artifacts/properties-from-parent-project/subproject}/build.gradle (96%)
 copy plugin/src/functionalTest/resources/publish-projects/{legacy-apply/child-project-with-unrelated-parent/otherProject => other-artifacts/properties-from-parent-project/subproject}/src/main/groovy/org.grails.example/SubProject2.groovy (100%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{java-already-configured => stale-javadoc-output}/build.gradle (79%)
 copy plugin/src/functionalTest/resources/publish-projects/{legacy-apply/child-project-with-unrelated-parent => other-artifacts/stale-javadoc-output}/gradle.properties (100%)
 copy {gradle-bootstrap => plugin/src/functionalTest/resources/publish-projects/other-artifacts/stale-javadoc-output}/settings.gradle (95%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{explicit-jar-creation-without-gradle-assistance => stale-javadoc-output}/src/main/groovy/org/grails/example/MyProject.groovy (95%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{explicit-jar-creation-without-gradle-assistance => stale-javadoc-output}/src/main/java/TestJava.java (100%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{simple-project => test-sources}/build.gradle (94%)
 copy plugin/src/functionalTest/resources/publish-projects/{legacy-apply/child-project-with-unrelated-parent => other-artifacts/test-sources}/gradle.properties (100%)
 copy {gradle-bootstrap => plugin/src/functionalTest/resources/publish-projects/other-artifacts/test-sources}/settings.gradle (96%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{explicit-jar-creation-without-gradle-assistance => test-sources}/src/main/groovy/org/grails/example/MyProject.groovy (100%)
 copy plugin/src/functionalTest/resources/publish-projects/other-artifacts/{multiple-source-sets/src/other/groovy/org/grails/example/Library.groovy => test-sources/src/test/groovy/org/grails/example/MyProjectTest.groovy} (93%)
 create mode 100644 plugin/src/main/groovy/org/apache/grails/gradle/publish/AdditionalPublication.groovy
 create mode 100644 plugin/src/main/groovy/org/apache/grails/gradle/publish/GrailsRootSoftwareComponent.groovy


(grails-gradle-publish) 01/01: Merge pull request #45 from apache/1.0.x

Posted by jd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jdaugherty pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/grails-gradle-publish.git

commit 2633b80e44e13ed8efc0cf283eaf6204b2a927fc
Merge: 541bc15 d02aa00
Author: James Daugherty <jd...@jdresources.net>
AuthorDate: Tue Oct 13 21:23:53 2026 +0100

    Merge pull request #45 from apache/1.0.x

 .github/release-drafter.yml                        |   23 +
 .github/scripts/releaseDistributions.sh            |   12 +-
 .github/workflows/ci.yaml                          |   10 +-
 .github/workflows/rat.yaml                         |    3 +-
 .github/workflows/release-notes.yml                |  205 +++-
 .github/workflows/release.yaml                     |    8 +-
 .sdkmanrc                                          |    2 +-
 README.md                                          |  171 ++-
 examples/README.md                                 |  140 +++
 examples/additional-publication/build.gradle       |  124 ++
 .../additional-publication/gradle.properties       |   18 +-
 .../additional-publication/settings.gradle         |   14 +-
 .../example/additional/cli/LibraryCommand.groovy   |   22 +-
 .../org/grails/example/additional/Library.groovy   |   14 +-
 examples/bom/build.gradle                          |   66 ++
 .../bom/gradle.properties                          |   18 +-
 .../build.gradle => examples/bom/settings.gradle   |   14 +-
 examples/custom-pom/build.gradle                   |   91 ++
 .../custom-pom/gradle.properties                   |   18 +-
 .../custom-pom/settings.gradle                     |   14 +-
 .../org/grails/example/custom/CustomPom.groovy     |   14 +-
 examples/extended-plugin/build.gradle              |   88 ++
 .../extended-plugin/gradle.properties              |   18 +-
 .../extended-plugin/settings.gradle                |   14 +-
 .../org/grails/example/extended/Profile.groovy     |   12 +-
 .../gradle-plugin}/build.gradle                    |   46 +-
 .../gradle-plugin/gradle.properties                |   17 +-
 .../gradle-plugin/settings.gradle                  |   14 +-
 .../org/grails/example/gradle/HelloPlugin.groovy   |   27 +-
 examples/grails-plugin/build.gradle                |   72 ++
 .../grails-plugin/gradle.properties                |   18 +-
 .../grails-plugin/settings.gradle                  |   14 +-
 .../example/plugin/ExampleGrailsPlugin.groovy      |   19 +-
 .../java-library}/build.gradle                     |   34 +-
 .../java-library/gradle.properties                 |   17 +-
 .../java-library/settings.gradle                   |   14 +-
 .../org/grails/example/javalib/Calculator.java     |   24 +-
 examples/kotlin-dsl/build.gradle.kts               |   56 +
 .../kotlin-dsl/gradle.properties                   |   18 +-
 .../kotlin-dsl/settings.gradle.kts                 |   14 +-
 .../example/kotlindsl/KotlinDslGreeter.groovy      |   20 +-
 examples/managed-dependency-versions/build.gradle  |   64 ++
 .../managed-dependency-versions/gradle.properties  |   19 +-
 .../managed-dependency-versions/settings.gradle    |   14 +-
 .../org/grails/example/managed/Managed.groovy      |   23 +-
 .../acme-bom/build.gradle                          |   67 ++
 .../acme-core}/build.gradle                        |   35 +-
 .../grails/example/acme/core/CoreService.groovy    |   14 +-
 .../example/acme/core/CoreTestSupport.groovy       |   21 +-
 .../acme-gradle-plugin}/build.gradle               |   38 +-
 .../grails/example/acme/gradle/AcmePlugin.groovy   |   27 +-
 .../acme-starter/build.gradle                      |   58 +
 .../multi-project-grails-core-layout/build.gradle  |   57 +
 .../consumer/build.gradle                          |   51 +
 .../consumer/gradle.properties                     |   17 +-
 .../consumer/settings.gradle                       |   54 +
 .../gradle.properties                              |   18 +-
 .../gradle/publish-conventions.gradle              |   60 +
 .../settings.gradle                                |   29 +-
 examples/multi-project-per-subproject/build.gradle |   64 ++
 .../core}/build.gradle                             |   32 +-
 .../grails/example/multi/core/CoreService.groovy   |   14 +-
 .../extras}/build.gradle                           |   34 +-
 .../example/multi/extras/ExtraService.groovy       |   18 +-
 .../multi-project-per-subproject/gradle.properties |   18 +-
 .../multi-project-per-subproject/settings.gradle   |   20 +-
 .../multi-project-root-configured/build.gradle     |   74 ++
 .../grails/example/multi/core/CoreService.groovy   |   14 +-
 .../gradle.properties                              |   18 +-
 .../multi-project-root-configured/settings.gradle  |   20 +-
 .../grails/example/multi/web/WebController.groovy  |   20 +-
 .../simple-library}/build.gradle                   |   42 +-
 .../simple-library/gradle.properties               |   22 +-
 .../simple-library/settings.gradle                 |   14 +-
 .../org/grails/example/simple/Greeter.groovy       |   20 +-
 .../java/org/grails/example/simple/Version.java    |   49 +-
 .../resources/META-INF/simple-library.properties   |   16 +-
 .../test-sources}/build.gradle                     |   42 +-
 .../test-sources/gradle.properties                 |   18 +-
 .../test-sources/settings.gradle                   |   14 +-
 .../org/grails/example/testsources/Counter.groovy  |   16 +-
 .../grails/example/testsources/CounterSpec.groovy  |   17 +-
 .../example/testsources/CounterTestSupport.groovy  |   22 +-
 gradle.properties                                  |    7 +-
 gradle/publish-config.gradle                       |    2 +
 gradle/rat-root-config.gradle                      |    3 +-
 gradle/signing-config.gradle                       |   21 +-
 gradle/test-config.gradle                          |   19 +-
 gradle/wrapper/gradle-wrapper.jar                  |  Bin 43764 -> 47623 bytes
 gradle/wrapper/gradle-wrapper.properties           |    4 +-
 gradlew                                            |   11 +-
 gradlew.bat                                        |   86 +-
 plugin/build.gradle                                |    6 +-
 .../publish/AdditionalPublicationSpec.groovy       |  185 +++
 .../gradle/publish/GradleSpecification.groovy      |   23 +-
 .../gradle/publish/GrailsPublishPluginSpec.groovy  |  540 ++++++++-
 .../gradle/publish/PluginDescriptorSpec.groovy     |   77 ++
 .../gradle/publish/ReleaseSigningSpec.groovy       |  170 +++
 .../examples/ContainerizedReleaseSpec.groovy       |  145 +++
 .../examples/ExampleProjectSpecification.groovy    |  233 ++++
 .../publish/examples/ExampleProjectsSpec.groovy    |  566 +++++++++
 .../gradle/publish/examples/MockNexus.groovy       |  330 ++++++
 .../publish/examples/PublishTargetsSpec.groovy     |  577 ++++++++++
 .../gradle/publish/examples/TestSigningKey.groovy  |  137 +++
 .../build.gradle                                   |    2 +-
 .../build.gradle                                   |    2 +-
 .../build.gradle                                   |    4 +-
 .../build.gradle                                   |    2 +-
 .../build.gradle                                   |    2 +-
 .../build.gradle                                   |    2 +-
 .../subproject1/build.gradle                       |    2 +-
 .../additional-publication/build.gradle            |  120 ++
 .../additional-publication/gradle.properties       |   15 +
 .../additional-publication/settings.gradle}        |    6 +-
 .../org/grails/example/cli/MyCommand.groovy}       |   20 +-
 .../groovy/org/grails/example/MyProject.groovy}    |   13 +-
 .../build.gradle                                   |    2 +-
 .../build.gradle                                   |   42 +-
 .../gradle-plugin-project/gradle.properties        |   15 +
 .../gradle-plugin-project/settings.gradle}         |    6 +-
 .../groovy/org/grails/example/MyProject.groovy}    |   11 +-
 .../src/main/java/TestJava.java                    |   11 +
 .../src/main/java/another/TestOtherJava.java       |   13 +
 .../build.gradle                                   |   12 +-
 .../buildSrc}/build.gradle                         |   13 +-
 .../StandInGrailsPluginGradlePlugin.groovy         |   51 +
 .../grails-plugin-descriptor/gradle.properties     |   16 +-
 .../grails-plugin-descriptor/settings.gradle}      |    6 +-
 .../grails/example/DescriptorGrailsPlugin.groovy}  |    9 +-
 .../build.gradle                                   |   15 +-
 .../grails-plugin-project/gradle.properties        |   15 +
 .../grails-plugin-project/settings.gradle}         |    6 +-
 .../groovy/org/grails/example/MyProject.groovy}    |   11 +-
 .../src/main/java/TestJava.java                    |   11 +
 .../src/main/java/another/TestOtherJava.java       |   13 +
 .../groovy-doc-disabled/build.gradle               |    2 +-
 .../groovy-only-project/build.gradle               |    2 +-
 .../java-already-configured/build.gradle           |   10 +-
 .../other-artifacts/java-only-project/build.gradle |    2 +-
 .../build.gradle                                   |    4 +-
 .../build.gradle                                   |    4 +-
 .../multiple-source-sets/build.gradle              |    2 +-
 .../non-groovy-java-sources-included/build.gradle  |    2 +-
 .../other-artifacts/organization/build.gradle      |    2 +-
 .../build.gradle                                   |   54 +-
 .../platform-managed-versions/gradle.properties    |   15 +
 .../platform-managed-versions/settings.gradle}     |    6 +-
 .../main/groovy/org/grails/example/Managed.groovy} |   11 +-
 .../org/grails/example/ManagedFixtures.groovy}     |   13 +-
 .../properties-from-parent-project}/build.gradle   |   18 +-
 .../gradle.properties                              |   16 +
 .../settings.gradle}                               |    6 +-
 .../subproject}/build.gradle                       |   12 +-
 .../groovy/org.grails.example/SubProject2.groovy}  |   11 +-
 .../other-artifacts/simple-project/build.gradle    |    2 +-
 .../build.gradle                                   |   16 +-
 .../stale-javadoc-output/gradle.properties         |   15 +
 .../stale-javadoc-output/settings.gradle}          |    6 +-
 .../groovy/org/grails/example/MyProject.groovy}    |   11 +-
 .../src/main/java/TestJava.java                    |   11 +
 .../build.gradle                                   |    5 +-
 .../other-artifacts/test-sources/gradle.properties |   15 +
 .../test-sources/settings.gradle}                  |    6 +-
 .../groovy/org/grails/example/MyProject.groovy}    |   11 +-
 .../org/grails/example/MyProjectTest.groovy}       |   11 +-
 .../build.gradle                                   |    2 +-
 .../otherProject/build.gradle                      |    2 +-
 .../build.gradle                                   |    2 +-
 .../build.gradle                                   |    2 +-
 .../build.gradle                                   |    2 +-
 .../subproject1/build.gradle                       |    2 +-
 .../gradle/publish/AdditionalPublication.groovy    |  101 ++
 .../gradle/publish/GrailsPublishExtension.groovy   |   73 +-
 .../publish/GrailsPublishGradlePlugin.groovy       | 1196 ++++++++++++++++----
 .../publish/GrailsRootSoftwareComponent.groovy     |   68 ++
 .../publish/GrailsPublishGradlePluginTest.groovy   |  566 ++++++++-
 settings.gradle                                    |    4 +-
 177 files changed, 7638 insertions(+), 1154 deletions(-)