4

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

4

1 に答える 1