| @@ -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
