Solución:
Al usar el complemento Maven de Gradle, el Instalar en pc La tarea se agrega automáticamente a sus tareas, y llamarla siempre generará un archivo POM.
Así que si tu build.gradle archivo tiene este aspecto:
apply plugin: 'java'
apply plugin: 'maven'
group = 'myGroup'
// artifactId is taken by default, from folder name
version = '0.1-SNAPSHOT'
dependencies {
compile 'commons-lang:commons-lang:2.3'
}
Puedes llamar gradle install
en su carpeta, encontrará en el construir / poms subcarpeta, un archivo llamado pom-default.xml que contendrá las dependencias. Además, el JAR construido junto con el POM estará en su repositorio local de Maven.
Como no quería instalar nada en mi repositorio local, lo hice siguiendo, en cambio, después de leer los documentos. Agregue su build.gradle
apply plugin: 'maven'
group = 'com.company.root'
// artifactId is taken by default, from folder name
version = '0.0.1-SNAPSHOT'
task writeNewPom << {
pom {
project {
inceptionYear '2014'
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
}
}.writeTo("pom.xml")
}
para ejecutarlo
gradle writeNewPom
@un caballo sin nombre
gradle que se está haciendo con groovy puede intentar agregar después de finalizar} bloque de proyecto
build{
plugins{
plugin{
groupId 'org.apache.maven.plugins'
artifactId 'maven-compiler-plugin'
configuration{
source '1.8'
target '1.8'
}
}
}
}
No lo intenté, ¡conjetura salvaje!
Cuando no tienes un gradle instalado, la “tarea de escribir gradle para hacer esto” no es muy útil. En lugar de instalar esta bestia de 100 MB con dependencias, hice el filtro convirtiendo las dependencias de gradle en dependencias de maven:
cat build.gradle
| awk '{$1=$1};1'
| grep -i "compile "
| sed -e "s/^compile //Ig" -e "s/^testCompile //Ig"
| sed -e "s///.*//g"
| sed -e "s/files(.*//g"
| grep -v ^$
| tr -d "'"
| sed -e "s/([-_[:alnum:].]*):([-_[:alnum:].]*):([-+_[:alnum:].]*)/<dependency>nt<groupId>1</groupId>nt<artifactId>2</artifactId>nt<version>3</version>n</dependency>/g"
Esto convierte
compile 'org.slf4j:slf4j-api:1.7.+'
compile 'ch.qos.logback:logback-classic:1.1.+'
compile 'commons-cli:commons-cli:1.3'
dentro
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.+</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.+</version>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.3</version>
</dependency>
El resto de pom.xml debe crearse a mano.