diff --git a/runtime/runtime-core/api/runtime-core.api b/runtime/runtime-core/api/runtime-core.api index 21b70b9b5c..fa4c1d2d2e 100644 --- a/runtime/runtime-core/api/runtime-core.api +++ b/runtime/runtime-core/api/runtime-core.api @@ -2392,6 +2392,10 @@ public final class aws/smithy/kotlin/runtime/util/OsFamily : java/lang/Enum { public abstract interface class aws/smithy/kotlin/runtime/util/PlatformEnvironProvider : aws/smithy/kotlin/runtime/util/EnvironmentProvider, aws/smithy/kotlin/runtime/util/PropertyProvider { } +public final class aws/smithy/kotlin/runtime/util/PlatformKt { + public static final fun getLineSeparator (Laws/smithy/kotlin/runtime/util/OperatingSystem;)Ljava/lang/String; +} + public abstract interface class aws/smithy/kotlin/runtime/util/PlatformProvider : aws/smithy/kotlin/runtime/util/Filesystem, aws/smithy/kotlin/runtime/util/PlatformEnvironProvider { public static final field Companion Laws/smithy/kotlin/runtime/util/PlatformProvider$Companion; public abstract fun isAndroid ()Z diff --git a/runtime/runtime-core/common/src/aws/smithy/kotlin/runtime/util/Platform.kt b/runtime/runtime-core/common/src/aws/smithy/kotlin/runtime/util/Platform.kt index 684949943a..610a7b3405 100644 --- a/runtime/runtime-core/common/src/aws/smithy/kotlin/runtime/util/Platform.kt +++ b/runtime/runtime-core/common/src/aws/smithy/kotlin/runtime/util/Platform.kt @@ -52,6 +52,15 @@ internal expect object SystemDefaultProvider : PlatformProvider { public data class OperatingSystem(val family: OsFamily, val version: String?) +/** + * The string which represents a line separator on this file system. For example, on Windows, this is CRLF. + */ +public val OperatingSystem.lineSeparator: String + get() = when { + family == OsFamily.Windows -> "\r\n" + else -> "\n" + } + public enum class OsFamily { Linux, MacOs,