Gradle 工具API自定义模型的外部注册

Gradle 工具API自定义模型的外部注册,gradle,gradle-tooling-api,Gradle,Gradle Tooling Api,samples/toolingApi/customModel中提供的两个示例以及Gradle Tooling API自定义模型的示例都使用插件注册模型。但是,为了应用插件,必须更改build.gradle或使用初始化脚本,这是GradleConnector所支持的 如何在工具API本身中注册自定义模型,以便我的应用程序能够以自定义格式检索项目信息,而无需更改它们的build.gradle文件?如何在应用程序代码中获得对ToolingModelBuilderRegistry实现的引用?支持初始化脚

samples/toolingApi/customModel
中提供的两个示例以及Gradle Tooling API自定义模型的示例都使用插件注册模型。但是,为了应用插件,必须更改
build.gradle
或使用初始化脚本,这是
GradleConnector
所支持的


如何在工具API本身中注册自定义模型,以便我的应用程序能够以自定义格式检索项目信息,而无需更改它们的
build.gradle
文件?如何在应用程序代码中获得对
ToolingModelBuilderRegistry
实现的引用?

支持初始化脚本,它们与任何其他脚本一样只是一个参数

projectConnection.models(ModelType).withArguments('--init-script', pathToInitScript).get()

Init脚本是受支持的,它们与其他任何脚本一样只是一个参数

projectConnection.models(ModelType).withArguments('--init-script', pathToInitScript).get()

谢谢,但我听不懂这句话。
connection
ProjectConnection
的实例吗?然后在Java中,在注册模型之前,我必须从
connection.getModel(CustomModel.class)
开始。
withArguments()
属于哪里?似乎您指的是
BuildLauncher
withArguments()
。这是可行的,但我必须解析新插件的输出以检索模型。我仍然希望使用类似于
CustomModel myModel=connection.getModel(CustomModel.class)的东西
在工具API中注册
CustomModel.class
后,如果不注册
CustomModel
,则在初始化脚本中注册
custommodeimpl
。我指的是
ModelBuilder\withArguments()
。您将看到是否将上面的代码片段粘贴到您的代码中。实际上,您链接的博客文章中解释了这个确切的用例:谢谢!那个项目的建设失败了。我为此写了一封感谢信,但我不明白这句话。
connection
ProjectConnection
的实例吗?然后在Java中,在注册模型之前,我必须从
connection.getModel(CustomModel.class)
开始。
withArguments()
属于哪里?似乎您指的是
BuildLauncher
withArguments()
。这是可行的,但我必须解析新插件的输出以检索模型。我仍然希望使用类似于
CustomModel myModel=connection.getModel(CustomModel.class)的东西
在工具API中注册
CustomModel.class
后,如果不注册
CustomModel
,则在初始化脚本中注册
custommodeimpl
。我指的是
ModelBuilder\withArguments()
。您将看到是否将上面的代码片段粘贴到您的代码中。实际上,您链接的博客文章中解释了这个确切的用例:谢谢!那个项目的建设失败了。我为此创建了一个