diff --git a/winds-gradle-plugin/api/winds-gradle-plugin.api b/winds-gradle-plugin/api/winds-gradle-plugin.api index 61fd806..be147e3 100644 --- a/winds-gradle-plugin/api/winds-gradle-plugin.api +++ b/winds-gradle-plugin/api/winds-gradle-plugin.api @@ -392,6 +392,10 @@ public abstract class dev/teogor/winds/gradle/tasks/ReleaseNotesTask : org/gradl public final fun setOutputDir (Ljava/io/File;)V } +public final class dev/teogor/winds/gradle/tasks/SpotlessUtilsKt { + public static final fun configureSpotless (Lorg/gradle/api/Project;Ldev/teogor/winds/api/Winds;)V +} + public final class dev/teogor/winds/gradle/utils/ExtensionsKt { public static final fun appendContent (Ljava/lang/StringBuilder;Lkotlin/jvm/functions/Function1;)V public static final fun appendTo (Ljava/lang/String;Ljava/lang/StringBuilder;)V diff --git a/winds-gradle-plugin/src/main/kotlin/dev/teogor/winds/gradle/WindsPlugin.kt b/winds-gradle-plugin/src/main/kotlin/dev/teogor/winds/gradle/WindsPlugin.kt index 469ae01..09239af 100644 --- a/winds-gradle-plugin/src/main/kotlin/dev/teogor/winds/gradle/WindsPlugin.kt +++ b/winds-gradle-plugin/src/main/kotlin/dev/teogor/winds/gradle/WindsPlugin.kt @@ -26,6 +26,7 @@ import dev.teogor.winds.common.ktx.register import dev.teogor.winds.common.maven.configureMavenPublishing import dev.teogor.winds.gradle.tasks.ReleaseNotesTask import dev.teogor.winds.gradle.tasks.configureMavenPublish +import dev.teogor.winds.gradle.tasks.configureSpotless import dev.teogor.winds.ktx.hasPublishGradlePlugin import dev.teogor.winds.ktx.inheritFromParentWinds import org.gradle.api.Project @@ -57,6 +58,7 @@ class WindsPlugin : BaseWindsPlugin { onWindsAvailable = { inheritFromParentWinds(this) configureMavenPublish(this) + configureSpotless(this) extractAndSetProjectDetails( depSpec = this@withWinds.moduleMetadata.artifactDescriptor, @@ -68,6 +70,7 @@ class WindsPlugin : BaseWindsPlugin { ) configureMavenPublish(this) + configureSpotless(this) configureMavenPublishing(this) if (!hasVanniktechMavenPlugin()) { publishing.enabled = false diff --git a/winds-gradle-plugin/src/main/kotlin/dev/teogor/winds/gradle/tasks/SpotlessUtils.kt b/winds-gradle-plugin/src/main/kotlin/dev/teogor/winds/gradle/tasks/SpotlessUtils.kt new file mode 100644 index 0000000..780529f --- /dev/null +++ b/winds-gradle-plugin/src/main/kotlin/dev/teogor/winds/gradle/tasks/SpotlessUtils.kt @@ -0,0 +1,26 @@ +/* + * Copyright 2024 teogor (Teodor Grigor) + * + * 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 + * + * https://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.teogor.winds.gradle.tasks + +import dev.teogor.winds.api.Winds +import org.gradle.api.Project + +fun Project.configureSpotless(winds: Winds) { + if (winds.features.spotless) { + plugins.apply("com.diffplug.spotless") + } +}