【发布时间】:2017-10-06 08:31:47
【问题描述】:
我正在尝试构建一个带有 UI 的 Android Studio 插件,以添加 对 build.gradle 文件的依赖项。我们如何通过我的插件以编程方式将一行依赖项添加到 build.gradle 文件中?
【问题讨论】:
标签: java android-studio intellij-idea build.gradle intellij-plugin
我正在尝试构建一个带有 UI 的 Android Studio 插件,以添加 对 build.gradle 文件的依赖项。我们如何通过我的插件以编程方式将一行依赖项添加到 build.gradle 文件中?
【问题讨论】:
标签: java android-studio intellij-idea build.gradle intellij-plugin
试试这些步骤。确保您已将 gradle 依赖项 (<depends>org.jetbrains.plugins.gradle</depends>) 添加到插件项目的 plugin.xml。
创建一个VirtualFile 代表您不想修改的build.gradle 文件。
VirtualFile buildFile = LocalFileSystem.getInstance().findFileByPath("absolute path to build.gradle");
为该文件创建GradleBuildModel。
GradleBuildModel gradleBuildModel = GradleBuildModel.parseBuildFile(buildFile, project);
从GradleBuildModel获取DependenciesModel
DependenciesModel dependenciesModel = buildModel.dependencies();
添加你的依赖。
dependenciesModel.addArtifact(COMPILE, "com.squareup.picasso:picasso:2.5.2");
//import static com.android.tools.idea.gradle.dsl.model.dependencies.CommonConfigurationNames.COMPILE;
最后,应用更改。
ApplicationManager.getApplication().runWriteAction(() -> {
CommandProcessor.getInstance().executeCommand(project, () -> {
gradleBuildModel.applyChanges();
}, null, null);
});
【讨论】: