From eb30e789fa312a4c28326b49a14c1ca3a35984fe Mon Sep 17 00:00:00 2001
From: Michael Yan <rain@rainboyan.com>
Date: Thu, 26 Dec 2024 00:32:53 +0800
Subject: [PATCH] Define common properties for all Gradle plugins

Closes gh-846
---
 grace-gradle-plugin/build.gradle | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/grace-gradle-plugin/build.gradle b/grace-gradle-plugin/build.gradle
index 5be4ee40f8..394ffab9f1 100644
--- a/grace-gradle-plugin/build.gradle
+++ b/grace-gradle-plugin/build.gradle
@@ -46,41 +46,50 @@ dependencies {
 }
 
 gradlePlugin {
+    website = 'https://github.com/graceframework/grace-framework'
+    vcsUrl = 'https://github.com/graceframework/grace-framework.git'
+
     plugins {
         graceCore {
             displayName = "Grace Core Gradle Plugin"
             description = 'The main Grace gradle plugin implementation'
             id = 'org.graceframework.grace-core'
+            tags.set(['groovy', 'grace-framework', 'spring-boot'])
             implementationClass = 'org.grails.gradle.plugin.core.GrailsGradlePlugin'
         }
         graceDoc {
             displayName = "Grace Doc Gradle Plugin"
             description = 'Adds Grace doc publishing support'
             id = 'org.graceframework.grace-doc'
+            tags.set(['groovy', 'grace-framework', 'spring-boot'])
             implementationClass = 'org.grails.gradle.plugin.doc.GrailsDocGradlePlugin'
         }
         graceGsp {
             displayName = "Grace GSP Gradle Plugin"
             description = 'A plugin that adds support for compiling Groovy Server Pages (GSP)'
             id = 'org.graceframework.grace-gsp'
+            tags.set(['groovy', 'grace-framework', 'spring-boot'])
             implementationClass = 'org.grails.gradle.plugin.web.gsp.GroovyPagePlugin'
         }
         gracePlugin {
             displayName = "Grace-Plugin Gradle Plugin"
             description = 'A Gradle plugin for Grace plugins'
             id = 'org.graceframework.grace-plugin'
+            tags.set(['groovy', 'grace-framework', 'spring-boot'])
             implementationClass = 'org.grails.gradle.plugin.core.GrailsPluginGradlePlugin'
         }
         graceProfile {
             displayName = "Grace Profile Gradle Plugin"
             description = 'A plugin that is capable of compiling a Grace profile into a JAR file for distribution'
             id = 'org.graceframework.grace-profile'
+            tags.set(['groovy', 'grace-framework', 'spring-boot'])
             implementationClass = 'org.grails.gradle.plugin.profiles.GrailsProfileGradlePlugin'
         }
         graceWeb {
             displayName = "Grace Web Gradle Plugin"
             description = 'Adds web specific extensions'
             id = 'org.graceframework.grace-web'
+            tags.set(['groovy', 'grace-framework', 'spring-boot'])
             implementationClass = 'org.grails.gradle.plugin.web.GrailsWebGradlePlugin'
         }
     }
@@ -90,7 +99,7 @@ jar {
     manifest.mainAttributes(
             "Built-By": System.properties['user.name'],
             "Created-By": System.properties['java.vm.version'] + " (" + System.properties['java.vm.vendor'] + ")",
-            "Implementation-Title": "Grace",
+            "Implementation-Title": "Grace Framework",
             "Implementation-Version": projectVersion,
             "Implementation-Vendor": 'graceframework.org')
 }