shogo4405/HaishinKit.kt

Is it possible to use without Vulkan module (to allow usage on API 21)?

Closed this issue · 3 comments

Is your feature request related to a problem? Please describe.
The current minSdk setting for the vulkan module is 26, but it's 21 for the main haishinkit module.

Is it possible to use only the haishinkit module so that it can be used in an app that wishes to keep compatibility with API 21?

Would adding just the haishinkit module as a dependency work?

Describe the solution you'd like
Ability to use HaishinKit on API 21

Describe alternatives you've considered
Since I anyway have a fork to enable building with jitpack, I could revert the commit that uses features only available in API 26.

It seems like putting

    implementation 'com.github.ktprograms.HaishinKit~kt:haishinkit:7a38a664be'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.0'
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0'

in my app's app/build.gradle file works (the two extra dependencies need to be explicitly included due to jitpack issues).

Is this a "supported" use of this library?

Yes. I designed vulkun module is optional. Please see this example project.
https://github.com/shogo4405/HaishinKit-Gradle-Test

settings.gradle

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven {
            url = uri("https://maven.pkg.github.com/shogo4405/HaishinKit.kt")
            credentials {
                username = System.getenv("GITHUB_USER")
                password = System.getenv("GITHUB_API_TOKEN")
            }
        }
    }
}

Your app gradle.

dependencies {
    implementation 'com.haishinkit:haishinkit:0.8.0'
}

Thanks for confirming!