Restore the original lockfile in repos after invoking build.cmd/sh (#865)
This commit is contained in:
parent
209c63d807
commit
8dabce0c19
|
|
@ -76,10 +76,27 @@
|
|||
<RepositoryBuildArguments>$(RepositoryBuildArguments) /p:Configuration=$(Configuration)</RepositoryBuildArguments>
|
||||
<RepositoryBuildArguments>$(RepositoryBuildArguments) /p:IsFinalBuild=$(IsFinalBuild)</RepositoryBuildArguments>
|
||||
<RepositoryBuildArguments>$(RepositoryBuildArguments) /noconsolelogger '/l:RepoTasks.FlowLogger,$(MSBuildThisFileDirectory)tasks\bin\publish\RepoTasks.dll;Summary;FlowId=$(RepositoryToBuild)'</RepositoryBuildArguments>
|
||||
|
||||
<SourceLockFile>$(RepositoryRoot)korebuild-lock.txt</SourceLockFile>
|
||||
<RepoLockFile>$(BuildRepositoryRoot)korebuild-lock.txt</RepoLockFile>
|
||||
<BackupRepoLockFile>$(IntermediateDir)$(RepositoryToBuild)-korebuild-lock.txt</BackupRepoLockFile>
|
||||
</PropertyGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="_BuildRepository" DependsOnTargets="GetRepoBuildProps">
|
||||
<Target Name="_UpdateRepoLockFile">
|
||||
<!-- Copy Korebuild lock file to individual repos to align version if the repo doesn't already have one -->
|
||||
<Message Text="Copying KoreBuild lockfile from Universe to repository $(BuildRepositoryRoot)"/>
|
||||
<Move SourceFiles="$(RepoLockFile)" DestinationFiles="$(BackupRepoLockFile)" Condition="Exists($(RepoLockFile))" />
|
||||
<Copy SourceFiles="$(SourceLockFile)" DestinationFiles="$(RepoLockFile)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_RestoreOriginalRepoLockFile">
|
||||
<!-- Restore original Korebuild lock file -->
|
||||
<Delete Files="$(RepoLockFile)" ContinueOnError="true" />
|
||||
<Move SourceFiles="$(BackupRepoLockFile)" DestinationFiles="$(RepoLockFile)" Condition="Exists($(BackupRepoLockFile))" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_BuildRepository" DependsOnTargets="GetRepoBuildProps;_UpdateRepoLockFile">
|
||||
<PropertyGroup>
|
||||
<BuildArguments>/t:CleanArtifacts /t:Build /p:SkipTests=true $(RepositoryBuildArguments)</BuildArguments>
|
||||
<RepositoryArtifactsRoot>$(BuildRepositoryRoot)artifacts</RepositoryArtifactsRoot>
|
||||
|
|
@ -89,18 +106,23 @@
|
|||
|
||||
<Message Text="============ Building $(RepositoryToBuild) ============" Importance="High" />
|
||||
|
||||
<!-- Copy Korebuild lock file to individual repos to align version if the repo doesn't already have one -->
|
||||
<Message Text="Copying KoreBuild lockfile from Universe to repository $(BuildRepositoryRoot)"/>
|
||||
<Copy SourceFiles="$(RepositoryRoot)korebuild-lock.txt" DestinationFolder="$(BuildRepositoryRoot)" />
|
||||
|
||||
<Exec
|
||||
Command="./$(_BuildScriptToExecute) -Path $(BuildRepositoryRoot) $(BuildArguments)"
|
||||
IgnoreStandardErrorWarningFormat="true"
|
||||
WorkingDirectory="$(RepositoryRoot)" />
|
||||
WorkingDirectory="$(RepositoryRoot)"
|
||||
IgnoreExitCode="true"
|
||||
ContinueOnError="WarnAndContinue">
|
||||
<Output TaskParameter="ExitCode" PropertyName="BuildExitCode" />
|
||||
</Exec>
|
||||
|
||||
<CallTarget Targets="_RestoreOriginalRepoLockFile" />
|
||||
|
||||
<!-- Fail if build.cmd didn't exit code 0 or process failed to start. -->
|
||||
<Error Text="Building $(RepositoryToBuild) failed: $(_BuildScriptToExecute) exited code $(BuildExitCode)" Condition=" '$(BuildExitCode)' != '0' " />
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryArtifacts Include="$(RepositoryArtifactsBuildDirectory)*" />
|
||||
<RepositoryMSBuildArtifacts Include="$(RepositoryArtifactsMSBuildDirectory)**\*.*" />
|
||||
<RepositoryMSBuildArtifacts Include="$(RepositoryArtifactsMSBuildDirectory)**\*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy
|
||||
|
|
@ -114,7 +136,7 @@
|
|||
<Message Text="============ Done building $(RepositoryToBuild) ============" Importance="High" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_TestRepository" DependsOnTargets="GetRepoBuildProps" Returns="@(RepositoryTestResult)">
|
||||
<Target Name="_TestRepository" DependsOnTargets="GetRepoBuildProps;_UpdateRepoLockFile" Returns="@(RepositoryTestResult)">
|
||||
<PropertyGroup>
|
||||
<BuildArguments>/t:Test /p:NoBuild=$(_NoBuildRepos) $(RepositoryBuildArguments)</BuildArguments>
|
||||
</PropertyGroup>
|
||||
|
|
@ -125,10 +147,6 @@
|
|||
|
||||
<Message Text="============ Testing $(RepositoryToBuild) ============" Importance="High" />
|
||||
|
||||
<!-- Copy Korebuild lock file to individual repos to align version if the repo doesn't already have one -->
|
||||
<Message Text="Copying KoreBuild lockfile from Universe to repository $(BuildRepositoryRoot)"/>
|
||||
<Copy SourceFiles="$(RepositoryRoot)korebuild-lock.txt" DestinationFolder="$(BuildRepositoryRoot)" />
|
||||
|
||||
<Exec
|
||||
Command="./$(_BuildScriptToExecute) -Path $(BuildRepositoryRoot) $(BuildArguments)"
|
||||
IgnoreStandardErrorWarningFormat="true"
|
||||
|
|
@ -137,6 +155,8 @@
|
|||
<Output TaskParameter="ExitCode" PropertyName="TestExitCode" />
|
||||
</Exec>
|
||||
|
||||
<CallTarget Targets="_RestoreOriginalRepoLockFile" />
|
||||
|
||||
<ItemGroup>
|
||||
<RepositoryTestResult Update="$(RepositoryToBuild)" Success="true" Condition="'$(TestExitCode)' == '0'" />
|
||||
</ItemGroup>
|
||||
|
|
|
|||
Loading…
Reference in New Issue