diff --git a/.github/release-please.yml b/.github/release-please.yml new file mode 100644 index 000000000..a9e78531e --- /dev/null +++ b/.github/release-please.yml @@ -0,0 +1,3 @@ +primaryBranch: main +handleGHRelease: true +manifest: true diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 461a10f2b..30c7291e9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -129,7 +129,7 @@ jobs: .\scripts\ValidatePackageContents.ps1 -ArtifactId microsoft-kiota-bundle -Version $env:PACKAGE_VERSION release-maven-central: - if: contains(github.ref, 'refs/tags/v') + if: ${{ contains(github.ref, 'refs/tags/v') && github.actor == 'release-please[bot]' }} runs-on: ubuntu-latest environment: maven_central needs: validate-package-contents @@ -191,15 +191,11 @@ jobs: cache: gradle - name: Build with Gradle run: ./gradlew --no-daemon build - - name: Release - uses: anton-yurchenko/git-release@v6.0 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DRAFT_RELEASE: "false" - PRE_RELEASE: "false" - CHANGELOG_FILE: "CHANGELOG.md" - ALLOW_EMPTY_CHANGELOG: "true" + - name: GitHub Release + uses: softprops/action-gh-release@v2 with: - args: | + token: ${{ secrets.GITHUB_TOKEN }} + fail_on_unmatched_files: true + files: | components/**/build/libs/*.jar components/**/**/build/libs/*.jar diff --git a/.release-please-manifest.json b/.release-please-manifest.json new file mode 100644 index 000000000..6180eb92e --- /dev/null +++ b/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "1.5.0" +} diff --git a/.secrets.baseline b/.secrets.baseline index acdb223bb..1266b479a 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -90,10 +90,6 @@ { "path": "detect_secrets.filters.allowlist.is_line_allowlisted" }, - { - "path": "detect_secrets.filters.common.is_baseline_file", - "filename": ".secrets.baseline" - }, { "path": "detect_secrets.filters.common.is_ignored_due_to_verification_policies", "min_level": 2 @@ -124,8 +120,14 @@ }, { "path": "detect_secrets.filters.heuristic.is_templated_secret" + }, + { + "path": "detect_secrets.filters.regex.should_exclude_file", + "pattern": [ + "release-please-config.json" + ] } ], "results": {}, - "generated_at": "2024-08-13T12:49:40Z" + "generated_at": "2024-10-02T14:21:21Z" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 1faa2086e..50d0ab993 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,8 +5,6 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] - ## [1.5.0] - 2024-09-30 ### Added diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..7a9d7b557 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,55 @@ +# Contributing to Kiota Java + +Kiota Java is a mono-repo containing source code for the following packages: + +- 'com.microsoft.kiota:microsoft-kiota-abstractions' +- 'com.microsoft.kiota:microsoft-kiota-http-okHttp' +- 'com.microsoft.kiota:microsoft-kiota-authentication-azure' +- 'com.microsoft.kiota:microsoft-kiota-bundle' +- 'com.microsoft.kiota:microsoft-kiota-serialization-multipart' +- 'com.microsoft.kiota:microsoft-kiota-serialization-text' +- 'com.microsoft.kiota:microsoft-kiota-serialization-json' +- 'com.microsoft.kiota:microsoft-kiota-serialization-form' + +Kiota Java is open to contributions. There are a couple of different recommended paths to get contributions into the released version of this library. + +__NOTE__ A signed a contribution license agreement is required for all contributions, and is checked automatically on new pull requests. Please read and sign [the agreement](https://cla.microsoft.com/) before starting any work for this repository. + +## File issues + +The best way to get started with a contribution is to start a dialog with the owners of this repository. Sometimes features will be under development or out of scope for this SDK and it's best to check before starting work on contribution. Discussions on bugs and potential fixes could point you to the write change to make. + +## Submit pull requests for bug fixes and features + +Feel free to submit a pull request with a linked issue against the __main__ branch. The main branch will be updated frequently. + +## Commit message format + +To support our automated release process, pull requests are required to follow the [Conventional Commit](https://www.conventionalcommits.org/en/v1.0.0/) +format. + +Each commit message consists of a **header**, an optional **body** and an optional **footer**. The header is the first line of the commit and +MUST have a **type** (see below for a list of types) and a **description**. An optional **scope** can be added to the header to give extra context. + +``` +[optional scope]: + + + + +``` + +The recommended commit types used are: + + - **feat** for feature updates (increments the _minor_ version) + - **fix** for bug fixes (increments the _patch_ version) + - **perf** for performance related changes e.g. optimizing an algorithm + - **refactor** for code refactoring changes + - **test** for test suite updates e.g. adding a test or fixing a test + - **style** for changes that don't affect the meaning of code. e.g. formatting changes + - **docs** for documentation updates e.g. ReadMe update or code documentation updates + - **build** for build system changes (gradle updates, external dependency updates) + - **ci** for CI configuration file changes e.g. updating a pipeline + - **chore** for miscallaneous non-sdk changesin the repo e.g. removing an unused file + +Adding a an exclamation mark after the commit type (`feat!`) or footer with the prefix **BREAKING CHANGE:** will cause an increment of the _major_ version. diff --git a/README.md b/README.md index 06e7245c8..3b7f3fb2f 100644 --- a/README.md +++ b/README.md @@ -21,14 +21,29 @@ Read more about Kiota [here](https://github.com/microsoft/kiota/blob/main/README In `build.gradle` in the `dependencies` section: ```Groovy +// x-release-please-start-version implementation 'com.microsoft.kiota:microsoft-kiota-abstractions:1.5.0' +// x-release-please-end implementation 'com.microsoft.kiota:microsoft-kiota-authentication-azure:1.5.0' +// x-release-please-end +// x-release-please-start-version implementation 'com.microsoft.kiota:microsoft-kiota-http-okHttp:1.5.0' +// x-release-please-end +// x-release-please-start-version implementation 'com.microsoft.kiota:microsoft-kiota-serialization-json:1.5.0' +// x-release-please-end +// x-release-please-start-version implementation 'com.microsoft.kiota:microsoft-kiota-serialization-text:1.5.0' +// x-release-please-end +// x-release-please-start-version implementation 'com.microsoft.kiota:microsoft-kiota-serialization-form:1.5.0' +// x-release-please-end +// x-release-please-start-version implementation 'com.microsoft.kiota:microsoft-kiota-serialization-multipart:1.5.0' +// x-release-please-end +// x-release-please-start-version implementation 'com.microsoft.kiota:microsoft-kiota-bundle:1.5.0' +// x-release-please-end implementation 'jakarta.annotation:jakarta.annotation-api:2.1.1' ``` @@ -40,37 +55,51 @@ In `pom.xml` in the `dependencies` section: com.microsoft.kiota microsoft-kiota-abstractions + 1.5.0 + com.microsoft.kiota microsoft-kiota-authentication-azure + 1.5.0 + com.microsoft.kiota microsoft-kiota-http-okHttp + 1.5.0 + com.microsoft.kiota microsoft-kiota-serialization-json + 1.5.0 + com.microsoft.kiota microsoft-kiota-serialization-text + 1.5.0 + com.microsoft.kiota microsoft-kiota-serialization-form + 1.5.0 + com.microsoft.kiota microsoft-kiota-serialization-multipart + 1.5.0 + jakarta.annotation diff --git a/components/http/okHttp/src/main/java/com/microsoft/kiota/http/middleware/options/UserAgentHandlerOption.java b/components/http/okHttp/src/main/java/com/microsoft/kiota/http/middleware/options/UserAgentHandlerOption.java index 910546e9a..a30d58f02 100644 --- a/components/http/okHttp/src/main/java/com/microsoft/kiota/http/middleware/options/UserAgentHandlerOption.java +++ b/components/http/okHttp/src/main/java/com/microsoft/kiota/http/middleware/options/UserAgentHandlerOption.java @@ -13,7 +13,7 @@ public UserAgentHandlerOption() {} private boolean enabled = true; @Nonnull private String productName = "kiota-java"; - @Nonnull private String productVersion = "1.5.0"; + @Nonnull private String productVersion = "1.5.0"; // x-release-please-version /** * Gets the product name to be used in the user agent header diff --git a/gradle.properties b/gradle.properties index d61e8397a..300e958a5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -24,9 +24,15 @@ org.gradle.parallel=true org.gradle.caching=true mavenGroupId = com.microsoft.kiota +# x-release-please-start-major mavenMajorVersion = 1 +# x-release-please-end +# x-release-please-start-minor mavenMinorVersion = 5 +# x-release-please-end +# x-release-please-start-patch mavenPatchVersion = 0 +# x-release-please-end mavenArtifactSuffix = #enable mavenCentralPublishingEnabled to publish to maven central diff --git a/release-please-config.json b/release-please-config.json new file mode 100644 index 000000000..308226355 --- /dev/null +++ b/release-please-config.json @@ -0,0 +1,26 @@ +{ + "bootstrap-sha": "b82a08523d0bb5d9e27f87f10924296ca745f236", + "exclude-paths": [ + ".git", + ".devcontainer", + ".github", + ".gradle", + ".vscode", + "scripts", + "gradle" + ], + "release-type": "simple", + "include-component-in-tag": false, + "include-v-in-tag": true, + "packages": { + ".": { + "changelog-path": "CHANGELOG.md", + "extra-files": [ + "gradle.properties", + "README.md", + "components/http/okHttp/src/main/java/com/microsoft/kiota/http/middleware/options/UserAgentHandlerOption.java" + ] + } + }, + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json" +}