From ecd4a31ce065d7e4dd219ec1d4cc13c0820122c1 Mon Sep 17 00:00:00 2001 From: Teodor Grigor Date: Tue, 21 Nov 2023 11:51:55 +0200 Subject: [PATCH 1/5] Add plugin `dev.teogor.winds` --- .idea/appInsightsSettings.xml | 45 ++++ build.gradle.kts | 245 ++++++++++-------- buildSrc/.gitignore | 29 --- buildSrc/build.gradle.kts | 59 ----- buildSrc/settings.gradle.kts | 13 - .../src/main/kotlin/defaultLibraryInfo.kt | 40 --- .../dev/teogor/publish/PublishPlugin.kt | 28 -- .../dev/teogor/publish/applyMavenPom.kt | 65 ----- .../dev/teogor/publish/configureBomModule.kt | 31 --- .../dev/teogor/publish/model/BomOptions.kt | 5 - .../dev/teogor/publish/model/DeveloperInfo.kt | 11 - .../dev/teogor/publish/model/LicenseType.kt | 33 --- .../publish/model/PublishPluginExtension.kt | 67 ----- drifter-bom/build.gradle.kts | 41 +-- drifter-compose/build.gradle.kts | 31 +-- drifter-core/build.gradle.kts | 31 +-- drifter-integration/build.gradle.kts | 31 +-- drifter-wallpaper/build.gradle.kts | 32 +-- gradle.properties | 5 + gradle/libs.versions.toml | 8 +- settings.gradle.kts | 9 +- 21 files changed, 232 insertions(+), 627 deletions(-) create mode 100644 .idea/appInsightsSettings.xml delete mode 100644 buildSrc/.gitignore delete mode 100644 buildSrc/build.gradle.kts delete mode 100644 buildSrc/settings.gradle.kts delete mode 100644 buildSrc/src/main/kotlin/defaultLibraryInfo.kt delete mode 100644 buildSrc/src/main/kotlin/dev/teogor/publish/PublishPlugin.kt delete mode 100644 buildSrc/src/main/kotlin/dev/teogor/publish/applyMavenPom.kt delete mode 100644 buildSrc/src/main/kotlin/dev/teogor/publish/configureBomModule.kt delete mode 100644 buildSrc/src/main/kotlin/dev/teogor/publish/model/BomOptions.kt delete mode 100644 buildSrc/src/main/kotlin/dev/teogor/publish/model/DeveloperInfo.kt delete mode 100644 buildSrc/src/main/kotlin/dev/teogor/publish/model/LicenseType.kt delete mode 100644 buildSrc/src/main/kotlin/dev/teogor/publish/model/PublishPluginExtension.kt diff --git a/.idea/appInsightsSettings.xml b/.idea/appInsightsSettings.xml new file mode 100644 index 0000000..af0f255 --- /dev/null +++ b/.idea/appInsightsSettings.xml @@ -0,0 +1,45 @@ + + + + + + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 9c5ae03..747ebb0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,143 +1,186 @@ -import org.jetbrains.dokka.gradle.DokkaTaskPartial + +import dev.teogor.winds.api.MavenPublish +import dev.teogor.winds.api.getValue +import dev.teogor.winds.api.model.Developer +import dev.teogor.winds.api.model.LicenseType +import dev.teogor.winds.api.model.createVersion +import dev.teogor.winds.api.provider.Scm +import dev.teogor.winds.gradle.utils.afterWindsPluginConfiguration +import org.jetbrains.dokka.gradle.DokkaPlugin plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.android.library) apply false alias(libs.plugins.jetbrains.kotlin.android) apply false - alias(libs.plugins.vanniktech.maven) apply false - id("dev.teogor.publish") apply false alias(libs.plugins.ceres.android.application) apply false alias(libs.plugins.ceres.android.application.compose) apply false alias(libs.plugins.ceres.android.library) apply false alias(libs.plugins.ceres.android.library.compose) apply false - alias(libs.plugins.dokka) - alias(libs.plugins.spotless) - alias(libs.plugins.apiValidator) -} + alias(libs.plugins.winds) apply true + alias(libs.plugins.vanniktech.maven) apply true + alias(libs.plugins.dokka) apply true + alias(libs.plugins.spotless) apply true + alias(libs.plugins.api.validator) apply true +} -val ktlintVersion = "0.50.0" +winds { + buildFeatures { + mavenPublish = false -subprojects { - apply() - - configure { - kotlin { - target("**/*.kt") - targetExclude("**/build/**/*.kt") - ktlint(ktlintVersion) - .userData( - mapOf( - "android" to "true", - "ktlint_code_style" to "android", - "ij_kotlin_allow_trailing_comma" to "true", - // These rules were introduced in ktlint 0.46.0 and should not be - // enabled without further discussion. They are disabled for now. - // See: https://github.com/pinterest/ktlint/releases/tag/0.46.0 - "disabled_rules" to - "filename," + - "annotation,annotation-spacing," + - "argument-list-wrapping," + - "double-colon-spacing," + - "enum-entry-name-case," + - "multiline-if-else," + - "no-empty-first-line-in-method-block," + - "package-name," + - "trailing-comma," + - "spacing-around-angle-brackets," + - "spacing-between-declarations-with-annotations," + - "spacing-between-declarations-with-comments," + - "unary-op-spacing," + - "no-trailing-spaces," + - "no-wildcard-imports," + - "max-line-length", - ), - ) - licenseHeaderFile(rootProject.file("spotless/copyright.kt")) - trimTrailingWhitespace() - endWithNewline() - } - format("kts") { - target("**/*.kts") - targetExclude("**/build/**/*.kts") - // Look for the first line that doesn't have a block comment (assumed to be the license) - licenseHeaderFile(rootProject.file("spotless/copyright.kts"), "(^(?![\\/ ]\\*).*$)") - } - format("xml") { - target("**/*.xml") - targetExclude("**/build/**/*.xml") - // Look for the first XML tag that isn't a comment (