From 0ff88ef11ccb084ecb7251f1419a9ec656dcfd56 Mon Sep 17 00:00:00 2001 From: upstarts Date: Thu, 18 Apr 2024 10:16:48 +0100 Subject: [PATCH 1/7] Update readme.md contacts update --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 0f9f56f..2b30786 100644 --- a/readme.md +++ b/readme.md @@ -130,4 +130,4 @@ You can find and test the example in a [sample activity](app/src/main/java/work/ [Ruslan Aliev](https://github.com/heckslam) - Architecture, Implementation -[Vadim Popov](https://t.me/popovvadim) - Architecture draft +[Vadim Popov](https://github.com/PopovVadim) - Architecture draft From a4cc74dac43cd0ae4e0781e2326b19b2ff1a2da0 Mon Sep 17 00:00:00 2001 From: Ruslan Aliev Date: Sun, 21 Apr 2024 20:49:22 +0300 Subject: [PATCH 2/7] update all dependencies in library --- app/build.gradle | 10 ++++++++- app/src/main/AndroidManifest.xml | 3 +-- .../main/java/work/upstarts/MainActivity.kt | 7 ++++--- build.gradle | 4 ++-- editorjskit/build.gradle | 15 +++++++++---- editorjskit/src/main/AndroidManifest.xml | 2 +- .../editorjskit/models/data/EJListData.kt | 2 +- gradle/versions.gradle | 21 +++++++++---------- gradle/wrapper/gradle-wrapper.properties | 2 +- gsonparser/build.gradle | 14 +++++++++---- gsonparser/src/main/AndroidManifest.xml | 2 +- jitpack.yml | 2 ++ moshiparser/build.gradle | 10 +++++++-- moshiparser/src/main/AndroidManifest.xml | 2 +- 14 files changed, 62 insertions(+), 34 deletions(-) create mode 100644 jitpack.yml diff --git a/app/build.gradle b/app/build.gradle index 061b8a9..2a3e0e7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -9,7 +9,7 @@ android { targetSdkVersion versions.targetSdk versionCode 1 versionName "1.0" - resConfigs "en", "ru" + resourceConfigurations += ['en', 'ru'] } buildTypes { release { @@ -18,6 +18,14 @@ android { proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } + namespace 'work.upstarts' + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = "17" + } } dependencies { diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 08aeed9..743527f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,6 +1,5 @@ - + diff --git a/app/src/main/java/work/upstarts/MainActivity.kt b/app/src/main/java/work/upstarts/MainActivity.kt index 6243a3b..d6caa6c 100644 --- a/app/src/main/java/work/upstarts/MainActivity.kt +++ b/app/src/main/java/work/upstarts/MainActivity.kt @@ -15,6 +15,7 @@ import work.upstarts.editorjskit.models.HeadingLevel import work.upstarts.editorjskit.ui.EditorJsAdapter import work.upstarts.editorjskit.ui.theme.EJStyle import work.upstarts.gsonparser.EJDeserializer +import work.upstarts.editorjskit.R as EditorJsR const val DATA_JSON_PATH = "dummy_data.json" @@ -25,8 +26,8 @@ class MainActivity : AppCompatActivity() { private val rvAdapter: EditorJsAdapter by lazy { EditorJsAdapter( EJStyle.builderWithDefaults(applicationContext) - .linkColor(ContextCompat.getColor(this, R.color.link_color)) - .linkColor(ContextCompat.getColor(this, R.color.link_color)) + .linkColor(ContextCompat.getColor(this, EditorJsR.color.link_color)) + .linkColor(ContextCompat.getColor(this, EditorJsR.color.link_color)) .headingMargin( ZERO_MARGIN, ZERO_MARGIN, @@ -41,7 +42,7 @@ class MainActivity : AppCompatActivity() { ZERO_MARGIN, HeadingLevel.h2 ) - .linkColor(ContextCompat.getColor(this, R.color.link_color)) + .linkColor(ContextCompat.getColor(this, EditorJsR.color.link_color)) .dividerBreakHeight(DIVIDER_HEIGHT.dp) .dividerMargin(0.dp, 4.dp, 0.dp, 4.dp) .dividerBreakColor(Color.parseColor("#32000000")) diff --git a/build.gradle b/build.gradle index 4d6a1ea..57dd464 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.0.4' + classpath 'com.android.tools.build:gradle:8.3.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -15,7 +15,7 @@ buildscript { } plugins { // плагин для автоматизации публикации нашей либы - id "io.github.gradle-nexus.publish-plugin" version "1.1.0" + id "io.github.gradle-nexus.publish-plugin" version "2.0.0" } allprojects { repositories { diff --git a/editorjskit/build.gradle b/editorjskit/build.gradle index 39b660e..9f6c81a 100644 --- a/editorjskit/build.gradle +++ b/editorjskit/build.gradle @@ -16,8 +16,6 @@ android { defaultConfig { minSdkVersion versions.minSdk targetSdkVersion versions.targetSdk - versionCode 1 - versionName "1.0" consumerProguardFiles 'consumer-rules.pro' } @@ -27,10 +25,19 @@ android { minifyEnabled false } } - - lintOptions { + namespace 'work.upstarts.editorjskit' + lint { warning 'InvalidPackage' } + + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = "17" + } + } dependencies { diff --git a/editorjskit/src/main/AndroidManifest.xml b/editorjskit/src/main/AndroidManifest.xml index 0f2b97f..cc947c5 100644 --- a/editorjskit/src/main/AndroidManifest.xml +++ b/editorjskit/src/main/AndroidManifest.xml @@ -1 +1 @@ - + diff --git a/editorjskit/src/main/java/work/upstarts/editorjskit/models/data/EJListData.kt b/editorjskit/src/main/java/work/upstarts/editorjskit/models/data/EJListData.kt index f978665..26aa41a 100644 --- a/editorjskit/src/main/java/work/upstarts/editorjskit/models/data/EJListData.kt +++ b/editorjskit/src/main/java/work/upstarts/editorjskit/models/data/EJListData.kt @@ -12,7 +12,7 @@ enum class ListType(private val jsonName: String) { override fun toString() = jsonName companion object { - fun fromStyle(style: String) = values().first { it.jsonName == style } + fun fromStyle(style: String) = entries.first { it.jsonName == style } } } diff --git a/gradle/versions.gradle b/gradle/versions.gradle index 00d1da9..54cf204 100644 --- a/gradle/versions.gradle +++ b/gradle/versions.gradle @@ -1,17 +1,16 @@ ext.versions = [ - compileSdk : 31, - targetSdk : 31, + compileSdk : 34, + targetSdk : 34, minSdk : 21, - kotlin : '1.6.21', - androidx_appcompat : '1.4.1', + kotlin : '1.9.22', + androidx_appcompat : '1.6.1', androidx_constraint : '2.1.4', - androidx_recyclerview: '1.2.1', - androidx_core_ktx : '1.7.0', + androidx_recyclerview: '1.3.2', + androidx_core_ktx : '1.13.0', junit : '4.13.2', - gson : '2.9.0', - moshi : '1.13.0', + gson : '2.10.1', + moshi : '1.15.1', adapter_delegates : '4.3.2', - glide : '4.13.2', - novoda_bintray_plugin: '1.0.0', - publishVersion : '2.0.0' + glide : '4.16.0', + publishVersion : '2.0.1' ] diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 499ec00..e99c140 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Wed Apr 07 13:57:06 MSK 2021 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME diff --git a/gsonparser/build.gradle b/gsonparser/build.gradle index c913e2c..e1a7c78 100644 --- a/gsonparser/build.gradle +++ b/gsonparser/build.gradle @@ -17,8 +17,6 @@ android { defaultConfig { minSdkVersion versions.minSdk targetSdkVersion versions.targetSdk - versionCode 1 - versionName "1.0" consumerProguardFiles 'consumer-rules.pro' } @@ -28,10 +26,18 @@ android { minifyEnabled false } } - - lintOptions { + namespace 'work.upstarts.gsonparser' + lint { warning 'InvalidPackage' } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = "17" + } + } dependencies { diff --git a/gsonparser/src/main/AndroidManifest.xml b/gsonparser/src/main/AndroidManifest.xml index 847c013..cc947c5 100644 --- a/gsonparser/src/main/AndroidManifest.xml +++ b/gsonparser/src/main/AndroidManifest.xml @@ -1 +1 @@ - + diff --git a/jitpack.yml b/jitpack.yml new file mode 100644 index 0000000..efde7bf --- /dev/null +++ b/jitpack.yml @@ -0,0 +1,2 @@ +jdk: + - openjdk17 diff --git a/moshiparser/build.gradle b/moshiparser/build.gradle index 02c81f4..032326c 100644 --- a/moshiparser/build.gradle +++ b/moshiparser/build.gradle @@ -17,8 +17,6 @@ android { defaultConfig { minSdkVersion versions.minSdk targetSdkVersion versions.targetSdk - versionCode 1 - versionName "1.0" consumerProguardFiles 'consumer-rules.pro' } @@ -28,6 +26,14 @@ android { minifyEnabled false } } + namespace 'work.upstarts.moshiparser' + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = "17" + } } dependencies { diff --git a/moshiparser/src/main/AndroidManifest.xml b/moshiparser/src/main/AndroidManifest.xml index 3e6d34b..cc947c5 100644 --- a/moshiparser/src/main/AndroidManifest.xml +++ b/moshiparser/src/main/AndroidManifest.xml @@ -1 +1 @@ - + From 7f4388ad5c7ddd1c96e4fc5b915ca38b4664dcce Mon Sep 17 00:00:00 2001 From: Ruslan Aliev Date: Wed, 24 Apr 2024 00:22:22 +0300 Subject: [PATCH 3/7] disable nexus.publish-plugin --- build.gradle | 6 +++--- editorjskit/build.gradle | 2 +- gsonparser/build.gradle | 2 +- moshiparser/build.gradle | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index 57dd464..5792c09 100644 --- a/build.gradle +++ b/build.gradle @@ -13,10 +13,10 @@ buildscript { // in the individual module build.gradle files } } -plugins { +/*plugins { // плагин для автоматизации публикации нашей либы id "io.github.gradle-nexus.publish-plugin" version "2.0.0" -} +}*/ allprojects { repositories { google() @@ -27,7 +27,7 @@ allprojects { // позже мы добавим скрипты для публикации -apply from: "${rootDir}/scripts/publish-root.gradle" +//apply from: "${rootDir}/scripts/publish-root.gradle" task clean(type: Delete) { delete rootProject.buildDir diff --git a/editorjskit/build.gradle b/editorjskit/build.gradle index 9f6c81a..23755c4 100644 --- a/editorjskit/build.gradle +++ b/editorjskit/build.gradle @@ -60,4 +60,4 @@ ext { PUBLISH_ARTIFACT_ID = 'ejkit' } -apply from: "${rootProject.projectDir}/scripts/publish-module.gradle" +//apply from: "${rootProject.projectDir}/scripts/publish-module.gradle" diff --git a/gsonparser/build.gradle b/gsonparser/build.gradle index e1a7c78..ff392aa 100644 --- a/gsonparser/build.gradle +++ b/gsonparser/build.gradle @@ -55,4 +55,4 @@ ext { PUBLISH_ARTIFACT_ID = 'ejkit-gson' } -apply from: "${rootProject.projectDir}/scripts/publish-module.gradle" +//apply from: "${rootProject.projectDir}/scripts/publish-module.gradle" diff --git a/moshiparser/build.gradle b/moshiparser/build.gradle index 032326c..2974f10 100644 --- a/moshiparser/build.gradle +++ b/moshiparser/build.gradle @@ -56,5 +56,5 @@ ext { PUBLISH_ARTIFACT_ID = 'ejkit-moshi' } -apply from: "${rootProject.projectDir}/scripts/publish-module.gradle" +//apply from: "${rootProject.projectDir}/scripts/publish-module.gradle" From 995dd0d60995daeefff63a7afeac190aa5149593 Mon Sep 17 00:00:00 2001 From: Ruslan Aliev Date: Wed, 24 Apr 2024 14:21:01 +0300 Subject: [PATCH 4/7] add consumer-rules.pro --- moshiparser/consumer-rules.pro | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 moshiparser/consumer-rules.pro diff --git a/moshiparser/consumer-rules.pro b/moshiparser/consumer-rules.pro new file mode 100644 index 0000000..f64eebd --- /dev/null +++ b/moshiparser/consumer-rules.pro @@ -0,0 +1,27 @@ +# JSR 305 annotations are for embedding nullability information. +-dontwarn javax.annotation.** + +-keepclasseswithmembers class * { + @com.squareup.moshi.* ; +} + +-keep @com.squareup.moshi.JsonQualifier @interface * + +# Enum field names are used by the integrated EnumJsonAdapter. +# values() is synthesized by the Kotlin compiler and is used by EnumJsonAdapter indirectly +# Annotate enums with @JsonClass(generateAdapter = false) to use them with Moshi. +-keepclassmembers @com.squareup.moshi.JsonClass class * extends java.lang.Enum { + ; + **[] values(); +} + +# Keep helper method to avoid R8 optimisation that would keep all Kotlin Metadata when unwanted +-keepclassmembers class com.squareup.moshi.internal.Util { + private static java.lang.String getKotlinMetadataClassName(); +} + +# Keep ToJson/FromJson-annotated methods +-keepclassmembers class * { + @com.squareup.moshi.FromJson ; + @com.squareup.moshi.ToJson ; +} From e908cf7f513acb3c28fdc1c16e85082a407a9829 Mon Sep 17 00:00:00 2001 From: Ruslan Aliev Date: Fri, 26 Apr 2024 22:57:48 +0300 Subject: [PATCH 5/7] migrate to build.gradle.kts --- app/build.gradle | 39 ----------- app/build.gradle.kts | 43 ++++++++++++ .../java/work/upstarts/ExampleUnitTest.kt | 17 ----- build.gradle | 34 ---------- build.gradle.kts | 12 ++++ editorjskit/build.gradle | 63 ------------------ editorjskit/build.gradle.kts | 58 +++++++++++++++++ .../upstarts/editorjskit/ExampleUnitTest.kt | 17 ----- gradle/libs.versions.toml | 35 ++++++++++ gsonparser/build.gradle | 58 ----------------- gsonparser/build.gradle.kts | 55 ++++++++++++++++ moshiparser/build.gradle | 60 ----------------- moshiparser/build.gradle.kts | 65 +++++++++++++++++++ settings.gradle | 4 -- settings.gradle.kts | 26 ++++++++ 15 files changed, 294 insertions(+), 292 deletions(-) delete mode 100644 app/build.gradle create mode 100644 app/build.gradle.kts delete mode 100644 app/src/test/java/work/upstarts/ExampleUnitTest.kt delete mode 100644 build.gradle create mode 100644 build.gradle.kts delete mode 100644 editorjskit/build.gradle create mode 100644 editorjskit/build.gradle.kts delete mode 100644 editorjskit/src/test/java/work/upstarts/editorjskit/ExampleUnitTest.kt create mode 100644 gradle/libs.versions.toml delete mode 100644 gsonparser/build.gradle create mode 100644 gsonparser/build.gradle.kts delete mode 100644 moshiparser/build.gradle create mode 100644 moshiparser/build.gradle.kts delete mode 100644 settings.gradle create mode 100644 settings.gradle.kts diff --git a/app/build.gradle b/app/build.gradle deleted file mode 100644 index 2a3e0e7..0000000 --- a/app/build.gradle +++ /dev/null @@ -1,39 +0,0 @@ -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' - -android { - compileSdkVersion versions.compileSdk - defaultConfig { - applicationId "work.upstarts" - minSdkVersion versions.minSdk - targetSdkVersion versions.targetSdk - versionCode 1 - versionName "1.0" - resourceConfigurations += ['en', 'ru'] - } - buildTypes { - release { - shrinkResources false - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' - } - } - namespace 'work.upstarts' - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } - kotlinOptions { - jvmTarget = "17" - } -} - -dependencies { - implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:${versions.kotlin}" - implementation "androidx.appcompat:appcompat:${versions.androidx_appcompat}" - implementation "androidx.core:core-ktx:${versions.androidx_core_ktx}" - implementation "androidx.constraintlayout:constraintlayout:${versions.androidx_constraint}" - implementation project(":editorjskit") - implementation project(":gsonparser") - testImplementation "junit:junit:${versions.junit}" -} diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 0000000..65f6bb4 --- /dev/null +++ b/app/build.gradle.kts @@ -0,0 +1,43 @@ +plugins { + id("com.android.application") + id("kotlin-android") +} + +android { + compileSdk = libs.versions.compileSdk.get().toInt() + defaultConfig { + applicationId = "work.upstarts" + minSdk = libs.versions.minSdk.get().toInt() + targetSdk = libs.versions.targetSdk.get().toInt() + versionCode = 1 + versionName = "1.0" + resourceConfigurations.addAll(setOf("en", "ru")) + } + buildTypes { + release { + isShrinkResources = false + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + namespace = "work.upstarts" + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = "17" + } +} + +dependencies { + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.appcompat) + implementation(libs.androidx.constraintlayout) + implementation(libs.recyclerview) + implementation(project(":editorjskit")) + implementation(project(":gsonparser")) +} diff --git a/app/src/test/java/work/upstarts/ExampleUnitTest.kt b/app/src/test/java/work/upstarts/ExampleUnitTest.kt deleted file mode 100644 index b3a36a6..0000000 --- a/app/src/test/java/work/upstarts/ExampleUnitTest.kt +++ /dev/null @@ -1,17 +0,0 @@ -package work.upstarts - -import org.junit.Test - -import org.junit.Assert.* - -/** - * Example local unit test, which will execute on the development machine (host). - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -class ExampleUnitTest { - @Test - fun addition_isCorrect() { - assertEquals(4, 2 + 2) - } -} diff --git a/build.gradle b/build.gradle deleted file mode 100644 index 5792c09..0000000 --- a/build.gradle +++ /dev/null @@ -1,34 +0,0 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. - -buildscript { - apply from: rootProject.file('gradle/versions.gradle') - repositories { - google() - mavenCentral() - } - dependencies { - classpath 'com.android.tools.build:gradle:8.3.2' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}" - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files - } -} -/*plugins { - // плагин для автоматизации публикации нашей либы - id "io.github.gradle-nexus.publish-plugin" version "2.0.0" -}*/ -allprojects { - repositories { - google() - mavenCentral() - - } -} - - -// позже мы добавим скрипты для публикации -//apply from: "${rootDir}/scripts/publish-root.gradle" - -task clean(type: Delete) { - delete rootProject.buildDir -} diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 index 0000000..2f22cb7 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,12 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +plugins { + alias(libs.plugins.android.application) apply false + alias(libs.plugins.jetbrains.kotlin.android) apply false +} + +allprojects { + plugins.withId("org.gradle.maven-publish") { + group = "io.github.upstarts" + version = libs.versions.publishVersion.get() + } +} diff --git a/editorjskit/build.gradle b/editorjskit/build.gradle deleted file mode 100644 index 23755c4..0000000 --- a/editorjskit/build.gradle +++ /dev/null @@ -1,63 +0,0 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'maven-publish' - -buildscript { - repositories { - mavenCentral() - } - dependencies { - } -} - -android { - compileSdkVersion versions.compileSdk - - defaultConfig { - minSdkVersion versions.minSdk - targetSdkVersion versions.targetSdk - - consumerProguardFiles 'consumer-rules.pro' - } - - buildTypes { - release { - minifyEnabled false - } - } - namespace 'work.upstarts.editorjskit' - lint { - warning 'InvalidPackage' - } - - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } - kotlinOptions { - jvmTarget = "17" - } - -} - -dependencies { - implementation "androidx.appcompat:appcompat:${versions.androidx_appcompat}" - implementation "androidx.core:core-ktx:${versions.androidx_core_ktx}" - - api "com.hannesdorfmann:adapterdelegates4:${versions.adapter_delegates}" - api "com.github.bumptech.glide:glide:${versions.glide}" - implementation "androidx.constraintlayout:constraintlayout:${versions.androidx_constraint}" - testImplementation "junit:junit:${versions.junit}" -} - - -ext { - // group id - PUBLISH_GROUP_ID = 'io.github.upstarts' - // текущая версия библиотеки - PUBLISH_VERSION = "${versions.publishVersion}" - // artifact id библиотеки - PUBLISH_ARTIFACT_ID = 'ejkit' -} - -//apply from: "${rootProject.projectDir}/scripts/publish-module.gradle" diff --git a/editorjskit/build.gradle.kts b/editorjskit/build.gradle.kts new file mode 100644 index 0000000..d9e7316 --- /dev/null +++ b/editorjskit/build.gradle.kts @@ -0,0 +1,58 @@ +plugins { + id("com.android.library") + id("org.jetbrains.kotlin.android") + id("maven-publish") +} + +android { + namespace = "work.upstarts.editorjskit" + compileSdk = libs.versions.compileSdk.get().toInt() + defaultConfig { + minSdk = libs.versions.minSdk.get().toInt() + consumerProguardFiles("consumer-rules.pro") + } + buildTypes { + release { + isMinifyEnabled = false + } + } + lint { + warning.add("InvalidPackage") + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = "17" + } + publishing { + multipleVariants { + allVariants() + withJavadocJar() + withSourcesJar() + } + } +} + +dependencies { + api(libs.adapter.delegates) + implementation(libs.androidx.appcompat) + implementation(libs.androidx.core.ktx) + implementation(libs.androidx.constraintlayout) + implementation(libs.glide) +} + +afterEvaluate { + publishing { + publications { + create("mavenRelease") { + groupId = "io.github.upstarts" + artifactId = "ejkit" + version = libs.versions.publishVersion.get() + + from(components["release"]) + } + } + } +} diff --git a/editorjskit/src/test/java/work/upstarts/editorjskit/ExampleUnitTest.kt b/editorjskit/src/test/java/work/upstarts/editorjskit/ExampleUnitTest.kt deleted file mode 100644 index d4fb0d7..0000000 --- a/editorjskit/src/test/java/work/upstarts/editorjskit/ExampleUnitTest.kt +++ /dev/null @@ -1,17 +0,0 @@ -package work.upstarts.editorjskit - -import org.junit.Test - -import org.junit.Assert.* - -/** - * Example local unit test, which will execute on the development machine (host). - * - * See [testing documentation](http://d.android.com/tools/testing). - */ -class ExampleUnitTest { - @Test - fun addition_isCorrect() { - assertEquals(4, 2 + 2) - } -} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..25d0958 --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,35 @@ +[versions] + +#Tools +compileSdk = "34" +targetSdk = "34" +minSdk = "21" +agp = "8.3.2" +kotlin = "1.9.22" +coreKtx = "1.13.0" +junit = "4.13.2" +appcompat = "1.6.1" +constraintlayout = "2.1.4" +adapterdelegates = "4.3.2" +glide = "4.16.0" +publishVersion = "2.0.1" +gson = "2.10.1" +moshi = "1.15.1" +recycler = "1.3.2" + +[libraries] +androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } +junit = { group = "junit", name = "junit", version.ref = "junit" } +androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } +androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } +adapter-delegates = { group = "com.hannesdorfmann", name = "adapterdelegates4", version.ref = "adapterdelegates" } +glide = { group = "com.github.bumptech.glide", name = "glide", version.ref = "glide" } +gson = { group = "com.google.code.gson", name = "gson", version.ref = "gson" } +moshi = { group = "com.squareup.moshi", name = "moshi-kotlin", version.ref = "moshi" } +moshi-adapters = { group = "com.squareup.moshi", name = "moshi-adapters", version.ref = "moshi" } +recyclerview = { group = "androidx.recyclerview", name = "recyclerview", version.ref = "recycler" } + +[plugins] +android-application = { id = "com.android.application", version.ref = "agp" } +jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } + diff --git a/gsonparser/build.gradle b/gsonparser/build.gradle deleted file mode 100644 index ff392aa..0000000 --- a/gsonparser/build.gradle +++ /dev/null @@ -1,58 +0,0 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'maven-publish' - - -buildscript { - repositories { - mavenCentral() - } - dependencies { - } -} - -android { - compileSdkVersion versions.compileSdk - - defaultConfig { - minSdkVersion versions.minSdk - targetSdkVersion versions.targetSdk - - consumerProguardFiles 'consumer-rules.pro' - } - - buildTypes { - release { - minifyEnabled false - } - } - namespace 'work.upstarts.gsonparser' - lint { - warning 'InvalidPackage' - } - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } - kotlinOptions { - jvmTarget = "17" - } - -} - -dependencies { - api "com.google.code.gson:gson:${versions.gson}" - api project(":editorjskit") -} - - -ext { - // group id - PUBLISH_GROUP_ID = 'io.github.upstarts' - // текущая версия библиотеки - PUBLISH_VERSION = "${versions.publishVersion}" - // artifact id библиотеки - PUBLISH_ARTIFACT_ID = 'ejkit-gson' -} - -//apply from: "${rootProject.projectDir}/scripts/publish-module.gradle" diff --git a/gsonparser/build.gradle.kts b/gsonparser/build.gradle.kts new file mode 100644 index 0000000..6a28aba --- /dev/null +++ b/gsonparser/build.gradle.kts @@ -0,0 +1,55 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("maven-publish") +} + +android { + namespace = "work.upstarts.gsonparser" + compileSdk = libs.versions.compileSdk.get().toInt() + defaultConfig { + minSdk = libs.versions.minSdk.get().toInt() + consumerProguardFiles("consumer-rules.pro") + } + buildTypes { + release { + isMinifyEnabled = false + } + } + lint { + warning.add("InvalidPackage") + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = "17" + } + publishing { + multipleVariants { + allVariants() + withJavadocJar() + withSourcesJar() + } + } +} + +dependencies { + api(libs.gson) + implementation(project(":editorjskit")) +} + +afterEvaluate { + publishing { + publications { + create("mavenRelease") { + groupId = "io.github.upstarts" + artifactId = "ejkit-gson" + version = libs.versions.publishVersion.get() + + from(components["release"]) + } + } + } +} diff --git a/moshiparser/build.gradle b/moshiparser/build.gradle deleted file mode 100644 index 2974f10..0000000 --- a/moshiparser/build.gradle +++ /dev/null @@ -1,60 +0,0 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply plugin: 'maven-publish' - - -buildscript { - repositories { - mavenCentral() - } - dependencies { - } -} - -android { - compileSdkVersion versions.compileSdk - - defaultConfig { - minSdkVersion versions.minSdk - targetSdkVersion versions.targetSdk - - consumerProguardFiles 'consumer-rules.pro' - } - - buildTypes { - release { - minifyEnabled false - } - } - namespace 'work.upstarts.moshiparser' - compileOptions { - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 - } - kotlinOptions { - jvmTarget = "17" - } -} - -dependencies { - //Moshi - implementation "com.squareup.moshi:moshi-kotlin:${versions.moshi}" - implementation "com.squareup.moshi:moshi-adapters:${versions.moshi}" - - api project(":editorjskit") - testImplementation 'junit:junit:4.13.2' -} - - - -ext { - // group id - PUBLISH_GROUP_ID = 'io.github.upstarts' - // текущая версия библиотеки - PUBLISH_VERSION = "${versions.publishVersion}" - // artifact id библиотеки - PUBLISH_ARTIFACT_ID = 'ejkit-moshi' -} - -//apply from: "${rootProject.projectDir}/scripts/publish-module.gradle" - diff --git a/moshiparser/build.gradle.kts b/moshiparser/build.gradle.kts new file mode 100644 index 0000000..eca8178 --- /dev/null +++ b/moshiparser/build.gradle.kts @@ -0,0 +1,65 @@ +plugins { + id("com.android.library") + id("kotlin-android") + id("maven-publish") +} + +buildscript { + repositories { + mavenCentral() + } + dependencies { + // No dependencies needed here (unless you use buildscript blocks) + } +} + +android { + namespace = "work.upstarts.moshiparser" + compileSdk = libs.versions.compileSdk.get().toInt() + + defaultConfig { + minSdk = libs.versions.minSdk.get().toInt() + consumerProguardFiles("consumer-rules.pro") + } + buildTypes { + release { + isMinifyEnabled = false + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 + } + kotlinOptions { + jvmTarget = "17" + } + publishing { + multipleVariants { + allVariants() + withJavadocJar() + withSourcesJar() + } + } +} + +dependencies { + api(project(":editorjskit")) + implementation(libs.moshi) + implementation(libs.moshi.adapters) + + testImplementation(libs.junit) +} + +afterEvaluate { + publishing { + publications { + create("mavenRelease") { + groupId = "io.github.upstarts" + artifactId = "ejkit-moshi" + version = libs.versions.publishVersion.get() + + from(components["release"]) + } + } + } +} diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index 36b8ab4..0000000 --- a/settings.gradle +++ /dev/null @@ -1,4 +0,0 @@ -include ':app', ':editorjskit' -rootProject.name='EditorJSKitSample' -include ':gsonparser' -include ':moshiparser' diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 0000000..48c8761 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1,26 @@ +pluginManagement { + repositories { + google { + content { + includeGroupByRegex("com\\.android.*") + includeGroupByRegex("com\\.google.*") + includeGroupByRegex("androidx.*") + } + } + mavenCentral() + gradlePluginPortal() + } +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + } +} + +rootProject.name = "EditorJSKitSample" +include(":app") +include(":editorjskit") +include(":gsonparser") +include(":moshiparser") From bfdf635349111a539dbfe6b58fcfaae2b43346f4 Mon Sep 17 00:00:00 2001 From: Ruslan Aliev Date: Sat, 27 Apr 2024 13:33:29 +0300 Subject: [PATCH 6/7] update readme.md --- readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 2b30786..b4fca7d 100644 --- a/readme.md +++ b/readme.md @@ -29,9 +29,9 @@ Converts clean json blocks data like [this](app/src/main/assets/dummy_data.json) ## Installation ``` -implementation 'io.github.upstarts:ejkit:X.X.X' - look at badge above for latest version -implementation 'io.github.upstarts:ejkit-gson:X.X.X' - adds GSON adapter. If you use other library for parsing json, you need to write adapter yourself. -implementation 'io.github.upstarts:ejkit-moshi:X.X.X' - adds Moshi adapter. +implementation 'com.github.Upstarts.editor-js-kit-android:ejkit:X.X.X' - look at badge above for latest version +implementation 'com.github.Upstarts.editor-js-kit-android:ejkit-gson:X.X.X' - adds GSON adapter. If you use other library for parsing json, you need to write adapter yourself. +implementation 'com.github.Upstarts.editor-js-kit-android:ejkit-moshi:X.X.X' - adds Moshi adapter. ``` ## Setup From 469242ccf57936494a8c460d41bf2260c9062de6 Mon Sep 17 00:00:00 2001 From: Ruslan Aliev Date: Sat, 27 Apr 2024 13:42:03 +0300 Subject: [PATCH 7/7] update readme.md --- readme.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index b4fca7d..2118ab7 100644 --- a/readme.md +++ b/readme.md @@ -6,7 +6,7 @@

-![Maven Central](https://img.shields.io/maven-central/v/io.github.upstarts/ejkit) +[![](https://jitpack.io/v/Upstarts/editor.js-kit-android.svg)](https://jitpack.io/#Upstarts/editor.js-kit-android) ## About A non-official Android Framework for [Editor.js](https://editorjs.io) - block styled editor. It's purpose to make easy use of rendering and parsing of blocks. @@ -27,7 +27,18 @@ Converts clean json blocks data like [this](app/src/main/assets/dummy_data.json) * 📋 Table ## Installation +add jitpack repo: +``` +repositories { + maven { url "https://jitpack.io" } +} +*.kts +repositories { + maven { setUrl("https://jitpack.io") } +} +``` +add dependency: ``` implementation 'com.github.Upstarts.editor-js-kit-android:ejkit:X.X.X' - look at badge above for latest version implementation 'com.github.Upstarts.editor-js-kit-android:ejkit-gson:X.X.X' - adds GSON adapter. If you use other library for parsing json, you need to write adapter yourself.