aws-amplify / aws-amplify/amplify-cli
Ability to have a Multi-Module Java Project
- Dominant language
- TypeScript
- Stars
- 2.9k
- Forks
- 825
- Avg merge
- 11d 23h
- Merged PRs (30d)
- 2
Description
Gradle supports multi-module projects very easily. A multi-module project would allow Lambdas to share code in the same repository (without having to have a separate library hosted in maven somewhere). This could even share code with Android.
The very-easy path to allowing this is to invoke gradle with `./gradlew` rather than `gradle`, which probably should be happening anyways. This would allow developers to replace the `gradlew` and gradlew.bat files with passthroughs to invoke a gradle in the root with the path to the module.
The more complicated way would be to setup the root and always execute gradle from the root with the path. This isn't very far from what is currently happening, so it wouldn't be a big refactor.
`runPackageManager` takes a CWD already, so that would just be changed into a java-namespace-string (`:amplify:backend:function:lambda-example`) and you would call `gradlew $path:build`
Contributor guide
Assessment
This issue has not been assessed yet.