[Commonizer] Don't use experimental Kotlin time in commonizer
This commit is contained in:
-2
@@ -9,9 +9,7 @@ import org.jetbrains.kotlin.descriptors.commonizer.konan.NativeDistributionCommo
|
|||||||
import org.jetbrains.kotlin.konan.target.HostManager
|
import org.jetbrains.kotlin.konan.target.HostManager
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import kotlin.system.exitProcess
|
import kotlin.system.exitProcess
|
||||||
import kotlin.time.ExperimentalTime
|
|
||||||
|
|
||||||
@ExperimentalTime
|
|
||||||
fun main(args: Array<String>) {
|
fun main(args: Array<String>) {
|
||||||
if (args.isEmpty()) printUsageAndExit()
|
if (args.isEmpty()) printUsageAndExit()
|
||||||
|
|
||||||
|
|||||||
-2
@@ -27,7 +27,6 @@ import org.jetbrains.kotlin.name.Name
|
|||||||
import org.jetbrains.kotlin.serialization.konan.impl.KlibResolvedModuleDescriptorsFactoryImpl
|
import org.jetbrains.kotlin.serialization.konan.impl.KlibResolvedModuleDescriptorsFactoryImpl
|
||||||
import org.jetbrains.kotlin.storage.LockBasedStorageManager
|
import org.jetbrains.kotlin.storage.LockBasedStorageManager
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import kotlin.time.ExperimentalTime
|
|
||||||
import org.jetbrains.kotlin.konan.file.File as KFile
|
import org.jetbrains.kotlin.konan.file.File as KFile
|
||||||
|
|
||||||
class NativeDistributionCommonizer(
|
class NativeDistributionCommonizer(
|
||||||
@@ -40,7 +39,6 @@ class NativeDistributionCommonizer(
|
|||||||
private val handleError: (String) -> Nothing,
|
private val handleError: (String) -> Nothing,
|
||||||
private val log: (String) -> Unit
|
private val log: (String) -> Unit
|
||||||
) {
|
) {
|
||||||
@ExperimentalTime
|
|
||||||
fun run() {
|
fun run() {
|
||||||
checkPreconditions()
|
checkPreconditions()
|
||||||
|
|
||||||
|
|||||||
+38
-7
@@ -5,15 +5,46 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.descriptors.commonizer.utils
|
package org.jetbrains.kotlin.descriptors.commonizer.utils
|
||||||
|
|
||||||
import kotlin.time.Duration
|
import java.lang.System.currentTimeMillis
|
||||||
import kotlin.time.ExperimentalTime
|
|
||||||
import kotlin.time.MonoClock
|
|
||||||
|
|
||||||
@ExperimentalTime
|
|
||||||
internal class ResettableClockMark {
|
internal class ResettableClockMark {
|
||||||
private val startMark = MonoClock.markNow()
|
internal class Period(val start: Long, val end: Long) {
|
||||||
|
override fun toString(): String {
|
||||||
|
var remainder = end - start
|
||||||
|
|
||||||
|
val millis = remainder % 1000
|
||||||
|
remainder /= 1000
|
||||||
|
|
||||||
|
val seconds = remainder % 60
|
||||||
|
remainder /= 60
|
||||||
|
|
||||||
|
val minutes = remainder % 60
|
||||||
|
|
||||||
|
val hours = remainder / 60
|
||||||
|
|
||||||
|
// human-friendly formatted duration
|
||||||
|
return buildString {
|
||||||
|
if (hours > 0) append(hours).append("h ")
|
||||||
|
if (minutes > 0 || isNotEmpty()) append(minutes).append("m ")
|
||||||
|
if (seconds > 0 || isNotEmpty()) append(seconds).append("s ")
|
||||||
|
if (millis > 0 || isNotEmpty()) append(millis).append("ms")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private val startMark = currentTimeMillis()
|
||||||
private var lastMark = startMark
|
private var lastMark = startMark
|
||||||
|
|
||||||
fun elapsedSinceLast(): Duration = lastMark.elapsedNow().also { lastMark = lastMark.plus(it) }
|
fun elapsedSinceLast(): Period = Period(lastMark, currentTimeMillis()).also { lastMark = it.end }
|
||||||
fun elapsedSinceStart(): Duration = startMark.elapsedNow()
|
fun elapsedSinceStart(): Period = Period(startMark, currentTimeMillis())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: this is how it should be when Kotlin Time will become non-experimental
|
||||||
|
//@ExperimentalTime
|
||||||
|
//internal class ResettableClockMark {
|
||||||
|
// private val startMark = MonoClock.markNow()
|
||||||
|
// private var lastMark = startMark
|
||||||
|
//
|
||||||
|
// fun elapsedSinceLast(): Duration = lastMark.elapsedNow().also { lastMark = lastMark.plus(it) }
|
||||||
|
// fun elapsedSinceStart(): Duration = startMark.elapsedNow()
|
||||||
|
//}
|
||||||
|
|||||||
Reference in New Issue
Block a user