# Using extension as input object in a task

**URL:** <https://discuss.gradle.org/t/using-extension-as-input-object-in-a-task/5068>\
**Category:** Old Forum Archive\
**Created:** [July 4, 2014, 10:23am UTC](https://discuss.gradle.org/t/using-extension-as-input-object-in-a-task/5068 "2014-07-04T10:23:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Markus\_Oley](https://avatars.discourse-cdn.com/v4/letter/m/839c29/32.png) [@Markus\_Oley](https://discuss.gradle.org/u/Markus_Oley)\
**Post date:** [July 4, 2014, 10:23am UTC](https://discuss.gradle.org/t/using-extension-as-input-object-in-a-task/5068/1 "2014-07-04T10:23:00Z")

</div>

Hi,

I have a certain task, which can be configured by a extension.

I want to add this extension to the uptodatecheck, so I added

a field

@Input

FooDsl foo

But than I get an error

Caused by: java.io.NotSerializableException: org.gradle.api.internal.AsmBackedClassGenerator$MixInExtensibleDynamicObject

at org.gradle.messaging.serialize.DefaultSerializer.write(DefaultSerializer.java:53)

at org.gradle.api.internal.changedetection.state.CacheBackedTaskHistoryRepository$LazyTaskExecution$TaskHistorySerializer.write(CacheBackedTaskHistoryRepository.java:276)

at org.gradle.api.internal.changedetection.state.CacheBackedTaskHistoryRepository$TaskHistorySerializer.write(CacheBackedTaskHistoryRepository.java:156)

at org.gradle.api.internal.changedetection.state.CacheBackedTaskHistoryRepository$TaskHistorySerializer.write(CacheBackedTaskHistoryRepository.java:136)

Is it possible to use extensions as input object?

Cheers Markus

---

<div class="post-metadata">

**Author:** ![daz](https://sea1.discourse-cdn.com/gradle/user_avatar/discuss.gradle.org/daz/32/2475_2.png) [@daz](https://discuss.gradle.org/u/daz)\
**Post date:** [July 4, 2014, 6:04pm UTC](https://discuss.gradle.org/t/using-extension-as-input-object-in-a-task/5068/2 "2014-07-04T18:04:00Z")

</div>

I don’t think you can use the extension itself, but you could apply values from the extension to the task, and declare these as inputs to the task. The problem is likely that an Extension object is a dynamic object in Gradle, and so cannot be simply serialised.

---

<div class="post-metadata">

**Author:** ![Markus\_Oley](https://avatars.discourse-cdn.com/v4/letter/m/839c29/32.png) [@Markus\_Oley](https://discuss.gradle.org/u/Markus_Oley)\
**Post date:** [July 4, 2014, 8:51pm UTC](https://discuss.gradle.org/t/using-extension-as-input-object-in-a-task/5068/3 "2014-07-04T20:51:00Z")

</div>

OK, thank you for your answer
