100 lines
2.2 KiB
Batchfile
100 lines
2.2 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
set ROOT=%~dp0
|
|
|
|
for %%A in ("%ROOT%..") do set SERVICES_DIR=%%~fA\
|
|
|
|
REM ----------------------------------------
|
|
REM List of project names to skip
|
|
REM (space-separated, match folder names exactly)
|
|
REM ----------------------------------------
|
|
set SKIP_PROJECTS=FictionArchive.Service.Shared FictionArchive.Service.AuthenticationService
|
|
|
|
echo ----------------------------------------
|
|
echo Finding GraphQL services...
|
|
echo ----------------------------------------
|
|
|
|
set SERVICE_LIST=
|
|
|
|
for /d %%F in ("%SERVICES_DIR%FictionArchive.Service.*") do (
|
|
set "PROJECT_NAME=%%~nxF"
|
|
set "SKIP=0"
|
|
|
|
REM Check if this project name is in the skip list
|
|
for %%X in (%SKIP_PROJECTS%) do (
|
|
if /I "!PROJECT_NAME!"=="%%X" (
|
|
set "SKIP=1"
|
|
)
|
|
)
|
|
|
|
if !SKIP!==0 (
|
|
echo Found service: !PROJECT_NAME!
|
|
set SERVICE_LIST=!SERVICE_LIST! %%F
|
|
) else (
|
|
echo Skipping service: !PROJECT_NAME!
|
|
)
|
|
)
|
|
|
|
echo:
|
|
echo ----------------------------------------
|
|
echo Exporting schemas and packing subgraphs...
|
|
echo ----------------------------------------
|
|
|
|
for %%S in (%SERVICE_LIST%) do (
|
|
echo Processing service folder: %%S
|
|
pushd "%%S"
|
|
|
|
echo Running schema export...
|
|
dotnet run -- schema export --output schema.graphql
|
|
if errorlevel 1 (
|
|
echo ERROR during schema export in %%S
|
|
popd
|
|
exit /b 1
|
|
)
|
|
|
|
echo Running fusion subgraph pack...
|
|
fusion subgraph pack
|
|
if errorlevel 1 (
|
|
echo ERROR during subgraph pack in %%S
|
|
popd
|
|
exit /b 1
|
|
)
|
|
|
|
popd
|
|
echo Completed: %%S
|
|
echo.
|
|
)
|
|
|
|
echo ----------------------------------------
|
|
echo Running fusion compose...
|
|
echo ----------------------------------------
|
|
|
|
pushd "%ROOT%"
|
|
|
|
if exist gateway.fgp del gateway.fgp
|
|
|
|
for %%S in (%SERVICE_LIST%) do (
|
|
REM Extract the full folder name WITH dots preserved
|
|
set "SERVICE_NAME=%%~nxS"
|
|
|
|
echo Composing subgraph: !SERVICE_NAME!
|
|
|
|
fusion compose -p gateway.fgp -s "..\!SERVICE_NAME!"
|
|
if errorlevel 1 (
|
|
echo ERROR during fusion compose
|
|
popd
|
|
exit /b 1
|
|
)
|
|
)
|
|
|
|
popd
|
|
|
|
|
|
echo ----------------------------------------
|
|
echo Fusion build complete!
|
|
echo ----------------------------------------
|
|
|
|
endlocal
|
|
exit /b 0
|