0
0
mirror of https://github.com/florisboard/florisboard.git synced 2024-09-19 19:42:20 +02:00

Setup plugin library build system and manifest

This commit is contained in:
Patrick Goldinger 2023-05-23 02:29:33 +02:00
parent a22c82baf3
commit 252cbcc4f9
No known key found for this signature in database
GPG Key ID: 533467C3DC7B9262
6 changed files with 109 additions and 0 deletions

View File

@ -19,6 +19,7 @@
plugins {
alias(libs.plugins.agp.application) apply false
alias(libs.plugins.agp.library) apply false
alias(libs.plugins.agp.test) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.serialization) apply false

View File

@ -78,6 +78,7 @@ kotest-runner-junit5 = { module = "io.kotest:kotest-runner-junit5", version.ref
[plugins]
# Main
agp-application = { id = "com.android.application", version.ref = "android-gradle-plugin" }
agp-library = { id = "com.android.library", version.ref = "android-gradle-plugin" }
agp-test = { id = "com.android.test", version.ref = "android-gradle-plugin" }
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }

68
plugin/build.gradle.kts Normal file
View File

@ -0,0 +1,68 @@
/*
* Copyright 2023 Patrick Goldinger
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Suppress needed until https://youtrack.jetbrains.com/issue/KTIJ-19369 is fixed
@file:Suppress("DSL_SCOPE_VIOLATION")
plugins {
alias(libs.plugins.agp.library)
alias(libs.plugins.kotlin.android)
}
val projectCompileSdk: String by project
val projectMinSdk: String by project
val projectVersionName: String by project
val projectVersionNameSuffix: String by project
android {
namespace = "dev.patrickgold.florisboard.plugin"
compileSdk = projectCompileSdk.toInt()
defaultConfig {
minSdk = projectMinSdk.toInt()
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
sourceSets {
maybeCreate("main").apply {
java.srcDir("src/main/kotlin")
}
}
}
dependencies {
//
}
tasks.withType<Test> {
useJUnitPlatform()
}
/*val sourcesJar = tasks.register<Jar>("sourcesJar") {
archiveClassifier.set("sources")
from(android.sourceSets.getByName("main").java.srcDirs)
}
mavenPublishing {
coordinates(projectGroupId, artifactId, projectVersion)
}*/

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ Copyright 2023 Patrick Goldinger
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<manifest />

View File

@ -0,0 +1,21 @@
/*
* Copyright (C) 2023 Patrick Goldinger
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package dev.patrickgold.florisboard.plugin
class FlorisPluginService {
// TODO
}

View File

@ -35,3 +35,4 @@ dependencyResolutionManagement {
include(":app")
include(":benchmark")
include(":plugin")