gradle publish artifactory

cargar artefacto a artefacto usando gradle



publish artifactory (3)

Eso es porque no tienes publications . El complemento artifactory-publish funciona con el plugin maven-publish y carga publications .

Si prefiere trabajar con el antiguo plugin maven , necesita un plugin de artifactory , no artifactory-publish .

Eche un vistazo a la parte de Descripción general en la página "Trabajar con Gradle" de los documentos oficiales.

Soy un novato en Gradle and Artifactory y quiero subir un archivo jar a Artifactory. Aquí está mi archivo build.gradle.

apply plugin: ''java'' apply plugin: ''eclipse'' apply plugin: ''maven'' apply plugin: ''artifactory-publish'' groupId = ''myGroup'' version = ''1.0'' def artifactId = projectDir.name def versionNumber = version artifactory { contextUrl = ''http://path.to.artifactory'' // base artifactory url publish { repository { repoKey = ''libs-releases'' //The Artifactory repository key to publish to username = ''publisher'' //The publisher user name password = ''********'' //The publisher password maven = true } } } artifactoryPublish { dependsOn jar }

Después de ejecutar la tarea artifactoryPublish, la compilación tiene éxito como se muestra a continuación.

> gradle artifactoryPublish --stacktrace :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :jar :artifactoryPublish Deploying build info to: http://path.to.artifactory/api/build BUILD SUCCESSFUL Total time: 7.387 secs

Sin embargo, no hay nada enviado a Artifactory excepto la información de compilación.

Cualquier ayuda será muy apreciada

Tuncay

Editar:

Como mencionó JBaruch, he agregado

apply plugin: ''maven-publish'' publishing { publications { mavenJava(MavenPublication) { from components.java } } }

y la sección predeterminada de la tarea de artefacto

defaults { publications (''mavenJava'') }

Ahora funciona.

Gracias


Necesitas complementos:

apply plugin: ''java'' apply plugin: ''groovy'' apply plugin: ''maven'' apply plugin: ''maven-publish'' apply plugin: ''com.jfrog.artifactory''

para construir proyectos y recuperar jarrones de artefactory:

buildscript { repositories { maven { url ''http://[IP]:[PORT]/artifactory/gradle-dev'' credentials { username = "${artifactory_user}" password = "${artifactory_password}" } } mavenCentral() } dependencies { classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.5.4" } } repositories { mavenCentral() mavenLocal() }

Configuraciones de artefactos:

artifactory { contextUrl = "${artifactory_contextUrl}" publish { repository { repoKey = ''gradle-dev-local'' username = "${artifactory_user}" password = "${artifactory_password}" maven = true } defaults { publications(''mavenJava'') } publishBuildInfo = true publishArtifacts = true publishPom = true } resolve { repository { repoKey = ''gradle-dev'' username = "${artifactory_user}" password = "${artifactory_password}" maven = true } } }

y para publicar:

publishing { publications { mavenJava(MavenPublication) { from components.java } } }

gradle.properties

artifactory_user=publisher artifactory_password=***** artifactory_contextUrl=http://IP:PORT/artifactory

Entonces, todo es simple. Si quieres subir tu jar:

gradle artifactoryPublish


Tengo esto funcionando. De hecho, estaba usando un jar ya creado, así que estoy usando el código a continuación para especificar mi jar que se va a subir:

publishing { publications { mavenJava(MavenPublication) { // from components.java artifact file("path/jar-1.0.0.jar") } } }