| @@ -0,0 +1,27 | |||||
|
|
1 | package org.implab.gradle.common.utils; | |||
|
|
2 | ||||
|
|
3 | import java.util.function.Supplier; | |||
|
|
4 | ||||
|
|
5 | import javax.inject.Inject; | |||
|
|
6 | ||||
|
|
7 | import org.gradle.api.model.ObjectFactory; | |||
|
|
8 | import org.gradle.api.provider.Provider; | |||
|
|
9 | import org.gradle.api.provider.ProviderFactory; | |||
|
|
10 | ||||
|
|
11 | import groovy.lang.Closure; | |||
|
|
12 | ||||
|
|
13 | public interface ObjectsMixin { | |||
|
|
14 | @Inject | |||
|
|
15 | ObjectFactory getObjects(); | |||
|
|
16 | ||||
|
|
17 | @Inject | |||
|
|
18 | ProviderFactory getProviders(); | |||
|
|
19 | ||||
|
|
20 | default <T> Provider<T> provider(Supplier<T> supplier) { | |||
|
|
21 | return getProviders().provider(supplier::get); | |||
|
|
22 | } | |||
|
|
23 | ||||
|
|
24 | default <T> Provider<T> provider(Closure<T> closure) { | |||
|
|
25 | return getProviders().provider(closure); | |||
|
|
26 | } | |||
|
|
27 | } | |||
General Comments 0
You need to be logged in to leave comments.
Login now
