forma
forma copied to clipboard
Implement targets deps API's
Currently Forma supports dependencies in form of String's and projects.
However, project function name does not correspond to internal Forma terminology as well as using Gradle API's directly which should be minimized.
Solution here is to design and implement target(...) function to replace project.
Options:
- Keep Gradle projects notation
:parent:sub:project - Replace with Bazel-like notation
\parent\sub\project - Support both, possibly with flags to favor one over another
May be you wanna to say \parent\sub\target for Bazel-like notations? :)
For my opinion, we should move away from Gradle terms about project structures, "modules", dependencies. It will be better for development Forma abstraction concepts, structures, which not depends from any build systems and for better understanding too)
In that case, implementation by target(...) is good
Exactly my thinking, but since we are Gradle-only for now - my favorite option is 3 since it's less confusing for devs.
For Gradle tasks, you'll still need to use :parent:sub:project in the console, and for now there is not much we can do about it. Unless we'll have our own gradle wrapper🤪
@michaem thanks for a great idea. Started new discussion so we can work on it later https://github.com/formatools/forma/discussions/57