From 8d990cad08cbf335c670b9b0aa2f48e2b97132e6 Mon Sep 17 00:00:00 2001 From: Alexey Zhokhov Date: Mon, 14 Mar 2022 20:04:28 +0800 Subject: [PATCH 01/14] Upgrade to Micronaut 3.3.4. Upgrade to the latest GraphQL libraries. --- .../micronaut-graphql.example-conventions.gradle | 2 +- gradle.properties | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle b/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle index f39b9d34..bd88ec08 100644 --- a/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle +++ b/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle @@ -48,7 +48,7 @@ tasks.withType(JavaCompile) { micronautBuild { resolutionStrategy { - force "com.graphql-java:graphql-java-extended-scalars:1.0.1" + force "com.graphql-java:graphql-java-extended-scalars:17.0" force "com.graphql-java:graphql-java:$graphqlJavaVersion" } } diff --git a/gradle.properties b/gradle.properties index 0e277b10..fc9cc60b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,17 +2,17 @@ projectVersion=3.1.0-SNAPSHOT projectGroup=io.micronaut.graphql micronautDocsVersion=2.0.0 -micronautVersion=3.2.0 -micronautTestVersion=3.0.4 +micronautVersion=3.3.4 +micronautTestVersion=3.0.5 -groovyVersion=3.0.9 +groovyVersion=3.0.10 spockVersion=2.0-groovy-3.0 cglibVersion=3.3.0 -graphqlJavaVersion=16.2 -graphqlJavaToolsVersion=11.0.1 +graphqlJavaVersion=17.3 +graphqlJavaToolsVersion=12.0.2 graphqlSpqrVersion=0.11.2 -kotlinVersion=1.6.0 +kotlinVersion=1.6.10 title=Micronaut GraphQL Integration projectDesc=Extensions to integrate Micronaut and GraphQL @@ -20,7 +20,7 @@ projectUrl=http://micronaut.io githubSlug=micronaut-projects/micronaut-graphql developers=Marcel Overdijk -githubCoreBranch=3.3.x +githubCoreBranch=3.4.x bomProperty=micronautGraphQLVersion org.gradle.caching=true From cf77a70260a95b4f1b28b64196c5dabf9d4e28dc Mon Sep 17 00:00:00 2001 From: Alexey Zhokhov Date: Mon, 14 Mar 2022 20:16:42 +0800 Subject: [PATCH 02/14] Fixed graphql-java-extended-scalars version. --- examples/chat/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/chat/build.gradle b/examples/chat/build.gradle index ba4b3a0b..01eb9b43 100644 --- a/examples/chat/build.gradle +++ b/examples/chat/build.gradle @@ -3,6 +3,6 @@ plugins { } dependencies { - implementation("com.graphql-java:graphql-java-extended-scalars:1.0.1") + implementation("com.graphql-java:graphql-java-extended-scalars:17.0") implementation 'io.projectreactor:reactor-core' } From 85c2c7dbf6069825a449d099c8b52d20464204aa Mon Sep 17 00:00:00 2001 From: Alexey Zhokhov Date: Wed, 16 Mar 2022 16:58:53 +0800 Subject: [PATCH 03/14] graphql-java 18.0 --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index fc9cc60b..b35db5e8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ groovyVersion=3.0.10 spockVersion=2.0-groovy-3.0 cglibVersion=3.3.0 -graphqlJavaVersion=17.3 +graphqlJavaVersion=18.0 graphqlJavaToolsVersion=12.0.2 graphqlSpqrVersion=0.11.2 kotlinVersion=1.6.10 From 606d2786b6de2f46f19bffb21d191f440504a8ea Mon Sep 17 00:00:00 2001 From: Alexey Zhokhov Date: Wed, 16 Mar 2022 17:14:36 +0800 Subject: [PATCH 04/14] Fixed jwt-security example. --- examples/jwt-security/src/main/resources/application.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/jwt-security/src/main/resources/application.yml b/examples/jwt-security/src/main/resources/application.yml index 8fd75a72..eb92c869 100644 --- a/examples/jwt-security/src/main/resources/application.yml +++ b/examples/jwt-security/src/main/resources/application.yml @@ -1,6 +1,7 @@ micronaut: security: enabled: true + authentication: cookie token: jwt: enabled: true @@ -8,6 +9,9 @@ micronaut: enabled: false cookie: enabled: true + refresh: + cookie: + enabled: false intercept-url-map: - pattern: /** http-method: GET From 7e5dc2fe7d95202300accd1fb9dd3dcb39a70735 Mon Sep 17 00:00:00 2001 From: Alexey Zhokhov Date: Sat, 30 Apr 2022 02:29:49 +0800 Subject: [PATCH 05/14] Sync common files with https://github.com/micronaut-projects/micronaut-project-template --- .github/stale.yml | 16 +++++ .github/workflows/central-sync.yml | 2 +- .github/workflows/dependency-update.yml | 6 +- .github/workflows/graalvm.yml | 9 +-- .github/workflows/gradle.yml | 7 ++- .github/workflows/publish-snapshot.yml | 4 +- .github/workflows/release-notes.yml | 1 + .github/workflows/release.yml | 3 +- .github/workflows/sonarqube.yml | 58 +++++++++++++++++ CONTRIBUTING.md | 82 +++++++++++++++++++++++++ MAINTAINING.md | 40 ++++++------ SECURITY.md | 16 +++++ 12 files changed, 210 insertions(+), 34 deletions(-) create mode 100644 .github/stale.yml create mode 100644 .github/workflows/sonarqube.yml create mode 100644 CONTRIBUTING.md create mode 100644 SECURITY.md diff --git a/.github/stale.yml b/.github/stale.yml new file mode 100644 index 00000000..54ded9b5 --- /dev/null +++ b/.github/stale.yml @@ -0,0 +1,16 @@ +# Number of days of inactivity before an issue becomes stale +daysUntilStale: 60 +# Number of days of inactivity before a stale issue is closed +daysUntilClose: 7 +# Issues with these labels will never be considered stale +exemptLabels: + - "type: enhancement" +# Label to use when marking an issue as stale +staleLabel: "status: stale" +# Comment to post when marking an issue as stale. Set to `false` to disable +markComment: > + This issue has been automatically marked as stale because it has not had + recent activity. It will be closed if no further activity occurs. Thank you + for your contributions. +# Comment to post when closing a stale issue. Set to `false` to disable +closeComment: false diff --git a/.github/workflows/central-sync.yml b/.github/workflows/central-sync.yml index e3b36a2f..3a337d59 100644 --- a/.github/workflows/central-sync.yml +++ b/.github/workflows/central-sync.yml @@ -20,7 +20,7 @@ jobs: ref: v${{ github.event.inputs.release_version }} - uses: gradle/wrapper-validation-action@v1 - name: Set up JDK - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'adopt' java-version: '8' diff --git a/.github/workflows/dependency-update.yml b/.github/workflows/dependency-update.yml index 2d8f826e..ab72b1d8 100644 --- a/.github/workflows/dependency-update.yml +++ b/.github/workflows/dependency-update.yml @@ -12,14 +12,14 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: actions/cache@v2.1.7 + - uses: actions/cache@v3 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} restore-keys: | ${{ runner.os }}-gradle- - name: Set up JDK - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'adopt' java-version: '8' @@ -32,7 +32,7 @@ jobs: GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} run: ./gradlew useLatestVersions - name: Create Pull Request - uses: peter-evans/create-pull-request@v3.14.0 + uses: peter-evans/create-pull-request@v4 with: token: ${{ secrets.GH_TOKEN }} committer: micronaut-build <${{ secrets.MICRONAUT_BUILD_EMAIL }}> diff --git a/.github/workflows/graalvm.yml b/.github/workflows/graalvm.yml index 6b93c7f1..34bd3ddc 100644 --- a/.github/workflows/graalvm.yml +++ b/.github/workflows/graalvm.yml @@ -27,9 +27,9 @@ jobs: sudo rm -rf "/usr/local/share/boost" sudo rm -rf "$AGENT_TOOLSDIRECTORY" sudo apt-get clean - df -h + df -h - uses: actions/checkout@v3 - - uses: actions/cache@v2.1.7 + - uses: actions/cache@v3 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} @@ -38,7 +38,7 @@ jobs: - name: Setup GraalVM CE uses: graalvm/setup-graalvm@v1 with: - version: '21.3.0' + version: '22.0.0.2' java-version: ${{ matrix.java }} components: 'native-image' - name: Build with Gradle @@ -56,7 +56,8 @@ jobs: GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} - name: Publish Test Report if: always() - uses: mikepenz/action-junit-report@v2 + uses: mikepenz/action-junit-report@v3.0.2 with: check_name: GraalVM CE CI / Test Report (Java ${{ matrix.java }}) report_paths: '**/build/test-results/test/TEST-*.xml' + check_retries: 'true' diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 0777f9c8..d3df72e9 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -29,14 +29,14 @@ jobs: sudo apt-get clean df -h - uses: actions/checkout@v3 - - uses: actions/cache@v2.1.7 + - uses: actions/cache@v3 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} restore-keys: | ${{ runner.os }}-gradle- - name: Set up JDK - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'adopt' java-version: ${{ matrix.java }} @@ -59,10 +59,11 @@ jobs: GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} - name: Publish Test Report if: always() - uses: mikepenz/action-junit-report@v2 + uses: mikepenz/action-junit-report@v3.0.2 with: check_name: Java CI / Test Report (${{ matrix.java }}) report_paths: '**/build/test-results/test/TEST-*.xml' + check_retries: 'true' - name: Publish to Sonatype Snapshots if: success() && github.event_name == 'push' && matrix.java == '8' env: diff --git a/.github/workflows/publish-snapshot.yml b/.github/workflows/publish-snapshot.yml index 88b7fdf5..a121b39d 100644 --- a/.github/workflows/publish-snapshot.yml +++ b/.github/workflows/publish-snapshot.yml @@ -11,14 +11,14 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: actions/cache@v2.1.7 + - uses: actions/cache@v3 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} restore-keys: | ${{ runner.os }}-gradle- - name: Set up JDK - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'adopt' java-version: '8' diff --git a/.github/workflows/release-notes.yml b/.github/workflows/release-notes.yml index 6e422554..35c3bf7a 100644 --- a/.github/workflows/release-notes.yml +++ b/.github/workflows/release-notes.yml @@ -13,6 +13,7 @@ on: - '[1-9]+.[0-9]+.x' jobs: release_notes: + if: github.repository != 'micronaut-projects/micronaut-project-template' runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0b0a7e5b..6f5f64a5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,7 +17,7 @@ jobs: token: ${{ secrets.GH_TOKEN }} - uses: gradle/wrapper-validation-action@v1 - name: Set up JDK - uses: actions/setup-java@v2 + uses: actions/setup-java@v3 with: distribution: 'adopt' java-version: '8' @@ -60,6 +60,7 @@ jobs: BRANCH: gh-pages FOLDER: build/docs VERSION: ${{ steps.release_version.outputs.release_version }} + TARGET_REPOSITORY: ${{ github.repository == 'micronaut-projects/micronaut-core' && env.docsRepository || github.repository }} GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }} GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} diff --git a/.github/workflows/sonarqube.yml b/.github/workflows/sonarqube.yml new file mode 100644 index 00000000..93ae8a94 --- /dev/null +++ b/.github/workflows/sonarqube.yml @@ -0,0 +1,58 @@ +# WARNING: Do not edit this file directly. Instead, go to: +# +# https://github.com/micronaut-projects/micronaut-project-template/tree/master/.github/workflows +# +# and edit them there. Note that it will be sync'ed to all the Micronaut repos +name: Static Analysis +on: + push: + branches: + - master + - '[1-9]+.[0-9]+.x' + pull_request: + branches: + - master + - '[1-9]+.[0-9]+.x' +jobs: + build: + if: github.repository != 'micronaut-projects/micronaut-project-template' + runs-on: ubuntu-latest + steps: + # https://github.com/actions/virtual-environments/issues/709 + - name: Free disk space + run: | + sudo rm -rf "/usr/local/share/boost" + sudo rm -rf "$AGENT_TOOLSDIRECTORY" + sudo apt-get clean + df -h + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - uses: actions/cache@v3 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} + restore-keys: | + ${{ runner.os }}-gradle- + - name: Set up JDK + uses: actions/setup-java@v3 + with: + distribution: 'adopt' + java-version: 11 + - name: Optional setup step + env: + GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} + GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }} + GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} + run: | + [ -f ./setup.sh ] && ./setup.sh || true + - name: Analyse with Gradle + run: | + ./gradlew check sonarqube --no-daemon --parallel --continue + env: + TESTCONTAINERS_RYUK_DISABLED: true + GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} + GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }} + GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..540437ff --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,82 @@ +# Contributing Code or Documentation to Micronaut + +Sign the [Contributor License Agreement (CLA)](https://cla-assistant.io/micronaut-projects/micronaut-graphql). This is required before any of your code or pull-requests are accepted. + +## Finding Issues to Work on + +If you are interested in contributing to Micronaut and are looking for issues to work on, take a look at the issues tagged with [help wanted](https://github.com/micronaut-projects/micronaut-graphql/issues?q=is%3Aopen+is%3Aissue+label%3A%22status%3A+help+wanted%22). + +## JDK Setup + +Micronaut GraphQL currently requires JDK 8. + +## IDE Setup + +Micronaut GraphQL can be imported into IntelliJ IDEA by opening the `build.gradle` file. + +## Docker Setup + +Micronaut GraphQL tests currently require Docker to be installed. + +## Running Tests + +To run the tests, use `./gradlew check`. + +## Building Documentation + +The documentation sources are located at `src/main/docs/guide`. + +To build the documentation, run `./gradlew publishGuide` (or `./gradlew pG`), then open `build/docs/index.html` + +To also build the Javadocs, run `./gradlew docs`. + +## Working on the code base + +If you use IntelliJ IDEA, you can import the project using the Intellij Gradle Tooling ("File / Import Project" and selecting the "settings.gradle" file). + +To get a local development version of Micronaut GraphQL working, first run the `publishToMavenLocal` task. + +``` +./gradlew pTML +``` + +You can then reference the version specified with `projectVersion` in `gradle.properties` in a test project's `build.gradle` or `pom.xml`. If you use Gradle, add the `mavenLocal` repository (Maven automatically does this): + +``` +repositories { + mavenLocal() + mavenCentral() +} +``` + +## Creating a pull request + +Once you are satisfied with your changes: + +- Commit your changes in your local branch +- Push your changes to your remote branch on GitHub +- Send us a [pull request](https://help.github.com/articles/creating-a-pull-request) + +## Checkstyle + +We want to keep the code clean, following good practices about organization, Javadoc, and style as much as possible. + +Micronaut GraphQL uses [Checkstyle](https://checkstyle.sourceforge.io/) to make sure that the code follows those standards. The configuration is defined in `config/checkstyle/checkstyle.xml`. To execute Checkstyle, run: + +``` +./gradlew :checkstyleMain +``` + +Before starting to contribute new code we recommended that you install the IntelliJ [CheckStyle-IDEA](https://plugins.jetbrains.com/plugin/1065-checkstyle-idea) plugin and configure it to use Micronaut's checkstyle configuration file. + +IntelliJ will mark in red the issues Checkstyle finds. For example: + +![](https://github.com/micronaut-projects/micronaut-core/raw/master/src/main/docs/resources/img/checkstyle-issue.png) + +In this case, to fix the issues, we need to: + +- Add one empty line before `package` in line 16 +- Add the Javadoc for the constructor in line 27 +- Add an space after `if` in line 34 + +The plugin also adds a new tab in the bottom of the IDE to run Checkstyle and show errors and warnings. We recommend that you run the report and fix all issues before submitting a pull request. diff --git a/MAINTAINING.md b/MAINTAINING.md index 2f03dc3e..c9b02ebb 100644 --- a/MAINTAINING.md +++ b/MAINTAINING.md @@ -41,21 +41,21 @@ There are sometimes where we are not sure whether we want or can solve an issue. There are also a bunch of `relates-to` labels that can be used to further categorise issues. This is helpful in projects with a lot of issues, or projects where different people work on different parts or modules. -The majority of the issues are defined in the +The majority of the issues are defined in the [management](https://github.com/micronaut-projects/management/blob/master/labels.tf) repo, and propagated via Terraform. If you want new labels: * If they can be beneficial to several repos, send a pull request to the management repo. * If they are repo-specific, just go ahead and create them with the GitHub UI. -Finally, issues (especially bugs) should be prioritised with either `priority: high`, `priority: medium` or +Finally, issues (especially bugs) should be prioritised with either `priority: high`, `priority: medium` or `priority: low`. Checkout the [Issue Priority Labels](https://github.com/micronaut-projects/micronaut-core/wiki/Issue-Priority-Labels) document for guidelines about when to use each of them. ## Review pull requests -Pull requests, regardless of whether they are created by internal or external contributors, should meet the following +Pull requests, regardless of whether they are created by internal or external contributors, should meet the following criteria: * All the GitHub checks are passing (CLA signed and builds passing). @@ -63,13 +63,13 @@ criteria: type of things you would review in every other software project. * Contains tests. * Includes documentation. -* If it closes any issues, +* If it closes any issues, [they should be linked](https://docs.github.com/en/free-pro-team@latest/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue) either using closing keywords, or manually. -Regarding the target branch, backwards-compatible bug fixes and improvements typically target the default branch, +Regarding the target branch, backwards-compatible bug fixes and improvements typically target the default branch, backwards-compatible enhancements target the next minor version branch, and breaking changes target the next major version -branch. Check the +branch. Check the [Micronaut Module Versioning](https://github.com/micronaut-projects/micronaut-core/wiki/Micronaut-Module-Versioning) document for more information. @@ -78,7 +78,7 @@ patch/minor release we don't leak breaking changes. Check the [Micronaut Module Branch Naming](https://github.com/micronaut-projects/micronaut-core/wiki/Micronaut-Module-Branch-Naming) document for more information. -Note that +Note that [Micronaut Core and Starter](https://github.com/micronaut-projects/micronaut-core/wiki/Micronaut-Core-and-Starter-Branching-Strategy) follow a slightly different strategy. @@ -93,17 +93,17 @@ All Micronaut repos have 2 dependency upgrade checking mechanism: those defined in `gradle.properties`. It will also send different PRs for the same version upgrade if the artifact ID is different. For example, if you have `com.example:client:1.0` and `com.example:server:1.0`, and a new 1.1 version arrives for both, it will send 2 PRs, where they should both be upgraded at the same time. - + 2. To overcome those disadvantages, we have our own dependency upgrade solution based on the [Gradle Use Latest Versions Plugin](https://github.com/patrikerdes/gradle-use-latest-versions-plugin). It runs daily during weekdays. - + The consequence of having both approaches in place is that we get multiple dependency upgrade PRs: one created by `micronaut-build` via our automation, and one or many (one per dependency) created by Dependabot. When merging those, it -is better to prefer the `micronaut-build` ones, if possible, for 2 reasons: a) they attempt to upgrade multiple dependencies +is better to prefer the `micronaut-build` ones, if possible, for 2 reasons: a) they attempt to upgrade multiple dependencies in a single PR, which creates less noise in the Git history; b) Once you merge that, Dependabot will react and automatically close its own PRs if the dependecy is up-to-date. - + When an upgrade to a new version arrives, we need to be careful when merging, so that we don't introduce an unnecessary upgrade burden on our users. Read the [Module Upgrade Strategy](https://github.com/micronaut-projects/micronaut-core/wiki/Module-Upgrade-Strategy) for more @@ -157,7 +157,7 @@ Note that it is perfectly possible to have new workflows that aren't part of the The release process is highly automated and normally involves just publishing a GitHub release. But before you get there, there are some parts you need to understand first. -First of all, all the repos have an automatic changelog generation mechanism: when a change is made to the repo +First of all, all the repos have an automatic changelog generation mechanism: when a change is made to the repo (a push event), it creates (or updates if there is already one) a draft release, calculating the next patch version. The release notes will contain pull requests merged and issues closed since the last release. @@ -168,21 +168,21 @@ If you are publishing a milestone or release candidate, check the pre-release ch Note that the release tags must be preceded with `v`, e.g.: `v1.2.3`. -Once you publish the GitHub release, the +Once you publish the GitHub release, the [Release GitHub Action workflow](https://github.com/micronaut-projects/micronaut-project-template/blob/master/.github/workflows/release.yml) will kick off, performing the following steps: -* Pre-release: sets the `projectVersion` property in `gradle.properties` to the release version, and commit and pushes +* Pre-release: sets the `projectVersion` property in `gradle.properties` to the release version, and commit and pushes the result. * Generates documentation guide and publishes it to the `gh-pages` branch. * Sends a pull request to Core to update the BOM. -* Post-release: +* Post-release: * Determines the next patch version, and sets it as a `SNAPSHOT` version. * Closes the milestone that matches the release version, and creates a new one for the next patch. If everything goes well, you now need to manually trigger the Maven Central publishing workflow via the GitHub UI. -If there is an issue with the release, it's important not to trigger the Maven Central publishing workflow because once +If there is an issue with the release, it's important not to trigger the Maven Central publishing workflow because once we publish a version to Maven Central we cannot change or remove it anymore. There are some properties in `gradle.properties` that affect the release process: @@ -192,19 +192,19 @@ There are some properties in `gradle.properties` that affect the release process * `bomProperty`: in Micronaut Core's `gradle.properties`, the property that represents this module's version. * `bomProperties`: if needed, additional properties for the BOM pull request. -For example, assuming a module has the release `1.0.0` as the latest version published, which was included in the +For example, assuming a module has the release `1.0.0` as the latest version published, which was included in the Micronaut `2.2.0` BOM. If the next version you want to publish is: * A new patch release (`1.0.1`): simply publish the existing draft release. -* A new minor release (`1.1.0`): +* A new minor release (`1.1.0`): * Before the release, push a `1.0.x` branch off `master`. * Bump the version in master to `1.1.0-SNAPSHOT`. * Set the `githubCoreBranch` property to `2.3.x` (or `3.0.x` if it will be the next one). * Edit the draft release setting the version to `1.1.0` in the release title, body, tag, etc. * Publish the release. -* A new major release (`2.0.0`): +* A new major release (`2.0.0`): * Before the release, push a `1.0.x` branch off `master`. * Bump the version in master to `2.0.0-SNAPSHOT`. * Set the `githubCoreBranch` property to `3.0.x` (or `2.3.x` if this new major version doesn't introduce breaking changes). * Edit the draft release setting the version to `2.0.0` in the release title, body, tag, etc. - * Publish the release. + * Publish the release. diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..f9b56385 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,16 @@ +# Security Policy + +We release patches for security vulnerabilities. Which versions are eligible +receiving such patches depend on the CVSS v3.0 Rating: + +| CVSS v3.0 | Supported Versions | +| --------- | ----------------------------------------- | +| 9.0-10.0 | Releases within the previous three months | +| 4.0-8.9 | Most recent release | + +## Reporting a Vulnerability + +Please responsibly disclose (suspected) security vulnerabilities to +**[The Micronaut Foundation](foundation@micronaut.io)**. You will receive a response from +us within 48 hours. If the issue is confirmed, we will release a patch as soon +as possible depending on complexity but historically within a few days. From 1b06a426b316996110513c183d685228649c6a3b Mon Sep 17 00:00:00 2001 From: Alexey Zhokhov Date: Sat, 30 Apr 2022 02:37:52 +0800 Subject: [PATCH 06/14] Gradle 7.4.2. io.micronaut.build.shared.settings 5.3.3. --- build.gradle | 1 + gradle.properties | 11 ++++++----- gradle/wrapper/gradle-wrapper.jar | Bin 59536 -> 59821 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/build.gradle b/build.gradle index 39603123..cf34f01f 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,5 @@ plugins { id "io.micronaut.build.internal.docs" id "io.micronaut.build.internal.dependency-updates" + id "io.micronaut.build.internal.quality-reporting" } diff --git a/gradle.properties b/gradle.properties index b35db5e8..b95914ee 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,25 +2,26 @@ projectVersion=3.1.0-SNAPSHOT projectGroup=io.micronaut.graphql micronautDocsVersion=2.0.0 -micronautVersion=3.3.4 -micronautTestVersion=3.0.5 - +micronautVersion=3.4.2 +micronautTestVersion=3.1.1 groovyVersion=3.0.10 spockVersion=2.0-groovy-3.0 +# TODO remove me pls cglibVersion=3.3.0 graphqlJavaVersion=18.0 graphqlJavaToolsVersion=12.0.2 graphqlSpqrVersion=0.11.2 kotlinVersion=1.6.10 +# TODO remove me pls title=Micronaut GraphQL Integration projectDesc=Extensions to integrate Micronaut and GraphQL -projectUrl=http://micronaut.io +projectUrl=https://micronaut.io githubSlug=micronaut-projects/micronaut-graphql developers=Marcel Overdijk -githubCoreBranch=3.4.x +githubCoreBranch=3.5.x bomProperty=micronautGraphQLVersion org.gradle.caching=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 7454180f2ae8848c63b8b4dea2cb829da983f2fa..41d9927a4d4fb3f96a785543079b8df6723c946b 100644 GIT binary patch delta 8958 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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 2e6e5897..aa991fce 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.2-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/settings.gradle b/settings.gradle index c78056a4..1838c056 100644 --- a/settings.gradle +++ b/settings.gradle @@ -6,7 +6,7 @@ pluginManagement { } plugins { - id("io.micronaut.build.shared.settings") version "5.2.3" + id 'io.micronaut.build.shared.settings' version '5.3.3' } rootProject.name = 'graphql-parent' From 7430f2ee0bd782460e48d2b42e078b64b1865d85 Mon Sep 17 00:00:00 2001 From: Alexey Zhokhov Date: Sat, 30 Apr 2022 03:41:12 +0800 Subject: [PATCH 07/14] Migrate to Gradle Version Catalogs. --- buildSrc/build.gradle | 5 +++-- ...onaut.build.internal.graphql-module.gradle | 3 +++ ...cronaut-graphql.example-conventions.gradle | 2 +- docs-examples/hello-world-kotlin/build.gradle | 4 ++-- examples/chat/build.gradle | 2 +- examples/todo-java-tools/build.gradle | 2 +- examples/todo-spqr/build.gradle | 2 +- gradle.properties | 8 -------- gradle/libs.versions.toml | 17 +++++++++++++++++ graphql-bom/build.gradle | 9 +++++++++ graphql/build.gradle | 19 +++++++------------ settings.gradle | 2 ++ 12 files changed, 47 insertions(+), 28 deletions(-) create mode 100644 buildSrc/src/main/groovy/io.micronaut.build.internal.graphql-module.gradle create mode 100644 gradle/libs.versions.toml create mode 100644 graphql-bom/build.gradle diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index d6fbfda8..51962f0e 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -8,6 +8,7 @@ repositories { } dependencies { - implementation("io.micronaut.gradle:micronaut-gradle-plugin:3.2.1") + implementation("io.micronaut.gradle:micronaut-gradle-plugin:3.4.0") implementation("gradle.plugin.com.github.johnrengelman:shadow:7.1.2") -} \ No newline at end of file + implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21") +} diff --git a/buildSrc/src/main/groovy/io.micronaut.build.internal.graphql-module.gradle b/buildSrc/src/main/groovy/io.micronaut.build.internal.graphql-module.gradle new file mode 100644 index 00000000..401cfa3c --- /dev/null +++ b/buildSrc/src/main/groovy/io.micronaut.build.internal.graphql-module.gradle @@ -0,0 +1,3 @@ +plugins { + id 'io.micronaut.build.internal.module' +} diff --git a/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle b/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle index bd88ec08..9a601260 100644 --- a/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle +++ b/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle @@ -49,6 +49,6 @@ tasks.withType(JavaCompile) { micronautBuild { resolutionStrategy { force "com.graphql-java:graphql-java-extended-scalars:17.0" - force "com.graphql-java:graphql-java:$graphqlJavaVersion" + force "com.graphql-java:graphql-java:${libs.versions.managed.graphql.java}" } } diff --git a/docs-examples/hello-world-kotlin/build.gradle b/docs-examples/hello-world-kotlin/build.gradle index b796c731..a2520984 100644 --- a/docs-examples/hello-world-kotlin/build.gradle +++ b/docs-examples/hello-world-kotlin/build.gradle @@ -1,6 +1,6 @@ plugins { - id "org.jetbrains.kotlin.jvm" version "${kotlinVersion}" - id "org.jetbrains.kotlin.kapt" version "${kotlinVersion}" + id "org.jetbrains.kotlin.jvm" + id "org.jetbrains.kotlin.kapt" id("micronaut-graphql.docs-examples-conventions") } diff --git a/examples/chat/build.gradle b/examples/chat/build.gradle index 01eb9b43..4ff79201 100644 --- a/examples/chat/build.gradle +++ b/examples/chat/build.gradle @@ -3,6 +3,6 @@ plugins { } dependencies { - implementation("com.graphql-java:graphql-java-extended-scalars:17.0") + implementation libs.managed.graphql.java.extended.scalars implementation 'io.projectreactor:reactor-core' } diff --git a/examples/todo-java-tools/build.gradle b/examples/todo-java-tools/build.gradle index 50a9e4d3..3565ad53 100644 --- a/examples/todo-java-tools/build.gradle +++ b/examples/todo-java-tools/build.gradle @@ -3,5 +3,5 @@ plugins { } dependencies { - implementation("com.graphql-java-kickstart:graphql-java-tools:${graphqlJavaToolsVersion}") + implementation libs.managed.graphql.java.tools } diff --git a/examples/todo-spqr/build.gradle b/examples/todo-spqr/build.gradle index 9ea048f3..0747e4c3 100644 --- a/examples/todo-spqr/build.gradle +++ b/examples/todo-spqr/build.gradle @@ -3,5 +3,5 @@ plugins { } dependencies { - implementation("io.leangen.graphql:spqr:${graphqlSpqrVersion}") + implementation libs.managed.graphql.spqr } diff --git a/gradle.properties b/gradle.properties index b95914ee..903a91e6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,14 +7,6 @@ micronautTestVersion=3.1.1 groovyVersion=3.0.10 spockVersion=2.0-groovy-3.0 -# TODO remove me pls -cglibVersion=3.3.0 -graphqlJavaVersion=18.0 -graphqlJavaToolsVersion=12.0.2 -graphqlSpqrVersion=0.11.2 -kotlinVersion=1.6.10 -# TODO remove me pls - title=Micronaut GraphQL Integration projectDesc=Extensions to integrate Micronaut and GraphQL projectUrl=https://micronaut.io diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 00000000..4caa98d6 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,17 @@ +[versions] +managed-graphql-java = "18.0" +managed-graphql-java-extended-scalars = "17.0" +managed-graphql-java-tools = "12.0.2" +managed-graphql-spqr = "0.11.2" + +[libraries] +managed-graphql-java = { module = 'com.graphql-java:graphql-java', version.ref = 'managed-graphql-java' } +managed-graphql-java-extended-scalars = { module = 'com.graphql-java:graphql-java-extended-scalars', version.ref = 'managed-graphql-java-extended-scalars' } +managed-graphql-java-tools = { module = 'com.graphql-java-kickstart:graphql-java-tools', version.ref = 'managed-graphql-java-tools' } +managed-graphql-spqr = { module = 'io.leangen.graphql:spqr', version.ref = 'managed-graphql-spqr' } + +micronaut-http-server = { module = 'io.micronaut:micronaut-http-server' } +micronaut-http-server-netty = { module = 'io.micronaut:micronaut-http-server-netty' } +micronaut-http-client = { module = 'io.micronaut:micronaut-http-client' } + +reactor-core = { module = 'io.projectreactor:reactor-core' } diff --git a/graphql-bom/build.gradle b/graphql-bom/build.gradle new file mode 100644 index 00000000..16c76a3e --- /dev/null +++ b/graphql-bom/build.gradle @@ -0,0 +1,9 @@ +plugins { + id "io.micronaut.build.internal.bom" +} + +micronautBom { + excludeProject.set({ p -> + p.name.contains('example') || p.name.contains('hello-world') + } as Spec) +} diff --git a/graphql/build.gradle b/graphql/build.gradle index 81517212..14d7903b 100644 --- a/graphql/build.gradle +++ b/graphql/build.gradle @@ -1,24 +1,19 @@ plugins { - id "io.micronaut.build.internal.module" + id "io.micronaut.build.internal.graphql-module" } dependencies { - annotationProcessor("io.micronaut:micronaut-validation") + api libs.managed.graphql.java - api("com.graphql-java:graphql-java:${graphqlJavaVersion}") - api("io.micronaut:micronaut-http") - api("io.micronaut:micronaut-http-server") - api("io.micronaut:micronaut-inject") + api libs.micronaut.http.server + api libs.reactor.core - implementation 'io.projectreactor:reactor-core' - - testImplementation("cglib:cglib-nodep:${cglibVersion}") - testImplementation("io.micronaut:micronaut-http-client") - testImplementation("io.micronaut:micronaut-http-server-netty") + testImplementation libs.micronaut.http.server.netty + testImplementation libs.micronaut.http.client } micronautBuild { resolutionStrategy { - force "com.graphql-java:graphql-java:$graphqlJavaVersion" + force "com.graphql-java:graphql-java:${libs.versions.managed.graphql.java}" } } diff --git a/settings.gradle b/settings.gradle index 725768a7..63134b28 100644 --- a/settings.gradle +++ b/settings.gradle @@ -12,6 +12,8 @@ plugins { rootProject.name = 'graphql-parent' include "graphql" +include "graphql-bom" + include 'docs-examples:hello-world-java' include 'docs-examples:hello-world-groovy' include 'docs-examples:hello-world-kotlin' From bd9765c5e41b8535cc4867e3ff849644cfd70f14 Mon Sep 17 00:00:00 2001 From: Alexey Zhokhov Date: Sat, 30 Apr 2022 03:50:49 +0800 Subject: [PATCH 08/14] Use Gradle Version Catalogs. --- .../main/groovy/micronaut-graphql.example-conventions.gradle | 2 +- gradle.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle b/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle index 9a601260..4ff54b34 100644 --- a/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle +++ b/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle @@ -48,7 +48,7 @@ tasks.withType(JavaCompile) { micronautBuild { resolutionStrategy { - force "com.graphql-java:graphql-java-extended-scalars:17.0" + force "com.graphql-java:graphql-java-extended-scalars:${libs.managed.graphql.java.extended.scalars}" force "com.graphql-java:graphql-java:${libs.versions.managed.graphql.java}" } } diff --git a/gradle.properties b/gradle.properties index 903a91e6..3a729572 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ projectVersion=3.1.0-SNAPSHOT projectGroup=io.micronaut.graphql micronautDocsVersion=2.0.0 -micronautVersion=3.4.2 +micronautVersion=3.4.3 micronautTestVersion=3.1.1 groovyVersion=3.0.10 spockVersion=2.0-groovy-3.0 From 094ec16e18b89415b6ad41cc042d0427ce1fac52 Mon Sep 17 00:00:00 2001 From: Alexey Zhokhov Date: Sat, 30 Apr 2022 05:04:57 +0800 Subject: [PATCH 09/14] Build fix. --- ...cronaut-graphql.example-conventions.gradle | 28 +++++-------------- examples/todo-java-tools/build.gradle | 2 ++ 2 files changed, 9 insertions(+), 21 deletions(-) diff --git a/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle b/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle index 4ff54b34..0dc05205 100644 --- a/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle +++ b/buildSrc/src/main/groovy/micronaut-graphql.example-conventions.gradle @@ -11,23 +11,16 @@ repositories { } dependencies { - annotationProcessor platform("io.micronaut:micronaut-bom:${micronautVersion}") - annotationProcessor "io.micronaut:micronaut-inject-java" - annotationProcessor "io.micronaut:micronaut-validation" - - implementation platform("io.micronaut:micronaut-bom:${micronautVersion}") implementation(project(":graphql")) + + annotationProcessor("io.micronaut:micronaut-http-validation") implementation("io.micronaut:micronaut-http-client") - implementation("io.micronaut:micronaut-http-server-netty") - implementation("io.micronaut:micronaut-inject") + implementation("io.micronaut:micronaut-jackson-databind") implementation("io.micronaut:micronaut-validation") implementation("io.micronaut:micronaut-runtime") - implementation platform("io.micronaut:micronaut-bom:${micronautVersion}") - implementation("io.micronaut:micronaut-inject-java") - - implementation platform("io.micronaut:micronaut-bom:${micronautVersion}") - implementation("ch.qos.logback:logback-classic") + runtimeOnly("ch.qos.logback:logback-classic") + compileOnly("org.graalvm.nativeimage:svm") } sourceCompatibility = "1.8" @@ -35,15 +28,8 @@ targetCompatibility = "1.8" mainClassName = "example.Application" -run.jvmArgs("-noverify", "-XX:TieredStopAtLevel=1") - -shadowJar { - mergeServiceFiles() -} - -tasks.withType(JavaCompile) { - options.encoding = "UTF-8" - options.compilerArgs.add("-parameters") +micronaut { + runtime("netty") } micronautBuild { diff --git a/examples/todo-java-tools/build.gradle b/examples/todo-java-tools/build.gradle index 3565ad53..45550a5f 100644 --- a/examples/todo-java-tools/build.gradle +++ b/examples/todo-java-tools/build.gradle @@ -4,4 +4,6 @@ plugins { dependencies { implementation libs.managed.graphql.java.tools + + implementation("io.micronaut.kotlin:micronaut-kotlin-runtime") } From c17fe367110d2759c9ac89ecfd22199938b40ae7 Mon Sep 17 00:00:00 2001 From: Alexey Zhokhov Date: Mon, 2 May 2022 20:47:28 +0800 Subject: [PATCH 10/14] Update common files --- .github/dependabot.yml | 16 --- .github/renovate.json | 12 ++ .github/stale.yml | 16 --- .github/workflows/.rsync-filter | 5 + .github/workflows/dependency-update.yml | 44 ------ .github/workflows/files-sync.yml | 151 ++++++++++++++++++++ .github/workflows/graalvm.yml | 1 + .github/workflows/gradle.yml | 1 + .github/workflows/update-gradle-wrapper.yml | 34 +++++ MAINTAINING.md | 10 +- config/checkstyle/.rsync-filter | 2 + 11 files changed, 211 insertions(+), 81 deletions(-) delete mode 100644 .github/dependabot.yml create mode 100644 .github/renovate.json delete mode 100644 .github/stale.yml create mode 100644 .github/workflows/.rsync-filter delete mode 100644 .github/workflows/dependency-update.yml create mode 100644 .github/workflows/files-sync.yml create mode 100644 .github/workflows/update-gradle-wrapper.yml create mode 100644 config/checkstyle/.rsync-filter diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index d436367b..00000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,16 +0,0 @@ -version: 2 -updates: - - package-ecosystem: "gradle" - directory: "/" - schedule: - interval: "weekly" - labels: - - "type: dependency-upgrade" - - "relates-to: build" - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "weekly" - labels: - - "type: dependency-upgrade" - - "relates-to: build" \ No newline at end of file diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 00000000..72d95863 --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,12 @@ +{ + "extends": [ + "config:base" + ], + "addLabels": ["dependency-upgrade"], + "schedule": [ + "every weekend" + ], + "prHourlyLimit": 1, + "prConcurrentLimit": 20, + "timezone": "Europe/Prague" +} diff --git a/.github/stale.yml b/.github/stale.yml deleted file mode 100644 index 54ded9b5..00000000 --- a/.github/stale.yml +++ /dev/null @@ -1,16 +0,0 @@ -# Number of days of inactivity before an issue becomes stale -daysUntilStale: 60 -# Number of days of inactivity before a stale issue is closed -daysUntilClose: 7 -# Issues with these labels will never be considered stale -exemptLabels: - - "type: enhancement" -# Label to use when marking an issue as stale -staleLabel: "status: stale" -# Comment to post when marking an issue as stale. Set to `false` to disable -markComment: > - This issue has been automatically marked as stale because it has not had - recent activity. It will be closed if no further activity occurs. Thank you - for your contributions. -# Comment to post when closing a stale issue. Set to `false` to disable -closeComment: false diff --git a/.github/workflows/.rsync-filter b/.github/workflows/.rsync-filter new file mode 100644 index 00000000..cf2f076f --- /dev/null +++ b/.github/workflows/.rsync-filter @@ -0,0 +1,5 @@ +- files-sync.yml +- test-files-sync.yml +- update-gradle-wrapper.yml +- .rsync-filter +- template-cleanup.yml \ No newline at end of file diff --git a/.github/workflows/dependency-update.yml b/.github/workflows/dependency-update.yml deleted file mode 100644 index ab72b1d8..00000000 --- a/.github/workflows/dependency-update.yml +++ /dev/null @@ -1,44 +0,0 @@ -# WARNING: Do not edit this file directly. Instead, go to: -# -# https://github.com/micronaut-projects/micronaut-project-template/tree/master/.github/workflows -# -# and edit them there. Note that it will be sync'ed to all the Micronaut repos -name: Update Dependencies -on: - schedule: - - cron: '0 4 * * SUN' -jobs: - dependency-updates: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/cache@v3 - with: - path: ~/.gradle/caches - key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} - restore-keys: | - ${{ runner.os }}-gradle- - - name: Set up JDK - uses: actions/setup-java@v3 - with: - distribution: 'adopt' - java-version: '8' - - name: Export Gradle Properties - uses: micronaut-projects/github-actions/export-gradle-properties@master - - name: Check Dependencies - env: - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} - GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }} - GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} - run: ./gradlew useLatestVersions - - name: Create Pull Request - uses: peter-evans/create-pull-request@v4 - with: - token: ${{ secrets.GH_TOKEN }} - committer: micronaut-build <${{ secrets.MICRONAUT_BUILD_EMAIL }}> - author: micronaut-build <${{ secrets.MICRONAUT_BUILD_EMAIL }}> - commit-message: Update dependencies - title: 'Dependency upgrades' - body: Upgrades dependencies to their latest versions - labels: "type: dependency-upgrade" - branch: dependency-updates diff --git a/.github/workflows/files-sync.yml b/.github/workflows/files-sync.yml new file mode 100644 index 00000000..9682450b --- /dev/null +++ b/.github/workflows/files-sync.yml @@ -0,0 +1,151 @@ +name: Files sync +on: + push: + branches: + - master +jobs: + sync-files: + if: github.repository == 'micronaut-projects/micronaut-project-template' + runs-on: ubuntu-latest + strategy: + fail-fast: false + max-parallel: 3 + matrix: + repo: + - acme + - aot + - aws + - azure + - cache + - cassandra + - chatbots + - coherence + - core + - couchbase + - data + - discovery-client + - elasticsearch + - email + - flyway + - gcp + - gradle-plugin + - graphql + - groovy + - grpc + - hibernate-validator + - ignite + - jackson-xml + - jaxrs + - jms + - jmx + - kafka + - kotlin + - kubernetes + - liquibase + - micrometer + - microstream + - mongodb + - mqtt + - multitenancy + - nats + - neo4j + - openapi + - oracle-cloud + - picocli + - problem-json + - pulsar + - r2dbc + - rabbitmq + - reactor + - redis + - rss + - rxjava2 + - rxjava3 + - security + - serialization + - servlet + - spring + - sql + - test + - toml + - tracing + - views + steps: + - name: Checkout source + uses: actions/checkout@v3 + with: + path: source + - name: Checkout target - default branch + uses: actions/checkout@v3 + with: + repository: micronaut-projects/micronaut-${{ matrix.repo }} + path: target + fetch-depth: 0 + token: ${{ secrets.GH_TOKEN }} + - name: Determine current branch + id: branch + working-directory: target + run: | + branch=$(git rev-parse --abbrev-ref HEAD) + echo "Current branch: ${branch}" + echo ::set-output name=branch::${branch} + - name: Sync workflows + run: | + mkdir -p target/.github/workflows/ + rsync --verbose --verbose --archive -F "source/.github/workflows/" "target/.github/workflows/" + rm -f target/.github/dependabot.yml + - name: Copy files from source to target branches + run: | + while IFS= read -r file; do + dest="$(dirname $file)" + mkdir -p target/$dest + cp -r source/$file target/$dest + done <<< "$FILES" + env: + FILES: |- + .gitignore + .github/renovate.json + .github/ISSUE_TEMPLATE/bug_report.yaml + .github/ISSUE_TEMPLATE/config.yml + .github/ISSUE_TEMPLATE/new_feature.yaml + .github/ISSUE_TEMPLATE/other.yaml + gradle/* + gradlew* + MAINTAINING.md + SECURITY.md + LICENSE + config/HEADER + config/spotless.license.java + config/checkstyle/checkstyle.xml + config/checkstyle/suppressions.xml + - name: Create Pull Request - ${{ steps.branch.outputs.branch }} + uses: peter-evans/create-pull-request@v4 + with: + path: target + token: ${{ secrets.GH_TOKEN }} + committer: micronaut-build <${{ secrets.MICRONAUT_BUILD_EMAIL }}> + author: micronaut-build <${{ secrets.MICRONAUT_BUILD_EMAIL }}> + commit-message: Update common files + title: "[${{ matrix.repo }}] Update common files for branch ${{ steps.branch.outputs.branch }}" + body: Update common files + labels: "relates-to: build" + branch: sync-files-${{ steps.branch.outputs.branch }} + base: ${{ steps.branch.outputs.branch }} + add-paths: | + .gitignore + .github/renovate.json + .github/dependabot.yml + .github/ISSUE_TEMPLATE/bug_report.yaml + .github/ISSUE_TEMPLATE/config.yml + .github/ISSUE_TEMPLATE/new_feature.yaml + .github/ISSUE_TEMPLATE/other.yaml + .github/workflows/* + gradle/* + gradlew* + MAINTAINING.md + SECURITY.md + LICENSE + config/HEADER + config/spotless.license.java + config/checkstyle/checkstyle.xml + config/checkstyle/suppressions.xml diff --git a/.github/workflows/graalvm.yml b/.github/workflows/graalvm.yml index 34bd3ddc..8fc34587 100644 --- a/.github/workflows/graalvm.yml +++ b/.github/workflows/graalvm.yml @@ -54,6 +54,7 @@ jobs: GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }} GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} + PREDICTIVE_TEST_SELECTION: "${{ github.event_name == 'pull_request' && 'true' || 'false' }}" - name: Publish Test Report if: always() uses: mikepenz/action-junit-report@v3.0.2 diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index d3df72e9..05863fdc 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -57,6 +57,7 @@ jobs: GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }} GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} + PREDICTIVE_TEST_SELECTION: "${{ github.event_name == 'pull_request' && 'true' || 'false' }}" - name: Publish Test Report if: always() uses: mikepenz/action-junit-report@v3.0.2 diff --git a/.github/workflows/update-gradle-wrapper.yml b/.github/workflows/update-gradle-wrapper.yml new file mode 100644 index 00000000..a46a8bf1 --- /dev/null +++ b/.github/workflows/update-gradle-wrapper.yml @@ -0,0 +1,34 @@ +# WARNING: Do not edit this file directly. Instead, go to: +# +# https://github.com/micronaut-projects/micronaut-project-template/tree/master/.github/workflows +# +# and edit them there. Note that it will be sync'ed to all the Micronaut repos +name: Update Gradle Wrapper +on: + schedule: + - cron: '0 3 * * SAT' +jobs: + update-wrapper: + if: github.repository == 'micronaut-projects/micronaut-project-template' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + token: ${{ secrets.GH_TOKEN }} + - name: "Update Gradle Wrapper" + id: update + env: + GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} + GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }} + GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} + run: | + latest=`curl -s https://services.gradle.org/versions/current | jq -cr ".version"` + echo ::set-output name=latest_version::${latest} + ./gradlew wrapper --gradle-version $latest + - uses: gradle/wrapper-validation-action@v1 + - uses: stefanzweifel/git-auto-commit-action@v4.14.1 + with: + commit_message: Upgrade Gradle Wrapper to ${{ steps.update.outputs.latest_version }} + commit_user_name: micronaut-build + commit_user_email: ${{ secrets.MICRONAUT_BUILD_EMAIL }} + commit_author: micronaut-build <${{ secrets.MICRONAUT_BUILD_EMAIL }}> diff --git a/MAINTAINING.md b/MAINTAINING.md index c9b02ebb..90e3dff1 100644 --- a/MAINTAINING.md +++ b/MAINTAINING.md @@ -88,7 +88,7 @@ follow a slightly different strategy. All Micronaut repos have 2 dependency upgrade checking mechanism: -1. Dependabot: it has the advantage that it performs dependency upgrades not only on build dependencies, but also on +1. Renovate: it has the advantage that it performs dependency upgrades not only on build dependencies, but also on GitHub Actions workflows. On the other hand, its biggest downside is that it's unable to find newer versions for those defined in `gradle.properties`. It will also send different PRs for the same version upgrade if the artifact ID is different. For example, if you have `com.example:client:1.0` and `com.example:server:1.0`, and a new 1.1 version @@ -99,9 +99,9 @@ All Micronaut repos have 2 dependency upgrade checking mechanism: during weekdays. The consequence of having both approaches in place is that we get multiple dependency upgrade PRs: one created by -`micronaut-build` via our automation, and one or many (one per dependency) created by Dependabot. When merging those, it +`micronaut-build` via our automation, and one or many (one per dependency) created by Renovate. When merging those, it is better to prefer the `micronaut-build` ones, if possible, for 2 reasons: a) they attempt to upgrade multiple dependencies -in a single PR, which creates less noise in the Git history; b) Once you merge that, Dependabot will react and automatically +in a single PR, which creates less noise in the Git history; b) Once you merge that, Renovate will react and automatically close its own PRs if the dependecy is up-to-date. When an upgrade to a new version arrives, we need to be careful when merging, so that we don't introduce an @@ -111,7 +111,7 @@ information. Note that if a new version arrives and we are not ready yet to do the upgrade, you need to [pin the old version](https://github.com/micronaut-projects/micronaut-build/#configuration-options), because otherwise, -Dependabot and our workflow will keep sending PRs. You should also create an issue to upgrade so that it's not forgotten. +Renovate and our workflow will keep sending PRs. You should also create an issue to upgrade so that it's not forgotten. #### Files sync @@ -126,7 +126,7 @@ template repo will get propagated automatically. The files propagated are: * `gradle.yml`. * `release.yml`. * `release-notes.yml`. -* Dependabot configuration (`.github/dependabot.yml`). +* Renovate configuration (`.github/renovate.json`). * Gradle wrapper. * `.gitignore`. * `ISSUE_TEMPLATE.md`, `LICENSE`, `MAINTAINING.md`, `config/HEADER` and `config/spotless.license.java`. diff --git a/config/checkstyle/.rsync-filter b/config/checkstyle/.rsync-filter new file mode 100644 index 00000000..9080fe5d --- /dev/null +++ b/config/checkstyle/.rsync-filter @@ -0,0 +1,2 @@ +- suppressions.xml +- checkstyle.xml From 1a7bfcbec0aed973888564c85a39f4e51f7d04c1 Mon Sep 17 00:00:00 2001 From: Alexey Zhokhov Date: Tue, 3 May 2022 15:58:02 +0800 Subject: [PATCH 11/14] Restored .github folder. --- .github/dependabot.yml | 16 +++ .github/renovate.json | 12 -- .github/workflows/.rsync-filter | 5 - .github/workflows/dependency-update.yml | 44 ++++++ .github/workflows/files-sync.yml | 151 -------------------- .github/workflows/graalvm.yml | 1 - .github/workflows/gradle.yml | 1 - .github/workflows/update-gradle-wrapper.yml | 34 ----- 8 files changed, 60 insertions(+), 204 deletions(-) create mode 100644 .github/dependabot.yml delete mode 100644 .github/renovate.json delete mode 100644 .github/workflows/.rsync-filter create mode 100644 .github/workflows/dependency-update.yml delete mode 100644 .github/workflows/files-sync.yml delete mode 100644 .github/workflows/update-gradle-wrapper.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..d436367b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,16 @@ +version: 2 +updates: + - package-ecosystem: "gradle" + directory: "/" + schedule: + interval: "weekly" + labels: + - "type: dependency-upgrade" + - "relates-to: build" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + labels: + - "type: dependency-upgrade" + - "relates-to: build" \ No newline at end of file diff --git a/.github/renovate.json b/.github/renovate.json deleted file mode 100644 index 72d95863..00000000 --- a/.github/renovate.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "extends": [ - "config:base" - ], - "addLabels": ["dependency-upgrade"], - "schedule": [ - "every weekend" - ], - "prHourlyLimit": 1, - "prConcurrentLimit": 20, - "timezone": "Europe/Prague" -} diff --git a/.github/workflows/.rsync-filter b/.github/workflows/.rsync-filter deleted file mode 100644 index cf2f076f..00000000 --- a/.github/workflows/.rsync-filter +++ /dev/null @@ -1,5 +0,0 @@ -- files-sync.yml -- test-files-sync.yml -- update-gradle-wrapper.yml -- .rsync-filter -- template-cleanup.yml \ No newline at end of file diff --git a/.github/workflows/dependency-update.yml b/.github/workflows/dependency-update.yml new file mode 100644 index 00000000..ab72b1d8 --- /dev/null +++ b/.github/workflows/dependency-update.yml @@ -0,0 +1,44 @@ +# WARNING: Do not edit this file directly. Instead, go to: +# +# https://github.com/micronaut-projects/micronaut-project-template/tree/master/.github/workflows +# +# and edit them there. Note that it will be sync'ed to all the Micronaut repos +name: Update Dependencies +on: + schedule: + - cron: '0 4 * * SUN' +jobs: + dependency-updates: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/cache@v3 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} + restore-keys: | + ${{ runner.os }}-gradle- + - name: Set up JDK + uses: actions/setup-java@v3 + with: + distribution: 'adopt' + java-version: '8' + - name: Export Gradle Properties + uses: micronaut-projects/github-actions/export-gradle-properties@master + - name: Check Dependencies + env: + GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} + GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }} + GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} + run: ./gradlew useLatestVersions + - name: Create Pull Request + uses: peter-evans/create-pull-request@v4 + with: + token: ${{ secrets.GH_TOKEN }} + committer: micronaut-build <${{ secrets.MICRONAUT_BUILD_EMAIL }}> + author: micronaut-build <${{ secrets.MICRONAUT_BUILD_EMAIL }}> + commit-message: Update dependencies + title: 'Dependency upgrades' + body: Upgrades dependencies to their latest versions + labels: "type: dependency-upgrade" + branch: dependency-updates diff --git a/.github/workflows/files-sync.yml b/.github/workflows/files-sync.yml deleted file mode 100644 index 9682450b..00000000 --- a/.github/workflows/files-sync.yml +++ /dev/null @@ -1,151 +0,0 @@ -name: Files sync -on: - push: - branches: - - master -jobs: - sync-files: - if: github.repository == 'micronaut-projects/micronaut-project-template' - runs-on: ubuntu-latest - strategy: - fail-fast: false - max-parallel: 3 - matrix: - repo: - - acme - - aot - - aws - - azure - - cache - - cassandra - - chatbots - - coherence - - core - - couchbase - - data - - discovery-client - - elasticsearch - - email - - flyway - - gcp - - gradle-plugin - - graphql - - groovy - - grpc - - hibernate-validator - - ignite - - jackson-xml - - jaxrs - - jms - - jmx - - kafka - - kotlin - - kubernetes - - liquibase - - micrometer - - microstream - - mongodb - - mqtt - - multitenancy - - nats - - neo4j - - openapi - - oracle-cloud - - picocli - - problem-json - - pulsar - - r2dbc - - rabbitmq - - reactor - - redis - - rss - - rxjava2 - - rxjava3 - - security - - serialization - - servlet - - spring - - sql - - test - - toml - - tracing - - views - steps: - - name: Checkout source - uses: actions/checkout@v3 - with: - path: source - - name: Checkout target - default branch - uses: actions/checkout@v3 - with: - repository: micronaut-projects/micronaut-${{ matrix.repo }} - path: target - fetch-depth: 0 - token: ${{ secrets.GH_TOKEN }} - - name: Determine current branch - id: branch - working-directory: target - run: | - branch=$(git rev-parse --abbrev-ref HEAD) - echo "Current branch: ${branch}" - echo ::set-output name=branch::${branch} - - name: Sync workflows - run: | - mkdir -p target/.github/workflows/ - rsync --verbose --verbose --archive -F "source/.github/workflows/" "target/.github/workflows/" - rm -f target/.github/dependabot.yml - - name: Copy files from source to target branches - run: | - while IFS= read -r file; do - dest="$(dirname $file)" - mkdir -p target/$dest - cp -r source/$file target/$dest - done <<< "$FILES" - env: - FILES: |- - .gitignore - .github/renovate.json - .github/ISSUE_TEMPLATE/bug_report.yaml - .github/ISSUE_TEMPLATE/config.yml - .github/ISSUE_TEMPLATE/new_feature.yaml - .github/ISSUE_TEMPLATE/other.yaml - gradle/* - gradlew* - MAINTAINING.md - SECURITY.md - LICENSE - config/HEADER - config/spotless.license.java - config/checkstyle/checkstyle.xml - config/checkstyle/suppressions.xml - - name: Create Pull Request - ${{ steps.branch.outputs.branch }} - uses: peter-evans/create-pull-request@v4 - with: - path: target - token: ${{ secrets.GH_TOKEN }} - committer: micronaut-build <${{ secrets.MICRONAUT_BUILD_EMAIL }}> - author: micronaut-build <${{ secrets.MICRONAUT_BUILD_EMAIL }}> - commit-message: Update common files - title: "[${{ matrix.repo }}] Update common files for branch ${{ steps.branch.outputs.branch }}" - body: Update common files - labels: "relates-to: build" - branch: sync-files-${{ steps.branch.outputs.branch }} - base: ${{ steps.branch.outputs.branch }} - add-paths: | - .gitignore - .github/renovate.json - .github/dependabot.yml - .github/ISSUE_TEMPLATE/bug_report.yaml - .github/ISSUE_TEMPLATE/config.yml - .github/ISSUE_TEMPLATE/new_feature.yaml - .github/ISSUE_TEMPLATE/other.yaml - .github/workflows/* - gradle/* - gradlew* - MAINTAINING.md - SECURITY.md - LICENSE - config/HEADER - config/spotless.license.java - config/checkstyle/checkstyle.xml - config/checkstyle/suppressions.xml diff --git a/.github/workflows/graalvm.yml b/.github/workflows/graalvm.yml index 8fc34587..34bd3ddc 100644 --- a/.github/workflows/graalvm.yml +++ b/.github/workflows/graalvm.yml @@ -54,7 +54,6 @@ jobs: GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }} GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} - PREDICTIVE_TEST_SELECTION: "${{ github.event_name == 'pull_request' && 'true' || 'false' }}" - name: Publish Test Report if: always() uses: mikepenz/action-junit-report@v3.0.2 diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 05863fdc..d3df72e9 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -57,7 +57,6 @@ jobs: GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }} GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} - PREDICTIVE_TEST_SELECTION: "${{ github.event_name == 'pull_request' && 'true' || 'false' }}" - name: Publish Test Report if: always() uses: mikepenz/action-junit-report@v3.0.2 diff --git a/.github/workflows/update-gradle-wrapper.yml b/.github/workflows/update-gradle-wrapper.yml deleted file mode 100644 index a46a8bf1..00000000 --- a/.github/workflows/update-gradle-wrapper.yml +++ /dev/null @@ -1,34 +0,0 @@ -# WARNING: Do not edit this file directly. Instead, go to: -# -# https://github.com/micronaut-projects/micronaut-project-template/tree/master/.github/workflows -# -# and edit them there. Note that it will be sync'ed to all the Micronaut repos -name: Update Gradle Wrapper -on: - schedule: - - cron: '0 3 * * SAT' -jobs: - update-wrapper: - if: github.repository == 'micronaut-projects/micronaut-project-template' - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - token: ${{ secrets.GH_TOKEN }} - - name: "Update Gradle Wrapper" - id: update - env: - GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} - GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GRADLE_ENTERPRISE_CACHE_USERNAME }} - GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GRADLE_ENTERPRISE_CACHE_PASSWORD }} - run: | - latest=`curl -s https://services.gradle.org/versions/current | jq -cr ".version"` - echo ::set-output name=latest_version::${latest} - ./gradlew wrapper --gradle-version $latest - - uses: gradle/wrapper-validation-action@v1 - - uses: stefanzweifel/git-auto-commit-action@v4.14.1 - with: - commit_message: Upgrade Gradle Wrapper to ${{ steps.update.outputs.latest_version }} - commit_user_name: micronaut-build - commit_user_email: ${{ secrets.MICRONAUT_BUILD_EMAIL }} - commit_author: micronaut-build <${{ secrets.MICRONAUT_BUILD_EMAIL }}> From bbf30402072eae82338488360da2781f3dbb455d Mon Sep 17 00:00:00 2001 From: Alexey Zhokhov Date: Thu, 5 May 2022 02:45:58 +0800 Subject: [PATCH 12/14] Up versions. --- gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 4caa98d6..5245f973 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,6 +1,6 @@ [versions] -managed-graphql-java = "18.0" -managed-graphql-java-extended-scalars = "17.0" +managed-graphql-java = "18.1" +managed-graphql-java-extended-scalars = "18.0" managed-graphql-java-tools = "12.0.2" managed-graphql-spqr = "0.11.2" From 672813a6868b3d208c5ce0689655a98d2d79788a Mon Sep 17 00:00:00 2001 From: Alexey Zhokhov Date: Thu, 5 May 2022 02:46:46 +0800 Subject: [PATCH 13/14] Bump version. --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 3a729572..62827c1e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -projectVersion=3.1.0-SNAPSHOT +projectVersion=3.2.0-SNAPSHOT projectGroup=io.micronaut.graphql micronautDocsVersion=2.0.0 From d5b3677a6bd8438747bbe35b12bbac3467e3b1a3 Mon Sep 17 00:00:00 2001 From: Alexey Zhokhov Date: Fri, 6 May 2022 21:13:55 +0800 Subject: [PATCH 14/14] Added comment. --- gradle.properties | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gradle.properties b/gradle.properties index 62827c1e..34d6952c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -13,8 +13,11 @@ projectUrl=https://micronaut.io githubSlug=micronaut-projects/micronaut-graphql developers=Marcel Overdijk +# Micronaut core branch for BOM pull requests githubCoreBranch=3.5.x + bomProperty=micronautGraphQLVersion org.gradle.caching=true +org.gradle.jvmargs=-Xmx1g org.gradle.parallel=true