...
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
...