diff --git a/.idea/appInsightsSettings.xml b/.idea/appInsightsSettings.xml new file mode 100644 index 0000000..c0675f9 --- /dev/null +++ b/.idea/appInsightsSettings.xml @@ -0,0 +1,45 @@ + + + + + + \ No newline at end of file diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..0c0c338 --- /dev/null +++ b/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/kotlinc.xml b/.idea/kotlinc.xml new file mode 100644 index 0000000..e805548 --- /dev/null +++ b/.idea/kotlinc.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/migrations.xml b/.idea/migrations.xml new file mode 100644 index 0000000..f8051a6 --- /dev/null +++ b/.idea/migrations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/buildSrc/src/main/kotlin/publish.gradle.kts b/buildSrc/src/main/kotlin/publish.gradle.kts index 8b5505d..c96d5d6 100644 --- a/buildSrc/src/main/kotlin/publish.gradle.kts +++ b/buildSrc/src/main/kotlin/publish.gradle.kts @@ -61,7 +61,7 @@ publishing { version = "$version-SNAPSHOT" } description.set("A template for Kotlin Android projects") - url.set("https://github.com/cortinico/kotlin-android-template/") + url.set("https://github.com/SimpleJnius/sj-firebase-java/") licenses { license { @@ -71,18 +71,18 @@ publishing { } developers { developer { - id.set("cortinico") - name.set("Nicola Corti") + id.set("kengoon") + name.set("Kenechukwu Akubue") } } scm { - connection.set("scm:git:git://github.com/cortinico/kotlin-android-template.git") - developerConnection.set("scm:git:ssh://github.com/cortinico/kotlin-android-template.git") - url.set("https://github.com/cortinico/kotlin-android-template/") + connection.set("scm:git:git://github.com/SimpleJnius/sj-firebase-java.git") + developerConnection.set("scm:git:ssh://github.com/SimpleJnius/sj-firebase-java.git") + url.set("https://github.com/SimpleJnius/sj-firebase-java/") } issueManagement { system.set("GitHub Issues") - url.set("https://github.com/cortinico/kotlin-android-template/issues") + url.set("https://github.com/SimpleJnius/sj-firebase-java/issues") } } } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index dc593dd..5e1a3de 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -16,6 +16,8 @@ kotlin = "1.9.20" min_sdk_version = "21" target_sdk_version = "34" benmanesversion = "0.50.0" +agp2 = "8.2.0" +material = "1.9.0" [libraries] junit = { module = "junit:junit", version.ref = "junit" } @@ -37,7 +39,9 @@ detekt_formatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", espresso_core = { module = "androidx.test.espresso:espresso-core", version.ref = "espresso.core" } agp = { module = "com.android.tools.build:gradle", version.ref = "agp" } kgp = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } +material = { group = "com.google.android.material", name = "material", version.ref = "material" } [plugins] detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" } versions = { id = "com.github.ben-manes.versions", version.ref = "benmanesversion" } +androidLibrary = { id = "com.android.library", version.ref = "agp2" } diff --git a/settings.gradle.kts b/settings.gradle.kts index 4f5acd8..f1abc7f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -23,3 +23,4 @@ include( "library-compose", "library-kotlin" ) +include(":sjfirebase") diff --git a/sjfirebase/.gitignore b/sjfirebase/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/sjfirebase/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/sjfirebase/build.gradle.kts b/sjfirebase/build.gradle.kts new file mode 100644 index 0000000..d553b21 --- /dev/null +++ b/sjfirebase/build.gradle.kts @@ -0,0 +1,47 @@ +@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed +plugins { + id("com.android.library") + id("maven-publish") + publish +} + +android { + namespace = "com.simplejnius.sjfirebase" + compileSdk = 34 + + defaultConfig { + minSdk = 21 + + testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" + consumerProguardFiles("consumer-rules.pro") + } + + buildTypes { + release { + isMinifyEnabled = false + proguardFiles( + getDefaultProguardFile("proguard-android-optimize.txt"), + "proguard-rules.pro" + ) + } + } + publishing { + singleVariant("release") { + withSourcesJar() + withJavadocJar() + } + } + compileOptions { + sourceCompatibility = JavaVersion.VERSION_1_8 + targetCompatibility = JavaVersion.VERSION_1_8 + } +} + +dependencies { + + implementation(libs.androidx.appcompat) + implementation(libs.material) + testImplementation(libs.junit) + androidTestImplementation(libs.androidx.test.ext.junit) + androidTestImplementation(libs.espresso.core) +} \ No newline at end of file diff --git a/sjfirebase/consumer-rules.pro b/sjfirebase/consumer-rules.pro new file mode 100644 index 0000000..e69de29 diff --git a/sjfirebase/proguard-rules.pro b/sjfirebase/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/sjfirebase/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/sjfirebase/src/androidTest/java/com/simplejnius/sjfirebase/ExampleInstrumentedTest.java b/sjfirebase/src/androidTest/java/com/simplejnius/sjfirebase/ExampleInstrumentedTest.java new file mode 100644 index 0000000..66ae8b2 --- /dev/null +++ b/sjfirebase/src/androidTest/java/com/simplejnius/sjfirebase/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.simplejnius.sjfirebase; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("com.simplejnius.sjfirebase.test", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/sjfirebase/src/main/AndroidManifest.xml b/sjfirebase/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a5918e6 --- /dev/null +++ b/sjfirebase/src/main/AndroidManifest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/sjfirebase/src/test/java/com/simplejnius/sjfirebase/ExampleUnitTest.java b/sjfirebase/src/test/java/com/simplejnius/sjfirebase/ExampleUnitTest.java new file mode 100644 index 0000000..24d8fb6 --- /dev/null +++ b/sjfirebase/src/test/java/com/simplejnius/sjfirebase/ExampleUnitTest.java @@ -0,0 +1,17 @@ +package com.simplejnius.sjfirebase; + +import org.junit.Test; + +import static org.junit.Assert.*; + +/** + * Example local unit test, which will execute on the development machine (host). + * + * @see Testing documentation + */ +public class ExampleUnitTest { + @Test + public void addition_isCorrect() { + assertEquals(4, 2 + 2); + } +} \ No newline at end of file