version: 0.2

env:
 variables:
   LAMBDA_NAME_DEV: "lambda_development"
   LAMBDA_NAME_PROD: "lambda_production"

phases:
 install:
   commands:
     - echo Instalando Java
     - apt-get update -y
     - apt-get install -y software-properties-common
     - add-apt-repository ppa:openjdk-r/ppa
     - apt-get update -y
     - apt-get install -y openjdk-8-jre
 pre_build:
   commands:
     - echo Restaurando paquetes y dependencias...
     - dotnet restore -s http://ec2-3-89-115-221.compute-1.amazonaws.com/nuget -s https://api.nuget.org/v3/index.json
 build:
   commands:
     - echo Add coverlet
     - dotnet add Ecommerce.Example.Test package coverlet.msbuild --version 2.9.0
     - echo Iniciando test
     - dotnet test ./Ecommerce.Example.Test/Ecommerce.Example.Test.csproj  /p:CollectCoverage=true /p:Threshold=0 /p:ThresholdType=method  /p:CoverletOutputFormat=opencover
     - dotnet build-server shutdown
     - echo Instalando sonarscanner
     - dotnet tool install --global dotnet-sonarscanner
     - export PATH="$PATH:~/.dotnet/tools"
     - dotnet sonarscanner begin /k:"Ecommerce.Example" /d:sonar.host.url="http://18.213.XXX.XX" /d:sonar.login="123456789XXXXXXXXXXX" /d:sonar.cs.opencover.reportsPaths="Ecommerce.Example.Test/coverage.opencover.xml" /d:sonar.coverage.exclusions="**Tests*.cs" /d:sonar.test.exclusions="**Tests*.cs"
     - dotnet build Ecommerce.Example.sln -c Release -o /app --no-restore
     - dotnet sonarscanner /d:sonar.login="123456789XXXXXXXXXXX" end

     - echo Cambiando a directorio undefined...
     - cd undefined
     - echo Desplegando función lambda...

     - |
        if expr "${CODEBUILD_INITIATOR}" : "codepipeline/DEV_NombrePipeline"; then
          dotnet lambda deploy-function $LAMBDA_NAME_DEV;
          echo Función lambda desplegada.;
        fi

     - |
        if expr "${CODEBUILD_INITIATOR}" : "codepipeline/PROD_NombrePipeline"; then
          dotnet lambda deploy-function $LAMBDA_NAME_PROD;
          echo Función lambda desplegada.;
        fi

artifacts:
 files:
   - '**/*'
 base-directory: undefined