artifactory-gradle-plugin icon indicating copy to clipboard operation
artifactory-gradle-plugin copied to clipboard

'ArtifactoryTask' property 'artifactSpecs' doesn't have a configured value

Open balachandarg-tw opened this issue 2 years ago • 2 comments

How can we help?

I recently upgraded my gradle version from 6.5 to 8.1.1 , while running artifactoryPublish command getting the issue as,

A problem was found with the configuration of task ':artifactoryPublish' (type 'ArtifactoryTask').

  • Type 'org.jfrog.gradle.plugin.artifactory.task.ArtifactoryTask' property 'artifactSpecs' doesn't have a configured value.

    Reason: This property isn't marked as optional and no value has been configured.

    Possible solutions:

    1. Assign a value to 'artifactSpecs'.
    2. Mark property 'artifactSpecs' as optional.

It was working fine in gradle 6.5 with jfrog version 4.32.0. I tried updating the jfrog version to 5.1.1, even after that issue persists.

Q1. Where do I need to specify artifactSpecs value? any example would help me to understand better. Q2. How can I make it optional ?

JDK version 17 Compile SDK version 33

balachandarg-tw avatar Aug 29 '23 08:08 balachandarg-tw

@balachandarg-tw Thanks for using the Gradle Artifactory plugin. Do you have somewhere 'artifactSpecs' configured? Would you be able to provide steps to reproduce?

yahavi avatar Sep 22 '23 14:09 yahavi

@balachandarg-tw Did you solve this problem?

@yahavi I have the same problem in gradle 8.5 and jfrog plugin 5.2.0.

I add artifactory-block in top-level build.gradle.kts

buildscript {
    dependencies {
        classpath("org.jfrog.buildinfo:build-info-extractor-gradle:5.2.0")
    }
}

plugins {
    id("com.jfrog.artifactory") version "5.2.0" apply true
}

artifactory {
    setContextUrl("https://artifactory.url")
    publish {
        contextUrl = "https://artifactory. url"
        repository {
            username = "username"
            password = "password"
        }
        defaults {
            setPublishArtifacts(true)
            setPublishIvy(false)
        }
    }
}

And configure publish build.gradle.kts in feature module

plugins {
    `maven-publish`
    id("com.jfrog.artifactory")
}

configure<PublishingExtension> {
    val publication = maybeCreatePublication()
    publication.groupId = group.toString()
    publication.artifactId = name
    publication.version = version.toString()
    tasks.withType(Jar::class) {
        manifest.attributes["Implementation-Version"] = publication.version
    }

    tasks.withType<ArtifactoryTask>().configureEach {
        publications(publication.artifacts)
    }
}

PatrickVvB avatar Feb 27 '24 10:02 PatrickVvB