我正在编写一个自定义插件并对其进行测试,我想注入模拟实现。它不仅用于测试,而且从 API 的角度来看,我想根据上下文注入不同的实现。我目前正在使用 Gradle 2.6,并且我知道它支持某种形式的依赖注入。我不想使用 Spring/Guice/HK2,因为 Gradle 本身支持它。但是,我无法找到如何使用 Gradle 2.6 API 注入依赖项的任何信息。
例如:
class CustomTask extends DefaultTask {
private SomeInterface interface
@Inject
CustomTask(SomeInterface interface) {}
@TaskAction
public void executeTask() {
interface.executeSomething()
}
}
所以,本质上,我想弄清楚在哪里定义不同实例的绑定SomeInterface
以及将其注入任务或其他任何地方的机制,如一些自定义类。