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")
}
}
}