...
For each dependency in the list:
Get its runtime classpath
...
The reduced version of this attribute may be minimal, but it provides us all the information necessary to load and link the module.
Use Cases
Scenario 1: Sub-project A has no dependencies.
Expected Behavior: The "Dependent-Modules" attribute in modules A's manifest file is empty.
Scenario 2: Sub-project A depends on sub-project B in its build.gradle file. Sub-project B has no dependencies.
Expected Behavior: The "Dependent-Modules" attribute in modules A's manifest file contains sub-project B. Sub-project B's "Dependent-Modules" attribute is empty.
Scenario 3: Sub-project A depends on sub-project B and sub-project B depends on sub-project C. Sub-project C has no dependencies.
Expected Behavior: The "Dependent-Modules" attribute in modules A's manifest file contains sub-project B and sub-project B's "Dependent-Modules" attribute contains sub-project C. Sub-project C's "Dependent-Modules" attribute is empty.
Scenario 4: Sub-project A depends on sub-projects B and C. Sub-project B depends on sub-project C. Sub-project C has no dependencies.
Expected Behavior: The "Dependent-Modules" attribute in modules A's manifest file contains sub-project B and sub-project B's "Dependent-Modules" attribute contains sub-project C. Sub-project C's "Dependent-Modules" attribute is empty.
Scenario 5: Sub-project A depends on sub-projects B, C, and D. Sub-project B depends on sub-project C. Sub-projects C and D have no dependencies.
Expected Behavior: The "Dependent-Modules" attribute in modules A's manifest file contains sub-project B and sub-project D. Sub-project B's "Dependent-Modules" attribute contains sub-project C. Sub-project C's and sub-project D's "Dependent-Modules" attributes are empty.
Changes and Additions to Public Interfaces
...