diff --git a/build.gradle.kts b/build.gradle.kts index 8b04dbd..b923d49 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -23,6 +23,7 @@ libraryProjects { val repositoryDir = gradle.gradleUserHomeDir .resolve("highcapable-maven-repository") .resolve("repository") + maven { name = "HighCapableMavenReleases" url = repositoryDir.resolve("releases").toURI() @@ -33,10 +34,12 @@ libraryProjects { } } } + configure { if (name != Libraries.HIKAGE_COMPILER) configure(AndroidSingleVariantLibrary(publishJavadocJar = false)) } + // Only apply to publishable tasks. if (gradle.startParameter.taskNames.any { it.startsWith("publish") }) if (name != Libraries.HIKAGE_COMPILER) @@ -48,10 +51,12 @@ libraryProjects { } } } + tasks.withType().configureEach { val configuration = """{ "footerMessage": "Hikage | Apache-2.0 License | Copyright (C) 2019 HighCapable" }""" pluginsMapConfiguration.set(mapOf("org.jetbrains.dokka.base.DokkaBase" to configuration)) } + tasks.register("publishKDoc") { group = "documentation" dependsOn("dokkaHtml") @@ -61,6 +66,7 @@ libraryProjects { .resolve("dist") .resolve("KDoc") .resolve(project.name) + if (docsDir.exists()) docsDir.deleteRecursively() else docsDir.mkdirs() layout.buildDirectory.dir("dokka/html").get().asFile.copyRecursively(docsDir) } diff --git a/hikage-compiler/build.gradle.kts b/hikage-compiler/build.gradle.kts index b1da4e6..c8953d3 100644 --- a/hikage-compiler/build.gradle.kts +++ b/hikage-compiler/build.gradle.kts @@ -25,7 +25,9 @@ kotlin { dependencies { compileOnly(com.google.devtools.ksp.symbol.processing.api) + ksp(dev.zacsweers.autoservice.auto.service.ksp) + implementation(com.google.auto.service.auto.service.annotations) implementation(com.squareup.kotlinpoet) implementation(com.squareup.kotlinpoet.ksp) diff --git a/hikage-core-lint/build.gradle.kts b/hikage-core-lint/build.gradle.kts index e4c2c0c..dbe9512 100644 --- a/hikage-core-lint/build.gradle.kts +++ b/hikage-core-lint/build.gradle.kts @@ -41,6 +41,7 @@ dependencies { compileOnly(org.jetbrains.kotlin.kotlin.stdlib) compileOnly(com.android.tools.lint.lint.api) compileOnly(com.android.tools.lint.lint.checks) + testImplementation(com.android.tools.lint.lint) testImplementation(com.android.tools.lint.lint.tests) } \ No newline at end of file diff --git a/hikage-core/build.gradle.kts b/hikage-core/build.gradle.kts index f21917a..57be9ad 100644 --- a/hikage-core/build.gradle.kts +++ b/hikage-core/build.gradle.kts @@ -32,14 +32,18 @@ android { dependencies { lintPublish(projects.hikageCoreLint) + ksp(projects.hikageCompiler) + + api(com.highcapable.betterandroid.ui.extension) + implementation(org.lsposed.hiddenapibypass.hiddenapibypass) implementation(com.highcapable.kavaref.kavaref.core) implementation(com.highcapable.kavaref.kavaref.extension) - api(com.highcapable.betterandroid.ui.extension) implementation(com.highcapable.betterandroid.system.extension) implementation(androidx.core.core.ktx) implementation(androidx.appcompat.appcompat) + testImplementation(junit.junit) androidTestImplementation(androidx.test.ext.junit) androidTestImplementation(androidx.test.espresso.espresso.core) diff --git a/hikage-extension-betterandroid/build.gradle.kts b/hikage-extension-betterandroid/build.gradle.kts index 364b25d..072acbe 100644 --- a/hikage-extension-betterandroid/build.gradle.kts +++ b/hikage-extension-betterandroid/build.gradle.kts @@ -31,6 +31,7 @@ android { dependencies { implementation(projects.hikageCore) + implementation(com.highcapable.kavaref.kavaref.core) implementation(com.highcapable.kavaref.kavaref.extension) implementation(com.highcapable.betterandroid.ui.component) @@ -39,6 +40,7 @@ dependencies { implementation(com.highcapable.betterandroid.system.extension) implementation(androidx.core.core.ktx) implementation(androidx.appcompat.appcompat) + testImplementation(junit.junit) androidTestImplementation(androidx.test.ext.junit) androidTestImplementation(androidx.test.espresso.espresso.core) diff --git a/hikage-extension-compose/build.gradle.kts b/hikage-extension-compose/build.gradle.kts index a5f082a..3e21c96 100644 --- a/hikage-extension-compose/build.gradle.kts +++ b/hikage-extension-compose/build.gradle.kts @@ -32,6 +32,7 @@ android { dependencies { implementation(projects.hikageCore) + implementation(com.highcapable.kavaref.kavaref.core) implementation(com.highcapable.kavaref.kavaref.extension) implementation(com.highcapable.betterandroid.ui.extension) @@ -39,6 +40,7 @@ dependencies { implementation(androidx.core.core.ktx) implementation(androidx.appcompat.appcompat) implementation(androidx.compose.ui.ui) + testImplementation(junit.junit) androidTestImplementation(androidx.test.ext.junit) androidTestImplementation(androidx.test.espresso.espresso.core) diff --git a/hikage-extension/build.gradle.kts b/hikage-extension/build.gradle.kts index 4862667..bb24cbe 100644 --- a/hikage-extension/build.gradle.kts +++ b/hikage-extension/build.gradle.kts @@ -31,6 +31,7 @@ android { dependencies { implementation(projects.hikageCore) + implementation(com.highcapable.kavaref.kavaref.core) implementation(com.highcapable.kavaref.kavaref.extension) implementation(com.highcapable.betterandroid.ui.extension) @@ -38,6 +39,7 @@ dependencies { implementation(androidx.core.core.ktx) implementation(androidx.appcompat.appcompat) implementation(androidx.constraintlayout.constraintlayout) + testImplementation(junit.junit) androidTestImplementation(androidx.test.ext.junit) androidTestImplementation(androidx.test.espresso.espresso.core) diff --git a/hikage-widget-androidx/build.gradle.kts b/hikage-widget-androidx/build.gradle.kts index 5999043..e889513 100644 --- a/hikage-widget-androidx/build.gradle.kts +++ b/hikage-widget-androidx/build.gradle.kts @@ -31,7 +31,7 @@ android { dependencies { ksp(projects.hikageCompiler) - implementation(projects.hikageCore) + api(androidx.appcompat.appcompat) api(androidx.constraintlayout.constraintlayout) api(androidx.coordinatorlayout.coordinatorlayout) @@ -42,6 +42,9 @@ dependencies { api(androidx.viewpager.viewpager) api(androidx.viewpager2.viewpager2) api(androidx.recyclerview.recyclerview) + + implementation(projects.hikageCore) + testImplementation(junit.junit) androidTestImplementation(androidx.test.ext.junit) androidTestImplementation(androidx.test.espresso.espresso.core) diff --git a/hikage-widget-material/build.gradle.kts b/hikage-widget-material/build.gradle.kts index c8dc377..9420490 100644 --- a/hikage-widget-material/build.gradle.kts +++ b/hikage-widget-material/build.gradle.kts @@ -31,8 +31,11 @@ android { dependencies { ksp(projects.hikageCompiler) - implementation(projects.hikageCore) + api(com.google.android.material.material) + + implementation(projects.hikageCore) + testImplementation(junit.junit) androidTestImplementation(androidx.test.ext.junit) androidTestImplementation(androidx.test.espresso.espresso.core) diff --git a/samples/app/build.gradle.kts b/samples/app/build.gradle.kts index 1248e83..760b6d2 100644 --- a/samples/app/build.gradle.kts +++ b/samples/app/build.gradle.kts @@ -27,6 +27,7 @@ android { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } + buildFeatures { buildConfig = true viewBinding = true @@ -35,17 +36,20 @@ android { dependencies { ksp(projects.hikageCompiler) + implementation(projects.hikageCore) implementation(projects.hikageExtension) implementation(projects.hikageExtensionBetterandroid) implementation(projects.hikageWidgetAndroidx) implementation(projects.hikageWidgetMaterial) + implementation(com.highcapable.pangutext.pangutext.android) implementation(com.highcapable.betterandroid.ui.component) implementation(com.highcapable.betterandroid.ui.extension) implementation(com.highcapable.betterandroid.system.extension) implementation(androidx.core.core.ktx) implementation(androidx.appcompat.appcompat) + testImplementation(junit.junit) androidTestImplementation(androidx.test.ext.junit) androidTestImplementation(androidx.test.espresso.espresso.core) diff --git a/settings.gradle.kts b/settings.gradle.kts index 74ba0cc..bc2e190 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -6,12 +6,19 @@ pluginManagement { mavenCentral() } } + plugins { id("com.highcapable.sweetdependency") version "1.0.4" id("com.highcapable.sweetproperty") version "1.0.8" } + sweetProperty { - rootProject { all { isEnable = false } } + rootProject { + all { + isEnable = false + } + } + project( ":hikage-core", ":hikage-core-lint", @@ -27,7 +34,9 @@ sweetProperty { } } } + rootProject.name = "Hikage" + include(":samples:app") include( ":hikage-core",