Soy un novato en Gradle y Artifactory y quiero subir un archivo JAR a Artifactory.
Aquí está mi build.gradle
archivo:
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' // Artifactory repository key to publish to
username = 'publisher' // publisher user name
password = '********' // publisher password
maven = true
}
}
}
artifactoryPublish {
dependsOn jar
}
Después de ejecutar la artifactoryPublish
tarea, la compilación se realiza correctamente 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 se envía nada a Artifactory excepto la información de compilación.
Cualquier ayuda será muy apreciada.
Editar:
Como mencionó JBaruch, agregué
apply plugin: 'maven-publish'
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
y la sección predeterminada para la tarea de artefactos
defaults {
publications ('mavenJava')
}
Ahora funciona.
Gracias
gradle
publish
artifactory
tuncaysenturk
fuente
fuente
defaults
realidad va hacia adentroartifactory.publish
, no solo en laartifactory
tarea raíz .Error:(x, 0) Could not find property 'java' on SoftwareComponentInternal set.
¿Podrías publicar el guión completo?apply plugin: 'maven'
el archivo pom se genera y si tenemos'apply plugin: 'maven-publish'
el archivo jar se publica. Y no tenía por qué haberlo hechopublishing.publications.mavenJava(MavenPublication) { from components.java }
.default {publications ('mavenJava'); publishConfigs('archives', 'published') }
Respuestas:
Eso es porque no tienes ninguno
publications
. Elartifactory-publish
complemento funciona conmaven-publish
complementos y cargaspublications
.Si prefiere trabajar con el antiguo complemento de Maven , necesita un
artifactory
complemento , noartifactory-publish
.Eche un vistazo a la parte de Descripción general en la página "Trabajar con Gradle" de los documentos oficiales.
fuente
maven-publish
en la documentación. ¡Gracias por la ayuda @JBaruch! jfrog.com/confluence/display/RTF/…maven-publish
. Estoy de acuerdo con @Ryan en que sería útil. Pero gracias por la respuesta aquíConseguí que esto funcione. En realidad, estaba usando un jar ya creado, así que estoy usando el siguiente código para especificar mi jar que se va a cargar:
fuente
Necesitas complementos:
para construir proyectos y recuperar frascos de artefactos:
Configuraciones de artefactos:
y para publicar:
gradle.properties
Entonces todo es simple. Si desea cargar su jar:
fuente
Esto es lo que funcionó para mí con el comando
gradle clean build publish
fuente