#!/bin/bash -ex

curl https://pipeline.theorchard.io/jnlpJars/jenkins-cli.jar --output jenkins-cli.jar

java -version

declare -a arr=(\
'pull-request-builder.xml' \
'integration-tests-builder.xml' \
'unit-lint-builder.xml' \
'docker-to-ecr-builder.xml' \
'docker-fargate-deploy-builder.xml' \
'pipeline-builder.xml' \
)
for i in "${arr[@]}"
do
  sed -i 's/@SERVICE@/'$SERVICE'/g' daemon/$i
  sed -i 's/@GITHUB_CREDENTIAL_ID@/'$GITHUB_CREDENTIAL_ID'/g' daemon/$i
  sed -i 's/@AWS_ACCOUNT_ID@/'$AWS_ACCOUNT_ID'/g' daemon/$i
  sed -i 's/@ECR_CREDENTIAL_ID@/'$ECR_CREDENTIAL_ID'/g' daemon/$i
  sed -i 's/@SLACK_CREDENTIAL_ID@/'$SLACK_CREDENTIAL_ID'/g' daemon/$i
  sed -i 's/@SLACK_ROOMS@/'$SLACK_ROOMS'/g' daemon/$i
  sed -i 's/@ALLOWED_NODE@/ny-deploy/g' daemon/$i
  sed -i 's/@GITHUB_WEBHOOK_TOKEN_ID@/'$GITHUB_WEBHOOK_TOKEN_ID'/g' daemon/$i
done

java -jar jenkins-cli.jar -s https://pipeline.theorchard.io/ -ssh -user ${CLI_USER} -i ${CLI_CREDENTIALS} create-job daemon-${SERVICE}-pull-request < daemon/pull-request-builder.xml
java -jar jenkins-cli.jar -s https://pipeline.theorchard.io/ -ssh -user ${CLI_USER} -i ${CLI_CREDENTIALS} create-job daemon-${SERVICE}-integration-tests < daemon/integration-tests-builder.xml
java -jar jenkins-cli.jar -s https://pipeline.theorchard.io/ -ssh -user ${CLI_USER} -i ${CLI_CREDENTIALS} create-job daemon-${SERVICE}-unit-lint < daemon/unit-lint-builder.xml
java -jar jenkins-cli.jar -s https://pipeline.theorchard.io/ -ssh -user ${CLI_USER} -i ${CLI_CREDENTIALS} create-job daemon-${SERVICE}-docker-to-ecr < daemon/docker-to-ecr-builder.xml
java -jar jenkins-cli.jar -s https://pipeline.theorchard.io/ -ssh -user ${CLI_USER} -i ${CLI_CREDENTIALS} create-job daemon-${SERVICE}-docker-fargate-deploy < daemon/docker-fargate-deploy-builder.xml
java -jar jenkins-cli.jar -s https://pipeline.theorchard.io/ -ssh -user ${CLI_USER} -i ${CLI_CREDENTIALS} create-job daemon-${SERVICE}-pipeline < daemon/pipeline-builder.xml

for i in $(java -jar jenkins-cli.jar -s https://pipeline.theorchard.io/ -ssh -user ${CLI_USER} -i ${CLI_CREDENTIALS} list-jobs); do
  if [ "$i" == "daemon-${SERVICE}-sonar-scan" ]; then
    echo 'Sonar scan job for this repository already exists!'
    exit 0
  fi
done

java -jar jenkins-cli.jar -s https://pipeline.theorchard.io/ -ssh -user ${CLI_USER} -i ${CLI_CREDENTIALS} create-job "daemon-${SERVICE}-sonar-scan" < daemon/sonar-scan-builder.xml
