diff --git a/corellium/domain/build.gradle.kts b/corellium/domain/build.gradle.kts index 2a8702c0fc..c1d2021f53 100644 --- a/corellium/domain/build.gradle.kts +++ b/corellium/domain/build.gradle.kts @@ -16,6 +16,7 @@ tasks.withType { kotlinOptions.jvmTarget = "1.8" } dependencies { implementation(Dependencies.KOTLIN_COROUTINES_CORE) api(project(":corellium:api")) + api(project(":tool:execution:linear")) api(project(":tool:apk")) api(project(":tool:filter")) api(project(":tool:shard:calculate")) diff --git a/corellium/domain/src/main/kotlin/flank/corellium/domain/RunTestCorelliumAndroid.kt b/corellium/domain/src/main/kotlin/flank/corellium/domain/RunTestCorelliumAndroid.kt index d1a6f23088..53aab9be09 100644 --- a/corellium/domain/src/main/kotlin/flank/corellium/domain/RunTestCorelliumAndroid.kt +++ b/corellium/domain/src/main/kotlin/flank/corellium/domain/RunTestCorelliumAndroid.kt @@ -23,9 +23,9 @@ import flank.corellium.domain.run.test.android.step.loadPreviousDurations import flank.corellium.domain.run.test.android.step.parseApksInfo import flank.corellium.domain.run.test.android.step.parseTestCasesFromApks import flank.corellium.domain.run.test.android.step.prepareShards -import flank.corellium.domain.util.Transform -import flank.corellium.domain.util.execute -import flank.corellium.domain.util.injectLogger +import flank.exection.linear.Transform +import flank.exection.linear.execute +import flank.exection.linear.injectLogger import flank.instrument.log.Instrument import flank.junit.JUnit import flank.log.Event diff --git a/settings.gradle.kts b/settings.gradle.kts index a50ae08954..c5a75fdd9b 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -35,7 +35,7 @@ include( ":tool:log", ":tool:log:format", ":tool:execution:parallel", - ":tool:execution:synchronized", + ":tool:execution:linear", ) plugins { diff --git a/tool/execution/synchronized/build.gradle.kts b/tool/execution/linear/build.gradle.kts similarity index 93% rename from tool/execution/synchronized/build.gradle.kts rename to tool/execution/linear/build.gradle.kts index 93570d09cd..8a834159ff 100644 --- a/tool/execution/synchronized/build.gradle.kts +++ b/tool/execution/linear/build.gradle.kts @@ -13,6 +13,7 @@ repositories { tasks.withType { kotlinOptions.jvmTarget = "1.8" } dependencies { + api(project(":tool:log")) implementation(Dependencies.KOTLIN_COROUTINES_CORE) testImplementation(Dependencies.JUNIT) } diff --git a/corellium/domain/src/main/kotlin/flank/corellium/domain/util/Transform.kt b/tool/execution/linear/src/main/kotlin/flank/exection/linear/Transform.kt similarity index 79% rename from corellium/domain/src/main/kotlin/flank/corellium/domain/util/Transform.kt rename to tool/execution/linear/src/main/kotlin/flank/exection/linear/Transform.kt index 2649d725ec..89ee7e14b0 100644 --- a/corellium/domain/src/main/kotlin/flank/corellium/domain/util/Transform.kt +++ b/tool/execution/linear/src/main/kotlin/flank/exection/linear/Transform.kt @@ -1,4 +1,4 @@ -package flank.corellium.domain.util +package flank.exection.linear import flank.log.Event import flank.log.Logger @@ -14,13 +14,13 @@ import kotlinx.coroutines.flow.fold * @receiver Value to apply transformations on it. * @return Result of transformations. */ -internal suspend infix fun S.execute(operations: Flow>): S = +suspend infix fun S.execute(operations: Flow>): S = operations.fold(this) { value, transform -> transform(value) } /** * Simple parameterized factory for generating [Transform] instances. */ -internal class CreateTransformation : (Transform) -> Transform by { it } +class CreateTransformation : (Transform) -> Transform by { it } /** * Type-alias for suspendable transforming operation @@ -30,7 +30,7 @@ typealias Transform = suspend S.() -> S /** * Inject log output to the transform function. */ -internal fun Logger.injectLogger( +fun Logger.injectLogger( type: Any = Unit, transform: suspend S.(Output) -> S ): Transform {