Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 15 additions & 7 deletions tracer/tools/Build-AzureFunctionsNuget.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,22 @@ param(
$ErrorActionPreference = 'Stop'
$ProgressPreference = 'SilentlyContinue'

# Detect OS and determine build script
if ($PSVersionTable.PSVersion.Major -ge 6) {
$buildScript = if ($IsWindows) { 'build.ps1' } else { 'build.sh' }
} else {
# PowerShell 5.x is Windows-only
$buildScript = 'build.ps1'
}

# Resolve paths relative to script location
$scriptDir = Split-Path -Parent $PSCommandPath
$tracerDir = Split-Path -Parent $scriptDir
Write-Verbose "Tracer directory: $tracerDir"

# Clean up previous builds
Write-Verbose "Cleaning up previous builds from: $tracerDir\bin\artifacts\nuget\azure-functions\"
Remove-Item -Path "$tracerDir\bin\artifacts\nuget\azure-functions\*" -Force -ErrorAction SilentlyContinue
Write-Verbose "Cleaning up previous builds from: $tracerDir/bin/artifacts/nuget/azure-functions/"
Remove-Item -Path "$tracerDir/bin/artifacts/nuget/azure-functions/*" -Force -ErrorAction SilentlyContinue

# Remove package Datadog.AzureFunctions from NuGet cache
Write-Verbose "Removing $packageId from NuGet cache..."
Expand Down Expand Up @@ -82,7 +90,7 @@ else
if ($BuildId)
{
Write-Verbose "Downloading Datadog.Trace.Bundle from build: $BuildId"
& "$tracerDir\build.ps1" DownloadBundleNugetFromBuild --build-id $BuildId
& "$tracerDir/$buildScript" DownloadBundleNugetFromBuild --build-id $BuildId
}
else
{
Expand All @@ -91,20 +99,20 @@ else

# Build Datadog.Trace and publish to bundle folder, replacing the files from the NuGet package
Write-Verbose "Publishing Datadog.Trace (net6.0) to bundle folder..."
dotnet publish "$tracerDir\src\Datadog.Trace" -c Release -o "$tracerDir\src\Datadog.Trace.Bundle\home\net6.0" -f 'net6.0'
dotnet publish "$tracerDir/src/Datadog.Trace" -c Release -o "$tracerDir/src/Datadog.Trace.Bundle/home/net6.0" -f 'net6.0'

Write-Verbose "Publishing Datadog.Trace (net461) to bundle folder..."
dotnet publish "$tracerDir\src\Datadog.Trace" -c Release -o "$tracerDir\src\Datadog.Trace.Bundle\home\net461" -f 'net461'
dotnet publish "$tracerDir/src/Datadog.Trace" -c Release -o "$tracerDir/src/Datadog.Trace.Bundle/home/net461" -f 'net461'

# Build Azure Functions NuGet package
Write-Verbose "Building Datadog.AzureFunctions NuGet package..."
& "$tracerDir\build.ps1" BuildAzureFunctionsNuget
& "$tracerDir/$buildScript" BuildAzureFunctionsNuget

# Copy package to destination if specified
if ($CopyTo)
{
Write-Verbose "Copying package to: $CopyTo"
Copy-Item "$tracerDir\bin\artifacts\nuget\azure-functions\Datadog.AzureFunctions.*.nupkg" $CopyTo -Force
Copy-Item "$tracerDir/bin/artifacts/nuget/azure-functions/Datadog.AzureFunctions.*.nupkg" $CopyTo -Force
}

Write-Verbose "Build complete!"
Loading