В настоящее время я создаю собственный плагин Gradle, где предполагается применить плагин cpp к проекту, к которому применяется плагин.
После применения плагина cpp я хочу иметь возможность устанавливать исходные наборы для плагина cpp для определения стандартных макетов для исходных файлов и т. Д. Это, конечно, довольно просто при применении к проекту в DSL, но появляетсябыть трудным при попытке этого через плагин на основе Java.
Цель этого заключается в том, чтобы я хотел иметь собственный плагин, который является внутренним по отношению к моей базе кода, который позволяет мне применять плагин к проекту, который устанавливает все исходные наборы cpp и двоичные /настройки библиотеки / теста, которые мне нужны, без необходимости устанавливать все это для множества проектов (микросервисов), которые у меня есть в базе кода.
До сих пор я смог создать собственный плагин так, чтобы он мог быть включен в другой проект, и к пользовательскому плагину был применен плагин cpp, но что касается настройки плагина cpp, яЯ немного растерялся.
Мой текущий код приведен ниже:
class customPlugin implements Plugin<Project> {
void apply(Project project) {
project.setBuildDir(project.getRootProject().getBuildDir())
project.getPluginManager().apply "cpp"
CppPlugin nativeComponentPlugin = project.getPlugins().getPlugin('cpp') //I can't do anything useful with this object
project.task(project.getName()) {
doLast {
println 'Project ' + project.getName()
}
}
}
Затем в другом проекте я вызываю следующее, чтобы применить плагин (который работает, но предоставляется для полноты)
apply plugin: org.company.projectplugins.customPlugin