A Gradle Build fájl konvertálása Maven POM formátumra
1. Bemutatkozás
Ebben az oktatóanyagban megvizsgáljuk, hogyan lehet átalakítani a Gradle build fájlt Maven POM fájlokká. Megvizsgálunk néhány rendelkezésre álló testreszabási lehetőséget is.
2. Gradle Build File
Kezdjük egy standard Gradle Java projekttel, gradle-to-maven,a következőkkel épít.gradle fájl:
adattárak {mavenCentral ()} group = 'com.baeldung' version = '0.0.1-SNAPSHOT' plugin: 'java' dependencies {compile ('org.slf4j: slf4j-api') testCompile ('junit: junit') }
3. Maven plugin
A Gradle Maven pluginnel szállítja, amely támogatja a Gradle fájl Maven POM fájlokká konvertálását. Artefaktumokat is telepíthet a Maven tárolókba.
Ennek használatához tegyük fel a Maven plugint a mi oldalunkba épít.gradle fájl:
plugin alkalmazása: 'maven'
A plugin a csoport és a változat a Gradle fájlban, és hozzáadja őket a POM fájlhoz. Ezenkívül automatikusan a artefactId a könyvtár nevéből.
A plugin automatikusan hozzáadja a telepítés feladat is. Tehát az átalakításhoz futtassuk a következőket:
fokozat telepítése
A fenti parancs futtatásával a épít könyvtár három alkönyvtárral:
- libs - a korsót a névvel $ {artifactId} - $ {version} .jar
- poms – amely tartalmazza az átalakított POM fájlt a névvel pom-default.xml
- tmp / tégely - amely a manifesztet tartalmazza
A létrehozott POM fájl így fog kinézni:
4.0.0 com.baeldung gradle-to-maven 0.0.1-SNAPSHOT org.slf4j slf4j-api összeállítja a junit junit tesztet
A telepítés feladat a létrehozott POM fájlt és a JAR fájlt is feltölti a helyi Maven tárolóba.
4. A Maven beépülő modul testreszabása
Bizonyos esetekben hasznos lehet a projektinformációk testreszabása a létrehozott POM fájlban. Lássuk.
4.1. groupId,artifactId, és változat
A groupId, artefactId és a változat A POM kezelése a telepítés Blokk:
install {repositories {mavenInstaller {pom.version = '0.0.1-maven-SNAPSHOT' pom.groupId = 'com.baeldung.sample' pom.artifactId = 'gradle-maven-converter'}}}
A telepítés feladat most előállítja a POM fájlt a fenti információkkal:
com.baeldung.sample gradle-maven-converter 0.0.1-maven-SNAPSHOT
4.2. A POM könyvtár és neve
Néha, szükségünk lehet a POM fájl másolására egy másik könyvtárba és más névvel. Ezért tegyük hozzá a következőket a telepítés Blokk:
pom.writeTo ("$ {mavenPomDir} / $ {project.group} / $ {project.name} /pom.xml")
A mavenPomDir attribútumot a plugin teszi ki, amely rámutat build / poms. Megadhatjuk minden olyan könyvtár abszolút elérési útját is, ahová át akarjuk másolni a POM fájlt.
Miután a telepítés feladat, láthatjuk a pom.xml belül build / poms / com.baeldung / gradle-to-maven.
4.3. Automatikusan létrehozott tartalom
A Maven plugin azt is megkönnyíti, hogy bármelyik generált POM elemet megváltoztassa. Például, hogy a függőség opcionális legyen, hozzáadhatjuk az alábbi lezárást pom.when konfigurálva:
pom.whenConfigured {pom -> pom.dependencies.find {dep -> dep.groupId == 'junit' && dep.artifactId == 'junit'} .optional = true}
Ez előállítja a választható attribútum hozzáadva a függőség:
junit junit teszt igaz
4.4. további információ
Végül, ha további információkat akarunk hozzáadni, bármilyen Maven által támogatott elemet felvehetünk a pom.project építész.
Adjunk hozzá néhány licencinformációt:
pom.project {inceptionYear '2020' licencek {licenc {name 'My Licence' url '//www.mycompany.com/licenses/license.txt' distribution 'repo'}}}
Most láthatjuk a licencinformációkat a POM-hoz hozzáadva:
2020 Saját licenc //www.mycompany.com/licenses/license.txt repo
5. Következtetés
Ebben a gyors oktatóanyagban megtanultuk, hogyan kell átalakítani a Gradle build fájlt Maven POM-ra.
Mint mindig, a cikk forráskódja megtalálható a GitHubon.