From 091bb1394f10a3b756f96c4a288074af00b8b813 Mon Sep 17 00:00:00 2001 From: InsanusMokrassar Date: Thu, 26 Nov 2020 18:01:12 +0600 Subject: [PATCH] Warning annotation --- CHANGELOG.md | 2 ++ .../dev/inmo/micro_utils/common/Annotations.kt | 18 ++++++++++++++++++ repos/common/build.gradle | 5 +++++ .../repos/FileStandardKeyValueRepo.kt | 3 +++ 4 files changed, 28 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9a89e74d13..fb248dad33a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## 0.4.6 +* `Common` + * New annotation `Warning` has been added * `Pagination` * `Common` * `Pagination` got new extension: `Pagination#isFirstPage` diff --git a/common/src/commonMain/kotlin/dev/inmo/micro_utils/common/Annotations.kt b/common/src/commonMain/kotlin/dev/inmo/micro_utils/common/Annotations.kt index a05f4360397..7873443768c 100644 --- a/common/src/commonMain/kotlin/dev/inmo/micro_utils/common/Annotations.kt +++ b/common/src/commonMain/kotlin/dev/inmo/micro_utils/common/Annotations.kt @@ -17,3 +17,21 @@ package dev.inmo.micro_utils.common AnnotationTarget.TYPE_PARAMETER ) annotation class PreviewFeature + +@RequiresOptIn( + "This thing is marked as warned. See message of warn to get more info", + RequiresOptIn.Level.WARNING +) +@Target( + AnnotationTarget.CLASS, + AnnotationTarget.CONSTRUCTOR, + AnnotationTarget.FIELD, + AnnotationTarget.PROPERTY, + AnnotationTarget.PROPERTY_GETTER, + AnnotationTarget.PROPERTY_SETTER, + AnnotationTarget.FUNCTION, + AnnotationTarget.TYPE, + AnnotationTarget.TYPEALIAS, + AnnotationTarget.TYPE_PARAMETER +) +annotation class Warning(val message: String) diff --git a/repos/common/build.gradle b/repos/common/build.gradle index cd8a5615d26..3a41642d0cd 100644 --- a/repos/common/build.gradle +++ b/repos/common/build.gradle @@ -17,6 +17,11 @@ kotlin { } } + jvmMain { + dependencies { + api internalProject("micro_utils.common") + } + } androidMain { dependencies { api "androidx.core:core-ktx:$core_ktx_version" diff --git a/repos/common/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/FileStandardKeyValueRepo.kt b/repos/common/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/FileStandardKeyValueRepo.kt index 3e698df4e29..99553103c5a 100644 --- a/repos/common/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/FileStandardKeyValueRepo.kt +++ b/repos/common/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/FileStandardKeyValueRepo.kt @@ -1,5 +1,6 @@ package dev.inmo.micro_utils.repos +import dev.inmo.micro_utils.common.Warning import dev.inmo.micro_utils.pagination.* import dev.inmo.micro_utils.pagination.utils.reverse import kotlinx.coroutines.* @@ -81,6 +82,7 @@ class FileReadStandardKeyValueRepo( /** * Files watching will not correctly works on Android with version of API lower than API 26 */ +@Warning("Files watching will not correctly works on Android Platform with version of API lower than API 26") class FileWriteStandardKeyValueRepo( private val folder: File, filesChangedProcessingScope: CoroutineScope? = null @@ -160,6 +162,7 @@ class FileWriteStandardKeyValueRepo( } } +@Warning("Files watching will not correctly works on Android Platform with version of API lower than API 26") class FileStandardKeyValueRepo( folder: File, filesChangedProcessingScope: CoroutineScope? = null