opentelemetry-dotnet-instru.../build/Build.Steps.MacOS.cs

41 lines
1.4 KiB
C#

using Nuke.Common;
using Nuke.Common.IO;
using Serilog;
using static Nuke.Common.EnvironmentInfo;
using static Nuke.Common.IO.FileSystemTasks;
partial class Build
{
Target CompileNativeSrcMacOs => _ => _
.Unlisted()
.After(CreateRequiredDirectories)
.OnlyWhenStatic(() => IsOsx)
.Executes(() =>
{
var nativeProjectDirectory = NativeProfilerProject.Directory;
var (major, minor, patch) = VersionHelper.GetVersionParts();
CMake.Value(
arguments: $". -DOTEL_AUTO_VERSION={VersionHelper.GetVersionWithoutSuffixes()} -DOTEL_AUTO_VERSION_MAJOR={major} -DOTEL_AUTO_VERSION_MINOR={minor} -DOTEL_AUTO_VERSION_PATCH={patch}",
workingDirectory: nativeProjectDirectory);
Make.Value(
arguments: $"",
workingDirectory: nativeProjectDirectory);
});
Target PublishNativeProfilerMacOs => _ => _
.Unlisted()
.OnlyWhenStatic(() => IsOsx)
.After(CompileNativeSrc, PublishManagedProfiler)
.Executes(() =>
{
// Create home directory
var source = NativeProfilerProject.Directory / "bin" / $"{NativeProfilerProject.Name}.dylib";
var dest = TracerHomeDirectory / "osx-x64";
Log.Information($"Copying '{source}' to '{dest}'");
CopyFileToDirectory(source, dest, FileExistsPolicy.Overwrite);
});
}