diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index e555e6d..4f962bb 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -5,22 +5,35 @@ plugins { repositories { mavenCentral() + maven { + name 'jbarchiva' + url 'https://archiva.jessebrault.com/repository/internal/' + credentials { + username System.getenv('JBARCHIVA_USERNAME') + password System.getenv('JBARCHIVA_PASSWORD') + } + } } dependencies { + api libs.jbarchiva testImplementation libs.junit.jupiter.api } gradlePlugin { plugins { create('GroowtAntlrPlugin') { - id = 'GroowtAntlrPlugin' + id = 'groowt-antlr-plugin' implementationClass = 'groowt.gradle.antlr.GroowtAntlrPlugin' } create('groowtLogging') { id = 'groowt-logging' implementationClass = 'groowt.gradle.logging.GroowtLoggingPlugin' } + create('groowtPublish') { + id = 'groowt-publish' + implementationClass = 'groowt.gradle.publish.GroowtPublishPlugin' + } } } diff --git a/buildSrc/src/main/groovy/groowt/gradle/GroowtConventions.gradle b/buildSrc/src/main/groovy/groowt/gradle/groowt-conventions.gradle similarity index 90% rename from buildSrc/src/main/groovy/groowt/gradle/GroowtConventions.gradle rename to buildSrc/src/main/groovy/groowt/gradle/groowt-conventions.gradle index cc53739..6dadabc 100644 --- a/buildSrc/src/main/groovy/groowt/gradle/GroowtConventions.gradle +++ b/buildSrc/src/main/groovy/groowt/gradle/groowt-conventions.gradle @@ -3,6 +3,9 @@ plugins { id 'java' } +group = 'groowt' +version = '0.1.0' + repositories { mavenCentral() } diff --git a/buildSrc/src/main/groovy/groowt/gradle/publish/GroowtPublishPlugin.groovy b/buildSrc/src/main/groovy/groowt/gradle/publish/GroowtPublishPlugin.groovy new file mode 100644 index 0000000..f48377e --- /dev/null +++ b/buildSrc/src/main/groovy/groowt/gradle/publish/GroowtPublishPlugin.groovy @@ -0,0 +1,16 @@ +package groowt.gradle.publish + +import com.jessebrault.jbarchiva.JbArchivaPlugin +import org.gradle.api.Plugin +import org.gradle.api.Project +import org.gradle.api.publish.maven.plugins.MavenPublishPlugin + +class GroowtPublishPlugin implements Plugin { + + @Override + void apply(Project project) { + project.plugins.apply(MavenPublishPlugin) + project.plugins.apply(JbArchivaPlugin) + } + +} diff --git a/cli/build.gradle b/cli/build.gradle index abcbba3..2b40d3d 100644 --- a/cli/build.gradle +++ b/cli/build.gradle @@ -1,13 +1,9 @@ plugins { - id 'GroowtConventions' + id 'groowt-conventions' id 'groowt-logging' - id 'com.jessebrault.jbarchiva' version '0.1.0' - id 'maven-publish' + id 'groowt-publish' } -group = 'groowt' -version = '0.1.0' - repositories { maven { url 'https://repo.gradle.org/gradle/libs-releases' @@ -15,15 +11,9 @@ repositories { } dependencies { - [ - libs.gradle.tooling, - libs.picocli, - libs.slf4j.api, - libs.log4j.core, - project(':groowt-gradle-model') - ].each { implementation it } - - runtimeOnly libs.log4j.slf4jBinding + implementation libs.gradle.tooling + implementation libs.picocli + implementation project(':groowt-gradle-model') } tasks.named('jar', Jar) { @@ -35,7 +25,7 @@ tasks.named('jar', Jar) { dependsOn ':groowt-gradle-model:jar' } -tasks.withType(GenerateModuleMetadata) { +tasks.withType(GenerateModuleMetadata).configureEach { enabled = false } diff --git a/cli/src/main/java/groowt/cli/Generate.java b/cli/src/main/java/groowt/cli/Generate.java index cc2cd7f..08124a5 100644 --- a/cli/src/main/java/groowt/cli/Generate.java +++ b/cli/src/main/java/groowt/cli/Generate.java @@ -10,7 +10,7 @@ import java.io.OutputStream; import java.util.concurrent.Callable; @Command(name = "generate", aliases = "gen", description = "Generate a component, template, model, etc.") -public class Generate implements Callable { +public final class Generate implements Callable { @CommandLine.ParentCommand private GroowtCli cli; diff --git a/cli/src/main/java/groowt/cli/GroowtCli.java b/cli/src/main/java/groowt/cli/GroowtCli.java index 8353a92..75e3b56 100644 --- a/cli/src/main/java/groowt/cli/GroowtCli.java +++ b/cli/src/main/java/groowt/cli/GroowtCli.java @@ -13,7 +13,7 @@ import java.io.File; version = "0.1.0", subcommands = { Generate.class } ) -public class GroowtCli { +public final class GroowtCli { private static final Logger logger = LoggerFactory.getLogger(GroowtCli.class); diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 54ed2ae..c2f955e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -21,6 +21,7 @@ groovy-console = { module = 'org.apache.groovy:groovy-console', version.ref = 'g groovy-templates = { module = 'org.apache.groovy:groovy-templates', version.ref = 'groovy' } jakarta-inject = 'jakarta.inject:jakarta.inject-api:2.0.1' jansi = 'org.fusesource.jansi:jansi:2.4.1' +jbarchiva = 'com.jessebrault.jbarchiva:jbarchiva:0.2.1' jetbrains-anotations = 'org.jetbrains:annotations:24.1.0' junit-jupiter-api = { module = 'org.junit.jupiter:junit-jupiter-api', version.ref = 'junit' } kotlin-stdlib = { module = 'org.jetbrains.kotlin:kotlin-stdlib', version.ref = 'kotlin' } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index d64cd49..e644113 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index a80b22c..b82aa23 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/groowt-gradle-model/build.gradle b/groowt-gradle-model/build.gradle index f9d0cf8..1ce2129 100644 --- a/groowt-gradle-model/build.gradle +++ b/groowt-gradle-model/build.gradle @@ -1,16 +1,7 @@ plugins { - id 'GroowtConventions' + id 'groowt-conventions' id 'java-library' - id 'maven-publish' -} - -group = 'groowt' -version = '0.1.0' - -repositories { - maven { - url 'https://repo.gradle.org/gradle/libs-releases' - } + id 'groowt-publish' } publishing { diff --git a/groowt-gradle-model/src/main/java/groowt/gradle/model/DefaultGroowtGradleModel.java b/groowt-gradle-model/src/main/java/groowt/gradle/model/DefaultGroowtGradleModel.java index 06b2946..f232dda 100644 --- a/groowt-gradle-model/src/main/java/groowt/gradle/model/DefaultGroowtGradleModel.java +++ b/groowt-gradle-model/src/main/java/groowt/gradle/model/DefaultGroowtGradleModel.java @@ -29,6 +29,4 @@ public class DefaultGroowtGradleModel implements GroowtGradleModel, Serializable this.sourceSetToTemplatesDirs = sourceSetToTemplateDir; } - - } diff --git a/groowt-gradle-model/src/main/java/groowt/gradle/model/GroowtGradleModel.java b/groowt-gradle-model/src/main/java/groowt/gradle/model/GroowtGradleModel.java index b0f191b..adb3f8c 100644 --- a/groowt-gradle-model/src/main/java/groowt/gradle/model/GroowtGradleModel.java +++ b/groowt-gradle-model/src/main/java/groowt/gradle/model/GroowtGradleModel.java @@ -5,9 +5,6 @@ import java.util.Map; import java.util.Set; public interface GroowtGradleModel { - String getBasePackage(); - Map> getSourceSetToTemplatesDirs(); - } diff --git a/groowt-gradle/build.gradle b/groowt-gradle/build.gradle index 5feb368..1bd0e56 100644 --- a/groowt-gradle/build.gradle +++ b/groowt-gradle/build.gradle @@ -1,27 +1,21 @@ plugins { - id 'GroowtConventions' + id 'groowt-conventions' id 'java-gradle-plugin' - id 'com.jessebrault.jbarchiva' version '0.1.0' - id 'maven-publish' + id 'groowt-publish' } -group = 'groowt' -version = '0.1.0' - repositories { mavenCentral() -// maven { -// url 'https://repo.gradle.org/gradle/libs-releases' -// } } dependencies { - implementation libs.groovy, project(':groowt-gradle-model') + implementation libs.groovy + implementation project(':groowt-gradle-model') } gradlePlugin { plugins { - groowtGradle { + create('groowtGradle') { id = 'groowt-gradle' implementationClass = 'groowt.gradle.GroowtGradlePlugin' } diff --git a/groowt-gradle/src/main/java/groowt/gradle/DefaultTemplateSourceSet.java b/groowt-gradle/src/main/java/groowt/gradle/DefaultTemplateSourceSet.java index 8cb34d8..4357779 100644 --- a/groowt-gradle/src/main/java/groowt/gradle/DefaultTemplateSourceSet.java +++ b/groowt-gradle/src/main/java/groowt/gradle/DefaultTemplateSourceSet.java @@ -22,7 +22,10 @@ public class DefaultTemplateSourceSet implements TemplateSourceSet, HasPublicTyp objectFactory.sourceDirectorySet(name, displayName + " ComponentTemplate sources") ); this.templateSourceDirectorySet.getFilter().include("**/*.wvc", "**/*.gst"); - this.allTemplates = objectFactory.sourceDirectorySet("all" + name, displayName + " ComponentTemplate sources"); + this.allTemplates = objectFactory.sourceDirectorySet( + "all" + name, + displayName + " ComponentTemplate sources" + ); this.allTemplates.source(this.templateSourceDirectorySet); this.allTemplates.getFilter().include("**/*.wvc", "**/*.gst"); } diff --git a/settings.gradle b/settings.gradle index 2b4e87e..fdb33d6 100644 --- a/settings.gradle +++ b/settings.gradle @@ -2,26 +2,6 @@ pluginManagement { plugins { id 'org.jetbrains.kotlin.jvm' version '1.9.23' } - - repositories { - mavenCentral() - maven { - url 'https://archiva.jessebrault.com/repository/internal/' - - credentials { - username System.getenv('JBARCHIVA_USERNAME') - password System.getenv('JBARCHIVA_PASSWORD') - } - } - maven { - url 'https://archiva.jessebrault.com/repository/snapshots/' - - credentials { - username System.getenv('JBARCHIVA_USERNAME') - password System.getenv('JBARCHIVA_PASSWORD') - } - } - } } rootProject.name = 'groowt' diff --git a/util/di/build.gradle b/util/di/build.gradle index 5087da5..ba31d42 100644 --- a/util/di/build.gradle +++ b/util/di/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'GroowtConventions' + id 'groowt-conventions' id 'java-library' } diff --git a/util/extensible/build.gradle b/util/extensible/build.gradle index d6d4388..228c187 100644 --- a/util/extensible/build.gradle +++ b/util/extensible/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'GroowtConventions' + id 'groowt-conventions' id 'java-library' } diff --git a/web-views/build.gradle b/web-views/build.gradle index 855d169..35059a6 100644 --- a/web-views/build.gradle +++ b/web-views/build.gradle @@ -2,10 +2,10 @@ import groovy.transform.NullCheck import groowt.gradle.antlr.GroowtAntlrExecTask plugins { - id 'java' + id 'groowt-conventions' + id 'groowt-antlr-plugin' id 'java-library' id 'groovy' - id 'GroowtAntlrPlugin' id 'org.jetbrains.kotlin.jvm' id 'java-test-fixtures' }