Skip to content
Snippets Groups Projects
Select Git revision
  • 2274e423285f43f39d63ad747fb572015e8cfd9b
  • release default
  • master protected
  • XX-4441
  • Jakub/rootless-CI
  • Anne/CI-Test
  • waitingRoundsRewrite
  • quantumSecure
  • fullRateLimit
  • XX-3564/TlsCipherSuite
  • hotfix/groupNotification
  • Josh/RateLimiting
  • debug/sourceOfErrors
  • XX-3540/TestCert
  • f76/error
  • notls
  • url-repo-rename
  • feature/dynamicAuthRemoval
  • jono/yaml
  • version-2_5_3
  • hotfix/signing
  • v3.13.0
  • v3.11.0
  • v3.10.0
  • v3.9.0
  • v3.7.0
  • v3.6.0
  • v3.5.0
  • v3.1.0
  • v2.2.8
  • v2.2.7
  • v2.1.0
  • v2.0.0
  • v1.7.0
  • v1.6.0
  • v1.5.0
  • v1.4.2
  • v1.4.1
  • v1.4.0
  • v1.3.2
  • v1.3.1
41 results

metrics.go

Blame
  • build-bindings.sh 1.95 KiB
    #!/bin/sh
    
    #=======================================
    # Configuration
    #=======================================
    
    working_dir="$(pwd)"
    temp_dir="$(dirname $(realpath $0))/.build-bindings"
    client_git_url="https://gitlab.com/elixxir/client.git"
    client_git_dir="$temp_dir/client"
    client_git_commit="$1"
    framework_target="ios,iossimulator,macos"
    frameworks_dir="$(dirname $(realpath $0))/Frameworks"
    
    #=======================================
    # Helpers
    #=======================================
    
    message() { 
      local text=$1
      echo ""
      echo "\033[1;32m▶ ${text}\033[0m"
    }
    
    #=======================================
    # Main script
    #=======================================
    
    set -e
    
    if [ ! -n "$client_git_commit" ]; then
      echo "Invalid option. Usage:"
      echo "  build-bindings.sh COMMIT_HASH - Build Bindings from provided commit"
      exit 1
    fi
    
    if [ ! -d "$client_git_dir" ]; then
      message "Cloning client repo..."
      git clone $client_git_url $client_git_dir
    else
      message "Updating client repo..."
      cd $client_git_dir
      git reset --hard
      git fetch origin
      cd $working_dir
    fi
    
    message "Checkout commit $client_git_commit..."
    cd $client_git_dir
    git switch --detach $client_git_commit
    git reset --hard
    
    message "Build client..."
    go mod tidy
    rm -rf vendor/
    go build ./...
    
    message "Make Bindings.xcframework..."
    go get golang.org/x/mobile/bind
    go install golang.org/x/mobile/cmd/gomobile@latest
    gomobile init
    gomobile bind -target $framework_target gitlab.com/elixxir/client/bindings
    
    message "Move framework..."
    cd $working_dir
    rm -rf "$frameworks_dir/Bindings.xcframework"
    mv "$client_git_dir/Bindings.xcframework" "$frameworks_dir/"
    
    message "Summary"
    xcode_version=`xcodebuild -version`
    summary="https://git.xx.network/elixxir/client/-/commit/$client_git_commit"
    summary="$summary\n$(go version)"
    summary="$summary\n${xcode_version/$'\n'/ }"
    summary="$summary\ngomobile bind target: $framework_target"
    echo "Update Bindings.xcframework"
    echo $summary
    echo $summary > "$frameworks_dir/Bindings.txt"