Prevod súboru Gradle Build na Maven POM
1. Úvod
V tomto výučbe sa pozrieme na to, ako previesť zostavovací súbor Gradle na súbor Maven POM. Preskúmame tiež niekoľko dostupných možností prispôsobenia.
2. Vytvorte súbor Gradle
Začnime so štandardným projektom Java Gradle, gradle-to-maven,s nasledujúcimi build.gradle spis:
repositories {mavenCentral ()} group = 'com.baeldung' version = '0.0.1-SNAPSHOT' apply plugin: 'java' dependencies {compile ('org.slf4j: slf4j-api') testCompile ('junit: junit') }
3. Doplnok Maven
Gradle sa dodáva s doplnkom Maven, ktorý pridáva podporu pre prevod súboru Gradle na súbor Maven POM. Môže tiež nasadiť artefakty do úložísk Maven.
Aby sme to mohli využiť, pridajme si do nášho Maven plugin build.gradle spis:
použiť plugin: 'maven'
Doplnok používa skupina a verzia v súbore Gradle a pridá ich do súboru POM. Tiež to automaticky trvá artifactId z názvu adresára.
Doplnok automaticky pridáva Inštalácia aj úlohu. Ak teda chceme vykonať konverziu, spustime nasledovné:
gradle nainštalovať
Spustením vyššie uvedeného príkazu sa vytvorí a stavať adresár s tromi podadresármi:
- libs - obsahujúci téglik s menom $ {artifactId} - $ {verzia} .jar
- poms – obsahujúci prevedený súbor POM s názvom pom-default.xml
- tmp / jar - obsahujúci manifest
Vygenerovaný súbor POM bude vyzerať takto:
4.0.0 com.baeldung gradle-to-maven 0.0.1-SNAPSHOT org.slf4j slf4j-api kompilácia junit junit test
The Inštalácia úloha tiež nahrá vygenerovaný súbor POM a JAR do miestneho úložiska Maven.
4. Prispôsobenie doplnku Maven
V niektorých prípadoch môže byť užitočné prispôsobiť informácie o projekte vo vygenerovanom súbore POM. Pozrime sa.
4.1. groupId,artifactId, a verzia
Mení sa groupId, artifactId a verzia POM je možné spracovať v Inštalácia blok:
nainštalovať {repozitáre {mavenInstaller {pom.version = '0.0.1-maven-SNAPSHOT' pom.groupId = 'com.baeldung.sample' pom.artifactId = 'gradle-maven-converter'}}}
Prevádzka Inštalácia úloha teraz vytvorí súbor POM s informáciami uvedenými vyššie:
com.baeldung.sample gradle-maven-converter 0.0.1-maven-SNAPSHOT
4.2. Adresár a názov POM
Niekedy možno budeme musieť súbor POM skopírovať do iného adresára a s iným názvom. Preto do položky pridajme nasledujúce Inštalácia blok:
pom.writeTo ("$ {mavenPomDir} / $ {project.group} / $ {project.name} /pom.xml")
The mavenPomDir atribút je odhalený doplnkom, ktorý bude ukazovať na stavať / poms. Môžeme tiež určiť absolútnu cestu k ľubovoľnému adresáru, do ktorého chceme súbor POM skopírovať.
Po spustení Inštalácia úlohu, môžeme vidieť pom.xml vo vnútri build / poms / com.baeldung / gradle-to-maven.
4.3. Automaticky generovaný obsah
Doplnok Maven tiež umožňuje priamu zmenu ktoréhokoľvek z vygenerovaných prvkov POM. Napríklad aby bola závislosť voliteľná, môžeme do nej pridať nižšie uvedený záver pom.when Konfigurované:
pom.whenConfigured {pom -> pom.dependencies.find {dep -> dep.groupId == 'junit' && dep.artifactId == 'junit'} .optional = true}
Toto vyprodukuje voliteľné atribút pridaný k závislosť:
test junit junit pravdivý
4.4. Ďalšie informácie
Nakoniec, ak chceme pridať ďalšie informácie, môžeme do prvku zahrnúť akýkoľvek prvok podporovaný Maven pom.projekt staviteľ.
Pridajte nejaké licenčné informácie:
pom.project {inceptionYear '2020' license {license {name 'My License' url '//www.mycompany.com/licenses/license.txt' distribution 'repo'}}}
Teraz vidíme licenčné informácie pridané k POM:
2020 Moja licencia //www.mycompany.com/licenses/license.txt repo
5. Záver
V tomto rýchlom výučbe sme sa naučili, ako previesť zostavovací súbor Gradle na Maven POM.
Zdrojový kód z tohto článku nájdete ako vždy na serveri GitHub.