Pretvaranje datoteke gradnje Gradle u Maven POM
1. Uvod
U ovom uputstvu ćemo pogledati kako pretvoriti datoteku gradnje Gradle u datoteku Maven POM. Također ćemo istražiti nekoliko dostupnih mogućnosti prilagodbe.
2. Gradle datoteka gradnje
Počnimo sa standardnim Gradle Java projektom, gradle-to-maven,sa sljedećim graditi.gradle datoteka:
spremišta {mavenCentral ()} group = 'com.baeldung' version = '0.0.1-SNAPSHOT' primijeni dodatak: 'java' ovisnosti {compile ('org.slf4j: slf4j-api') testCompile ('junit: junit') }
3. Dodatak Maven
Gradle se isporučuje s dodatkom Maven, koji dodaje podršku za pretvaranje datoteke Gradle u datoteku Maven POM. Također može rasporediti artefakte u spremišta Maven.
Da bismo to iskoristili, dodajmo dodatak Maven u naš graditi.gradle datoteka:
primijeni dodatak: 'maven'
Dodatak koristi skupina i verzija prisutni u datoteci Gradle i dodaju ih u datoteku POM. Također, automatski uzima artefaktId iz naziva direktorija.
Dodatak automatski dodaje instalirati zadatak također. Dakle, za pretvorbu pokrenimo sljedeće:
gradle instalirati
Pokretanjem gornje naredbe stvara se izgraditi direktorij s tri poddirektorijuma:
- usne - koja sadrži staklenku s imenom $ {artifactId} - $ {verzija} .jar
- poms – koja sadrži pretvorenu POM datoteku s imenom pom-default.xml
- tmp / jar - koji sadrži manifest
Generirana POM datoteka izgledat će ovako:
4.0.0 com.baeldung gradle-to-maven 0.0.1-SNAPSHOT org.slf4j slf4j-api sastaviti test junit junit
The instalirati zadatak također prenosi generiranu POM datoteku i JAR u lokalno spremište Maven.
4. Prilagođavanje dodatka Maven
U nekim slučajevima može biti korisno prilagoditi podatke o projektu u generiranoj POM datoteci. Pogledajmo.
4.1. id grupe,artefaktId, i verzija
Promjena groupId, artefaktId i verzija POM-a može se rukovati u instalirati blok:
instalirati {repozitoriji {mavenInstaller {pom.version = '0.0.1-maven-SNAPSHOT' pom.groupId = 'com.baeldung.sample' pom.artifactId = 'gradle-maven-converter'}}}
Pokretanje instalirati zadatak sada proizvodi POM datoteku s gore navedenim informacijama:
com.baeldung.sample gradle-maven-pretvarač 0.0.1-maven-SNAPSHOT
4.2. Imenik i naziv POM-a
Ponekad, možda ćemo trebati POM datoteku kopirati u drugi direktorij i s drugim imenom. Stoga, dodajmo sljedeće u instalirati blok:
pom.writeTo ("$ {mavenPomDir} / $ {project.group} / $ {project.name} /pom.xml")
The mavenPomDir atribut izlaže dodatak koji će ukazivati na graditi / poms. Također možemo dati apsolutni put bilo kojeg direktorija u koji želimo kopirati POM datoteku.
Nakon pokretanja instalirati zadatak, možemo vidjeti pom.xml iznutra build / poms / com.baeldung / gradle-to-maven.
4.3. Automatski generirani sadržaj
Dodatak Maven također olakšava promjenu bilo kojeg generiranog POM elementa. Na primjer, da ovisnost postane neobavezna, možemo dodati donje zatvaranje pom.whenConfigured:
pom.whenConfigured {pom -> pom.dependencies.find {dep -> dep.groupId == 'junit' && dep.artifactId == 'junit'} .optional = true}
To će proizvesti neobavezna atribut dodan u ovisnost:
test junit junit istina
4.4. dodatne informacije
Napokon, ako želimo dodati dodatne informacije, možemo uključiti bilo koji podržani Maven element u pom.projekt graditelj.
Dodajmo neke podatke o licenci:
pom.project {početakGodine '2020' licence {licenca {naziv 'Moja licenca' url '//www.mycompany.com/licenses/license.txt' distribucija 'repo'}}}
Sad možemo vidjeti podatke o licenci dodane u POM:
2020 Moja licenca //www.mycompany.com/licenses/license.txt repo
5. Zaključak
U ovom smo brzom vodiču naučili kako pretvoriti datoteku gradnje Gradle u Maven POM.
Kao i uvijek, izvorni kod iz ovog članka možete pronaći na GitHubu.