Как отмечалось в комментариях usr-local-ΕΨΗΕΛΩΝ
, пользовательский плагин Gradle является решением, если вы обнаружите дублирующую логику сборки во многих проектах.
Вы можете использовать Плагин инициализации сборки , чтобысоздать скелет Gradle плагин. Вы захотите установить Gradle глобально, чтобы вызывать gradle
где угодно. См. Инструкции здесь для установки Gradle.
Так, например, чтобы определить свойство platform
, ваш плагин может сделать следующее:
import org.gradle.api.GradleException;
import org.gradle.api.Project;
import org.gradle.api.Plugin;
import org.gradle.internal.os.OperatingSystem;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ExamplePlugin implements Plugin<Project> {
private static final Logger log = LoggerFactory.getLogger(ExamplePlugin.class);
public void apply(Project project) {
String platform = inferPlatform(project);
project.getExtensions().getExtraProperties().set("platform", platform);
log.info("OS/platform |{}|", platform);
}
private String inferPlatform(Project project) {
// OperatingSystem is an INTERNAL package.
// It is strongly recommended you not use internal Gradle APIs.
OperatingSystem currentOS = OperatingSystem.current();
if (currentOS.isWindows()) {
return "win";
} else if (currentOS.isLinux()) {
return "linux";
} else {
throw new GradleException("unsupported OS: " + currentOS.toString());
}
}
}
I 'Мы привели пример Java, но вы также можете написать свой плагин на Groovy или Kotlin.
Когда у вас есть плагин, просто опубликуйте его локально или на портале плагинов Gradle.