#!/usr/bin/env bash
# Copyright 2021 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# TODO(pascallouis): better automate this.

set -euxo pipefail

if [ ! -x "${FUCHSIA_DIR}" ]; then
  echo "error: did you fx exec? missing \$FUCHSIA_DIR" 1>&2
  exit 1
fi

if [ ! -x "${FUCHSIA_BUILD_DIR}" ]; then
  echo "error: did you fx exec? missing \$FUCHSIA_BUILD_DIR" 1>&2
  exit 1
fi

pushd "$FUCHSIA_DIR"

FIDLC=$( fx list-build-artifacts --expect-one --name fidlc tools )
FIDLGEN_GO=$( fx list-build-artifacts --expect-one --name fidlgen_go tools )

fx ninja -C "${FUCHSIA_BUILD_DIR}" $FIDLC $FIDLGEN_GO

tmpout=$(mktemp -d 2>/dev/null || mktemp -d -t 'tmpout')
ir_file="${tmpout}/out.json"

trap 'rm -rf -- "${tmpout}" && popd > /dev/null' EXIT

# Parameters:
# $1 = directory where fidl file is found.
# $2 =  output of subdirectory of syscall/zx
# $3..n = additional arguments needed to generate this target.
function generate_file {
  local source_dir=$1
  shift
  local package_dir=$1
  shift
  out_file=third_party/go/src/syscall/zx/"${package_dir}"/impl.go
  copyright_line=$(grep -E "^// Copyright [0-9]+" "${out_file}" || \
    echo "// Copyright $(date +%Y) The Fuchsia Authors. All rights reserved.")
  "${FUCHSIA_BUILD_DIR}"/$FIDLC \
    --experimental allow_new_syntax \
    --json "${ir_file}" \
    "$@" \
    --files "${source_dir}"/*.fidl
  "${FUCHSIA_BUILD_DIR}"/$FIDLGEN_GO \
    -json "${ir_file}" \
    -output-impl "${tmpout}/impl.go"

  tmpfile=$(mktemp "${tmpout}/tmp.XXXXXXXX")
  echo "${copyright_line}" > "${tmpfile}"
  cat << EOF >> "${tmpfile}"
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Code generated by third_party/go/regen-fidl; DO NOT EDIT.

EOF
  cat "${tmpout}"/impl.go >> "${tmpfile}"
  perl -pi -e 's|^// Code generated by fidlgen; DO NOT EDIT.\n$||' "${tmpfile}"
  perl -pi -e 's|fidl/fuchsia/|syscall/zx/|' "${tmpfile}"
  ./prebuilt/third_party/go/linux-x64/bin/gofmt -s -w "${tmpfile}"
  mv -- "${tmpfile}" "${out_file}"
}

generate_file {third_party/go/src/syscall/zx/,}fidl/internal/bindingstest \
  --files zircon/vdso/zx_common.fidl zircon/vdso/rights.fidl

generate_file sdk/fidl/fuchsia.mem mem \
  --files zircon/vdso/zx_common.fidl zircon/vdso/rights.fidl

generate_file sdk/fidl/fuchsia.io2 io2 \
  --files zircon/vdso/zx_common.fidl zircon/vdso/rights.fidl \
  --files sdk/fidl/fuchsia.mem/*.fidl

generate_file sdk/fidl/fuchsia.io io \
  --files zircon/vdso/zx_common.fidl zircon/vdso/rights.fidl \
  --files sdk/fidl/fuchsia.mem/*.fidl \
  --files sdk/fidl/fuchsia.io2/*.fidl

generate_file sdk/fidl/fuchsia.posix posix

generate_file sdk/fidl/fuchsia.posix.socket posix/socket \
  --files zircon/vdso/zx_common.fidl zircon/vdso/rights.fidl \
  --files sdk/fidl/fuchsia.mem/*.fidl \
  --files sdk/fidl/fuchsia.io2/*.fidl \
  --files sdk/fidl/fuchsia.io/*.fidl \
  --files sdk/fidl/fuchsia.net/*.fidl \
  --files sdk/fidl/fuchsia.hardware.network/*.fidl \
  --files sdk/fidl/fuchsia.net.interfaces/*.fidl \
  --files sdk/fidl/fuchsia.posix/*.fidl

generate_file sdk/fidl/fuchsia.hardware.ethernet hardware/ethernet \
  --files zircon/vdso/zx_common.fidl zircon/vdso/rights.fidl

generate_file sdk/fidl/fuchsia.hardware.network hardware/network \
  --files zircon/vdso/zx_common.fidl zircon/vdso/rights.fidl \
  --files sdk/fidl/fuchsia.net/*.fidl

generate_file sdk/fidl/fuchsia.net.name net/name \
  --files zircon/vdso/zx_common.fidl zircon/vdso/rights.fidl \
  --files sdk/fidl/fuchsia.net/*.fidl

generate_file sdk/fidl/fuchsia.net net

generate_file sdk/fidl/fuchsia.diagnostics diagnostics \
  --files zircon/vdso/zx_common.fidl zircon/vdso/rights.fidl \
  --files sdk/fidl/fuchsia.mem/*.fidl

generate_file sdk/fidl/fuchsia.logger logger \
  --files zircon/vdso/zx_common.fidl zircon/vdso/rights.fidl \
  --files sdk/fidl/fuchsia.mem/*.fidl \
  --files sdk/fidl/fuchsia.diagnostics/*.fidl

generate_file sdk/fidl/fuchsia.net.stack net/stack \
  --files zircon/vdso/zx_common.fidl zircon/vdso/rights.fidl \
  --files sdk/fidl/fuchsia.net/*.fidl \
  --files sdk/fidl/fuchsia.hardware.ethernet/*.fidl \
  --files sdk/fidl/fuchsia.hardware.network/*.fidl \
  --files sdk/fidl/fuchsia.net.interfaces/*.fidl \
  --files sdk/fidl/fuchsia.net.name/*.fidl
