From f3c9565e995cd61dcf624c76000f8be36be51480 Mon Sep 17 00:00:00 2001 From: John Blum Date: Wed, 23 Feb 2022 15:21:03 -0800 Subject: [PATCH] Add Javadoc comment about not invoking (externally-defined) Methods inside Groovy/Gradle DSL (Closures). Additionally: * Suppress compiler warnings. * Guard against possibly null Projecct objects passed to isAuthRequired(:Project) method. --- .../io/spring/gradle/convention/ArtifactoryPlugin.groovy | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/buildSrc/src/main/groovy/io/spring/gradle/convention/ArtifactoryPlugin.groovy b/buildSrc/src/main/groovy/io/spring/gradle/convention/ArtifactoryPlugin.groovy index 9de458e1..5015dec0 100644 --- a/buildSrc/src/main/groovy/io/spring/gradle/convention/ArtifactoryPlugin.groovy +++ b/buildSrc/src/main/groovy/io/spring/gradle/convention/ArtifactoryPlugin.groovy @@ -34,6 +34,7 @@ class ArtifactoryPlugin implements Plugin { project.plugins.apply('com.jfrog.artifactory') + // (Externally-defined) Methods cannot be invoked inside the Groovy/Gradle DSL. def artifactoryRepoKey = resolveRepositoryKey(project) def authRequired = isAuthRequired(project) @@ -54,10 +55,12 @@ class ArtifactoryPlugin implements Plugin { } } + @SuppressWarnings("all") private boolean isAuthRequired(Project project) { - project.hasProperty('artifactoryUsername') + project?.hasProperty('artifactoryUsername') } + @SuppressWarnings("all") private String resolveRepositoryKey(Project project) { boolean isSnapshot = Utils.isSnapshot(project);