# Copyright 2022 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.

set -e

# go to the right build directory
cd "${KOKORO_ARTIFACTS_DIR}/git/vscode-plugins"

# prefix the output directory with the artifacts directory
mkdir -p ${KOKORO_ARTIFACTS_DIR}/output/mocha-tests
export TEST_XML_OUTPUT="${KOKORO_ARTIFACTS_DIR}/output/mocha-tests/sponge_log.xml"
export TEST_LOG_OUTPUT="${KOKORO_ARTIFACTS_DIR}/output/mocha-tests/sponge_log.log"

mkdir -p ${KOKORO_ARTIFACTS_DIR}/output/lint
export LINT_XML_OUTPUT="${KOKORO_ARTIFACTS_DIR}/output/lint/sponge_log.xml"
export LINT_LOG_OUTPUT="${KOKORO_ARTIFACTS_DIR}/output/lint/sponge_log.log"

mkdir -p ${KOKORO_ARTIFACTS_DIR}/output/package
export PACKAGE_XML_OUTPUT="${KOKORO_ARTIFACTS_DIR}/output/package/sponge_log.xml"
export PACKAGE_LOG_OUTPUT="${KOKORO_ARTIFACTS_DIR}/output/package/sponge_log.log"

mkdir -p ${KOKORO_ARTIFACTS_DIR}/output/build
export BUILD_XML_OUTPUT="${KOKORO_ARTIFACTS_DIR}/output/build/sponge_log.xml"
export BUILD_LOG_OUTPUT="${KOKORO_ARTIFACTS_DIR}/output/build/sponge_log.log"

mkdir -p ${KOKORO_ARTIFACTS_DIR}/output/typecheck
export TYPECHECK_XML_OUTPUT="${KOKORO_ARTIFACTS_DIR}/output/typecheck/sponge_log.xml"
export TYPECHECK_LOG_OUTPUT="${KOKORO_ARTIFACTS_DIR}/output/typecheck/sponge_log.log"

mkdir -p "${KOKORO_ARTIFACTS_DIR}/plugin"
commit_sha="$(git rev-parse --short HEAD)"
export PLUGIN_OUT="${KOKORO_ARTIFACTS_DIR}/plugin/vscode-fuchsia-ci-${commit_sha}.vsix"

if [[ -z "${NOT_CI}" ]]; then
  export ON_CI="true"
fi
