From e7bf6e5faf2e65c83b352c1e179fc190381c53b3 Mon Sep 17 00:00:00 2001 From: Digidemic Date: Fri, 24 May 2024 13:55:59 -0700 Subject: [PATCH] JitPack Integration (#2) - Added JitPack integration to distribute build aar, javadoc, and sources: https://jitpack.io/#digidemic/kyaml - Kyaml can then be installed within your project's build.gradle. --- README.md | 41 +++++++------ build.gradle | 3 - example-kyaml/build.gradle | 4 +- .../java/com/digidemic/kyaml/MainActivity.kt | 2 +- jitpack.yml | 2 + kyaml.aar | Bin 24835 -> 0 bytes kyaml/build.gradle | 54 ++++++++++++++++-- .../main/java/com/digidemic/kyaml/Kyaml.kt | 3 +- 8 files changed, 81 insertions(+), 28 deletions(-) create mode 100644 jitpack.yml delete mode 100644 kyaml.aar diff --git a/README.md b/README.md index 017457a..99925ca 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ baz: true
-#### Check out the [example app for Kyaml](/example-kyaml/)! +### Check out the [example app for Kyaml](/example-kyaml/)!
@@ -233,24 +233,33 @@ Usage is simply calling [Kyaml()](#usage--examples) passing up to four arguments ## Installation -### Install with AAR and gradle (Local) -1) Download the latest [kyaml.aar](kyaml.aar). -2) Move `kyaml.aar` to your project's `libs` directory (Example: `YourProject/app/libs/`). -3) In your `build.gradle`, add only one of the following to your `dependencies { }`: +### Install with JitPack +[![](https://jitpack.io/v/Digidemic/kyaml.svg)](https://jitpack.io/#Digidemic/kyaml) +1) Add JitPack to your project's root `build.gradle` at the end of `repositories`: - ```groovy - // adds only kyaml.aar - implementation fileTree(dir: "libs", include: ["kyaml.aar"]) + dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + mavenCentral() + maven { url 'https://jitpack.io' } + } + } + ``` +2) In the `build.gradle` of the module(s) you wish to use Kyaml with, add the following to `dependencies`: +- ```groovy + dependencies { + // Required: Installs the .aar without any documentation. + implementation 'com.github.digidemic:kyaml:1.1.0' + + // Optional: Displays documentation while writing coding. + implementation 'com.github.digidemic:kyaml:1.1.0:javadoc' - // OR - - // adds all .aar files in your libs directory. - implementation fileTree(dir: "libs", include: ["*.aar"]) + // Optional: Displays documentation (more comprehensive than javadoc in some cases) and uncompiled code when stepping into library. + implementation 'com.github.digidemic:kyaml:1.1.0:sources' + } ``` -4) [Sync gradle](https://www.delasign.com/blog/how-to-sync-an-android-project-with-its-gradle-files-in-android-studio/) successfully. -5) Done! Your Android project is now ready to use Kyaml. Go to [Usage / Examples](#usage--examples) or [Syntax](#syntax) for Kyaml usage! - -### Install with gradle (Remote) ->Coming soon! +3) [Sync gradle](https://www.delasign.com/blog/how-to-sync-an-android-project-with-its-gradle-files-in-android-studio/) successfully. +4) Done! Your Android project is now ready to use Kyaml. Go to [Examples](#usage--examples) or [Syntax](#syntax) for Kyaml usage!
diff --git a/build.gradle b/build.gradle index 4314313..ace7054 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,3 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - id 'com.android.application' version '8.0.2' apply false - id 'com.android.library' version '8.0.2' apply false - id 'org.jetbrains.kotlin.android' version '1.7.20' apply false } \ No newline at end of file diff --git a/example-kyaml/build.gradle b/example-kyaml/build.gradle index 6d4799e..a2df7bf 100644 --- a/example-kyaml/build.gradle +++ b/example-kyaml/build.gradle @@ -1,6 +1,6 @@ plugins { - id 'com.android.application' - id 'org.jetbrains.kotlin.android' + id 'com.android.application'version '8.0.2' + id 'org.jetbrains.kotlin.android' version '1.7.20' } android { diff --git a/example-kyaml/src/main/java/com/digidemic/kyaml/MainActivity.kt b/example-kyaml/src/main/java/com/digidemic/kyaml/MainActivity.kt index 017d701..5fc443d 100644 --- a/example-kyaml/src/main/java/com/digidemic/kyaml/MainActivity.kt +++ b/example-kyaml/src/main/java/com/digidemic/kyaml/MainActivity.kt @@ -1,5 +1,5 @@ /** - * Kyaml v1.0.0 - https://github.com/Digidemic/Kyaml + * Kyaml v1.1.0 - https://github.com/Digidemic/kyaml * (c) 2024 DIGIDEMIC, LLC - All Rights Reserved * Kyaml developed by Adam Steinberg of DIGIDEMIC, LLC * License: Apache License 2.0 diff --git a/jitpack.yml b/jitpack.yml new file mode 100644 index 0000000..1e41e00 --- /dev/null +++ b/jitpack.yml @@ -0,0 +1,2 @@ +jdk: + - openjdk17 \ No newline at end of file diff --git a/kyaml.aar b/kyaml.aar deleted file mode 100644 index da0c7c84f3a81d299e329befe6c3c307fb16ff7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24835 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 diff --git a/kyaml/build.gradle b/kyaml/build.gradle index e8931b2..29446f7 100644 --- a/kyaml/build.gradle +++ b/kyaml/build.gradle @@ -1,6 +1,7 @@ plugins { - id 'com.android.library' - id 'org.jetbrains.kotlin.android' + id 'com.android.library' version '8.0.2' + id 'org.jetbrains.kotlin.android' version '1.6.20' + id 'maven-publish' } android { @@ -8,8 +9,8 @@ android { compileSdk 33 defaultConfig { - minSdk 16 - targetSdk 33 + minSdk 4 + targetSdk 34 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles "consumer-rules.pro" @@ -28,6 +29,12 @@ android { kotlinOptions { jvmTarget = '1.8' } + + publishing { + singleVariant("release") { + withJavadocJar() + } + } } dependencies { @@ -37,4 +44,43 @@ dependencies { testImplementation 'junit:junit:4.13.2' testImplementation "io.mockk:mockk-android:1.13.5" testImplementation "io.mockk:mockk-agent:1.13.5" +} + +afterEvaluate { + android.libraryVariants.each {variant -> + publishing.publications.create(variant.name, MavenPublication){ + from components.findByName(variant.name) + + groupId = 'com.github.kyaml' + artifactId = "kyaml" + version = '1.1.0' + + pom { + name = 'Kyaml' + description = 'A simple, flexible, and forgiving YAML parser for Android' + url = 'https://github.com/Digidemic/kyaml' + + licenses { + license { + name = 'The Apache License, Version 2.0' + url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' + } + } + + developers { + developer { + id = 'Digidemic' + name = 'Adam Steinberg' + email = 'digidemic@gmail.com' + } + } + + scm { + connection = 'scm:git://github.com/Digidemic/kyaml.git' + developerConnection = 'scm:git://github.com/Digidemic/kyaml.git' + url = 'git://github.com/Digidemic/kyaml.git' + } + } + } + } } \ No newline at end of file diff --git a/kyaml/src/main/java/com/digidemic/kyaml/Kyaml.kt b/kyaml/src/main/java/com/digidemic/kyaml/Kyaml.kt index 4d3da63..cd8efa8 100644 --- a/kyaml/src/main/java/com/digidemic/kyaml/Kyaml.kt +++ b/kyaml/src/main/java/com/digidemic/kyaml/Kyaml.kt @@ -1,5 +1,5 @@ /** - * Kyaml v1.0.0 - https://github.com/Digidemic/Kyaml + * Kyaml v1.1.0 - https://github.com/Digidemic/kyaml * (c) 2024 DIGIDEMIC, LLC - All Rights Reserved * Kyaml developed by Adam Steinberg of DIGIDEMIC, LLC * License: Apache License 2.0 @@ -538,7 +538,6 @@ class Kyaml { * 6) List("null", "two", "three") -> SequenceType(ValueType.STRING, true) * 7) List("1", "two", "true") -> SequenceType(ValueType.STRING, false) */ - @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE) @Suppress("KotlinConstantConditions") internal fun getSequenceType(list: List): SequenceType {