Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix path to TarTool in Sign.proj #15299

Merged
merged 2 commits into from
Dec 4, 2024
Merged

Conversation

ViktorHofer
Copy link
Member

@ViktorHofer ViktorHofer commented Dec 4, 2024

Regressed with e0270d6

I verified that there is no hardcoded path to any other PackAsTool asset.

@@ -80,6 +80,7 @@
<_DotNetCorePath>$(DotNetTool)</_DotNetCorePath>
</PropertyGroup>

<!-- Keep TarToolPath TFM in sync with TarTool project TFM. -->
Copy link
Member

Choose a reason for hiding this comment

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

ok as a quick fix but nobody will remember to update this place in the future.

What about doing something like:

<ItemGroup>
  <_TarToolPath Include="$(NuGetPackageRoot)microsoft.dotnet.tar\$(MicrosoftDotNetSignToolVersion)\tools\net*\any\Microsoft.Dotnet.Tar.dll" />
</ItemGroup>

Copy link
Member

Choose a reason for hiding this comment

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

I would suggest logging an error/warning if tool is not found. Right now, it fails silently.

private static bool RunTarProcess(string srcPath, string dstPath, string tarToolPath)

Copy link
Member Author

Choose a reason for hiding this comment

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

I think that would include the net472 one as well. Arcade continues to have a few hardcoded TFMs, i.e. in #15221.

This is the only PackAsTool component that is directly referenced in Arcade. @ellahathaway / @mmitche would it make sense for SignTool to redistribute the TarTool and optionally reference it as a classlib?

Copy link
Member Author

@ViktorHofer ViktorHofer Dec 4, 2024

Choose a reason for hiding this comment

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

Alternatively, it should be possible to save the TFM in Arcade's generated DefaultVersions.Generated.props file and then read from that here.

Copy link
Member

Choose a reason for hiding this comment

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

I have a fix for the exit non-zero case in a local branch that should be up soon. That said, I don't think TarTool is actually in use. On framework it just bails:

https://github.com/dotnet/arcade/blob/main/src/Microsoft.DotNet.Tar/Program.cs#L4-L9

And in signtool, we only use tartool on framework:

https://github.com/dotnet/arcade/blob/main/src/Microsoft.DotNet.SignTool/src/ZipData.cs#L248-L326

I will problaby rip it out.

Copy link
Member

Choose a reason for hiding this comment

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

I think that would include the net472 one as well.

For the record it wouldn't since we only pack it as a tool in netcore.

@ViktorHofer ViktorHofer merged commit d085db9 into main Dec 4, 2024
11 checks passed
@ViktorHofer ViktorHofer deleted the FixTarToolPathForSignProj branch December 4, 2024 16:26
@ViktorHofer
Copy link
Member Author

Merging to unblock the broken scenario. Filed #15300

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants