我决定在我的最新项目中试一试 Gradle,该项目包含我使用 gimp 创建的图形。
我在我的项目中使用 git,并且拒绝在我的存储库中提交 exportet .png -graphics。相反,我想保存 gimps .xcf文件,以便以后能够编辑图形。
但是,我的 android 应用程序将需要它们作为.png文件,并且它们有很多,而且我也在尝试完全自动化我的构建过程,所以我希望 Gradle在执行时从我的.xcf文件构建.png -graphics 。gradle build
有一个用于 gradle 的 ImageMagick 插件无法正常工作,因为它会生成具有透明度问题的图像。例子:
这是 gradle 创建的图像:
这就是它的样子(从 gimp 导出):
没有隐藏层,它们也没有不透明度。
构建.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.eowise:gradle-imagemagick:0.4.0'
}
}
task build(type: com.eowise.imagemagick.tasks.Magick) {
convert 'xcf/', { include '*.xcf' }
into 'png/'
actions {
-alpha('on')
-background('none')
inputFile()
-flatten()
outputFile { filename, extension -> "${filename}.png" }
}
}
task clean() {
FileTree tree = fileTree (dir: "xcf/");
tree.each { File file ->
File pngFile = new File("png/" + file.name.replaceFirst(~/\.[^\.]+$/, '') + ".png")
pngFile.delete()
}
}
这些问题似乎与 ImageMagick 本身(来源:google)有关,它与.xcf -Files 存在问题。(我也只是在命令行上运行该命令,它会生成具有相同问题的图像。)
XCF工具
然而,有一个名为xcftools的工具箱可以正确导出图像。
但是,它仅作为托管在 github 上的 git 存储库提供,并且是使用gnu 构建系统构建的。( ./configure && make
)。
因为我假设构建我的项目的人没有安装 xcftools 并且它也不适用于所有发行版。
这就是为什么我希望将它作为一个依赖项,这导致我提出我的问题:
如何将 git-repositories 作为依赖项(或存储库)添加到 Gradle?
如何让 Gradle 构建它以编译时间然后使用它?