You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It would be nice to get something cleaner than this. A couple challenges:
Keywords and symbol support. They aren't valid Java identifiers so you can't just do something like :stuff = 'things'.
Can't be too Groovy specific, since we would want this to work in Kotlin DSL too.
Context
Right now, the plugin has to statically provide every single option for any Clojure tool we call out to (e.g. ClojureScript compiler, Figwheel). Most of those tools accept EDN maps as config, and have a very dynamic sense of what can be provided in them.
For example, neither ClojureScript nor Figwheel document a :devcards option, but DevCards relies on a :devcards key to be in the compiler environment to decide whether to actually create the cards.
It is very difficult to provide support for these kinds of things, as there's always another option or another tool that will require more.
The major caveat here is that to leverage Gradle, we must still identify certain values as input files/directories or output files/directories. These are needed for Gradle's incremental build support to decide whether or not to re-run tasks.
The text was updated successfully, but these errors were encountered:
Ideally, this wouldn't need explicit support, because we'd have to
continue adding options for every tool that leverages the compiler
options to do its work.
Long term solution will be addressed in #103.
Ideally, this wouldn't need explicit support, because we'd have to
continue adding options for every tool that leverages the compiler
options to do its work.
Long term solution will be addressed in #103.
Desired Behavior
Provide a generic way for a Clojure-based task to accept dynamic configuration as a map, supporting additional EDN types: Keyword and Symbol.
Something maybe like:
where usage would look like (rough take at it):
It would be nice to get something cleaner than this. A couple challenges:
:stuff = 'things'
.Context
Right now, the plugin has to statically provide every single option for any Clojure tool we call out to (e.g. ClojureScript compiler, Figwheel). Most of those tools accept EDN maps as config, and have a very dynamic sense of what can be provided in them.
For example, neither ClojureScript nor Figwheel document a
:devcards
option, but DevCards relies on a:devcards
key to be in the compiler environment to decide whether to actually create the cards.It is very difficult to provide support for these kinds of things, as there's always another option or another tool that will require more.
The major caveat here is that to leverage Gradle, we must still identify certain values as input files/directories or output files/directories. These are needed for Gradle's incremental build support to decide whether or not to re-run tasks.
The text was updated successfully, but these errors were encountered: