使用Java代码的Gradle自定义任务
问题描述:
我正在使用Gradle,并且需要在编译阶段进行一些预处理.我的预处理器是来自外部库(从Maven Central加载的依赖项)中的类.我怎么写这样的 task
?
I'm using Gradle, and I need to make some preprocessing on compilation phase. My preprocessor is a class from an external library (a dependency, loaded from Maven Central). How can I wrote such task
?
我有类似的代码:
buildscript {
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
classpath group: 'com.googlecode.htmlcompressor', name: 'htmlcompressor', version: '1.4'
}
}
task compressXML {
logging.captureStandardOutput LogLevel.INFO
String xml = file('assets/menu.xml').text;
XmlCompressor compressor = new XmlCompressor();
String compressedXml = compressor.compress(xml);
println compressedXml;
}
但是Gradle看不到 XmlCompressor
类的问题:
but the problem that Gradle don't see XmlCompressor
class:
build.gradle': 70: unable to resolve class XmlCompressor
@ line 70, column 27.
XmlCompressor compressor = new XmlCompressor();
^
build file '../build.gradle': 70: unable to resolve class XmlCompressor
@ line 70, column 40.
XmlCompressor compressor = new XmlCompressor();
^
2 errors
答
(如果您使用 JCP预处理器,那么您可以访问其页面,并且有 wiki页面如何进行预处理android项目的gradle
if you use JCP preprocessor then you can visit its page and there is wiki page how to make preprocessing with gradle for android projects