Gradle @Input を で機能させるにはどうすればよいですList<CustomClass>
か? メソッドを追加しようとしましたtoString()
が、これは役に立ちますが、それでも奇妙な方法で失敗します。シリアライズ可能にする正しい方法は何ですか? これは Gradle のバージョン 2.4 です。
失敗:List<CustomClass>
@Input
List<CustomClass> getMyInput() {
List<CustomClass> simpleList = new ArrayList<>()
simpleList.add(new CustomClass())
return simpleList
}
static class CustomClass {
String str
}
これは次のメッセージで失敗します。
"Unable to store task input properties. Property 'myInput' with value '[null]' cannot be serialized."
成功:List<String>
@Input
List<String> getMyInput() {
List<String> simpleList = new ArrayList<>()
simpleList.add(new String('ignore'))
return simpleList
}
例外が作成される場所の Gradle ソース コード参照: https://github.com/gradle/gradle/blob/master/subprojects/core/src/main/groovy/org/gradle/api/internal/changedetection/state/InputPropertiesSerializer .java#L42