forma icon indicating copy to clipboard operation
forma copied to clipboard

Implement targets deps API's

Open stepango opened this issue 5 years ago • 3 comments

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:

  1. Keep Gradle projects notation :parent:sub:project
  2. Replace with Bazel-like notation \parent\sub\project
  3. Support both, possibly with flags to favor one over another

stepango avatar Dec 08 '20 22:12 stepango

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

michaem avatar Dec 09 '20 12:12 michaem

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🤪

stepango avatar Dec 09 '20 16:12 stepango

@michaem thanks for a great idea. Started new discussion so we can work on it later https://github.com/formatools/forma/discussions/57

stepango avatar Dec 09 '20 17:12 stepango