view Applications/Samples/build-web-ext.sh @ 508:7105a0bad250 bgo-commands-codegen

- Added HandleSerializedMessage to IStoneApplication (empty impl) - Split UpdateWebApplication with "WithString" and "WithSerializedMessage" variants - Due to the modules in TS, globals are now unallowed and the callbacks from C++ to JS are stored in the "window" instance - Split UpdateStoneApplicationStatusFromCpp with "WithString" and "WithSerializedMessage" variants - Split NotifyStatusUpdateFromCppToWeb with "WithString" and "WithSerializedMessage" variants - SendMessageToStoneApplication (C++ global) has been split into SendSerializedMessageToStoneApplication and SendCommandToStoneApplication - In WasmPlatformApplicationAdapter: HandleMessageFromWeb becomes HandleCommandFromWeb - In WasmPlatformApplicationAdapter: added HandleSerializedMessageFromWeb - stonegentool now handles the "json" primitive type (used, a.o., in the VSOL "EditInstance" message) - Fixed indentation and added json serialization overloads in the stonegentool templates - Added test of the json primitive type to testWasmIntegrated (in Resources/CodeGeneration) - Adapted testWasmIntegrated (in Resources/CodeGeneration) to the changes above
author Benjamin Golinvaux <bgo@osimis.io>
date Wed, 06 Mar 2019 10:14:59 +0100
parents ee41b6a017d7
children 4eccf698e52f
line wrap: on
line source

#!/bin/bash

set -e

target=${1:-all}
# this script currently assumes that the wasm code has been built on its side and is availabie in build-wasm/

currentDir=$(pwd)

scriptDirRel=$(dirname $0)
#echo $scriptDirRel
scriptDirAbs=$(realpath $scriptDirRel)
echo $scriptDirAbs

samplesRootDir=scriptDirAbs

outputDir=$samplesRootDir/build-web/
mkdir -p $outputDir

# files used by all single files samples
cp $samplesRootDir/Web/index.html $outputDir
cp $samplesRootDir/Web/samples-styles.css $outputDir

# build simple-viewer-single-file (obsolete project)
if [[ $target == "all" || $target == "OrthancStoneSimpleViewerSingleFile" ]]; then
  cp $samplesRootDir/Web/simple-viewer-single-file.html $outputDir
  tsc --allowJs --project $samplesRootDir/Web/simple-viewer-single-file.tsconfig.json
  cp $currentDir/build-wasm/OrthancStoneSimpleViewerSingleFile.js  $outputDir
  cp $currentDir/build-wasm/OrthancStoneSimpleViewerSingleFile.wasm  $outputDir
fi

# build single-frame
if [[ $target == "all" || $target == "OrthancStoneSingleFrame" ]]; then
  cp $samplesRootDir/Web/single-frame.html $outputDir
  tsc --allowJs --project $samplesRootDir/Web/single-frame.tsconfig.json
  cp $currentDir/build-wasm/OrthancStoneSingleFrame.js  $outputDir
  cp $currentDir/build-wasm/OrthancStoneSingleFrame.wasm  $outputDir
fi

# build single-frame-editor
if [[ $target == "all" || $target == "OrthancStoneSingleFrameEditor" ]]; then
  cp $samplesRootDir/Web/single-frame-editor.html $outputDir
  tsc --allowJs --project $samplesRootDir/Web/single-frame-editor.tsconfig.json
  cp $currentDir/build-wasm/OrthancStoneSingleFrameEditor.js  $outputDir
  cp $currentDir/build-wasm/OrthancStoneSingleFrameEditor.wasm  $outputDir
fi

# build simple-viewer project
if [[ $target == "all" || $target == "OrthancStoneSimpleViewer" ]]; then
  mkdir -p $outputDir/simple-viewer/
  cp $samplesRootDir/SimpleViewer/Wasm/simple-viewer.html $outputDir/simple-viewer/
  cp $samplesRootDir/SimpleViewer/Wasm/styles.css $outputDir/simple-viewer/
  tsc --allowJs --project $samplesRootDir/SimpleViewer/Wasm/tsconfig-simple-viewer.json
  cp $currentDir/build-wasm/OrthancStoneSimpleViewer.js  $outputDir/simple-viewer/
  cp $currentDir/build-wasm/OrthancStoneSimpleViewer.wasm  $outputDir/simple-viewer/
fi

cd $currentDir