In the Java Language Specification, paragraph 7.7, it states:
A 'dependency' is the observable module enumerated by resolution (as described in the java.lang.module package specification) for a given 'requires' directive.
The documentation of java.lang.module states:
Step 1: Recursive enumeration takes a set of module names, looks up each of their module declarations, and for each module declaration, recursively enumerates:
- the module names given by the 'requires' directives with the 'transitive' modifier, and
- at the discretion of the host system, the module names given by the 'requires' directives without the 'transitive' modifier.
I don't understand the purpose of distinguishing between 'requires' and 'requires transitive' when it comes to resolution. Any ideas?