Skip to content

build: remove NUKE.build - #159

Merged
BrycensRanch merged 18 commits into
developfrom
build/remove-nuke-build
May 30, 2025
Merged

BrycensRanch merged 18 commits into
developfrom
build/remove-nuke-build

Conversation

@BrycensRanch

@BrycensRanch BrycensRanch commented May 7, 2025 •

Copy link
Copy Markdown
Member

Preface

The purpose of this PR is to remove the dependency on NUKE.Build.

Ever since SnapX started using slnx for a clearer format than sln, the NUKE.Build tooling has not kept up.

That commit led to a massive build failure due to a lack of support. Upon looking further in the NUKE.Build GitHub issues, I saw this.

For me, this was the first time I had seen an OSS maintainer quoting Twitter as a reason to close a legitimate feature request. Since then, I have been silently looking for a way out of using NUKE.build as the build system.

I was considering using GNU Make; however, it's far removed from the .NET ecosystem. So I chose less integrated solutions in favor of more control. That's where Bullseye & SimpleExec come in.

Notes

This PR also removes the dependency on Bash, and instead leans on standard POSIX scripting for build.sh. However, the target install is still being worked on.

This PR has been upgraded from optional to urgent due to the NUKE.Build GitHub repository being archived. Unfortunately with some .NET libraries going commercial as of late, I can only assume the NUKE.Build maintainers thought it was a great idea.

Additional plans

When .NET 10 releases, we will investigate if this feature will assist.

Also, the deprecated sln file will be deleted when .NET 10 releases.

NUKE.build lacks support for slnx. So I've opted to remove it for a more simpler solution.
Comment thread build/Program.cs
forEach: ["./SnapX.Avalonia", "./SnapX.CLI", "./SnapX.NativeMessagingHost"],
async(project) =>
{

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An opening brace should not be followed by a blank line.

Suggested change

Comment thread build/Program.cs
?? projectName;

await RunAsync("dotnet", $"publish {project} --configuration Release --nologo -o {outputDir}/{assemblyName} -r {RuntimeInformation.RuntimeIdentifier} -m");

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A closing brace should not be preceded by a blank line.

Suggested change

@socket-security

socket-security Bot commented May 7, 2025 •

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedsystem.commandline@​2.0.0-beta4.22272.17310087100100
Addedbullseye@​6.0.09910089100100
Addedsimpleexec@​12.0.09610089100100

View full report

@BrycensRanch
BrycensRanch marked this pull request as draft May 7, 2025 16:35
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label May 7, 2025
Windows directions specifically say to use build.ps1
…build

# Conflicts:
#	build/Build.cs
#	build/_build.csproj
@BrycensRanch BrycensRanch added the urgent Something that should be dealt with ASAP label May 18, 2025
@BrycensRanch BrycensRanch self-assigned this May 18, 2025
@ok-coder1

ok-coder1 commented May 20, 2025 •

Copy link
Copy Markdown
Member

Screen Shot 2025-05-20 at 8 07 51 PM

temporarily archived. It's not going to be archived permanently.

@BrycensRanch

BrycensRanch commented May 20, 2025 •

Copy link
Copy Markdown
Member Author

Screen Shot 2025-05-20 at 8 07 51 PM

temporarily archived. It's not going to be archived permanently.

Temporarily archived means they're going to do something stupid and want attention, thus the temporary archival. Their repository had plenty of commits as of late.

It's a move that I want no part in. Normal open source maintainers do not do this.

@github-actions github-actions Bot added the build Related to building label May 26, 2025
Not everything, the only arguments that are still missing are the ones for the install target.
Comment thread build/Program.cs Outdated
}
catch (Exception) { return 1000; }
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A closing brace should not be preceded by a blank line.

Suggested change

@github-actions github-actions Bot added the actions GitHub Actions label May 28, 2025
@BrycensRanch
BrycensRanch marked this pull request as ready for review May 30, 2025 01:12
@BrycensRanch

Copy link
Copy Markdown
Member Author

Great work, Brycen. Your pull request is merged.

@BrycensRanch
BrycensRanch merged commit d1f6a36 into develop May 30, 2025
@matkoch

matkoch commented Jun 5, 2025

Copy link
Copy Markdown

@BrycensRanch if I may also take out my crystal ball for a moment – next Monday you will feel very silly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

actions GitHub Actions build Related to building documentation Improvements or additions to documentation urgent Something that should be dealt with ASAP

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants