generateThrift.sh 1.5 KB
#!/bin/bash

function doGenerate() {
    $THRIFT_CMD ../core/thrift/types.thrift
    $THRIFT_CMD ../core/thrift/multiservice.thrift
    $THRIFT_CMD ../core/thrift/subservices.thrift
}

function clear() {
	rm -rf ../core/CppUtils/src/multiservice_thrift
	rm -rf ../core/JavaUtils/src/main/java/pl/waw/ipipan/zil/multiservice/thrift
	rm -rf ../core/PyUtils/types ../core/PyUtils/multiservice ../core/PyUtils/subservices
	rm -rf ../subservices/haskell/concraft-multiservice-master/thrift/gen-hs
	rm -rf ../subservices/haskell/nerf-multiservice-master/thrift/gen-hs
}

clear

echo "Generating C++ services sources..."
out=../core/CppUtils/src/multiservice_thrift
mkdir -p "$out"
THRIFT_CMD="thrift --gen cpp -out $out"

doGenerate

rm -rf $out/*.skeleton.cpp

echo "Generating Java facade sources..."
out=../core/JavaUtils/src/main/java
mkdir -p "$out"
THRIFT_CMD="thrift --gen java -out $out"

doGenerate

echo "Generating Python services sources..."
out=../core/PyUtils
THRIFT_CMD="thrift --gen py:new_style,utf8strings -out $out"

doGenerate

echo "Generating Haskell services sources..."
out=../subservices/haskell/concraft-multiservice-master/thrift/gen-hs
mkdir -p "$out"
THRIFT_CMD="thrift --gen hs -out $out"
doGenerate
sed -i "s/import qualified Types_Types/import Types_Types/g" "$out/AnnotatingService.hs"

out=../subservices/haskell/nerf-multiservice-master/thrift/gen-hs
mkdir -p "$out"
THRIFT_CMD="thrift --gen hs -out $out"
doGenerate
sed -i "s/import qualified Types_Types/import Types_Types/g" "$out/AnnotatingService.hs"