diff --git a/build.gradle.kts b/build.gradle.kts index 031cb4f..fc6db37 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,6 @@ import java.time.LocalDate import kafkatorio.extensions.excludeGeneratedGradleDsl +import kafkatorio.extensions.initIdeProjectLogo plugins { idea @@ -52,3 +53,5 @@ val runKafkatorio by tasks.registering { } apply(from = "$projectDir/kt52647.gradle.kts") + +initIdeProjectLogo() diff --git a/docs/media/img/kafkatorio-logo.png b/docs/media/img/kafkatorio-logo.png new file mode 100644 index 0000000..a37200e Binary files /dev/null and b/docs/media/img/kafkatorio-logo.png differ diff --git a/modules/events-mod/src/main/resources/kafkatorio-logo.svg b/docs/media/img/kafkatorio-logo.svg similarity index 100% rename from modules/events-mod/src/main/resources/kafkatorio-logo.svg rename to docs/media/img/kafkatorio-logo.svg diff --git a/gradle-plugins/builder-plugins/src/main/kotlin/kafkatorio/extensions/ideProjectLogo.kt b/gradle-plugins/builder-plugins/src/main/kotlin/kafkatorio/extensions/ideProjectLogo.kt new file mode 100644 index 0000000..929d0f9 --- /dev/null +++ b/gradle-plugins/builder-plugins/src/main/kotlin/kafkatorio/extensions/ideProjectLogo.kt @@ -0,0 +1,21 @@ +package kafkatorio.extensions + +import org.gradle.api.Project + +/** Sets a logo for project IDEs */ +fun Project.initIdeProjectLogo() { + val logoSvg = rootProject.layout.projectDirectory.file("docs/media/img/kafkatorio-logo.svg") + val ideaDir = rootProject.layout.projectDirectory.dir(".idea") + + if ( + logoSvg.asFile.exists() + && ideaDir.asFile.exists() + && !ideaDir.file("icon.png").asFile.exists() + && !ideaDir.file("icon.svg").asFile.exists() + ) { + copy { + from(logoSvg) { rename { "icon.svg" } } + into(ideaDir) + } + } +}