diff --git a/CHANGELOG.md b/CHANGELOG.md index dd67d72..692b656 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,12 @@ ## 0.4.0 +**BREAKING CHANGES** +Package of project has been changed. Migration: + +* Replace in your dependencies `com.insanusmokrassar:krontab` by `dev.inmo:krontab` +* Replace in your project all imports `com.insanusmokrassar.krontab` by `dev.inmo.krontab` + ## 0.3.3 * Versions: diff --git a/build.gradle b/build.gradle index b510324..08a1dba 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ plugins { } project.version = "0.4.0" -project.group = "com.insanusmokrassar" +project.group = "dev.inmo" apply from: "publish.gradle" apply from: "github_release.gradle" diff --git a/src/commonMain/kotlin/com/insanusmokrassar/krontab/internal/CronDateTimeScheduler.kt b/src/commonMain/kotlin/com/insanusmokrassar/krontab/internal/CronDateTimeScheduler.kt deleted file mode 100644 index 627d4c2..0000000 --- a/src/commonMain/kotlin/com/insanusmokrassar/krontab/internal/CronDateTimeScheduler.kt +++ /dev/null @@ -1,32 +0,0 @@ -package com.insanusmokrassar.krontab.internal - -import com.insanusmokrassar.krontab.KronScheduler -import com.insanusmokrassar.krontab.anyCronDateTime -import com.soywiz.klock.DateTime - -/** - * Cron-oriented realisation of [KronScheduler] - * - * @see com.insanusmokrassar.krontab.AnyTimeScheduler - * @see com.insanusmokrassar.krontab.EverySecondScheduler - * @see com.insanusmokrassar.krontab.EveryMinuteScheduler - * @see com.insanusmokrassar.krontab.EveryHourScheduler - * @see com.insanusmokrassar.krontab.EveryDayOfMonthScheduler - * @see com.insanusmokrassar.krontab.EveryMonthScheduler - * - * @see com.insanusmokrassar.krontab.builder.buildSchedule - * @see com.insanusmokrassar.krontab.builder.SchedulerBuilder - */ -internal data class CronDateTimeScheduler internal constructor( - internal val cronDateTimes: List -) : KronScheduler { - /** - * @return Near date using [cronDateTimes] list and getting the [Iterable.min] one - * - * @see toNearDateTime - */ - override suspend fun next(relatively: DateTime): DateTime { - return cronDateTimes.map { it.toNearDateTime(relatively) }.minOrNull() ?: anyCronDateTime.toNearDateTime(relatively) - } -} - diff --git a/src/commonMain/kotlin/com/insanusmokrassar/krontab/Executes.kt b/src/commonMain/kotlin/dev/inmo/krontab/Executes.kt similarity index 95% rename from src/commonMain/kotlin/com/insanusmokrassar/krontab/Executes.kt rename to src/commonMain/kotlin/dev/inmo/krontab/Executes.kt index aab03af..18daaff 100644 --- a/src/commonMain/kotlin/com/insanusmokrassar/krontab/Executes.kt +++ b/src/commonMain/kotlin/dev/inmo/krontab/Executes.kt @@ -1,7 +1,6 @@ -package com.insanusmokrassar.krontab +package dev.inmo.krontab import com.soywiz.klock.DateTime -import kotlinx.coroutines.Deferred import kotlinx.coroutines.delay /** diff --git a/src/commonMain/kotlin/com/insanusmokrassar/krontab/KronScheduler.kt b/src/commonMain/kotlin/dev/inmo/krontab/KronScheduler.kt similarity index 63% rename from src/commonMain/kotlin/com/insanusmokrassar/krontab/KronScheduler.kt rename to src/commonMain/kotlin/dev/inmo/krontab/KronScheduler.kt index 827e8bb..4c5385c 100644 --- a/src/commonMain/kotlin/com/insanusmokrassar/krontab/KronScheduler.kt +++ b/src/commonMain/kotlin/dev/inmo/krontab/KronScheduler.kt @@ -1,21 +1,21 @@ -package com.insanusmokrassar.krontab +package dev.inmo.krontab import com.soywiz.klock.DateTime /** * This interface was created for abstraction of [next] operation. Currently, there is only - * [com.insanusmokrassar.krontab.internal.CronDateTimeScheduler] realisation of this interface inside of this library, + * [dev.inmo.krontab.internal.CronDateTimeScheduler] realisation of this interface inside of this library, * but you it is possible to create your own realisation of this interface for scheduling, for example, depending of * users activity or something like this * - * @see com.insanusmokrassar.krontab.internal.CronDateTimeScheduler + * @see dev.inmo.krontab.internal.CronDateTimeScheduler */ interface KronScheduler { /** * @return Next [DateTime] when some action must be triggered according to settings of this instance * - * @see com.insanusmokrassar.krontab.internal.CronDateTimeScheduler.next + * @see dev.inmo.krontab.internal.CronDateTimeScheduler.next */ suspend fun next(relatively: DateTime = DateTime.now()): DateTime } diff --git a/src/commonMain/kotlin/com/insanusmokrassar/krontab/SchedulerShortcuts.kt b/src/commonMain/kotlin/dev/inmo/krontab/SchedulerShortcuts.kt similarity index 84% rename from src/commonMain/kotlin/com/insanusmokrassar/krontab/SchedulerShortcuts.kt rename to src/commonMain/kotlin/dev/inmo/krontab/SchedulerShortcuts.kt index ef05f6f..c3cadc7 100644 --- a/src/commonMain/kotlin/com/insanusmokrassar/krontab/SchedulerShortcuts.kt +++ b/src/commonMain/kotlin/dev/inmo/krontab/SchedulerShortcuts.kt @@ -1,8 +1,8 @@ -package com.insanusmokrassar.krontab +package dev.inmo.krontab -import com.insanusmokrassar.krontab.builder.buildSchedule -import com.insanusmokrassar.krontab.internal.CronDateTime -import com.insanusmokrassar.krontab.internal.CronDateTimeScheduler +import dev.inmo.krontab.builder.buildSchedule +import dev.inmo.krontab.internal.CronDateTime +import dev.inmo.krontab.internal.CronDateTimeScheduler internal val anyCronDateTime by lazy { CronDateTime() diff --git a/src/commonMain/kotlin/com/insanusmokrassar/krontab/StringParser.kt b/src/commonMain/kotlin/dev/inmo/krontab/StringParser.kt similarity index 92% rename from src/commonMain/kotlin/com/insanusmokrassar/krontab/StringParser.kt rename to src/commonMain/kotlin/dev/inmo/krontab/StringParser.kt index 01f5d5c..845ad5d 100644 --- a/src/commonMain/kotlin/com/insanusmokrassar/krontab/StringParser.kt +++ b/src/commonMain/kotlin/dev/inmo/krontab/StringParser.kt @@ -1,6 +1,6 @@ -package com.insanusmokrassar.krontab +package dev.inmo.krontab -import com.insanusmokrassar.krontab.internal.* +import dev.inmo.krontab.internal.* /** * @see createSimpleScheduler @@ -45,7 +45,7 @@ typealias KrontabTemplate = String * * "0/15 30 * * *" for every 15th seconds in a half of each hour * * "1 2 3 F,4,L 5" for triggering in near first second of second minute of third hour of fourth day of may * - * @see com.insanusmokrassar.krontab.internal.createKronScheduler + * @see dev.inmo.krontab.internal.createKronScheduler */ fun createSimpleScheduler(incoming: KrontabTemplate): KronScheduler { val (secondsSource, minutesSource, hoursSource, dayOfMonthSource, monthSource) = incoming.split(" ") diff --git a/src/commonMain/kotlin/com/insanusmokrassar/krontab/builder/SchedulerBuilder.kt b/src/commonMain/kotlin/dev/inmo/krontab/builder/SchedulerBuilder.kt similarity index 81% rename from src/commonMain/kotlin/com/insanusmokrassar/krontab/builder/SchedulerBuilder.kt rename to src/commonMain/kotlin/dev/inmo/krontab/builder/SchedulerBuilder.kt index 57d4aec..d1db013 100644 --- a/src/commonMain/kotlin/com/insanusmokrassar/krontab/builder/SchedulerBuilder.kt +++ b/src/commonMain/kotlin/dev/inmo/krontab/builder/SchedulerBuilder.kt @@ -1,15 +1,12 @@ -package com.insanusmokrassar.krontab.builder +package dev.inmo.krontab.builder -import com.insanusmokrassar.krontab.KronScheduler -import com.insanusmokrassar.krontab.internal.* -import com.insanusmokrassar.krontab.internal.CronDateTime -import com.insanusmokrassar.krontab.internal.CronDateTimeScheduler -import com.insanusmokrassar.krontab.internal.fillWith +import dev.inmo.krontab.KronScheduler +import dev.inmo.krontab.internal.createKronScheduler /** * Will help to create an instance of [KronScheduler] * - * @see com.insanusmokrassar.krontab.createSimpleScheduler + * @see dev.inmo.krontab.createSimpleScheduler */ fun buildSchedule(settingsBlock: SchedulerBuilder.() -> Unit): KronScheduler { val builder = SchedulerBuilder() @@ -100,8 +97,8 @@ class SchedulerBuilder( /** * @return Completely built and independent [KronScheduler] * - * @see com.insanusmokrassar.krontab.createSimpleScheduler - * @see com.insanusmokrassar.krontab.internal.createKronScheduler + * @see dev.inmo.krontab.createSimpleScheduler + * @see dev.inmo.krontab.internal.createKronScheduler */ fun build(): KronScheduler = createKronScheduler(seconds, minutes, hours, dayOfMonth, month) } diff --git a/src/commonMain/kotlin/com/insanusmokrassar/krontab/builder/TimeBuilder.kt b/src/commonMain/kotlin/dev/inmo/krontab/builder/TimeBuilder.kt similarity index 96% rename from src/commonMain/kotlin/com/insanusmokrassar/krontab/builder/TimeBuilder.kt rename to src/commonMain/kotlin/dev/inmo/krontab/builder/TimeBuilder.kt index 467e48d..a250cbe 100644 --- a/src/commonMain/kotlin/com/insanusmokrassar/krontab/builder/TimeBuilder.kt +++ b/src/commonMain/kotlin/dev/inmo/krontab/builder/TimeBuilder.kt @@ -1,7 +1,7 @@ -package com.insanusmokrassar.krontab.builder +package dev.inmo.krontab.builder -import com.insanusmokrassar.krontab.internal.* -import com.insanusmokrassar.krontab.utils.clamp +import dev.inmo.krontab.internal.* +import dev.inmo.krontab.utils.clamp /** * This class was created for incapsulation of builder work with specified [restrictionsRange]. For example, diff --git a/src/commonMain/kotlin/com/insanusmokrassar/krontab/internal/CronDateTime.kt b/src/commonMain/kotlin/dev/inmo/krontab/internal/CronDateTime.kt similarity index 95% rename from src/commonMain/kotlin/com/insanusmokrassar/krontab/internal/CronDateTime.kt rename to src/commonMain/kotlin/dev/inmo/krontab/internal/CronDateTime.kt index e354b65..ed89c96 100644 --- a/src/commonMain/kotlin/com/insanusmokrassar/krontab/internal/CronDateTime.kt +++ b/src/commonMain/kotlin/dev/inmo/krontab/internal/CronDateTime.kt @@ -1,9 +1,8 @@ -package com.insanusmokrassar.krontab.internal +package dev.inmo.krontab.internal -import com.insanusmokrassar.krontab.KronScheduler -import com.insanusmokrassar.krontab.utils.clamp import com.soywiz.klock.DateTime import com.soywiz.klock.DateTimeSpan +import dev.inmo.krontab.KronScheduler /** * @param month 0-11 diff --git a/src/commonMain/kotlin/dev/inmo/krontab/internal/CronDateTimeScheduler.kt b/src/commonMain/kotlin/dev/inmo/krontab/internal/CronDateTimeScheduler.kt new file mode 100644 index 0000000..c178620 --- /dev/null +++ b/src/commonMain/kotlin/dev/inmo/krontab/internal/CronDateTimeScheduler.kt @@ -0,0 +1,32 @@ +package dev.inmo.krontab.internal + +import com.soywiz.klock.DateTime +import dev.inmo.krontab.KronScheduler +import dev.inmo.krontab.anyCronDateTime + +/** + * Cron-oriented realisation of [KronScheduler] + * + * @see dev.inmo.krontab.AnyTimeScheduler + * @see dev.inmo.krontab.EverySecondScheduler + * @see dev.inmo.krontab.EveryMinuteScheduler + * @see dev.inmo.krontab.EveryHourScheduler + * @see dev.inmo.krontab.EveryDayOfMonthScheduler + * @see dev.inmo.krontab.EveryMonthScheduler + * + * @see dev.inmo.krontab.builder.buildSchedule + * @see dev.inmo.krontab.builder.SchedulerBuilder + */ +internal data class CronDateTimeScheduler internal constructor( + internal val cronDateTimes: List +) : KronScheduler { + /** + * @return Near date using [cronDateTimes] list and getting the [Iterable.min] one + * + * @see toNearDateTime + */ + override suspend fun next(relatively: DateTime): DateTime { + return cronDateTimes.map { it.toNearDateTime(relatively) }.minOrNull() ?: anyCronDateTime.toNearDateTime(relatively) + } +} + diff --git a/src/commonMain/kotlin/com/insanusmokrassar/krontab/internal/Parser.kt b/src/commonMain/kotlin/dev/inmo/krontab/internal/Parser.kt similarity index 95% rename from src/commonMain/kotlin/com/insanusmokrassar/krontab/internal/Parser.kt rename to src/commonMain/kotlin/dev/inmo/krontab/internal/Parser.kt index 3c9b2cf..04b71ff 100644 --- a/src/commonMain/kotlin/com/insanusmokrassar/krontab/internal/Parser.kt +++ b/src/commonMain/kotlin/dev/inmo/krontab/internal/Parser.kt @@ -1,6 +1,6 @@ -package com.insanusmokrassar.krontab.internal +package dev.inmo.krontab.internal -import com.insanusmokrassar.krontab.utils.clamp +import dev.inmo.krontab.utils.clamp private fun createSimpleScheduler(from: String, dataRange: IntRange): Array? { val things = from.split(",") diff --git a/src/commonMain/kotlin/com/insanusmokrassar/krontab/internal/Ranges.kt b/src/commonMain/kotlin/dev/inmo/krontab/internal/Ranges.kt similarity index 80% rename from src/commonMain/kotlin/com/insanusmokrassar/krontab/internal/Ranges.kt rename to src/commonMain/kotlin/dev/inmo/krontab/internal/Ranges.kt index 26c60fa..58586f1 100644 --- a/src/commonMain/kotlin/com/insanusmokrassar/krontab/internal/Ranges.kt +++ b/src/commonMain/kotlin/dev/inmo/krontab/internal/Ranges.kt @@ -1,4 +1,4 @@ -package com.insanusmokrassar.krontab.internal +package dev.inmo.krontab.internal internal val monthRange = 0 .. 11 internal val dayOfMonthRange = 0 .. 30 diff --git a/src/commonMain/kotlin/com/insanusmokrassar/krontab/utils/Data.kt b/src/commonMain/kotlin/dev/inmo/krontab/utils/Data.kt similarity index 90% rename from src/commonMain/kotlin/com/insanusmokrassar/krontab/utils/Data.kt rename to src/commonMain/kotlin/dev/inmo/krontab/utils/Data.kt index 5060708..f442496 100644 --- a/src/commonMain/kotlin/com/insanusmokrassar/krontab/utils/Data.kt +++ b/src/commonMain/kotlin/dev/inmo/krontab/utils/Data.kt @@ -1,4 +1,4 @@ -package com.insanusmokrassar.krontab.utils +package dev.inmo.krontab.utils /** * @return [min] in case if [this] less than [min]. Otherwise will check that [max] grant than [this] and return [this] diff --git a/src/commonMain/kotlin/com/insanusmokrassar/krontab/utils/SchedulerFlow.kt b/src/commonMain/kotlin/dev/inmo/krontab/utils/SchedulerFlow.kt similarity index 87% rename from src/commonMain/kotlin/com/insanusmokrassar/krontab/utils/SchedulerFlow.kt rename to src/commonMain/kotlin/dev/inmo/krontab/utils/SchedulerFlow.kt index 0d756ec..eca31f2 100644 --- a/src/commonMain/kotlin/com/insanusmokrassar/krontab/utils/SchedulerFlow.kt +++ b/src/commonMain/kotlin/dev/inmo/krontab/utils/SchedulerFlow.kt @@ -1,7 +1,7 @@ -package com.insanusmokrassar.krontab.utils +package dev.inmo.krontab.utils -import com.insanusmokrassar.krontab.KronScheduler import com.soywiz.klock.DateTime +import dev.inmo.krontab.KronScheduler import kotlinx.coroutines.FlowPreview import kotlinx.coroutines.delay import kotlinx.coroutines.flow.* diff --git a/src/commonTest/kotlin/com/insanusmokrassar/krontab/utils/FailJob.kt b/src/commonTest/kotlin/dev/inmo/krontab/utils/FailJob.kt similarity index 83% rename from src/commonTest/kotlin/com/insanusmokrassar/krontab/utils/FailJob.kt rename to src/commonTest/kotlin/dev/inmo/krontab/utils/FailJob.kt index 43530fe..836c38b 100644 --- a/src/commonTest/kotlin/com/insanusmokrassar/krontab/utils/FailJob.kt +++ b/src/commonTest/kotlin/dev/inmo/krontab/utils/FailJob.kt @@ -1,4 +1,4 @@ -package com.insanusmokrassar.krontab.utils +package dev.inmo.krontab.utils import kotlinx.coroutines.* diff --git a/src/commonTest/kotlin/com/insanusmokrassar/krontab/utils/RunTest.kt b/src/commonTest/kotlin/dev/inmo/krontab/utils/RunTest.kt similarity index 80% rename from src/commonTest/kotlin/com/insanusmokrassar/krontab/utils/RunTest.kt rename to src/commonTest/kotlin/dev/inmo/krontab/utils/RunTest.kt index 129a4b5..871bb2e 100644 --- a/src/commonTest/kotlin/com/insanusmokrassar/krontab/utils/RunTest.kt +++ b/src/commonTest/kotlin/dev/inmo/krontab/utils/RunTest.kt @@ -1,4 +1,4 @@ -package com.insanusmokrassar.krontab.utils +package dev.inmo.krontab.utils import kotlinx.coroutines.CoroutineScope diff --git a/src/commonTest/kotlin/com/insanusmokrassar/krontab/utils/SchedulerFlow.kt b/src/commonTest/kotlin/dev/inmo/krontab/utils/SchedulerFlow.kt similarity index 92% rename from src/commonTest/kotlin/com/insanusmokrassar/krontab/utils/SchedulerFlow.kt rename to src/commonTest/kotlin/dev/inmo/krontab/utils/SchedulerFlow.kt index 2bb913f..0b305fd 100644 --- a/src/commonTest/kotlin/com/insanusmokrassar/krontab/utils/SchedulerFlow.kt +++ b/src/commonTest/kotlin/dev/inmo/krontab/utils/SchedulerFlow.kt @@ -1,7 +1,6 @@ -package com.insanusmokrassar.krontab.utils +package dev.inmo.krontab.utils -import com.insanusmokrassar.krontab.builder.buildSchedule -import com.soywiz.klock.DateTime +import dev.inmo.krontab.builder.buildSchedule import kotlinx.coroutines.* import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.takeWhile diff --git a/src/commonTest/kotlin/com/insanusmokrassar/krontab/utils/StringParseTest.kt b/src/commonTest/kotlin/dev/inmo/krontab/utils/StringParseTest.kt similarity index 93% rename from src/commonTest/kotlin/com/insanusmokrassar/krontab/utils/StringParseTest.kt rename to src/commonTest/kotlin/dev/inmo/krontab/utils/StringParseTest.kt index 383788a..fe37fc2 100644 --- a/src/commonTest/kotlin/com/insanusmokrassar/krontab/utils/StringParseTest.kt +++ b/src/commonTest/kotlin/dev/inmo/krontab/utils/StringParseTest.kt @@ -1,12 +1,9 @@ -package com.insanusmokrassar.krontab.utils +package dev.inmo.krontab.utils -import com.insanusmokrassar.krontab.buildSchedule -import com.soywiz.klock.DateTime +import dev.inmo.krontab.buildSchedule import kotlinx.coroutines.* import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.takeWhile -import kotlin.math.max -import kotlin.math.min import kotlin.test.Test import kotlin.test.assertEquals diff --git a/src/jsTest/kotlin/com/insanusmokrassar/krontab/utils/RunTest.kt b/src/jsTest/kotlin/dev/inmo/krontab/utils/RunTest.kt similarity index 77% rename from src/jsTest/kotlin/com/insanusmokrassar/krontab/utils/RunTest.kt rename to src/jsTest/kotlin/dev/inmo/krontab/utils/RunTest.kt index 5d87632..2318d43 100644 --- a/src/jsTest/kotlin/com/insanusmokrassar/krontab/utils/RunTest.kt +++ b/src/jsTest/kotlin/dev/inmo/krontab/utils/RunTest.kt @@ -1,4 +1,4 @@ -package com.insanusmokrassar.krontab.utils +package dev.inmo.krontab.utils import kotlinx.coroutines.* diff --git a/src/jvmTest/kotlin/com/insanusmokrassar/krontab/utils/RunTest.kt b/src/jvmTest/kotlin/dev/inmo/krontab/utils/RunTest.kt similarity index 84% rename from src/jvmTest/kotlin/com/insanusmokrassar/krontab/utils/RunTest.kt rename to src/jvmTest/kotlin/dev/inmo/krontab/utils/RunTest.kt index a20cefc..aee7680 100644 --- a/src/jvmTest/kotlin/com/insanusmokrassar/krontab/utils/RunTest.kt +++ b/src/jvmTest/kotlin/dev/inmo/krontab/utils/RunTest.kt @@ -1,4 +1,4 @@ -package com.insanusmokrassar.krontab.utils +package dev.inmo.krontab.utils import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.runBlocking