Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
425fd53
Committed User Interface Refactor to API V2
alexanderoster Feb 11, 2026
ce97497
Fixed API Docs
alexanderoster Feb 11, 2026
eda5ad4
Fixed API Docs
alexanderoster Feb 11, 2026
e24d4ca
Added Frontend code
alexanderoster Feb 11, 2026
0d33784
Added Image backend V2
alexanderoster Feb 12, 2026
939ca21
Added Image V2 in Client
alexanderoster Feb 12, 2026
f9aa6ac
Fixed OpenAPI
alexanderoster Feb 12, 2026
097bfe1
Image API Handler
alexanderoster Feb 12, 2026
5b7c5cb
Updated UI Expression for booleans, added visible flag
alexanderoster Feb 12, 2026
fda996b
Commited ClientV2 code for Grid and Tabs
alexanderoster Feb 12, 2026
bc4386e
Added Tabs Module
alexanderoster Feb 16, 2026
e2f6764
Updated FrontedState Definition to abstract property interface
alexanderoster Feb 16, 2026
9f3a3db
Made ContentForm use FrontendStore
alexanderoster Feb 17, 2026
58cd6dd
Client code for content form
alexanderoster Feb 17, 2026
813dc1a
Ported Log UI Widget to V2
alexanderoster Feb 20, 2026
4fab0fb
Ported Log UI Widget to V2
alexanderoster Feb 20, 2026
ccce89b
added new client dist
alexanderoster Feb 20, 2026
e465621
Merge branch 'develop' into uirefactor
alexanderoster Feb 20, 2026
4ecdcdb
Refactored UI Log widget
alexanderoster Feb 20, 2026
8853ff3
Refactored build list
alexanderoster Feb 21, 2026
a0612f9
Refactored build list UI
alexanderoster Feb 21, 2026
0dd466a
Build list appearance
alexanderoster Feb 21, 2026
e22e6e8
updated List display
alexanderoster Feb 21, 2026
a81f8b3
Implemented build execution list and alert list incremental id
alexanderoster Feb 22, 2026
7c56805
Implemented build execution list and alert list incremental id
alexanderoster Feb 22, 2026
b402eec
Add ClientV3 client
alexanderoster Feb 21, 2026
61605f5
Guard node-ipc in client build
alexanderoster Feb 21, 2026
90749d9
Added build scripts for vue 3
alexanderoster Feb 22, 2026
f0610cd
Added Parameterlist v2
alexanderoster Feb 22, 2026
fd99fc6
Updated V2 client
alexanderoster Feb 22, 2026
17631b4
Migrate configuration list widget to v2 frontend updates
alexanderoster Feb 22, 2026
3aca6f7
Add /api/dataseries endpoint and switch chart client path
alexanderoster Feb 22, 2026
e3df752
Migrate chart widget metadata updates to frontend v2
alexanderoster Feb 22, 2026
7f10e1b
Migrate graphic, glscene, layerview, and custom modules to v2
alexanderoster Feb 22, 2026
4d6ddfa
Move layerview, config, and state endpoints off /ui
alexanderoster Feb 22, 2026
3657370
Migrate remaining client /ui calls to dedicated /api handlers
alexanderoster Feb 22, 2026
0ecc36f
Unregister legacy api/ui handler
alexanderoster Feb 22, 2026
6ef323c
Add content leaf module support for v2 widgets
alexanderoster Feb 22, 2026
b033c5a
Register backend leaf modules for content widgets
alexanderoster Feb 22, 2026
d22c27d
Refactor content to module container with leaf submodules
alexanderoster Feb 22, 2026
776b9d6
Fix recursive content component registration
alexanderoster Feb 23, 2026
f57c33d
Update OpenAPI spec for dedicated API endpoints
alexanderoster Feb 23, 2026
51671d2
Complete refactoring of Client directory structure
alexanderoster Feb 23, 2026
887d494
Updated OpenAPI specification
alexanderoster Feb 23, 2026
53bb3f7
Reorder general endpoints and merge stream into data tag
alexanderoster Feb 23, 2026
32b88a9
Document build toolpath layer endpoint in OpenAPI
alexanderoster Feb 23, 2026
2893572
Replace ContentLeaf abstraction with ModuleFactory pattern in Vue 2 c…
alexanderoster Feb 23, 2026
ff01099
Fix ContentLeaf v2 nesting depth and image visibility in Vue 2 client
alexanderoster Feb 23, 2026
da8564b
New API Docs
alexanderoster Feb 23, 2026
6f9b156
Complete UI evolution plan Phase 1
alexanderoster Feb 24, 2026
f89088e
Fix Vue module layout and space-filling coherence
alexanderoster Feb 24, 2026
805b42d
UI Phase 2+: form module, layout fixes, content card widget
alexanderoster Feb 26, 2026
020f1d9
Fix full-height layout and tab content snap
alexanderoster Feb 27, 2026
9830f74
Add configurable login screen styles (classic, industrial, luminous, …
alexanderoster Feb 27, 2026
42c3728
Apply ScanLab corporate design and add separator/statusbanner widgets
alexanderoster Feb 27, 2026
0ae5976
Add workflow editor widget with drag-and-drop step management
alexanderoster Mar 6, 2026
2ace090
Add Svelte 5 frontend client with shadcn-svelte UI components
alexanderoster Mar 6, 2026
eff8bef
Added code to client/core
alexanderoster Mar 7, 2026
1ca3c1c
fixed commit
alexanderoster Mar 7, 2026
610d4fd
Added UI Workflow items
alexanderoster Mar 7, 2026
77336cd
Added build scripts
alexanderoster Mar 7, 2026
a2b6880
Add dialogs, snackbar, theming, error handling and menu polish to Sve…
alexanderoster Mar 7, 2026
feee147
Updated Svelte Framework and Backend adjustments
alexanderoster Mar 23, 2026
a1934f2
Merge branch 'develop' into uirefactor
alexanderoster Mar 25, 2026
98380ce
Updated Build Systems to support svelte
alexanderoster Mar 27, 2026
1690d3a
Updated Package XML
alexanderoster Mar 27, 2026
98673f1
Fixed XML Document reader error verbosity
alexanderoster Mar 27, 2026
cb4d8f2
Fixed svelte button group field submission
alexanderoster Mar 27, 2026
611a54b
updated client dists
alexanderoster Mar 27, 2026
1014a10
Updated WidgetTest
alexanderoster Mar 27, 2026
8c1a85c
Removed python dependency for client svelte
alexanderoster Mar 27, 2026
6cbb32c
Added Client build scripts
alexanderoster Mar 27, 2026
e07750e
Added Svelte github hash
alexanderoster Mar 28, 2026
8350fbd
added new vue client
alexanderoster Mar 29, 2026
aec2baa
Added Resource Package checksumming
alexanderoster Mar 31, 2026
127513d
Added Svelte as default client to WidgetTest
alexanderoster Mar 31, 2026
c184bf7
Commented out client integrity test
alexanderoster Mar 31, 2026
d1edd37
Updated BuR Driver with uint8 type
alexanderoster Mar 31, 2026
0465991
Svelte Client: Fixed parameter list height
alexanderoster Apr 2, 2026
137e4ca
Updated Client build scripts
alexanderoster Apr 2, 2026
e45654d
Updated Svelte Client
alexanderoster Apr 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
33 changes: 32 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,14 @@ Client/.DS_Store
Client/node_modules
Client/dist
Client/dist.xml
Client/vue2/.DS_Store
Client/vue2/node_modules
Client/vue2/dist
Client/vue2/dist.xml
Client/vue3/.DS_Store
Client/vue3/node_modules
Client/vue3/dist
Client/vue3/dist.xml

# local env files
Client/.env.local
Expand All @@ -46,7 +54,30 @@ Client/*.njsproj
Client/*.sln
Client/*.sw?

ClientV3/.DS_Store
ClientV3/node_modules
ClientV3/dist
ClientV3/dist.xml

# local env files
ClientV3/.env.local
ClientV3/.env.*.local

# Log files
ClientV3/npm-debug.log*
ClientV3/yarn-debug.log*
ClientV3/yarn-error.log*

# Editor directories and files
ClientV3/.idea
ClientV3/.vscode
ClientV3/*.suo
ClientV3/*.ntvs*
ClientV3/*.njsproj
ClientV3/*.sln
ClientV3/*.sw?

Framework/HeadersCore/Go
Drivers/ScanLab/Dependencies
Drivers/ScanLab/BinaryData
Drivers/Marlin/BinaryData
Drivers/Marlin/BinaryData
5 changes: 5 additions & 0 deletions ACT/LibMC.xml
Original file line number Diff line number Diff line change
Expand Up @@ -730,6 +730,11 @@
<error name="INVALIDTELEMETRYCHANNELTYPE" code="705" description="Invalid telemetry channel type." />
<error name="MISSINGTELEMETRYCHANNELIDENTIFIER" code="706" description="Missing telemetry channel identifier." />
<error name="MISSINGTELEMETRYCHANNELDESCRIPTION" code="707" description="Missing telemetry channel description." />
<error name="XMLNODEHASNULLNAMESPACE" code="708" description="XML node has a null namespace. Ensure the XML document declares a namespace on the root element." />
<error name="RESOURCEENTRYSIZISMISMATCH" code="709" description="Resource entry size mismatch between index and ZIP content." />
<error name="RESOURCEENTRYCHECKSUMMISMATCH" code="710" description="Resource entry SHA256 checksum mismatch." />
<error name="INVALIDRESOURCEENTRYSHA256" code="711" description="Invalid resource entry SHA256 value." />




Expand Down
18 changes: 17 additions & 1 deletion ACT/LibMCData.xml
Original file line number Diff line number Diff line change
Expand Up @@ -770,7 +770,11 @@
<param name="Identifier" type="string" pass="in" description="Alert Identifier to look for. Fails if empty." />
<param name="OnlyActive" type="bool" pass="in" description="If true, only active alerts will be returned." />
<param name="IteratorInstance" type="class" class="AlertIterator" pass="return" description="AlertIterator Instance" />
</method>
</method>

<method name="GetAlertHeadID" description="Returns the current maximum incremental ID across all alerts. Used by the frontend to detect when the alert list has changed.">
<param name="HeadID" type="uint64" pass="return" description="Maximum incremental ID, or 0 if no alerts exist." />
</method>

</class>

Expand Down Expand Up @@ -1633,6 +1637,10 @@
<param name="JournalUUIDFilter" type="string" pass="in" description="UUID of the journal to filter from. Ignored if empty string." />
<param name="IteratorInstance" type="class" class="BuildJobExecutionIterator" pass="return" description="Returns the list of execution instances that are queried. List may be empty." />
</method>

<method name="GetIncrementalID" description="Returns the monotonically increasing incremental ID of the build job. Used for frontend change detection.">
<param name="IncrementalID" type="uint64" pass="return" description="Incremental ID of the build job. Increases with every status change." />
</method>

</class>

Expand Down Expand Up @@ -1697,6 +1705,14 @@
<param name="JournalUUIDFilter" type="string" pass="in" description="UUID of the journal to filter from. Ignored if empty string." />
<param name="IteratorInstance" type="class" class="BuildJobExecutionIterator" pass="return" description="Returns the list of execution instances that are queried. List may be empty." />
</method>

<method name="GetBuildListHeadID" description="Returns the current maximum incremental ID across all build jobs. Used by the frontend to detect when the build list has changed.">
<param name="HeadID" type="uint64" pass="return" description="Maximum incremental ID, or 0 if no jobs exist." />
</method>

<method name="GetExecutionListHeadID" description="Returns the current maximum incremental ID across all build job executions. Used by the frontend to detect when the execution list has changed.">
<param name="HeadID" type="uint64" pass="return" description="Maximum incremental ID, or 0 if no executions exist." />
</method>

</class>

Expand Down
2 changes: 1 addition & 1 deletion Artifacts/apidocsdist/_githash_apidocs.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
8b6e7bc3f7f77aebb8fdbe773d616c251cb97b33
32b88a93afbf43ad562b933d5fd3a194f711a565
Binary file modified Artifacts/apidocsdist/apidocspackage.zip
Binary file not shown.
98 changes: 71 additions & 27 deletions Artifacts/build_client_clean.bat
Original file line number Diff line number Diff line change
@@ -1,9 +1,19 @@
B@echo off
@echo off

set basepath=%~dp0
echo %basepath%
cd %basepath%

if exist "..\build_client" (
echo Error: build_client directory already exists. Please remove it before running this script.
exit 1
)

mkdir ..\build_client\core
mkdir ..\build_client\core\common
mkdir ..\build_client\core\modules
mkdir ..\build_client\core\theme
mkdir ..\build_client\core\theme\themes
mkdir ..\build_client\Client
mkdir ..\build_client\Client\public
mkdir ..\build_client\Client\src
Expand All @@ -12,50 +22,84 @@ mkdir ..\build_client\Client\src\modules
mkdir ..\build_client\Client\src\dialogs
mkdir ..\build_client\Client\dist

copy ..\Client\public\*.* ..\build_client\Client\public
copy ..\Client\src\*.* ..\build_client\Client\src
copy ..\Client\src\common\*.* ..\build_client\Client\src\common
copy ..\Client\src\modules\*.* ..\build_client\Client\src\modules
copy ..\Client\src\dialogs\*.* ..\build_client\Client\src\dialogs
copy ..\Client\*.js ..\build_client\Client
copy ..\Client\*.json ..\build_client\Client
REM Shared core JS (framework-agnostic)
copy ..\Client\core\common\*.* ..\build_client\core\common
copy ..\Client\core\modules\*.* ..\build_client\core\modules
copy ..\Client\core\theme\*.* ..\build_client\core\theme
copy ..\Client\core\theme\themes\*.* ..\build_client\core\theme\themes

REM Core common files for source packaging
copy ..\Client\core\common\*.* ..\build_client\Client\src\common

REM Vue 2 specific files
copy ..\Client\vue2\public\*.* ..\build_client\Client\public
copy ..\Client\vue2\src\*.* ..\build_client\Client\src
copy ..\Client\vue2\src\modules\*.* ..\build_client\Client\src\modules
copy ..\Client\vue2\src\dialogs\*.* ..\build_client\Client\src\dialogs
copy ..\Client\vue2\vue.config.js ..\build_client\Client
copy ..\Client\vue2\babel.config.js ..\build_client\Client
copy ..\Client\vue2\package.json ..\build_client\Client
copy ..\Client\vue2\package-lock.json ..\build_client\Client

cd ..
git log -n 1 --format="%%H" -- "Client" >"build_client\Client\dist\_githash_client.txt"
git log -n 1 --format="%%H" -- "Client" >"Artifacts\clientdist\_githash_client.txt"
SET /p CLIENTDIRHASH=<"build_client\Client\dist\_githash_client.txt"
git log -n 1 --format="%%H" -- "Client/core" "Client/vue2" >"build_client\Client\dist\_githash_client_vue2.txt"
git log -n 1 --format="%%H" -- "Client/core" "Client/vue2" >"Artifacts\clientdist\_githash_client_vue2.txt"
SET /p CLIENTDIRHASH=<"build_client\Client\dist\_githash_client_vue2.txt"


echo export function getClientGitHash ()> build_client\Client\src\AMCGitHash.js
echo {>> build_client\Client\src\AMCGitHash.js
echo return "%CLIENTDIRHASH%";>> build_client\Client\src\AMCGitHash.js
echo }>> build_client\Client\src\AMCGitHash.js
echo export function getClientGitHash ()> build_client\core\common\AMCGitHash.js
echo {>> build_client\core\common\AMCGitHash.js
echo return "%CLIENTDIRHASH%";>> build_client\core\common\AMCGitHash.js
echo }>> build_client\core\common\AMCGitHash.js

cd build_client\Client

set TOOLBUILDDIR=..\..\build_clientdist_tools
if not exist "%TOOLBUILDDIR%" (mkdir "%TOOLBUILDDIR%")
git rev-parse --verify --short HEAD >"%TOOLBUILDDIR%\githash.txt"
git log -n 1 --format="%%H" -- "Client" >"%TOOLBUILDDIR%\clientdirhash.txt"
cmake -S ..\.. -B "%TOOLBUILDDIR%"
cmake --build "%TOOLBUILDDIR%" --target create_client_dist --config Release
cmake --build "%TOOLBUILDDIR%" --target create_client_source --config Release
set TOOLBUILDDIR=..\..\build_client_dist
if not exist "%TOOLBUILDDIR%\CMakeCache.txt" (
echo Configuring client build tools...
if not exist "%TOOLBUILDDIR%" (mkdir "%TOOLBUILDDIR%")
cmake -S ..\..\BuildScripts\ClientDist -B "%TOOLBUILDDIR%"
if %ERRORLEVEL% NEQ 0 goto :error
)
echo Building client build tools...
cmake --build "%TOOLBUILDDIR%" --config Release
if %ERRORLEVEL% NEQ 0 goto :error

call npm install
call npm run build

cd ..\..\
REM Work around node-ipc crashing when os.networkInterfaces fails in sandboxed environments.
if exist "node_modules\\@achrinza\\node-ipc\\entities\\Defaults.js" (
node -e "const fs=require('fs');const path='node_modules/@achrinza/node-ipc/entities/Defaults.js';let data=fs.readFileSync(path,'utf8');const original=data;const needle='const networkInterfaces = os.networkInterfaces();';const broken='let networkInterfaces = null;\\n try {\\n networkInterfaces = os.networkInterfaces();\\n } catch (error) {\\n networkInterfaces = null;\\n }';const replacement='let networkInterfaces = null;\n try {\n networkInterfaces = os.networkInterfaces();\n } catch (error) {\n networkInterfaces = null;\n }';if(data.includes(needle)){data=data.replace(needle,replacement);}else if(data.includes(broken)){data=data.replace(broken,replacement);}if(data!==original){fs.writeFileSync(path,data,'utf8');}"
)

call npm run build

cd ..\..\

cd build_client\Client

"%TOOLBUILDDIR%\DevPackage\Framework\create_client_dist.exe" dist ..\..\Artifacts\clientdist\clientpackage.zip
if exist "%TOOLBUILDDIR%\Release\create_client_dist.exe" (
set CLIENTDIST_EXE=%TOOLBUILDDIR%\Release\create_client_dist.exe
set CLIENTSRC_EXE=%TOOLBUILDDIR%\Release\create_client_source.exe
) else (
set CLIENTDIST_EXE=%TOOLBUILDDIR%\create_client_dist.exe
set CLIENTSRC_EXE=%TOOLBUILDDIR%\create_client_source.exe
)

"%CLIENTDIST_EXE%" dist ..\..\Artifacts\clientdist\clientpackage_vue2.zip

"%TOOLBUILDDIR%\DevPackage\Framework\create_client_source.exe" . ..\..\Artifacts\clientdist\clientsourcepackage.zip
"%CLIENTSRC_EXE%" . ..\..\Artifacts\clientdist\clientsourcepackage_vue2.zip

if "%1" neq "NOPAUSE" (
pause
)

exit 0

:error
echo.
echo Build failed!
echo.
if "%1" neq "NOPAUSE" (
pause
)
exit 1
93 changes: 73 additions & 20 deletions Artifacts/build_client_clean.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,38 @@ basepath=$(cd "$(dirname "$0")" && pwd)
echo "$basepath"
cd "$basepath"

if [ -d "../build_client" ]; then
echo "Error: build_client directory already exists. Please remove it before running this script."
exit 1
fi

mkdir -p ../build_client/core/common
mkdir -p ../build_client/core/modules
mkdir -p ../build_client/Client/public
mkdir -p ../build_client/Client/src/common
mkdir -p ../build_client/Client/src/modules
mkdir -p ../build_client/Client/src/dialogs
mkdir -p ../build_client/Client/dist

cp ../Client/public/* ../build_client/Client/public/ 2>/dev/null || true
cp ../Client/src/*.* ../build_client/Client/src/ 2>/dev/null || true
cp ../Client/src/common/* ../build_client/Client/src/common/ 2>/dev/null || true
cp ../Client/src/modules/* ../build_client/Client/src/modules/ 2>/dev/null || true
cp ../Client/src/dialogs/* ../build_client/Client/src/dialogs/ 2>/dev/null || true
cp ../Client/*.js ../build_client/Client/ 2>/dev/null || true
cp ../Client/*.json ../build_client/Client/ 2>/dev/null || true
# Shared core JS (framework-agnostic)
cp ../Client/core/common/* ../build_client/core/common/ 2>/dev/null || true
cp ../Client/core/modules/* ../build_client/core/modules/ 2>/dev/null || true

# Vue 2 specific files
cp ../Client/vue2/public/* ../build_client/Client/public/ 2>/dev/null || true
cp ../Client/vue2/src/*.* ../build_client/Client/src/ 2>/dev/null || true
cp ../Client/vue2/src/modules/* ../build_client/Client/src/modules/ 2>/dev/null || true
cp ../Client/vue2/src/dialogs/* ../build_client/Client/src/dialogs/ 2>/dev/null || true
cp ../Client/vue2/vue.config.js ../build_client/Client/ 2>/dev/null || true
cp ../Client/vue2/babel.config.js ../build_client/Client/ 2>/dev/null || true
cp ../Client/vue2/package.json ../build_client/Client/ 2>/dev/null || true

cd ..
git log -n 1 --format="%H" -- "Client" > "build_client/Client/dist/_githash_client.txt"
git log -n 1 --format="%H" -- "Client" > "Artifacts/clientdist/_githash_client.txt"
CLIENTDIRHASH=$(cat "build_client/Client/dist/_githash_client.txt")
git log -n 1 --format="%H" -- "Client" > "build_client/Client/dist/_githash_client_vue2.txt"
git log -n 1 --format="%H" -- "Client" > "Artifacts/clientdist/_githash_client_vue2.txt"
CLIENTDIRHASH=$(cat "build_client/Client/dist/_githash_client_vue2.txt")

cat > build_client/Client/src/AMCGitHash.js <<EOF
cat > build_client/core/common/AMCGitHash.js <<EOF
export function getClientGitHash ()
{
return "$CLIENTDIRHASH";
Expand All @@ -35,25 +47,66 @@ EOF

cd build_client/Client

TOOLBUILDDIR="../../build_clientdist_tools"
mkdir -p "$TOOLBUILDDIR"
git rev-parse --verify --short HEAD > "$TOOLBUILDDIR/githash.txt"
git log -n 1 --format="%H" -- "Client" > "$TOOLBUILDDIR/clientdirhash.txt"
cmake -S ../.. -B "$TOOLBUILDDIR"
cmake --build "$TOOLBUILDDIR" --target create_client_dist --config Release
cmake --build "$TOOLBUILDDIR" --target create_client_source --config Release
TOOLBUILDDIR="../../build_client_dist"
if [ ! -f "$TOOLBUILDDIR/CMakeCache.txt" ]; then
echo "Configuring client build tools..."
mkdir -p "$TOOLBUILDDIR"
cmake -S ../../BuildScripts/ClientDist -B "$TOOLBUILDDIR"
fi
echo "Building client build tools..."
cmake --build "$TOOLBUILDDIR" --config Release


npm install

# Work around node-ipc crashing when os.networkInterfaces fails in sandboxed environments.
NODE_IPC_DEFAULTS="node_modules/@achrinza/node-ipc/entities/Defaults.js"
if [ -f "$NODE_IPC_DEFAULTS" ]; then
python3 - "$NODE_IPC_DEFAULTS" <<'PY'
import sys

path = sys.argv[1]
with open(path, "r", encoding="utf-8") as handle:
data = handle.read()
original_data = data

needle = "const networkInterfaces = os.networkInterfaces();"
broken = (
"let networkInterfaces = null;\\\\n"
" try {\\\\n"
" networkInterfaces = os.networkInterfaces();\\\\n"
" } catch (error) {\\\\n"
" networkInterfaces = null;\\\\n"
" }"
)
replacement = (
"let networkInterfaces = null;\n"
" try {\n"
" networkInterfaces = os.networkInterfaces();\n"
" } catch (error) {\n"
" networkInterfaces = null;\n"
" }"
)
if needle in data:
data = data.replace(needle, replacement, 1)
elif broken in data:
data = data.replace(broken, replacement, 1)

if data != original_data:
with open(path, "w", encoding="utf-8") as handle:
handle.write(data)
PY
fi

npm run build

cd ../..

cd build_client/Client

"$TOOLBUILDDIR/DevPackage/Framework/create_client_dist" dist ../../Artifacts/clientdist/clientpackage.zip
"$TOOLBUILDDIR/create_client_dist" dist ../../Artifacts/clientdist/clientpackage_vue2.zip

"$TOOLBUILDDIR/DevPackage/Framework/create_client_source" . ../../Artifacts/clientdist/clientsourcepackage.zip
"$TOOLBUILDDIR/create_client_source" . ../../Artifacts/clientdist/clientsourcepackage_vue2.zip

echo
echo "Created packages in Artifacts/clientdist/:"
Expand Down
Loading
Loading