From 222ee2c51543f258bbc478374be5ea7726ce43f5 Mon Sep 17 00:00:00 2001
From: Nariman Abdullin <nulls.narik@gmail.com>
Date: Thu, 9 Nov 2023 13:22:52 +0300
Subject: [PATCH 1/8] Changed ID for for gradle plugin

### What's done:
- updated gradle plugin id
- fixed README.md
---
 README.md                             | 4 ++--
 diktat-gradle-plugin/build.gradle.kts | 4 +++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index a335942094..891bb13132 100644
--- a/README.md
+++ b/README.md
@@ -2,12 +2,12 @@
 
 ![Build and test](https://github.com/saveourtool/diKTat/workflows/Build%20and%20test/badge.svg?branch=master)
 ![deteKT static analysis](https://github.com/saveourtool/diKTat/workflows/Run%20deteKT/badge.svg)
-![diKTat code style](https://github.com/saveourtool/diKTat/workflows/Run%20diKTat%20from%20release%20version/badge.svg?branch=master)
+![diKTat code style](https://github.com/saveourtool/diKTat/workflows/Run%20diKTat%20%28release%29/badge.svg?branch=master)
 [![codecov](https://codecov.io/gh/saveourtool/diKTat/branch/master/graph/badge.svg)](https://codecov.io/gh/saveourtool/diKTat)
 
 [![Releases](https://img.shields.io/github/v/release/saveourtool/diKTat)](https://github.com/saveourtool/diKTat/releases)
 [![Maven Central](https://img.shields.io/maven-central/v/com.saveourtool.diktat/diktat-rules)](https://mvnrepository.com/artifact/com.saveourtool.diktat)
-[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fsaveourtool%2FdiKTat.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fsaveourtool%2FdiKTat?ref=badge_shield)
+[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fsaveourtool%2Fdiktat.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fsaveourtool%2Fdiktat?ref=badge_shield)
 [![Chat on Telegram](https://img.shields.io/badge/Chat%20on-Telegram-brightgreen.svg)](https://t.me/diktat_help)
 
 [![Hits-of-Code](https://hitsofcode.com/github/saveourtool/diktat)](https://hitsofcode.com/view/github/saveourtool/diktat)
diff --git a/diktat-gradle-plugin/build.gradle.kts b/diktat-gradle-plugin/build.gradle.kts
index e1db1fb38c..96208e2023 100644
--- a/diktat-gradle-plugin/build.gradle.kts
+++ b/diktat-gradle-plugin/build.gradle.kts
@@ -38,9 +38,11 @@ tasks.withType<KotlinCompile> {
 }
 
 gradlePlugin {
+    website = "https://diktat.saveourtool.com/"
+    vcsUrl = "https://github.com/saveourtool/diktat"
     plugins {
         create("diktatPlugin") {
-            id = "com.saveourtool.diktat.diktat-gradle-plugin"
+            id = "com.saveourtool.diktat"
             implementationClass = "com.saveourtool.diktat.plugin.gradle.DiktatGradlePlugin"
         }
     }

From 370b5733d2dc7d7cb0daced2020fcefea26bbed2 Mon Sep 17 00:00:00 2001
From: Nariman Abdullin <nulls.narik@gmail.com>
Date: Thu, 9 Nov 2023 15:35:35 +0300
Subject: [PATCH 2/8] supported RC with snapshots

---
 .../saveourtool/diktat/buildutils/VersioningConfiguration.kt  | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt b/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
index 04bc814484..9bb3c17829 100644
--- a/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
+++ b/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
@@ -7,6 +7,7 @@ package com.saveourtool.diktat.buildutils
 import org.ajoberstar.reckon.core.Scope
 import org.ajoberstar.reckon.gradle.ReckonExtension
 import org.ajoberstar.reckon.gradle.ReckonPlugin
+import org.ajoberstar.reckon.core.Version
 import org.eclipse.jgit.api.Git
 import org.eclipse.jgit.internal.storage.file.FileRepository
 import org.eclipse.jgit.storage.file.FileRepositoryBuilder
@@ -26,6 +27,9 @@ fun Project.configureVersioning() {
         snapshots()
         setScopeCalc(calcScopeFromProp())
         setStageCalc(calcStageFromProp())
+        setTagParser { tagName ->
+            Version.parse(tagName.replace("-rc.[0-9]+".toRegex(), ""))
+        }
     }
 
     val status = FileRepositoryBuilder()

From a2e39b0f42ea6980c5059303f8c9ede49860e496 Mon Sep 17 00:00:00 2001
From: Nariman Abdullin <nulls.narik@gmail.com>
Date: Thu, 9 Nov 2023 15:53:46 +0300
Subject: [PATCH 3/8] diktatFix

---
 .../saveourtool/diktat/buildutils/VersioningConfiguration.kt    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt b/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
index 9bb3c17829..e05701ca54 100644
--- a/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
+++ b/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
@@ -5,9 +5,9 @@
 package com.saveourtool.diktat.buildutils
 
 import org.ajoberstar.reckon.core.Scope
+import org.ajoberstar.reckon.core.Version
 import org.ajoberstar.reckon.gradle.ReckonExtension
 import org.ajoberstar.reckon.gradle.ReckonPlugin
-import org.ajoberstar.reckon.core.Version
 import org.eclipse.jgit.api.Git
 import org.eclipse.jgit.internal.storage.file.FileRepository
 import org.eclipse.jgit.storage.file.FileRepositoryBuilder

From ac67788566b81a2710b068152883bf18d0c8a422 Mon Sep 17 00:00:00 2001
From: Nariman Abdullin <nulls.narik@gmail.com>
Date: Thu, 9 Nov 2023 16:01:23 +0300
Subject: [PATCH 4/8] fixed TagParser

---
 .../saveourtool/diktat/buildutils/VersioningConfiguration.kt  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt b/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
index e05701ca54..9d0090c14f 100644
--- a/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
+++ b/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
@@ -5,7 +5,7 @@
 package com.saveourtool.diktat.buildutils
 
 import org.ajoberstar.reckon.core.Scope
-import org.ajoberstar.reckon.core.Version
+import org.ajoberstar.reckon.core.VersionTagParser
 import org.ajoberstar.reckon.gradle.ReckonExtension
 import org.ajoberstar.reckon.gradle.ReckonPlugin
 import org.eclipse.jgit.api.Git
@@ -28,7 +28,7 @@ fun Project.configureVersioning() {
         setScopeCalc(calcScopeFromProp())
         setStageCalc(calcStageFromProp())
         setTagParser { tagName ->
-            Version.parse(tagName.replace("-rc.[0-9]+".toRegex(), ""))
+            VersionTagParser.getDefault().parse(tagName.replace("-rc.[0-9]+".toRegex(), ""))
         }
     }
 

From 52419bf912989ff5c48813631a0f3fa12b40634f Mon Sep 17 00:00:00 2001
From: Nariman Abdullin <nulls.narik@gmail.com>
Date: Thu, 9 Nov 2023 16:41:49 +0300
Subject: [PATCH 5/8] restored gradle ID

---
 .github/workflows/diktat_snapshot.yml | 5 -----
 build.gradle.kts                      | 2 +-
 diktat-gradle-plugin/build.gradle.kts | 2 +-
 3 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/.github/workflows/diktat_snapshot.yml b/.github/workflows/diktat_snapshot.yml
index e2143b0289..d38c8845bb 100644
--- a/.github/workflows/diktat_snapshot.yml
+++ b/.github/workflows/diktat_snapshot.yml
@@ -46,11 +46,6 @@ jobs:
         with:
           gradle-version: wrapper
           arguments: |
-            :diktat-api:publishToMavenLocal
-            :diktat-common:publishToMavenLocal
-            :diktat-ktlint-engine:publishToMavenLocal
-            :diktat-rules:publishToMavenLocal
-            :diktat-gradle-plugin:publishToMavenLocal
             :generateLibsForDiktatSnapshot
             -x detekt
             -x test
diff --git a/build.gradle.kts b/build.gradle.kts
index afba69b985..3dee31eeb1 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -39,7 +39,7 @@ tasks.create("generateLibsForDiktatSnapshot") {
         rootProject.project(":diktat-rules"),
         rootProject.project(":diktat-gradle-plugin"),
     )
-    mustRunAfter(dependencies.map { "${it.path}:publishToMavenLocal" })
+    dependsOn(dependencies.map { "${it.path}:publishToMavenLocal" })
     val libsFile = rootProject.file("gradle/libs.versions.toml")
 
     inputs.file(libsFile)
diff --git a/diktat-gradle-plugin/build.gradle.kts b/diktat-gradle-plugin/build.gradle.kts
index 96208e2023..17d61d1210 100644
--- a/diktat-gradle-plugin/build.gradle.kts
+++ b/diktat-gradle-plugin/build.gradle.kts
@@ -42,7 +42,7 @@ gradlePlugin {
     vcsUrl = "https://github.com/saveourtool/diktat"
     plugins {
         create("diktatPlugin") {
-            id = "com.saveourtool.diktat"
+            id = "com.saveourtool.diktat.diktat-gradle-plugin"
             implementationClass = "com.saveourtool.diktat.plugin.gradle.DiktatGradlePlugin"
         }
     }

From 95b1c73ae534ff2ecb9e4928294f92ac886743da Mon Sep 17 00:00:00 2001
From: Nariman Abdullin <nulls.narik@gmail.com>
Date: Thu, 9 Nov 2023 18:07:00 +0300
Subject: [PATCH 6/8] reverted TarParser + removed removing javadocs

---
 diktat-gradle-plugin/build.gradle.kts                | 12 ------------
 .../diktat/buildutils/VersioningConfiguration.kt     |  3 ---
 2 files changed, 15 deletions(-)

diff --git a/diktat-gradle-plugin/build.gradle.kts b/diktat-gradle-plugin/build.gradle.kts
index 17d61d1210..5bfc1f6f89 100644
--- a/diktat-gradle-plugin/build.gradle.kts
+++ b/diktat-gradle-plugin/build.gradle.kts
@@ -105,15 +105,3 @@ tasks.jacocoTestReport {
         xml.required.set(true)
     }
 }
-
-afterEvaluate {
-    tasks.named("javadocJar") {
-        enabled = false
-    }
-    tasks.named("generateMetadataFileForPluginMavenPublication") {
-        dependsOn(tasks.named("dokkaJar"))
-    }
-    tasks.named("generateMetadataFileForMavenPublication") {
-        dependsOn(tasks.named("dokkaJar"))
-    }
-}
diff --git a/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt b/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
index 9d0090c14f..021ca9e6eb 100644
--- a/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
+++ b/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
@@ -27,9 +27,6 @@ fun Project.configureVersioning() {
         snapshots()
         setScopeCalc(calcScopeFromProp())
         setStageCalc(calcStageFromProp())
-        setTagParser { tagName ->
-            VersionTagParser.getDefault().parse(tagName.replace("-rc.[0-9]+".toRegex(), ""))
-        }
     }
 
     val status = FileRepositoryBuilder()

From ae7d31604e95cb11cb4212672d5f5ca333bf957f Mon Sep 17 00:00:00 2001
From: Nariman Abdullin <nulls.narik@gmail.com>
Date: Thu, 9 Nov 2023 18:08:44 +0300
Subject: [PATCH 7/8] from snapshot to rc

---
 .../saveourtool/diktat/buildutils/VersioningConfiguration.kt    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt b/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
index 021ca9e6eb..72ddc7c113 100644
--- a/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
+++ b/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/VersioningConfiguration.kt
@@ -24,7 +24,7 @@ fun Project.configureVersioning() {
     // should be provided in the gradle.properties
     configure<ReckonExtension> {
         setDefaultInferredScope(Scope.MINOR.name)
-        snapshots()
+        stages("rc", "final")
         setScopeCalc(calcScopeFromProp())
         setStageCalc(calcStageFromProp())
     }

From 5da926421990cf1b5dafd13e60938a8fe8433c3e Mon Sep 17 00:00:00 2001
From: Nariman Abdullin <nulls.narik@gmail.com>
Date: Fri, 10 Nov 2023 15:15:55 +0300
Subject: [PATCH 8/8] removed everything and use the default configurations

---
 diktat-cli/build.gradle.kts                   |  2 +
 diktat-gradle-plugin/build.gradle.kts         | 43 ++++++++++++++++++-
 diktat-maven-plugin/build.gradle.kts          |  2 +
 diktat-ruleset/build.gradle.kts               |  2 +
 .../buildutils/PublishingConfiguration.kt     |  3 +-
 ...ublishing-default-configuration.gradle.kts |  1 +
 6 files changed, 50 insertions(+), 3 deletions(-)

diff --git a/diktat-cli/build.gradle.kts b/diktat-cli/build.gradle.kts
index b7db4f5702..f14c1004cd 100644
--- a/diktat-cli/build.gradle.kts
+++ b/diktat-cli/build.gradle.kts
@@ -1,3 +1,4 @@
+import com.saveourtool.diktat.buildutils.configurePublications
 import com.github.jengelman.gradle.plugins.shadow.ShadowExtension
 import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
 import org.jetbrains.kotlin.incremental.createDirectory
@@ -92,3 +93,4 @@ publishing {
         }
     }
 }
+configurePublications()
diff --git a/diktat-gradle-plugin/build.gradle.kts b/diktat-gradle-plugin/build.gradle.kts
index 5bfc1f6f89..27f0a82387 100644
--- a/diktat-gradle-plugin/build.gradle.kts
+++ b/diktat-gradle-plugin/build.gradle.kts
@@ -1,13 +1,16 @@
+import com.saveourtool.diktat.buildutils.configurePom
 import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform.getCurrentOperatingSystem
 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
+//import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
 
 plugins {
     id("com.saveourtool.diktat.buildutils.kotlin-jvm-configuration")
     id("com.saveourtool.diktat.buildutils.code-quality-convention")
-    id("com.saveourtool.diktat.buildutils.publishing-default-configuration")
+    id("com.saveourtool.diktat.buildutils.publishing-configuration")
     id("pl.droidsonroids.jacoco.testkit") version "1.0.12"
     id("org.gradle.test-retry") version "1.5.6"
     id("com.gradle.plugin-publish") version "1.2.1"
+//    alias(libs.plugins.shadow)
 }
 
 dependencies {
@@ -48,6 +51,38 @@ gradlePlugin {
     }
 }
 
+//tasks.named("jar") {
+//    enabled = false
+//}
+//val shadowJar by tasks.existing(ShadowJar::class) {
+//    archiveClassifier.set("")
+//    duplicatesStrategy = DuplicatesStrategy.FAIL
+//}
+//
+//val javadocJar by tasks.registering(Jar::class) {
+//    group = "documentation"
+//    archiveClassifier.set("javadoc")
+//    from(tasks.named("dokkaHtml"))
+//}
+//
+//publishing {
+//    repositories {
+//        mavenLocal()
+//    }
+//    publications {
+//        val pluginMaven by creating(MavenPublication::class) {
+//            artifact(shadowJar)
+//            artifact(javadocJar)
+//            pom {
+//                configurePom(project)
+//            }
+//        }
+//    }
+//}
+
+
+
+
 // === testing & code coverage, jacoco is run independent from maven
 val functionalTestTask by tasks.register<Test>("functionalTest")
 tasks.withType<Test> {
@@ -105,3 +140,9 @@ tasks.jacocoTestReport {
         xml.required.set(true)
     }
 }
+
+//afterEvaluate {
+//    tasks.named("publishDiktatPluginPluginMarkerMavenPublicationToMavenLocal") {
+//        dependsOn(javadocJar)
+//    }
+//}
diff --git a/diktat-maven-plugin/build.gradle.kts b/diktat-maven-plugin/build.gradle.kts
index 05ace85be0..3497312994 100644
--- a/diktat-maven-plugin/build.gradle.kts
+++ b/diktat-maven-plugin/build.gradle.kts
@@ -1,3 +1,4 @@
+import com.saveourtool.diktat.buildutils.configurePublications
 import de.benediktritter.maven.plugin.development.task.GenerateHelpMojoSourcesTask
 import de.benediktritter.maven.plugin.development.task.GenerateMavenPluginDescriptorTask
 
@@ -47,3 +48,4 @@ publishing {
         }
     }
 }
+configurePublications()
diff --git a/diktat-ruleset/build.gradle.kts b/diktat-ruleset/build.gradle.kts
index 6f066d90bd..94bc7dc4b7 100644
--- a/diktat-ruleset/build.gradle.kts
+++ b/diktat-ruleset/build.gradle.kts
@@ -1,4 +1,5 @@
 import com.saveourtool.diktat.buildutils.configurePom
+import com.saveourtool.diktat.buildutils.configurePublications
 import com.github.jengelman.gradle.plugins.shadow.ShadowExtension
 import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
 
@@ -73,3 +74,4 @@ publishing {
         }
     }
 }
+configurePublications()
diff --git a/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/PublishingConfiguration.kt b/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/PublishingConfiguration.kt
index 321a8295de..ac62e3aca1 100644
--- a/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/PublishingConfiguration.kt
+++ b/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/PublishingConfiguration.kt
@@ -39,7 +39,6 @@ import org.jetbrains.dokka.gradle.DokkaPlugin
  * Configures all aspects of the publishing process.
  */
 fun Project.configurePublishing() {
-    configurePublications()
     apply<MavenPublishPlugin>()
     if (this == rootProject) {
         configureNexusPublishing()
@@ -161,7 +160,7 @@ private fun Project.configureGitHubPublishing() {
  * Configures all publications. The publications must already exist.
  */
 @Suppress("TOO_LONG_FUNCTION")
-private fun Project.configurePublications() {
+fun Project.configurePublications() {
     if (this == rootProject) {
         return
     }
diff --git a/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/publishing-default-configuration.gradle.kts b/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/publishing-default-configuration.gradle.kts
index 92952dc516..47c8e7773a 100644
--- a/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/publishing-default-configuration.gradle.kts
+++ b/gradle/plugins/src/main/kotlin/com/saveourtool/diktat/buildutils/publishing-default-configuration.gradle.kts
@@ -16,4 +16,5 @@ publishing {
     }
 }
 
+configurePublications()
 configurePublishing()