-
Notifications
You must be signed in to change notification settings - Fork 31
kn: merge to main #1423
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
kn: merge to main #1423
Conversation
Co-authored-by: 0marperez <60363173+0marperez@users.noreply.github.com> Co-authored-by: aws-sdk-kotlin-ci <aws-kotlin-sdk-automation@amazon.com> Co-authored-by: Ian Botsford <83236726+ianbotsf@users.noreply.github.com> Co-authored-by: Xinsong Cui <xicu@amazon.com> Co-authored-by: Manuel Sugawara <sugmanue@amazon.com>
| override fun inputStream(): InputStream = inner.inputStream() | ||
| override fun outputStream(): OutputStream = inner.outputStream() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are now exposed as extension functions, see runtime/runtime-core/jvm/src/aws/smithy/kotlin/runtime/io/JavaIO.kt
| public abstract interface class aws/smithy/kotlin/runtime/io/SdkBufferedSink : aws/smithy/kotlin/runtime/io/SdkSink, java/nio/channels/WritableByteChannel { | ||
| public abstract interface class aws/smithy/kotlin/runtime/io/SdkBufferedSink : aws/smithy/kotlin/runtime/io/SdkSink { | ||
| public abstract fun emit ()V | ||
| public abstract fun flush ()V | ||
| public abstract fun getBuffer ()Laws/smithy/kotlin/runtime/io/SdkBuffer; | ||
| public abstract fun outputStream ()Ljava/io/OutputStream; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We renamed SdkBufferedSinkJvm to SdkBufferedSinkJvmAndNative which no longer implements WritableByteChannel. This removes the outputStream() API from the interface, but we now expose it in JavaIO as an extension function. Same package, so it's not a break?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Definitely a break. The fact that this interface no longer inherits from WritableByteChannel means callers can no longer pass it into fields/args of that type. Additionally, extension functions must be imported to be used and this changes the import requirement.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed by splitting this back into Jvm and Native sourcesets like we discussed. We can explore combining them again in a future minor version bump
| public abstract interface class aws/smithy/kotlin/runtime/io/SdkBufferedSource : aws/smithy/kotlin/runtime/io/SdkSource, java/nio/channels/ReadableByteChannel { | ||
| public abstract interface class aws/smithy/kotlin/runtime/io/SdkBufferedSource : aws/smithy/kotlin/runtime/io/SdkSource { | ||
| public abstract fun exhausted ()Z | ||
| public abstract fun getBuffer ()Laws/smithy/kotlin/runtime/io/SdkBuffer; | ||
| public abstract fun inputStream ()Ljava/io/InputStream; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We renamed SdkBufferedSourceJvm to SdkBufferedSourceJvmAndNative which no longer implements ReadableByteChannel. This removes the inputStream() API from the interface, but we now expose it in JavaIO.kt as an extension function. Same package, so it's not a break?
|
Added acknowledge-api-break, but I've addressed all the real API breaks as we discussed. Only false positives remain |
This comment has been minimized.
This comment has been minimized.
…ient/native/src/aws/smithy/kotlin/runtime/client/util/AnnotationsNative.kt:8:8 Annotation `@Retention(value = AnnotationRetention.SOURCE)` is missing on actual declaration.
All annotations from expect `aws.smithy.kotlin.runtime.client.util.MpJvmDefaultWithoutCompatibility` must be present with the same arguments on actual `aws.smithy.kotlin.runtime.client.util.MpJvmDefaultWithoutCompatibility`, otherwise they might behave incorrectly.
Affected ArtifactsChanged in size
|
Issue #
Description of changes
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.