Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nebula-plugins/investigate-insight
Investigate dependency insight from core Gradle features & Nebula plugins
https://github.com/nebula-plugins/investigate-insight
Last synced: 5 days ago
JSON representation
Investigate dependency insight from core Gradle features & Nebula plugins
- Host: GitHub
- URL: https://github.com/nebula-plugins/investigate-insight
- Owner: nebula-plugins
- Created: 2018-07-12T23:05:09.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-07-19T20:11:37.000Z (over 6 years ago)
- Last Synced: 2024-11-08T07:42:40.407Z (about 2 months ago)
- Language: Groovy
- Size: 184 KB
- Stars: 0
- Watchers: 16
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Testing `dependencyInsight` task
## Purpose
Nebula has been using [nebula-plugins/nebula-dependency-base-plugin](https://github.com/nebula-plugins/nebula-dependency-base-plugin/releases) to generate a custom `dependencyInsight` task.
Gradle has changed their core `dependencyInsight` task, and this is some investigation on what occurs in situations where we move from Nebula's custom to Gradle's core features.
We are testing the insight for dependencies with versions from...
- Basic version selection reasons
- Static configuration
- Dynamic configuration
- A recommendation (BOM or properties file)
- Enforcement selection reasons
- A forced override
- A lockfile
- An lockfile override from a file or property
- Selection rules
- A replacement rule
- A substitution rule
- An exclude rule
- An alignment rule#### Under test
See the following configurations:
- With [guava](guava.md)
- With [mockito](mockito.md)
- With [slf4j](slf4j.README.md)## Steps
`./gradlew test`
View the differences at `docs//.txt`
When all the tests succeed, the files will end with the line `completed assertions`
#### Viewing the differences, hints!
- See all files printed, with headers:
```
find docs -type f | xargs tail -n +1
```- View side-by-side in an IDE
## Results
#### Ordering
- Exclude
- Substitution, replacement
- Lock
- Alignment
- Force
- Static, dynamic
- Recommendation#### More information wanted...
- When forced or locked are not the last step, they should still be listed in the Selection Reasons. Want: `Forced to 'x' version`
- `static-force-lock`
- `dynamic-force-lock`
- `rec-force-lock`
- `replacement-static-force-lock`
- `replacement-dynamic-force-lock`
- `replacement-rec-force-lock`
- `alignment-static-force-lock`
- `alignment-rec-force-lock`
#### Unexpected results
- Forces & locks have different priority order
- `alignment-static-force-lock` and `alignment-static-force` (force wins) vs `dynamic-force-lock` and `dynamic-force` (lock wins)
- Not listing the recommended version
- `alignment-rec`
- `alignment-rec-force`
- `alignment-rec-force-lock`
- `alignment-rec-lock`