aws-amplify / aws-amplify/amplify-cli

Ability to have a Multi-Module Java Project

Open
#4,563 1 comment 0 reactions 0 assignees View on GitHub
feature-request functions p4
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.