我决定在我的最新项目中给Gradle一个镜头,其中包含我使用gimp创建的图形。
我在我的项目中使用git而拒绝在我的存储库中提交exportet .png -graphics。相反,我想保存gimps .xcf 文件,以便以后能够编辑图形。
然而,我的Android应用程序将需要它们作为 .png 文件,并且有很多这些文件,我也尝试完全自动化我的构建过程,所以我希望Gradle构建执行gradle build
时, .xcf 文件中的.png -graphics。
有一个带有ImageMagick for 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本身有关(来源:谷歌),它存在 .xcf -Files的问题。 (我也只是在命令行上运行命令,它会生成具有相同问题的图像。)
但是有一个名为xcftools的工具箱可以正确导出图像。
然而,它仅作为gitub上托管的git存储库提供,并使用gnu build system构建。 (./configure && make
)。
我认为没有人构建我的项目安装了xcftools,并且它也不适用于所有发行版。
这就是为什么我希望将它作为一种依赖性来引导我提出我的问题:
如何将git-repositories作为依赖项(或存储库)添加到Gradle?
如何让Gradle构建它以编译时间然后使用它?