Пока только два дня, я определенно продаюсь с использованием gradle для всех моих проектов Java и отбрасываю pom.xml из корня всех моих проектов.
Однако я хотел бы оставаться maven-совместимым в том смысле, что я хотел бы, чтобы задача gradle могла генерировать подходящий pom.xml в корне проекта, если пользователь этого захочет.
В настоящий момент единственная ссылка на pom.xml, который у меня есть, находится в этом разделе файла build.gradle(это, с очень небольшими изменениями, то, что найдено здесь):
uploadArchives {
repositories {
mavenDeployer {
beforeDeployment {
MavenDeployment deployment -> signing.signPom(deployment);
}
repository(url: sonatypeRepoURI) {
authentication(userName: sonatypeUsername,
password: sonatypePassword);
}
pom.project {
name "${name}";
packaging "bundle";
description "${description}";
url "${projectURL}";
scm {
url "${gitroscm}";
connection "${gitroscm}";
developerConnection "${gitrwscm}";
}
licenses {
license {
name "Lesser General Public License, version 3 or greater";
url "http://www.gnu.org/licenses/lgpl.html";
distribution "repo";
}
}
developers {
developer {
id "whocares";
name "whocares";
email "whocares";
}
}
}
}
}
}
Как извлечь pom.project
из этой очень глубоко вложенной конструкции в задачу, которая могла бы генерировать pom.xml(по умолчанию сгенерированный pom.xml находится в build/poms/pom-default.xml
и выглядит неплохо)?
Что еще более важно, возможно ли извлечь этот pom.project
из uploadArchives
, все еще имея возможность ссылаться на него?
Полная ссылка на файл build.gradle: здесь.