Hi folks,
A similar question has been asked here:
http://forums.gradle.org/gradle/topics/apply_maven_publish_plugin_from_init_script
However, I can get around that issue by applying the plugin in the afterProject block of init.gradle, like so:
However, when I attempt to run gradle :artifactoryPublish on a simple project, I instead get:
Caused by: java.lang.IllegalStateException: pomFile not set for publication
at org.gradle.api.publish.maven.internal.publication.DefaultMavenPublication.getPomFile(DefaultMavenPublication.java:180)
at org.gradle.api.publish.maven.internal.publication.DefaultMavenPublication.asNormalisedPublication(DefaultMavenPublication.java:175)
at org.jfrog.gradle.plugin.artifactory.task.BuildInfoPublicationsTask.getArtifactDeployDetails(BuildInfoPublicationsTask.java:213)
at org.jfrog.gradle.plugin.artifactory.task.BuildInfoPublicationsTask_Decorated.getArtifactDeployDetails(Unknown Source)
at org.jfrog.gradle.plugin.artifactory.task.BuildInfoPublicationsTask.collectDescriptorsAndArtifactsForUpload(BuildInfoPublicationsTask.java:154)
at org.jfrog.gradle.plugin.artifactory.task.BuildInfoBaseTask.prepareAndDeploy(BuildInfoBaseTask.java:267)
at org.jfrog.gradle.plugin.artifactory.task.BuildInfoBaseTask.collectProjectBuildInfo(BuildInfoBaseTask.java:365)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:219)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:212)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:201)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:533)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:516)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 46 more
The same configuration inline (in the project’s build.gradle) works fine, I get publishing happening correctly. Note that I am using the jfrog artifactory plugin, but I don’t know if that is the cause, it seems to just delegate on to maven-publish.
Any ideas on what I’m missing? This is against Gradle 1.11. Let me know if you need any more information.
I’ve also tried variations like placing it in projectsLoaded.allProjects, I get the same pomFile issue.
Thanks.