Зависимость Gradle с помощью Make
Я решил дать Gradle шанс в моем последнем проекте, в котором представлена графика, которую я создаю, используя gimp.
Я использую git для своего проекта и отказываюсь вносить exportet .png-graphics в свой репозиторий. Вместо этого я хочу сохранить файлы gimps .xcf, чтобы иметь возможность редактировать графику позже.
Однако моему приложению для Android они понадобятся в виде файлов .png, и их очень много, и я также пытаюсь полностью автоматизировать процесс сборки, поэтому я хочу, чтобы Gradle при запуске выполнял сборку .png-graphics из моих файлов .xcf. gradle build
,
Существует плагин с ImageMagick для Gradle, который не работает, поскольку он создает изображения с проблемами прозрачности. Пример:
Это изображение, созданное Gradle:
И вот как это должно выглядеть (экспорт из gimp):
Там нет скрытых слоев, и они также не имеют непрозрачности.
build.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. (Я также просто запускаю команду в командной строке, и она создает изображения с такими же проблемами.)
XCFTools
Однако существует набор инструментов под названием xcftools, который может правильно экспортировать изображения.
Однако он предоставляется только как репозиторий git, размещенный на github, и собран с использованием системы сборки gnu. (./configure && make
).
Поскольку я предполагаю, что ни в одном здании в моем проекте не установлен xcftools, и он также доступен не для всех дистрибутивов.
Вот почему я хотел бы иметь это как зависимость, которая приводит меня к моему вопросу:
Как добавить git-репозитории в Gradle в качестве зависимости (или репозитория)?
Как заставить Gradle собрать его, чтобы компилировать время, а затем использовать его?