Kar*_*rim 7 java android intellij-idea intellij-plugin build.gradle
我正在为intellij编写一个插件,我想以编程方式更改Intellij项目的build.gradle文件.
我想补充一下
sourceSets {
resources {
srcDir 'src/resources'
}
}
Run Code Online (Sandbox Code Playgroud)
在androidbuild.gradle文件中的对象内(这是一个android项目)
我意识到我必须做一些事情
GradleBuildFile gradleBuildFile = GradleBuildFile.get(module);
GrStatementOwner closure = gradleBuildFile.getClosure("android/sourceSets/main/resources");
gradleBuildFile.setValue(closure, BuildFileKey.SRC_DIR, "blah");
Run Code Online (Sandbox Code Playgroud)
问题是,没有BuildFileKey.SRC_DIR,我没有找到类似的东西.
此外,sourceSets如果在build.gradle文件中没有该对象,是否会添加该对象?
有什么建议?
谢谢
更新: 或者,有没有办法将文件夹标记为资源文件夹?我不想使用默认的res文件夹.也许使用AndroidFacet对象..
小智 0
好问题。我需要做同样的事情,但一直用原始的 FileWriter 来做。只要它有效:S
public void actionPerformed(AnActionEvent event) {
Project project = event.getProject();
String buildFilePath = project.getBasePath() + "\\app\\build.gradle";
BufferedReader br_build = new BufferedReader(new FileReader(buildFilePath));
String newBuildFile = "";
String line;
while ((line = br_build.readLine()) != null) {
newBuildFile += line + "\n";
if (line.contains("android {")){
newBuildFile += "// Add your stuff here\n" +
"sourceSets {\n" +
" resources {\n" +
" srcDir 'src/resources'\n" +
" }\n" +
"}\n";
}
}
br_build.close();
FileWriter fw_build = new FileWriter(buildFilePath);
fw_build.write(newBuildFile);
fw_build.close();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
634 次 |
| 最近记录: |