Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PoC] Add multimodule support to Scala CLI ⚠️ #3085

Draft
wants to merge 36 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
bb88e70
Nit: Add named arguments to a buildOnce call
MaciejG604 Apr 10, 2024
bfe96df
Remove maybeUpdateProjectTargetUri as ProjectName always has targetUr…
MaciejG604 Apr 18, 2024
f121b9a
Fix CI on the fork not working
MaciejG604 Apr 21, 2024
f5e1838
Remove argument that is same as default
MaciejG604 Apr 22, 2024
fd5764d
NIT: Just to make reviewing easier:
MaciejG604 Apr 25, 2024
fcbfa20
Change HasGeneratedSources to ManagesBuildTargets
MaciejG604 Apr 18, 2024
e4a5af3
Add BspClient to the BspServer constructor arguments
MaciejG604 Apr 25, 2024
5dc9811
Fix tests
MaciejG604 Apr 25, 2024
68a755d
[FIXME] Comment out broken tests hehe
MaciejG604 May 3, 2024
2326b64
Rename Inputs to ModuleInputs
MaciejG604 May 4, 2024
ef8e672
Fix ProjectName with test scope
MaciejG604 May 12, 2024
88ab51c
Add InputsComposer for reading .toml file and creating a sequence of …
MaciejG604 May 12, 2024
226b269
Force uniform workspace in module inputs
MaciejG604 May 13, 2024
f1d4d97
Use InputsComposer in Bsp
MaciejG604 May 16, 2024
d0d8a51
Add tests for InputsComposer
MaciejG604 May 19, 2024
4949fd9
Force baseProjectName in InputsComposer
MaciejG604 May 19, 2024
31b041c
Compose inputs in SetupIde, add fixes to Bsp initial configuration
MaciejG604 May 26, 2024
d7edb07
Add classes dir of module dependencies to the project's classpath
MaciejG604 May 26, 2024
3fcd3cb
Add tests for multi module bsp
MaciejG604 May 26, 2024
d51eeba
Apply scalafmt
MaciejG604 May 26, 2024
3e283f3
Remove fixed TODO
MaciejG604 May 26, 2024
12acd54
Remove unused val
MaciejG604 May 26, 2024
46481db
Add mechanism for picking the highest java version for bloop, add doc…
MaciejG604 May 26, 2024
7163000
WIP add Inputs trait and implementing classes
MaciejG604 Jun 10, 2024
f9982c6
Move some test code to utils class
MaciejG604 Jun 15, 2024
e4bf035
Implement a new trait Inputs, that aggregates ModuleInputs
MaciejG604 Jun 15, 2024
1d04597
Rename ModuleInputs to Module
MaciejG604 Jun 15, 2024
5149426
Revert adding options from sources to module hash as it's unnecessary…
MaciejG604 Jun 15, 2024
0891684
Apply formatting
MaciejG604 Jun 17, 2024
2246a45
Use InputsComposer in run command, add simple test
MaciejG604 Jun 17, 2024
52fe31c
Fix after rebase
MaciejG604 Jul 26, 2024
830ab30
Apply formatting
MaciejG604 Jul 26, 2024
fa62f9a
Use common sense options in Bsp operations, change test that fails, b…
MaciejG604 Aug 15, 2024
0d8d01f
Fix tests and root cause of commons sense options passing not working
MaciejG604 Aug 17, 2024
f754c15
WIP
MaciejG604 Aug 20, 2024
812bce1
Add ComposeBuild, correctly combine classpaths of modules that have d…
MaciejG604 Aug 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 50 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -59,6 +60,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -87,6 +89,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand All @@ -112,6 +115,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand All @@ -137,6 +141,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand All @@ -162,6 +167,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand All @@ -187,6 +193,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -214,6 +221,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -247,6 +255,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -280,6 +289,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -313,6 +323,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -346,6 +357,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -378,6 +390,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
apps: ""
Expand All @@ -401,6 +414,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -430,6 +444,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -465,6 +480,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -500,6 +516,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -535,6 +552,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -570,6 +588,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -604,6 +623,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.2.0/graalvm-ce-java17-darwin-aarch64-22.2.0.tar.gz"
Expand Down Expand Up @@ -738,6 +758,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "https://github.com/graalvm/graalvm-ce-builds/releases/download/vm-22.2.0/graalvm-ce-java17-darwin-aarch64-22.2.0.tar.gz"
Expand Down Expand Up @@ -807,6 +828,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -839,6 +861,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- name: Set up Python
uses: actions/setup-python@v5
with:
Expand Down Expand Up @@ -880,6 +903,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- name: Set up Python
uses: actions/setup-python@v5
with:
Expand Down Expand Up @@ -921,6 +945,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- name: Set up Python
uses: actions/setup-python@v5
with:
Expand Down Expand Up @@ -962,6 +987,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- name: Set up Python
uses: actions/setup-python@v5
with:
Expand Down Expand Up @@ -1003,6 +1029,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- name: Set up Python
uses: actions/setup-python@v5
with:
Expand Down Expand Up @@ -1043,6 +1070,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand All @@ -1067,6 +1095,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -1114,6 +1143,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -1147,6 +1177,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -1180,6 +1211,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -1213,6 +1245,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -1246,6 +1279,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand All @@ -1270,6 +1304,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -1317,6 +1352,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -1352,6 +1388,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -1387,6 +1424,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -1422,6 +1460,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -1456,6 +1495,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "zulu:17"
Expand Down Expand Up @@ -1484,6 +1524,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand All @@ -1509,6 +1550,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand All @@ -1523,6 +1565,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand All @@ -1543,6 +1586,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand All @@ -1565,6 +1609,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand All @@ -1580,6 +1625,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand All @@ -1600,6 +1646,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
ssh-key: ${{ secrets.SSH_PRIVATE_KEY_SCALA_CLI }}
- uses: VirtusLab/scala-cli-setup@v1
with:
Expand Down Expand Up @@ -1680,6 +1727,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -1741,6 +1789,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down Expand Up @@ -1826,6 +1875,7 @@ jobs:
with:
fetch-depth: 0
submodules: true
fetch-tags: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
Expand Down
Loading