提交 d2df64ec authored 作者: Andrey Volk's avatar Andrey Volk

FS-11066: [Build-System] Make WIX project be able to produce snapshots with…

FS-11066: [Build-System] Make WIX project be able to produce snapshots with proper msi naming on windows.
上级 e6ec3f84
GitBranch=$GitBranch$;
GitCommit=$GitCommit$;
GitSha=$GitSha$;
GitBaseVersion=$GitBaseVersion$;
GitBaseVersionSource=$GitBaseVersionSource$;
GitBaseVersionMajor=$GitBaseVersionMajor$;
GitBaseVersionMinor=$GitBaseVersionMinor$;
GitBaseVersionPatch=$GitBaseVersionPatch$;
GitCommits=$GitCommits$;
GitTag=$GitTag$;
GitBaseTag=$GitBaseTag$;
GitSemVerMajor=$GitSemVerMajor$;
GitSemVerMinor=$GitSemVerMinor$;
GitSemVerPatch=$GitSemVerPatch$;
GitSemVerLabel=$GitSemVerLabel$;
GitSemVerDashLabel=$GitSemVerDashLabel$;
GitSemVerSource=$GitSemVerSource$
\ No newline at end of file
// <auto-generated />
#define $NamespaceDefine$
#define $MetadataDefine$
#pragma warning disable 0436
#if ADDMETADATA
[assembly: System.Reflection.AssemblyMetadata("GitInfo.IsDirty", RootNamespace.ThisAssembly.Git.IsDirtyString)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.Branch", RootNamespace.ThisAssembly.Git.Branch)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.Commit", RootNamespace.ThisAssembly.Git.Commit)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.Sha", RootNamespace.ThisAssembly.Git.Sha)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.BaseVersion.Major", RootNamespace.ThisAssembly.Git.BaseVersion.Major)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.BaseVersion.Minor", RootNamespace.ThisAssembly.Git.BaseVersion.Minor)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.BaseVersion.Patch", RootNamespace.ThisAssembly.Git.BaseVersion.Patch)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.Commits", RootNamespace.ThisAssembly.Git.Commits)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.Tag", RootNamespace.ThisAssembly.Git.Tag)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.BaseTag", RootNamespace.ThisAssembly.Git.BaseTag)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.SemVer.Major", RootNamespace.ThisAssembly.Git.SemVer.Major)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.SemVer.Minor", RootNamespace.ThisAssembly.Git.SemVer.Minor)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.SemVer.Patch", RootNamespace.ThisAssembly.Git.SemVer.Patch)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.SemVer.Label", RootNamespace.ThisAssembly.Git.SemVer.Label)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.SemVer.DashLabel", RootNamespace.ThisAssembly.Git.SemVer.DashLabel)]
[assembly: System.Reflection.AssemblyMetadata("GitInfo.SemVer.Source", RootNamespace.ThisAssembly.Git.SemVer.Source)]
#endif
#if LOCALNAMESPACE
namespace _RootNamespace_
{
#endif
/// <summary>Provides access to the current assembly information.</summary>
partial class ThisAssembly
{
/// <summary>Provides access to the git information for the current assembly.</summary>
public partial class Git
{
/// <summary>IsDirty: $GitIsDirty$</summary>
public const bool IsDirty = $GitIsDirty$;
/// <summary>IsDirtyString: $GitIsDirty$</summary>
public const string IsDirtyString = "$GitIsDirty$";
/// <summary>Branch: $GitBranch$</summary>
public const string Branch = "$GitBranch$";
/// <summary>Commit: $GitCommit$</summary>
public const string Commit = "$GitCommit$";
/// <summary>Sha: $GitSha$</summary>
public const string Sha = "$GitSha$";
/// <summary>Commits on top of base version: $GitCommits$</summary>
public const string Commits = "$GitCommits$";
/// <summary>Tag: $GitTag$</summary>
public const string Tag = "$GitTag$";
/// <summary>Base tag: $GitBaseTag$</summary>
public const string BaseTag = "$GitBaseTag$";
/// <summary>Provides access to the base version information used to determine the <see cref="SemVer" />.</summary>
public partial class BaseVersion
{
/// <summary>Major: $GitBaseVersionMajor$</summary>
public const string Major = "$GitBaseVersionMajor$";
/// <summary>Minor: $GitBaseVersionMinor$</summary>
public const string Minor = "$GitBaseVersionMinor$";
/// <summary>Patch: $GitBaseVersionPatch$</summary>
public const string Patch = "$GitBaseVersionPatch$";
}
/// <summary>Provides access to SemVer information for the current assembly.</summary>
public partial class SemVer
{
/// <summary>Major: $GitSemVerMajor$</summary>
public const string Major = "$GitSemVerMajor$";
/// <summary>Minor: $GitSemVerMinor$</summary>
public const string Minor = "$GitSemVerMinor$";
/// <summary>Patch: $GitSemVerPatch$</summary>
public const string Patch = "$GitSemVerPatch$";
/// <summary>Label: $GitSemVerLabel$</summary>
public const string Label = "$GitSemVerLabel$";
/// <summary>Label with dash prefix: $GitSemVerDashLabel$</summary>
public const string DashLabel = "$GitSemVerDashLabel$";
/// <summary>Source: $GitSemVerSource$</summary>
public const string Source = "$GitSemVerSource$";
}
}
}
#if LOCALNAMESPACE
}
#endif
#pragma warning restore 0436
差异被折叠。
' <auto-generated/>
#Const $NamespaceDefine$ = 1
#Const $MetadataDefine$ = 1
#If ADDMETADATA
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.IsDirty", Global.RootNamespace.ThisAssembly.Git.IsDirtyString)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.Branch", Global.RootNamespace.ThisAssembly.Git.Branch)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.Commit", Global.RootNamespace.ThisAssembly.Git.Commit)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.Sha", Global.RootNamespace.ThisAssembly.Git.Sha)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.BaseVersion.Major", Global.RootNamespace.ThisAssembly.Git.BaseVersion.Major)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.BaseVersion.Minor", Global.RootNamespace.ThisAssembly.Git.BaseVersion.Minor)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.BaseVersion.Patch", Global.RootNamespace.ThisAssembly.Git.BaseVersion.Patch)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.Commits", Global.RootNamespace.ThisAssembly.Git.Commits)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.Tag", Global.RootNamespace.ThisAssembly.Git.Tag)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.BaseTag", Global.RootNamespace.ThisAssembly.Git.BaseTag)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.SemVer.Major", Global.RootNamespace.ThisAssembly.Git.SemVer.Major)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.SemVer.Minor", Global.RootNamespace.ThisAssembly.Git.SemVer.Minor)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.SemVer.Patch", Global.RootNamespace.ThisAssembly.Git.SemVer.Patch)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.SemVer.Label", Global.RootNamespace.ThisAssembly.Git.SemVer.Label)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.SemVer.DashLabel", Global.RootNamespace.ThisAssembly.Git.SemVer.DashLabel)>
<Assembly: System.Reflection.AssemblyMetadata("GitInfo.SemVer.Source", Global.RootNamespace.ThisAssembly.Git.SemVer.Source)>
#End If
#If LOCALNAMESPACE
Namespace Global._RootNamespace_
#Else
Namespace Global
#End If
''' <summary>Provides access to the git information for the current assembly.</summary>
Partial Class ThisAssembly
''' <summary>Provides access to the git information for the current assembly.</summary>
Partial Public Class Git
''' <summary>IsDirty: $GitIsDirty$</summary>
Public Const IsDirty As Boolean = $GitIsDirty$
''' <summary>IsDirtyString: $GitIsDirty$</summary>
Public Const IsDirtyString As String = "$GitIsDirty$"
''' <summary>Branch: $GitBranch$</summary>
Public Const Branch As String = "$GitBranch$"
''' <summary>Commit: $GitCommit$</summary>
Public Const Commit As String = "$GitCommit$"
''' <summary>Commit: $GitSha$</summary>
Public Const Sha As String = "$GitSha$"
''' <summary>Commits on top of base version: $GitCommits$</summary>
Public Const Commits As String = "$GitCommits$"
''' <summary>Tag: $GitTag$</summary>
Public Const Tag As String = "$GitTag$"
''' <summary>Base tag: $GitBaseTag$</summary>
Public Const BaseTag As String = "$GitBaseTag$"
''' <summary>Provides access to the base version information used to determine the <see cref="SemVer" />.</summary>
Partial Public Class BaseVersion
''' <summary>Major: $GitBaseVersionMajor$</summary>
Public Const Major As String = "$GitBaseVersionMajor$"
''' <summary>Minor $GitBaseVersionMinor$</summary>
Public Const Minor As String = "$GitBaseVersionMinor$"
''' <summary>Patch $GitBaseVersionPatch$</summary>
Public Const Patch As String = "$GitBaseVersionPatch$"
End Class
''' <summary>Provides access to SemVer information for the current assembly.</summary>
Partial Public Class SemVer
''' <summary>Major: $GitSemVerMajor$</summary>
Public Const Major As String = "$GitSemVerMajor$"
''' <summary>Minor: $GitSemVerMinor$</summary>
Public Const Minor As String = "$GitSemVerMinor$"
''' <summary>Patch: $GitSemVerPatch$</summary>
Public Const Patch As String = "$GitSemVerPatch$"
''' <summary>Label: $GitSemVerLabel$</summary>
Public Const Label As String = "$GitSemVerLabel$"
''' <summary>Label with dash prefix: $GitSemVerDashLabel$</summary>
Public Const DashLabel As String = "$GitSemVerDashLabel$"
''' <summary>Label with dash prefix: $GitSemVerSource$</summary>
Public Const Source As String = "$GitSemVerVerSource$"
End Class
End Class
End Class
End Namespace
@echo off
setlocal EnableExtensions EnableDelayedExpansion
REM Usage: wslpath.cmd -w <linux path>
REM Converts a path from the Linux /mnt/c/... format into Windows format.
REM Usage: wslpath.cmd -u <windows path>
REM Converts a path from Windows to Linux format.
REM Both usages require `wslrun.cmd` in the same directory as this file.
if exist %0\..\wslrun.cmd set WSLRUN="%0\..\wslrun.cmd"
if exist %CD%\%0\..\wslrun.cmd set WSLRUN="%CD%\%0\..\wslrun.cmd"
if "%1" == "-w" goto :towindows
if "%1" == "-u" shift /1
REM Convert path to Linux
if exist "%1\*" (pushd %1) else (pushd %~dp1)
if ERRORLEVEL 1 goto :eof
%WSLRUN% pwd
popd
goto :eof
:towindows
REM Convert path to Windows
%WSLRUN% cd "'%2'" ^&^& cmd.exe /c cd
@echo off
REM Usage: wslrun.cmd <bash command>
REM Runs the given command in the Windows Subsystem for Linux bash shell.
REM Locate bash.exe
REM 32/64 bits causes issues here because it actually redirects the System32 dir
set BASH=bash.exe
if exist C:\Windows\System32\bash.exe set BASH=C:\Windows\System32\bash.exe
if exist C:\Windows\Sysnative\bash.exe set BASH=C:\Windows\Sysnative\bash.exe
%BASH% -c "%*"
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" InitialTargets="LoadDynamicVariables" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="4.0" DefaultTargets="Build" InitialTargets="GitVersion;LoadDynamicVariables" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<GitSkipCache>true</GitSkipCache>
</PropertyGroup>
<ImportGroup Label="PropertySheets">
<Import Project="GitInfo\GitInfo.targets"/>
</ImportGroup>
<PropertyGroup>
<ProjectGuid>{47213370-b933-487d-9f45-bca26d7e2b6f}</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
......@@ -780,7 +786,13 @@
<Exec Command="$(SolutionDir)w32\Setup\FullVersion.cmd" ConsoleToMSBuild="true">
<Output TaskParameter="ConsoleOutput" PropertyName="FullVersion" />
</Exec>
<CreateProperty Condition="$(FullVersion) != ''" Value="ProductVersion=$(FullVersion);$(DefineConstants)">
<CreateProperty Condition="'$(GitCommits)' != '0'" Value="-snapshot-$(GitCommit)-$([System.DateTime]::Now.ToString(yyyyMMddHHmmss))">
<Output TaskParameter="Value" PropertyName="SnapshotName" />
</CreateProperty>
<CreateProperty Condition="'$(GitCommits)' != '0'" Value=".$(GitCommits)">
<Output TaskParameter="Value" PropertyName="Revision" />
</CreateProperty>
<CreateProperty Condition="$(FullVersion) != ''" Value="ProductVersion=$(FullVersion)$(Revision);$(DefineConstants)">
<Output TaskParameter="Value" PropertyName="DefineConstants" />
</CreateProperty>
<CreateProperty Condition="'$(Platform)'=='x86'" Value="win32">
......@@ -789,7 +801,7 @@
<CreateProperty Condition="'$(Platform)'=='x64'" Value="x64">
<Output TaskParameter="Value" PropertyName="UserFriendlyPlatform" />
</CreateProperty>
<CreateProperty Condition="$(FullVersion) != ''" Value="$(SolutionDir)$(UserFriendlyPlatform)\$(OutputName)-$(FullVersion)-$(UserFriendlyPlatform)-$(Configuration).msi">
<CreateProperty Condition="$(FullVersion) != ''" Value="$(SolutionDir)$(UserFriendlyPlatform)\$(OutputName)-$(FullVersion)$(Revision)$(SnapshotName)-$(UserFriendlyPlatform)-$(Configuration).msi">
<Output TaskParameter="Value" PropertyName="DestinationFileName" />
</CreateProperty>
</Target>
......@@ -798,6 +810,10 @@
Other similar extension points exist, see Wix.targets.
-->
<Target Name="BeforeBuild">
<Message Importance="High" Text="GitExe: $(GitExe)" />
<Message Importance="High" Text="GitCommits: $(GitCommits)" />
<Message Importance="High" Text="SnapshotName: $(SnapshotName)" />
<Message Importance="High" Text="Revision: $(Revision)" />
<Message Importance="High" Text="Deleting previously created MSI files." />
<Delete Files="$(OutputPath)$(OutputName).msi" />
<Delete Files="$(DestinationFileName)" />
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论