47 lines
1.6 KiB
Batchfile
47 lines
1.6 KiB
Batchfile
@echo off
|
|
setlocal EnableExtensions EnableDelayedExpansion
|
|
cd /d "%~dp0"
|
|
|
|
set "OUTPUT_ROOT=%~f1"
|
|
if "%~1"=="" set "OUTPUT_ROOT=%~dp0dist"
|
|
set "ADAPTER_DIR_NAME=origin.plot@v2"
|
|
set "ARCHIVE_NAME=origin.plot@v2-adapter.zip"
|
|
set "PACKAGE_DIR=!OUTPUT_ROOT!\!ADAPTER_DIR_NAME!"
|
|
set "ARCHIVE_PATH=!OUTPUT_ROOT!\!ARCHIVE_NAME!"
|
|
set "HASH_PATH=!ARCHIVE_PATH!.sha256"
|
|
|
|
where.exe tar.exe >nul 2>&1
|
|
if errorlevel 1 goto :missing_tool
|
|
where.exe certutil.exe >nul 2>&1
|
|
if errorlevel 1 goto :missing_tool
|
|
if not exist "!OUTPUT_ROOT!" mkdir "!OUTPUT_ROOT!"
|
|
if exist "!PACKAGE_DIR!" rmdir /s /q "!PACKAGE_DIR!"
|
|
if exist "!ARCHIVE_PATH!" del /f /q "!ARCHIVE_PATH!"
|
|
if exist "!HASH_PATH!" del /f /q "!HASH_PATH!"
|
|
mkdir "!PACKAGE_DIR!"
|
|
|
|
copy /y "adapters\origin.plot@v2\adapter.json" "!PACKAGE_DIR!\adapter.json" >nul
|
|
copy /y "origin-worker\worker.py" "!PACKAGE_DIR!\worker.py" >nul
|
|
copy /y "origin-worker\requirements.txt" "!PACKAGE_DIR!\requirements.txt" >nul
|
|
copy /y "..\software-contracts\origin.plot.v2.json" "!PACKAGE_DIR!\origin.plot.v2.json" >nul
|
|
if errorlevel 1 goto :failed
|
|
|
|
tar.exe -a -c -f "!ARCHIVE_PATH!" -C "!OUTPUT_ROOT!" "!ADAPTER_DIR_NAME!"
|
|
if errorlevel 1 goto :failed
|
|
set "SHA256="
|
|
for /f "tokens=*" %%H in ('certutil.exe -hashfile "!ARCHIVE_PATH!" SHA256 ^| findstr.exe /R /C:"^[0-9A-Fa-f][0-9A-Fa-f ]*[0-9A-Fa-f]$"') do set "SHA256=%%H"
|
|
set "SHA256=!SHA256: =!"
|
|
if not defined SHA256 goto :failed
|
|
>"!HASH_PATH!" echo !SHA256! !ARCHIVE_NAME!
|
|
echo [OK] Adapter package: !ARCHIVE_PATH!
|
|
echo [OK] SHA256: !SHA256!
|
|
exit /b 0
|
|
|
|
:missing_tool
|
|
echo [ERR] Windows tar.exe and certutil.exe are required.
|
|
exit /b 1
|
|
|
|
:failed
|
|
echo [ERR] Origin adapter packaging failed.
|
|
exit /b 1
|