Replaces configuration files and update project structure
This commit is contained in:
		
							
								
								
									
										53
									
								
								Directory.Solution.targets
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								Directory.Solution.targets
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,53 @@
 | 
			
		||||
<Project>
 | 
			
		||||
  <Target Name="GetGitBranch" BeforeTargets="ValidateSolutionConfiguration"
 | 
			
		||||
    Condition="!Exists('$(SolutionDir)changes.log')">
 | 
			
		||||
    <Exec ConsoleToMSBuild="True" IgnoreExitCode="true" Command="git rev-parse --abbrev-ref HEAD"
 | 
			
		||||
      StandardOutputImportance="low" StandardErrorImportance="low" ContinueOnError="WarnAndContinue">
 | 
			
		||||
      <Output TaskParameter="ConsoleOutput" PropertyName="GitBranch" />
 | 
			
		||||
      <Output TaskParameter="ExitCode" PropertyName="GitBranchExitCode" />
 | 
			
		||||
    </Exec>
 | 
			
		||||
  </Target>
 | 
			
		||||
 | 
			
		||||
  <Target Name="GetGitTag" AfterTargets="GetGitBranch"
 | 
			
		||||
    Condition="$(GitBranch) != '' AND !Exists('$(SolutionDir)changes.log')">
 | 
			
		||||
    <Exec ConsoleToMSBuild="True" IgnoreExitCode="true"
 | 
			
		||||
      Condition="$(GitBranch) == 'master' OR $(GitBranch) == 'main'"
 | 
			
		||||
      Command='git describe --tags --abbrev=0 --exclude "v*-*"' StandardOutputImportance="low"
 | 
			
		||||
      StandardErrorImportance="low" ContinueOnError="WarnAndContinue">
 | 
			
		||||
      <Output TaskParameter="ConsoleOutput" PropertyName="GitTag" />
 | 
			
		||||
      <Output TaskParameter="ConsoleOutput" PropertyName="GitVerTag" />
 | 
			
		||||
      <Output TaskParameter="ExitCode" PropertyName="GitTagExitCode" />
 | 
			
		||||
    </Exec>
 | 
			
		||||
    <Exec ConsoleToMSBuild="True" IgnoreExitCode="true"
 | 
			
		||||
      Condition="$(GitBranch) != 'master' AND $(GitBranch) != 'main'"
 | 
			
		||||
      Command="git describe --tags --abbrev=0" StandardOutputImportance="low"
 | 
			
		||||
      StandardErrorImportance="low" ContinueOnError="WarnAndContinue">
 | 
			
		||||
      <Output TaskParameter="ConsoleOutput" PropertyName="GitTag" />
 | 
			
		||||
      <Output TaskParameter="ExitCode" PropertyName="GitTagExitCode" />
 | 
			
		||||
    </Exec>
 | 
			
		||||
  </Target>
 | 
			
		||||
 | 
			
		||||
  <Target Name="CreateGitLog" AfterTargets="GetGitTag"
 | 
			
		||||
    Condition="!Exists('$(MSBuildThisFileDirectory)\changes.log')">
 | 
			
		||||
    <PropertyGroup>
 | 
			
		||||
      <GitBaseCommand>git log --no-merges</GitBaseCommand>
 | 
			
		||||
      <GitCommand Condition="$([MSBuild]::IsOSPlatform('Windows')) == 'true'">$(GitBaseCommand)
 | 
			
		||||
        --pretty=format:"- %25%25s"</GitCommand>
 | 
			
		||||
      <GitCommand Condition="$([MSBuild]::IsOSPlatform('Windows')) != 'true'">$(GitBaseCommand)
 | 
			
		||||
        --pretty=format:"- %25s"</GitCommand>
 | 
			
		||||
    </PropertyGroup>
 | 
			
		||||
 | 
			
		||||
    <Exec Condition="$(GitTagExitCode) == 0"
 | 
			
		||||
      Command='$(GitCommand) $(GitTag)..HEAD > "$(MSBuildThisFileDirectory)changes.log"'
 | 
			
		||||
      StandardOutputImportance="low" StandardErrorImportance="low" ContinueOnError="WarnAndContinue" />
 | 
			
		||||
    <Exec Condition="$(GitTagExitCode) != 0"
 | 
			
		||||
      Command="$(GitCommand) > "$(MSBuildThisFileDirectory)changes.log""
 | 
			
		||||
      StandardOutputImportance="low" StandardErrorImportance="low" ContinueOnError="WarnAndContinue" />
 | 
			
		||||
    <Exec Condition="$([MSBuild]::IsOSPlatform('Windows')) == 'true'"
 | 
			
		||||
      Command="type $(MSBuildThisFileDirectory)changes.log | findstr -v 💚 | findstr -v : | findstr -v 🔧 > $(MSBuildThisFileDirectory)changes.log"
 | 
			
		||||
      StandardOutputImportance="low" StandardErrorImportance="low" ContinueOnError="WarnAndContinue" />
 | 
			
		||||
    <Exec Condition="$([MSBuild]::IsOSPlatform('Windows')) != 'true'"
 | 
			
		||||
      Command="sed -i '/^- 💚/ d' $(MSBuildThisFileDirectory)changes.log && sed -i '/^- 🔧/ d' $(MSBuildThisFileDirectory)changes.log && sed -i '/:/d' $(MSBuildThisFileDirectory)changes.log"
 | 
			
		||||
      StandardOutputImportance="low" StandardErrorImportance="low" ContinueOnError="WarnAndContinue" />
 | 
			
		||||
  </Target>
 | 
			
		||||
</Project>
 | 
			
		||||
		Reference in New Issue
	
	Block a user