Skip to content

Commit 886798f

Browse files
committed
Merge branch 'main' of github.com:awslabs/aws-crt-kotlin into kn-main
2 parents 938a6b1 + 4388249 commit 886798f

File tree

54 files changed

+385
-128
lines changed

Some content is hidden

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

54 files changed

+385
-128
lines changed

.brazil.json

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,8 @@
11
{
22
"dependencies": {
3-
"org.jetbrains.kotlin:kotlin-stdlib-common:1.9.*": "KotlinStdlibCommon-1.9.x",
4-
"org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.*": "KotlinStdlibJdk8-1.9.x",
5-
"org.jetbrains.kotlin:kotlin-stdlib:1.9.*": "KotlinStdlib-1.9.x",
6-
"org.jetbrains.kotlinx:atomicfu-jvm:0.23.1": "AtomicfuJvm-0.23.1",
7-
"org.jetbrains.kotlinx:atomicfu:0.23.1": "Atomicfu-0.23.1",
8-
"org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.*": "KotlinxCoroutinesCoreJvm-1.7.x",
9-
"org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.*": "KotlinxCoroutinesCore-1.7.x",
10-
"org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.*": "KotlinxCoroutinesJdk8-1.7.x",
3+
"org.jetbrains.kotlin:kotlin-stdlib:2.0.*": "KotlinStdlib-2.x",
4+
"org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.*": "KotlinxCoroutinesCoreJvm-1.x",
5+
"org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.*": "KotlinxCoroutinesJdk8-1.x",
116
"software.amazon.awssdk.crt:aws-crt:0.*": "Aws-crt-java-1.0.x"
127
},
138
"packageHandlingRules": {
@@ -21,13 +16,6 @@
2116
"aws.sdk.kotlin.crt:aws-crt-kotlin-android"
2217
],
2318
"resolvesConflictDependencies": {
24-
"org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.7.*": [
25-
"KotlinStdlibCommon-1.9.x",
26-
"KotlinStdlibJdk8-1.9.x"
27-
],
28-
"org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.7.*": [
29-
"KotlinStdlibJdk8-1.9.x"
30-
]
3119
}
3220
}
3321
}

.editorconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
[*.{kt,kts}]
2+
ktlint_code_style = intellij_idea
3+
24
# ktlint rules to disable
35
ktlint_standard_no-wildcard-imports = disabled
46
ktlint_standard_filename = disabled
7+
ktlint_standard_backing-property-naming = disabled
58

69
# enable trailing commas per JetBrains recommendation
710
# (https://kotlinlang.org/docs/coding-conventions.html#trailing-commas)
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
name: Artifact Size Metrics
2+
on:
3+
pull_request:
4+
types: [ opened, synchronize, reopened, labeled, unlabeled ]
5+
branches: [ main ]
6+
release:
7+
types: [published]
8+
9+
permissions:
10+
id-token: write
11+
contents: read
12+
pull-requests: write
13+
14+
jobs:
15+
release-metrics:
16+
if: github.event_name == 'release'
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout Sources
20+
uses: actions/checkout@v4
21+
- name: Configure AWS Credentials
22+
uses: aws-actions/configure-aws-credentials@v4
23+
with:
24+
role-to-assume: ${{ secrets.CI_AWS_ROLE_ARN }}
25+
aws-region: us-west-2
26+
- name: Generate Artifact Size Metrics
27+
run: ./gradlew artifactSizeMetrics
28+
- name: Save Artifact Size Metrics
29+
run: ./gradlew saveArtifactSizeMetrics -Prelease=${{ github.event.release.tag_name }}
30+
- name: Put Artifact Size Metrics in CloudWatch
31+
run: ./gradlew putArtifactSizeMetricsInCloudWatch -Prelease=${{ github.event.release.tag_name }}
32+
size-check:
33+
if: github.event_name == 'pull_request'
34+
runs-on: ubuntu-latest
35+
steps:
36+
- name: Checkout Sources
37+
uses: actions/checkout@v4
38+
- name: Configure AWS Credentials
39+
uses: aws-actions/configure-aws-credentials@v4
40+
with:
41+
role-to-assume: ${{ secrets.CI_AWS_ROLE_ARN }}
42+
aws-region: us-west-2
43+
- name: Generate Artifact Size Metrics
44+
run: ./gradlew artifactSizeMetrics
45+
- name: Analyze Artifact Size Metrics
46+
run: ./gradlew analyzeArtifactSizeMetrics
47+
- name: Show Results
48+
uses: actions/github-script@v7
49+
with:
50+
script: |
51+
const getComments =
52+
`query {
53+
repository(owner:"${context.repo.owner}", name:"${context.repo.repo}"){
54+
pullRequest(number: ${context.issue.number}) {
55+
id
56+
comments(last:100) {
57+
nodes {
58+
id
59+
body
60+
author {
61+
login
62+
}
63+
isMinimized
64+
}
65+
}
66+
}
67+
}
68+
}`
69+
70+
const response = await github.graphql(getComments)
71+
const comments = response.repository.pullRequest.comments.nodes
72+
73+
const mutations = comments
74+
.filter(comment => comment.author.login == 'github-actions' && !comment.isMinimized && comment.body.startsWith('Affected Artifacts'))
75+
.map(comment =>
76+
github.graphql(
77+
`mutation {
78+
minimizeComment(input:{subjectId:"${comment.id}", classifier:OUTDATED}){
79+
clientMutationId
80+
}
81+
}`
82+
)
83+
)
84+
await Promise.all(mutations)
85+
86+
const fs = require('node:fs')
87+
const comment = fs.readFileSync('build/reports/metrics/artifact-analysis.md', 'utf8')
88+
89+
const writeComment =
90+
`mutation {
91+
addComment(input:{body:"""${comment}""", subjectId:"${response.repository.pullRequest.id}"}){
92+
clientMutationId
93+
}
94+
}`
95+
96+
await github.graphql(writeComment)
97+
98+
- name: Evaluate
99+
if: ${{ !contains(github.event.pull_request.labels.*.name, 'acknowledge-artifact-size-increase') }}
100+
run: |
101+
cd build/reports/metrics
102+
cat has-significant-change.txt | grep false || {
103+
echo An artifact increased in size by more than allowed or a new artifact was created.
104+
echo If this is expected please add the 'acknowledge-artifact-size-increase' label to this pull request.
105+
exit 1
106+
}

.github/workflows/dependabot.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: Dependabot Dependency Submission
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
7+
permissions:
8+
contents: write
9+
10+
jobs:
11+
dependency-submission:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- name: Checkout sources
15+
uses: actions/checkout@v4
16+
- name: Generate and submit dependency graph
17+
uses: gradle/actions/dependency-submission@v3

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@ build/
1111
*.iml
1212
.idea/
1313
local.properties
14+
*.klib

CHANGELOG.md

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

3+
## [0.8.10] - 10/16/2024
4+
5+
### Miscellaneous
6+
* Upgrade to Kotlin 2.0.21
7+
* Upgrade aws-crt-java to 0.31.3
8+
9+
## [0.8.9] - 09/18/2024
10+
11+
### Miscellaneous
12+
* Upgrade to kotlinx.coroutines 1.9.0
13+
14+
## [0.8.8] - 08/06/2024
15+
16+
### Miscellaneous
17+
* Upgrade to Kotlin 2.0.10
18+
* Upgrade to aws-crt-java 0.30.5
19+
20+
## [0.8.7] - 07/25/2024
21+
22+
### Miscellaneous
23+
* Upgrade to Kotlin 2.0.0
24+
25+
## [0.8.6] - 06/28/2024
26+
27+
### Miscellaneous
28+
* Upgrade to aws-crt-java v0.29.25
29+
* Upgrade to ktlint v1.3.0
30+
31+
## [0.8.5] - 02/09/2024
32+
33+
### Features
34+
* Add SIGV4_S3EXPRESS signing algorithm and AwsSigningConfig.toBuilder function
35+
336
## [0.8.4] - 01/10/2024
437

538
### Features

aws-crt-kotlin/api/android/aws-crt-kotlin.api

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,7 @@ public final class aws/sdk/kotlin/crt/auth/signing/AwsSigner {
322322
public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm : java/lang/Enum {
323323
public static final field SIGV4 Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
324324
public static final field SIGV4_ASYMMETRIC Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
325+
public static final field SIGV4_S3EXPRESS Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
325326
public static fun getEntries ()Lkotlin/enums/EnumEntries;
326327
public final fun getValue ()I
327328
public static fun valueOf (Ljava/lang/String;)Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
@@ -345,6 +346,7 @@ public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningConfig {
345346
public final fun getSignedBodyHeader ()Laws/sdk/kotlin/crt/auth/signing/AwsSignedBodyHeaderType;
346347
public final fun getSignedBodyValue ()Ljava/lang/String;
347348
public final fun getUseDoubleUriEncode ()Z
349+
public final fun toBuilder ()Laws/sdk/kotlin/crt/auth/signing/AwsSigningConfig$Builder;
348350
}
349351

350352
public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningConfig$Builder {

aws-crt-kotlin/api/aws-crt-kotlin.api

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,7 @@ public final class aws/sdk/kotlin/crt/auth/signing/AwsSigner {
322322
public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm : java/lang/Enum {
323323
public static final field SIGV4 Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
324324
public static final field SIGV4_ASYMMETRIC Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
325+
public static final field SIGV4_S3EXPRESS Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
325326
public static fun getEntries ()Lkotlin/enums/EnumEntries;
326327
public final fun getValue ()I
327328
public static fun valueOf (Ljava/lang/String;)Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
@@ -345,6 +346,7 @@ public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningConfig {
345346
public final fun getSignedBodyHeader ()Laws/sdk/kotlin/crt/auth/signing/AwsSignedBodyHeaderType;
346347
public final fun getSignedBodyValue ()Ljava/lang/String;
347348
public final fun getUseDoubleUriEncode ()Z
349+
public final fun toBuilder ()Laws/sdk/kotlin/crt/auth/signing/AwsSigningConfig$Builder;
348350
}
349351

350352
public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningConfig$Builder {
@@ -505,6 +507,7 @@ public final class aws/sdk/kotlin/crt/http/HttpClientConnectionManagerOptionsBui
505507

506508
public final class aws/sdk/kotlin/crt/http/HttpException : aws/sdk/kotlin/crt/CrtRuntimeException {
507509
public fun <init> (I)V
510+
public fun getErrorCode ()I
508511
}
509512

510513
public final class aws/sdk/kotlin/crt/http/HttpHeader {

aws-crt-kotlin/api/jvm/aws-crt-kotlin.api

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,7 @@ public final class aws/sdk/kotlin/crt/auth/signing/AwsSigner {
322322
public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm : java/lang/Enum {
323323
public static final field SIGV4 Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
324324
public static final field SIGV4_ASYMMETRIC Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
325+
public static final field SIGV4_S3EXPRESS Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
325326
public static fun getEntries ()Lkotlin/enums/EnumEntries;
326327
public final fun getValue ()I
327328
public static fun valueOf (Ljava/lang/String;)Laws/sdk/kotlin/crt/auth/signing/AwsSigningAlgorithm;
@@ -345,6 +346,7 @@ public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningConfig {
345346
public final fun getSignedBodyHeader ()Laws/sdk/kotlin/crt/auth/signing/AwsSignedBodyHeaderType;
346347
public final fun getSignedBodyValue ()Ljava/lang/String;
347348
public final fun getUseDoubleUriEncode ()Z
349+
public final fun toBuilder ()Laws/sdk/kotlin/crt/auth/signing/AwsSigningConfig$Builder;
348350
}
349351

350352
public final class aws/sdk/kotlin/crt/auth/signing/AwsSigningConfig$Builder {

aws-crt-kotlin/common/src/aws/sdk/kotlin/crt/auth/credentials/CachedCredentialsProvider.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@ package aws.sdk.kotlin.crt.auth.credentials
1818
* @return the newly-constructed credentials provider
1919
*/
2020
public expect class CachedCredentialsProvider internal constructor(builder: CachedCredentialsProviderBuilder) : CredentialsProvider {
21-
public companion object
21+
public companion object { }
22+
23+
override fun close()
24+
override suspend fun getCredentials(): Credentials
25+
override suspend fun waitForShutdown()
2226
}
2327

2428
public class CachedCredentialsProviderBuilder {
@@ -43,5 +47,4 @@ public class CachedCredentialsProviderBuilder {
4347
/**
4448
* Construct a new credentials provider using a builder
4549
*/
46-
public fun CachedCredentialsProvider.Companion.build(block: CachedCredentialsProviderBuilder.() -> Unit):
47-
CachedCredentialsProvider = CachedCredentialsProviderBuilder().apply(block).build()
50+
public fun CachedCredentialsProvider.Companion.build(block: CachedCredentialsProviderBuilder.() -> Unit): CachedCredentialsProvider = CachedCredentialsProviderBuilder().apply(block).build()

0 commit comments

Comments
 (0)