我们正在开发一个依赖于一些Java库的Android项目。出于测试目的,我们希望能够使用一个存根变量,它将包含一个不同的jar。如何使用gradle做到这一点?
我一直在尝试一些有味道的东西,但现在只有‘味道’被构建,而不是正常的构建……
发布于 2013-03-22 01:40:51
您最好使用像Google Guice这样的轻量级DI容器,而不是尝试使用构建系统来做这件事。
https://code.google.com/p/google-guice/
您可以定义分别将项目绑定到测试类和生产类的测试模块和生产模块。
如果你真的想用gradle来做这件事,我想不出一个很好的方法。一种方法是定义一个新的配置(称为testAndroid),并从其中排除所有的生产jars,并用测试jars替换它们。然后,您仍然可以使用java插件来构建它。您可以定义一个新的归档,它将在uploadArchives运行时发布测试jar。下面是一个错误的例子:
configurations{
testAndroid extendsFrom compile
testAndroid.exclude(group: 'my.company.production')
}
dependencies{
compile group: 'my.company.production', name: 'prod-jar', version: '1.0'
testAndroid group: 'my.company.test', name: 'test-jar', version: '1.0'
}
task testJar(type: Jar){
//build the jar
}
artifacts{
archives testJar
}https://stackoverflow.com/questions/15497843
复制相似问题