Skip to content

Commit 91db7e9

Browse files
authored
chore: merge main into v1.5-main (#1308)
1 parent 1687088 commit 91db7e9

File tree

72 files changed

+903
-392
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+903
-392
lines changed

.brazil-1.x.json

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
{
2+
"dependencies": {
3+
"org.jetbrains.kotlin:kotlin-stdlib:2.*": "KotlinStdlib-2.x",
4+
"org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.*": "KotlinxCoroutinesCoreJvm-1.x",
5+
6+
"com.squareup.okhttp3:okhttp-coroutines:5.*": "OkHttp3Coroutines-5.x",
7+
"com.squareup.okhttp3:okhttp:5.*": "OkHttp3-5.x",
8+
"com.squareup.okio:okio-jvm:3.*": "OkioJvm-3.x",
9+
"io.opentelemetry:opentelemetry-api:1.*": "Maven-io-opentelemetry_opentelemetry-api-1.x",
10+
"io.opentelemetry:opentelemetry-extension-kotlin:1.*": "Maven-io-opentelemetry_opentelemetry-extension-kotlin-1.x",
11+
"org.slf4j:slf4j-api:2.*": "Maven-org-slf4j_slf4j-api-2.x",
12+
"aws.sdk.kotlin.crt:aws-crt-kotlin:0.9.*": "AwsCrtKotlin-0.9.x",
13+
"aws.sdk.kotlin.crt:aws-crt-kotlin:0.8.*": "AwsCrtKotlin-0.8.x",
14+
"com.squareup.okhttp3:okhttp:4.*": "OkHttp3-4.x",
15+
16+
"software.amazon.smithy:smithy-aws-traits:1.*": "Maven-software-amazon-smithy_smithy-aws-traits-1.x",
17+
"software.amazon.smithy:smithy-aws-iam-traits:1.*": "Maven-software-amazon-smithy_smithy-aws-iam-traits-1.x",
18+
"software.amazon.smithy:smithy-aws-cloudformation-traits:1.*": "Maven-software-amazon-smithy_smithy-aws-cloudformation-traits-1.x",
19+
"software.amazon.smithy:smithy-protocol-test-traits:1.*": "Maven-software-amazon-smithy_smithy-protocol-test-traits-1.x",
20+
"software.amazon.smithy:smithy-protocol-traits:1.*": "Maven-software-amazon-smithy_smithy-protocol-traits-1.x",
21+
"software.amazon.smithy:smithy-aws-endpoints:1.*": "Maven-software-amazon-smithy_smithy-aws-endpoints-1.x",
22+
"software.amazon.smithy:smithy-codegen-core:1.*": "Maven-software-amazon-smithy_smithy-codegen-core-1.x",
23+
"software.amazon.smithy:smithy-waiters:1.*": "Maven-software-amazon-smithy_smithy-waiters-1.x",
24+
"software.amazon.smithy:smithy-rules-engine:1.*": "Maven-software-amazon-smithy_smithy-rules-engine-1.x",
25+
"software.amazon.smithy:smithy-smoke-test-traits:1.*": "Maven-software-amazon-smithy_smithy-smoke-test-traits-1.x",
26+
"org.jsoup:jsoup:1.19.*": "Maven-jsoup-1.19.x"
27+
},
28+
"packageHandlingRules": {
29+
"versioning": {
30+
"defaultVersionLayout": "{MAJOR}.x"
31+
},
32+
"rename": {
33+
"software.amazon.smithy.kotlin:smithy-aws-kotlin-codegen": "AwsSmithyAwsKotlinCodegen",
34+
"software.amazon.smithy.kotlin:smithy-kotlin-codegen": "AwsSmithyKotlinCodegen"
35+
},
36+
"ignore": [
37+
"aws.smithy.kotlin:http-test",
38+
"aws.smithy.kotlin:smithy-test",
39+
"aws.smithy.kotlin:telemetry-provider-micrometer",
40+
"aws.smithy.kotlin:testing",
41+
"aws.smithy.kotlin:bom",
42+
"aws.smithy.kotlin:version-catalog",
43+
"software.amazon.smithy.kotlin:smithy-kotlin-codegen-testutils"
44+
],
45+
"resolvesConflictDependencies": {
46+
"org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.*": [
47+
"KotlinxCoroutinesCoreJvm-1.x"
48+
],
49+
"com.squareup.okhttp3:okhttp-coroutines:5.*": [
50+
"KotlinStdlib-2.x",
51+
"KotlinxCoroutinesCoreJvm-1.x",
52+
"KotlinStdlibJdk7-2.x",
53+
"KotlinStdlibJdk8-2.x"
54+
],
55+
"com.squareup.okhttp3:okhttp:5.*": [
56+
"KotlinStdlib-2.x"
57+
],
58+
"com.squareup.okio:okio-jvm:3.*": [
59+
"KotlinStdlib-2.x"
60+
],
61+
"com.squareup.okhttp3:okhttp:4.*": [
62+
"OkHttp3-4.x"
63+
]
64+
}
65+
}
66+
}

.editorconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ ktlint_standard_backing-property-naming = disabled
99
# enable trailing commas per JetBrains recommendation
1010
# (https://kotlinlang.org/docs/coding-conventions.html#trailing-commas)
1111
ij_kotlin_allow_trailing_comma_on_call_site = true
12-
ij_kotlin_allow_trailing_comma = true
12+
ij_kotlin_allow_trailing_comma = true
Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
name: Changelog verification
22

3+
permissions:
4+
id-token: write
5+
36
on:
47
pull_request:
58
types: [ opened, synchronize, reopened, labeled, unlabeled ]
@@ -11,16 +14,11 @@ jobs:
1114
changelog-verification:
1215
runs-on: ubuntu-latest
1316
steps:
14-
- uses: actions/checkout@v2
15-
- name: Check for changelog entry
16-
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-changelog') }}
17-
run: |
18-
git fetch origin ${{ github.base_ref }} --depth 1 && \
19-
git diff remotes/origin/${{ github.base_ref }} --name-only | grep -P "\.changes/[0-9a-f-]+\.json"
20-
- name: Error message
21-
if: ${{ failure() }}
22-
run: |
23-
echo "::error ::No new/updated changelog entry found in /.changes directory. Please either:"
24-
echo "::error ::* Add a changelog entry (see CONTRIBUTING.md for instructions) –or–"
25-
echo "::error ::* Add the 'no-changelog' label to this PR (in rare cases not warranting a changelog entry)"
26-
exit 1
17+
- name: Configure AWS Credentials
18+
uses: aws-actions/configure-aws-credentials@v4
19+
with:
20+
role-to-assume: ${{ secrets.CI_AWS_ROLE_ARN }}
21+
aws-region: us-west-2
22+
23+
- name: Verify changelog
24+
uses: awslabs/aws-kotlin-repo-tools/.github/actions/changelog-verification@main

.github/workflows/merge-main.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,5 @@ jobs:
1111
- name: Merge main
1212
uses: awslabs/aws-kotlin-repo-tools/.github/actions/merge-main@main
1313
with:
14-
exempt-branches: # Add any if required
14+
ci-user-pat: ${{ secrets.CI_USER_PAT }}
15+
exempt-branches: # Add any if required
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Release readiness (snapshot dependency)
2+
description: >
3+
Makes sure that we aren't relying on SNAPSHOT/dev versions of aws-crt-kotlin before merging
4+
Otherwise we could forget because the rest of CI is masking it
5+
6+
on:
7+
pull_request:
8+
branches: [ main ]
9+
10+
jobs:
11+
release-readiness:
12+
if: ${{ !contains(github.event.pull_request.labels.*.name, 'ready-for-release') }}
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout sources
16+
uses: actions/checkout@v4
17+
18+
- name: Configure Gradle
19+
uses: awslabs/aws-kotlin-repo-tools/.github/actions/configure-gradle@main
20+
21+
- name: Build smithy-kotlin
22+
run: ./gradlew test jvmTest
23+
24+
- name: Emit error message
25+
if: ${{ failure() }}
26+
run: |
27+
echo "::error ::Build failed. Did you forget to release aws-crt-kotlin and bump the dependency version?"
28+
exit 1

CHANGELOG.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,37 @@
11
# Changelog
22

3+
## [1.4.21] - 06/27/2025
4+
5+
## [1.4.20] - 06/20/2025
6+
7+
### Fixes
8+
* Explicitly qualify shape member names in smoke tests and protocol tests
9+
* [#1295](https://github.com/smithy-lang/smithy-kotlin/issues/1295) Enable building this project on JDK21 by setting -Xjdk-release flag
10+
11+
## [1.4.19] - 06/19/2025
12+
13+
## [1.4.18] - 06/13/2025
14+
15+
### Miscellaneous
16+
* Upgrade to Dokka 2.0.0
17+
18+
## [1.4.17] - 06/11/2025
19+
20+
### Fixes
21+
* Adds import to the symbols references when needed. This issue surfaced when building the protocol tests with the latest Smithy release
22+
23+
## [1.4.16] - 04/28/2025
24+
25+
### Features
26+
* Add `authSchemePreference` configuration
27+
28+
## [1.4.15] - 04/21/2025
29+
30+
### Fixes
31+
* [#1214](https://github.com/awslabs/aws-sdk-kotlin/issues/1214) Improve handling of excepted socket exceptions when using connection polling
32+
33+
## [1.4.14] - 04/18/2025
34+
335
## [1.4.13] - 04/10/2025
436

537
## [1.4.12] - 04/04/2025

CONTRIBUTING.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,17 @@ The `.api` files can be updated by running `./gradlew apiDump`.
204204

205205
The binary compatibility validator can also be run manually using `./gradlew apiCheck`.
206206

207+
#### Release readiness
208+
209+
This checks for cross repo changes by looking at matching branch names across repos.
210+
It verifies that downstream changes are ready to be released. If your change spans
211+
multiple repos (aws-sdk-kotlin, smithy-kotlin, aws-crt-kotlin), the upstream
212+
changes must be merged and released first. For release assistance ask the team
213+
to run a release for you.
214+
215+
If this check is failing, and you have cross repo changes that do not rely on
216+
each other, you can add the `ready-for-release` label to your PR to override it.
217+
207218
## Finding contributions to work on
208219
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), looking at any 'help wanted' issues is a great place to start.
209220

build.gradle.kts

Lines changed: 14 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ buildscript {
1818
}
1919

2020
plugins {
21-
alias(libs.plugins.dokka)
21+
`dokka-convention`
2222
alias(libs.plugins.kotlinx.binary.compatibility.validator)
23+
alias(libs.plugins.aws.kotlin.repo.tools.artifactsizemetrics)
2324
// ensure the correct version of KGP ends up on our buildscript classpath
2425
// since build-plugins also has <some> version in its dependency closure
25-
alias(libs.plugins.kotlin.multiplatform) apply false
26-
alias(libs.plugins.kotlin.jvm) apply false
27-
alias(libs.plugins.aws.kotlin.repo.tools.artifactsizemetrics)
26+
id(libs.plugins.kotlin.multiplatform.get().pluginId) apply false
27+
id(libs.plugins.kotlin.jvm.get().pluginId) apply false
2828
}
2929

3030
artifactSizeMetrics {
@@ -40,35 +40,9 @@ val testJavaVersion = typedProp<String>("test.java.version")?.let {
4040
}
4141

4242
allprojects {
43-
tasks.withType<org.jetbrains.dokka.gradle.AbstractDokkaTask>().configureEach {
44-
val sdkVersion: String by project
45-
moduleVersion.set(sdkVersion)
46-
47-
val year = java.time.LocalDate.now().year
48-
val pluginConfigMap = mapOf(
49-
"org.jetbrains.dokka.base.DokkaBase" to """
50-
{
51-
"customStyleSheets": [
52-
"${rootProject.file("docs/dokka-presets/css/logo-styles.css")}",
53-
"${rootProject.file("docs/dokka-presets/css/aws-styles.css")}"
54-
],
55-
"customAssets": [
56-
"${rootProject.file("docs/dokka-presets/assets/logo-icon.svg")}",
57-
"${rootProject.file("docs/dokka-presets/assets/aws_logo_white_59x35.png")}",
58-
"${rootProject.file("docs/dokka-presets/scripts/accessibility.js")}"
59-
],
60-
"footerMessage": "© $year, Amazon Web Services, Inc. or its affiliates. All rights reserved.",
61-
"separateInheritedMembers" : true,
62-
"templatesDir": "${rootProject.file("docs/dokka-presets/templates")}"
63-
}
64-
""",
65-
)
66-
pluginsMapConfiguration.set(pluginConfigMap)
67-
}
68-
6943
if (rootProject.typedProp<Boolean>("kotlinWarningsAsErrors") == true) {
7044
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
71-
kotlinOptions.allWarningsAsErrors = true
45+
compilerOptions.allWarningsAsErrors = true
7246
}
7347
}
7448

@@ -90,27 +64,18 @@ allprojects {
9064
}
9165

9266
// configure the root multimodule docs
93-
tasks.dokkaHtmlMultiModule.configure {
67+
dokka {
9468
moduleName.set("Smithy Kotlin")
9569

96-
// Output subprojects' docs to <docs-base>/project-name/* instead of <docs-base>/path/to/project-name/*
97-
// This is especially important for inter-repo linking (e.g., via externalDocumentationLink) because the
98-
// package-list doesn't contain enough project path information to indicate where modules' documentation are
99-
// located.
100-
fileLayout.set { parent, child ->
101-
parent.outputDirectory.dir(child.moduleName)
70+
dokkaPublications.html {
71+
includes.from(
72+
rootProject.file("docs/dokka-presets/README.md"),
73+
)
10274
}
75+
}
10376

104-
includes.from(
105-
// NOTE: these get concatenated
106-
rootProject.file("docs/dokka-presets/README.md"),
107-
)
108-
109-
val excludeFromDocumentation = listOf(
110-
project(":runtime:testing"),
111-
project(":runtime:smithy-test"),
112-
)
113-
removeChildTasks(excludeFromDocumentation)
77+
dependencies {
78+
dokka(project(":runtime"))
11479
}
11580

11681
// Publishing
@@ -121,6 +86,7 @@ val lintPaths = listOf(
12186
"**/*.{kt,kts}",
12287
"!**/generated-src/**",
12388
"!**/smithyprojections/**",
89+
"!**/build/**",
12490
)
12591

12692
configureLinting(lintPaths)

buildSrc/build.gradle.kts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
plugins {
2+
`kotlin-dsl`
3+
}
4+
5+
repositories {
6+
mavenCentral()
7+
gradlePluginPortal()
8+
}
9+
10+
dependencies {
11+
implementation(libs.dokka.gradle.plugin)
12+
implementation(libs.kotlin.gradle.plugin)
13+
}

buildSrc/settings.gradle.kts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
rootProject.name = "buildSrc"
2+
3+
dependencyResolutionManagement {
4+
versionCatalogs {
5+
create("libs") {
6+
from(files("../gradle/libs.versions.toml"))
7+
}
8+
}
9+
}

0 commit comments

Comments
 (0)