Saltar al contenido

Gradle build.gradle a Maven pom.xml

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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *