Skip to content

Commit

Permalink
[msbuild] Makes DSymUtil task report the Executable as output
Browse files Browse the repository at this point in the history
The DSymUtil tool not only generates the debug symbol files but also modifies the executable file. Marking that property as Output (and changing it to ITaskItem type) makes Visual Studio on Windows aware of that change. Under certain scenarios this was making the build on VS produce an app bundle that was not fully signed on incremental builds. For instance, the DSymUtil task was run for a framework on an incremental build, but as the executable file of that framework was not modified on Windows the inputs/outputs check for CodesignFrameworks did not fail so that target was skipped. This led to a failure on the CodesignVerify target.

Partial fix for https://developercommunity.visualstudio.com/content/problem/729766/codedesign-exited-with-code-1.html
  • Loading branch information
emaf committed Oct 30, 2019
1 parent 88f78f9 commit 0fc20af
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions msbuild/Xamarin.MacDev.Tasks.Core/Tasks/DSymUtilTaskBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ public abstract class DSymUtilTaskBase : ToolTask
[Required]
public string DSymDir { get; set; }

[Output]
[Required]
public string Executable { get; set; }
public ITaskItem Executable { get; set; }

#endregion

Expand Down Expand Up @@ -67,7 +68,7 @@ protected override string GenerateCommandLineCommands ()
args.AppendSwitch ("-z");
args.AppendSwitch ("-o");
args.AppendFileNameIfNotNull (DSymDir);
args.AppendFileNameIfNotNull (Executable);
args.AppendFileNameIfNotNull (Executable.ItemSpec);

return args.ToString ();
}
Expand Down

4 comments on commit 0fc20af

@xamarin-release-manager
Copy link
Collaborator

Choose a reason for hiding this comment

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

🔥 Device tests completed (Failed) on iOS on Azure DevOps(iOS): Html Report 🔥

Test results

3 tests failed, 110 tests passed.

Failed tests

  • [NUnit] Mono BCL tests group 2/iOS Unified 64-bits - device/AssemblyBuildTarget: dylib (debug, profiling): Failed
  • [NUnit] Mono BCL tests group 2/iOS Unified 64-bits - device/Release: Failed
  • [NUnit] Mono BCL tests group 2/iOS Unified 64-bits - device/AssemblyBuildTarget: SDK framework (release): Failed

@xamarin-release-manager
Copy link
Collaborator

Choose a reason for hiding this comment

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

@xamarin-release-manager
Copy link
Collaborator

Choose a reason for hiding this comment

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

✅ Device tests passed on TvOS on Azure DevOps(TvOS): Html Report

🎉 All 113 tests passed 🎉

@xamarin-release-manager
Copy link
Collaborator

Choose a reason for hiding this comment

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

❌ Status for 'xamarin-macios - sample testing (build)': failure.

  • ❌ Debug_iPhone_AF: Failed
  • ❌ Debug_iPhone_GR: Failed
  • ❌ Debug_iPhone_SZ: Failed
  • ❌ Debug_iPhoneSimulator: Failed
  • ❌ Release_iPhone_AF: Failed
  • ❌ Release_iPhone_GR: Failed
  • ❌ Release_iPhone_SZ: Failed
  • ❌ Release_iPhoneSimulator: Failed
  • ❌ Debug_Mac: Failed
  • ❌ Release_Mac: Failed

Please sign in to comment.