Read series from workspace manifest
This commit is contained in:
@@ -26,7 +26,9 @@ python3 rvctl.py "$@"
|
||||
./rvctl.py
|
||||
```
|
||||
|
||||
Ścieżki i domyślne ustawienia są trzymane w `workspace.json`.
|
||||
Lokalne ścieżki i domyślne ustawienia są trzymane w `workspace.json`.
|
||||
Publiczny opis wspólnego workspace, czyli serie, karty i wersje repozytoriów,
|
||||
jest w osobnym repo `edu-workspace/workspace-info`.
|
||||
|
||||
## Co robi narzędzie
|
||||
|
||||
@@ -40,9 +42,10 @@ python3 rvctl.py "$@"
|
||||
|
||||
2. Listowanie i pobieranie kart pracy
|
||||
|
||||
`rvctl` czyta serie, karty i zadania z workspace, pomaga wybrać materiał do
|
||||
pracy oraz przygotowuje remotes potrzebne do repo odpowiedzi. Docelowy model
|
||||
namespace `series`, `cards` i `tasks` jest w `doc/series.md`.
|
||||
`rvctl` czyta serie i karty z `meta/workspace-info`, zadania z pobranych
|
||||
kart, pomaga wybrać materiał do pracy oraz przygotowuje remotes potrzebne do
|
||||
repo odpowiedzi. Docelowy model namespace `series`, `cards` i `tasks` jest w
|
||||
`doc/series.md`.
|
||||
|
||||
3. Uruchamianie środowiska programistycznego w kontenerach
|
||||
|
||||
@@ -108,6 +111,16 @@ Po tym kroku w workspace jest już repo launchera:
|
||||
└── rv-launcher
|
||||
```
|
||||
|
||||
Repo `workspace-info` trzymamy osobno od narzędzi, w katalogu `meta`:
|
||||
|
||||
```text
|
||||
~/dev/workspace/rv
|
||||
├── meta
|
||||
│ └── workspace-info
|
||||
└── tools
|
||||
└── rv-launcher
|
||||
```
|
||||
|
||||
Etap 3: wczytaj token z remota do lokalnego store:
|
||||
|
||||
```bash
|
||||
@@ -283,6 +296,18 @@ Po konfiguracji tokenów najpierw sprawdź stan store:
|
||||
./rvctl tokens compare
|
||||
```
|
||||
|
||||
Następnie pobierz albo zaktualizuj publiczny manifest wspólnego workspace:
|
||||
|
||||
```bash
|
||||
./rvctl workspace sync
|
||||
```
|
||||
|
||||
Manifest trafia do:
|
||||
|
||||
```text
|
||||
~/dev/workspace/rv/meta/workspace-info
|
||||
```
|
||||
|
||||
Następnie wylistuj dostępne serie. Jeżeli katalog `series` w workspace jeszcze
|
||||
nie istnieje, `rvctl` utworzy go automatycznie:
|
||||
|
||||
@@ -293,6 +318,7 @@ nie istnieje, `rvctl` utworzy go automatycznie:
|
||||
Przykładowy wynik:
|
||||
|
||||
```text
|
||||
fiz 3 0
|
||||
inf 3 0
|
||||
```
|
||||
|
||||
@@ -319,6 +345,8 @@ Karty trafiają do `series` w workspace:
|
||||
|
||||
```text
|
||||
~/dev/workspace/rv
|
||||
├── meta
|
||||
│ └── workspace-info
|
||||
├── tools
|
||||
│ └── rv-launcher
|
||||
├── tokens
|
||||
@@ -351,10 +379,10 @@ karcie z `workspace.json`, czyli tutaj na `inf bss`:
|
||||
Przykładowy wynik:
|
||||
|
||||
```text
|
||||
inf bss task1_bss ~/dev/workspace/rv/series/inf/lab-rv32i-strlen-bss-data-stack/src/tasks/task1_bss.s
|
||||
inf bss task2_data ~/dev/workspace/rv/series/inf/lab-rv32i-strlen-bss-data-stack/src/tasks/task2_data.s
|
||||
inf bss task3_stack_unused ~/dev/workspace/rv/series/inf/lab-rv32i-strlen-bss-data-stack/src/tasks/task3_stack_unused.s
|
||||
inf bss task4_stack_strlen ~/dev/workspace/rv/series/inf/lab-rv32i-strlen-bss-data-stack/src/tasks/task4_stack_strlen.s
|
||||
inf bss task1_bss ~/dev/workspace/rv/series/inf/lab-rv32i-strlen-bss-data-stack/src/tasks/task1_bss.c
|
||||
inf bss task2_data ~/dev/workspace/rv/series/inf/lab-rv32i-strlen-bss-data-stack/src/tasks/task2_data.c
|
||||
inf bss task3_stack_unused ~/dev/workspace/rv/series/inf/lab-rv32i-strlen-bss-data-stack/src/tasks/task3_stack_unused.c
|
||||
inf bss task4_stack_strlen ~/dev/workspace/rv/series/inf/lab-rv32i-strlen-bss-data-stack/src/tasks/task4_stack_strlen.c
|
||||
```
|
||||
|
||||
Przełącz się na wybrane zadanie. `rvctl` bierze login ucznia ze store tokenów,
|
||||
|
||||
Reference in New Issue
Block a user