github.com/lirm/aeron-go@v0.0.0-20230415210743-920325491dc4/cluster/codecs/generate.sh (about)

     1  #!/usr/bin/env bash
     2  
     3  # Copyright (C) 2020-2022 Talos, Inc.
     4  
     5  # This isn't that useful without modification or an identical layout to the
     6  # defaults below so you might consider it more documentation than working
     7  # script.
     8  
     9  DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
    10  AERON_DIR=$DIR/../../../aeron
    11  SBE_DIR=$DIR/../../../simple-binary-encoding
    12  AGRONA_DIR=$DIR/../../../agrona
    13  AGRONA_VERSION=1.12.0
    14  # AGRONA_JAR=`find ~/.gradle/ | grep agrona-$AGRONA_VERSION.jar | head -1`
    15  AGRONA_JAR=$AGRONA_DIR/agrona/build/libs/agrona-1.12.0.jar
    16  
    17  if [ ! -d "$AERON_DIR" ]
    18  then
    19      echo "Can't find aeron directory ($AERON_DIR)"
    20      exit 1
    21  else
    22      echo "Using aeron from $AERON_DIR"
    23  fi
    24  
    25  if [ ! -d "$SBE_DIR" ]
    26  then
    27      echo "Can't find SBE directory ($SBE_DIR)"
    28      exit 1
    29  else
    30      echo "Using SBE from $SBE_DIR"
    31  fi
    32  
    33  if [ ! -f "$AGRONA_JAR" ]
    34  then
    35      echo "Can't find agrona jar (looking for version $AGRONA_VERSION)"
    36      exit 1
    37  else
    38      echo "Using Agrona from $AGRONA_JAR"
    39  fi
    40   
    41  java \
    42    -Dsbe.output.dir=$DIR/.. \
    43    -Dsbe.target.language=golang \
    44    -Dsbe.validation.xsd=$SBE_DIR/sbe-tool/src/main/resources/fpl/sbe.xsd \
    45    -Dfile.encoding=UTF-8 \
    46    -Dsbe.target.namespace=codecs \
    47    -cp $SBE_DIR/sbe-tool/build/classes/java/main:$SBE_DIR/sbe-tool/build/resources/main:$AGRONA_JAR \
    48    uk.co.real_logic.sbe.SbeTool \
    49    $AERON_DIR/aeron-cluster/src/main/resources/cluster/aeron-cluster-codecs.xml