Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Establish/document process for changes and configure snapshot publishing #18

Open
1 task
jjohannes opened this issue Nov 21, 2024 · 0 comments
Open
1 task

Comments

@jjohannes
Copy link
Contributor

jjohannes commented Nov 21, 2024

We need a (official) process for making changes to the plugins if required by a certain repository. Hopefully, this should be an infrequently used process. But nonetheless, it should be clear and not too complicated so that potentially each developer having the need for a change in the Gradle configuration can follow it.

This issue describes a rough process here in the description. To resolve this issue, this should be put into the documentation and extensions to the build that are required – such as SNAPSHOT publishing – should be performed.

  • (1) Local: Do changes and test them locally
    • Clone the hiero-gradle-conventions repository
    • In the repository where you need the change, add to settings.gradle.kts:
      pluginManagement { includeBuild("<path-to-hiero-gradle-conventions">) }
      The plugins are now used from source, the plugins are shown in IntelliJ next to the project
    • If applicable, also add a test in hiero-gradle-conventions/src/test/kotlin
  • (2) PR in this repo: Once changes are ready, create a PR with the changes in hiero-gradle-conventions
    • Once PR is merged, a snapshot of the plugins should be published automatically
    • As the Gradle plugin portal does not support snapshots, these should be published to Maven Central
      • TODO configure SNAPSHOT publishing to Maven Central from main
  • (3) PR ins other repo: In the project that needs the changes, create a PR that initially uses the latest snapshot and does any changes required in the other repo
    • For snapshots to work, add to settings.gradle.kts:
      pluginManagement { repositories.maven("<path-to-hiero-gradle-conventions">) }
      and change the version of plugins { id("org.hiero.gradle.build:<version>")} } accordingly.
    • Make sure changes work as expected on CI before proceeding to (4)
  • (4) Publish new version of hiero-gradle-conventions: Before the PR (3) is merged...
    • Publish a new version of the plugins to Gradle Plugin Portal by pushing a version tag
    • Switch to the the new stable plugin version in the PR (3) before merging it
@jjohannes jjohannes self-assigned this Nov 22, 2024
@jjohannes jjohannes removed their assignment Jan 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant