Zaimplementuj narzędzie wiersza poleceń, które inicjalizuje strukturę katalogów projektu na podstawie pliku konfiguracyjnego JSON. Narzędzie powinno tworzyć zestaw folderów i plików w określonej ścieżce bazowej, zapewniając idempotentne zachowanie (istniejące pliki/foldery nie są nadpisywane) oraz zapewniać informacje zwrotne w konsoli dla każdej operacji.
ConfigPath (ścieżka do pliku konfiguracyjnego JSON).Dodaj logikę ładowania konfiguracji, która:
Parsuje JSON do wewnętrznego modelu konfiguracji z:
basePath (string)folders (tablica stringów ścieżek względnych)files (tablica stringów ścieżek względnych)Dodaj narzędzie do rozwiązywania ścieżek:
basePath z każdą względną ścieżką folderu/pliku w pełną ścieżkę systemu plików.Dodaj logikę inicjalizacji folderów:
Dodaj logikę inicjalizacji plików:
Dodaj warstwę orkiestracji (odpowiednik funkcji main), która:
Oczekiwana struktura JSON:
{
"basePath": "string",
"folders": ["relative/path/one", "relative/path/two"],
"files": ["relative/file1.txt", "relative/file2.txt"]
}
Ładowanie konfiguracji
ConfigPathKroki:
Mapuj do struktury wewnętrznej:
Obsługa błędów:
Rozwiązywanie ścieżek
basePath, relativePathZachowanie:
Tworzenie folderów
Zachowanie:
Wypisz:
Tworzenie plików
Zachowanie:
Wypisz:
ConfigPathDla każdego folderu w konfiguracji:
Dla każdego pliku w konfiguracji:
Wypisz komunikat zakończenia:
ConfigPath i kończy działanie błędem, jeśli nie został podany.basePath, folders i files.basePath.basePath.