| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- <Project>
- <Import Project="$(_BuildGraphFile)" />
- <Target Name="BuildRepositories">
- <ItemGroup>
- <BatchedRepository Include="$(MSBuildProjectFullPath)">
- <BuildGroup>%(RepositoryToBuildInOrder.Order)</BuildGroup>
- <Repository>%(RepositoryToBuildInOrder.Identity)</Repository>
- <AdditionalProperties>
- RepositoryToBuild=%(RepositoryToBuildInOrder.Identity);
- BuildRepositoryRoot=$(_CloneRepositoryRoot)%(RepositoryToBuildInOrder.Identity)\
- </AdditionalProperties>
- </BatchedRepository>
- </ItemGroup>
- <PropertyGroup>
- <BatchBuilds Condition="$(BuildInParallel) AND '$(CompileOnly)'=='true'">true</BatchBuilds>
- <BatchBuilds Condition="'$(BatchBuilds)'==''">false</BatchBuilds>
- </PropertyGroup>
- <Message
- Text="Building repositories in the following batches:"
- Importance="High"
- Condition="'$(BatchBuilds)'=='true'" />
- <Message
- Text="%(BatchedRepository.BuildGroup): @(BatchedRepository -> '%(Repository)', ', ')"
- Importance="High"
- Condition="'$(BatchBuilds)'=='true'" />
- <Message
- Text="Building repositories in the following order:"
- Importance="High"
- Condition="'$(BatchBuilds)'!='true'" />
- <Message
- Text="%(BatchedRepository.Repository)"
- Importance="High"
- Condition="'$(BatchBuilds)'!='true'" />
- <MSBuild
- Projects="@(BatchedRepository)"
- BuildInParallel="$(BatchBuilds)"
- Targets="_BuildRepository"
- Properties="BuildGroup=%(BatchedRepository.BuildGroup)" />
- </Target>
- <Target Name="_BuildRepository" DependsOnTargets="_PinVersions">
- <PropertyGroup>
- <BuildArguments>$(_RepositoryBuildTargets) /p:BuildNumber=$(BuildNumber) /p:Configuration=$(Configuration)</BuildArguments>
- <RepositoryArtifactsDirectory>$(BuildRepositoryRoot)artifacts\build\</RepositoryArtifactsDirectory>
- <_BuildScriptToExecute Condition="'$(OS)'!='Windows_NT'">build.sh</_BuildScriptToExecute>
- <_BuildScriptToExecute Condition="'$(OS)'=='Windows_NT'">build.cmd</_BuildScriptToExecute>
- </PropertyGroup>
- <Message Text="============ Building $(RepositoryToBuild) ============" Importance="High" />
- <Exec
- Command="./$(_BuildScriptToExecute) $(BuildArguments)"
- EnvironmentVariables="KOREBUILD_SKIP_RUNTIME_INSTALL=1"
- IgnoreStandardErrorWarningFormat="true"
- WorkingDirectory="$(BuildRepositoryRoot)" />
- <ItemGroup>
- <RepositoryArtifacts Include="$(RepositoryArtifactsDirectory)*" />
- <RepositorySymbolNupkgs Include="$(RepositoryArtifactsDirectory)*.symbols.nupkg" />
- <RepositoryNupkgs Include="$(RepositoryArtifactsDirectory)*.nupkg" Exclude="@(RepositorySymbolNupkgs)" />
- </ItemGroup>
- <Copy
- SourceFiles="@(RepositoryArtifacts)"
- DestinationFolder="$(UniverseBuildDir)" />
- <Message Text="Publishing the following packages to the volatile feed: @(RepositoryNupkgs -> '%(Filename)%(Extension)', ', ')"
- Condition="'$(PublishPackages)'=='true' AND '@(RepositoryNupkgs)' != ''" />
- <Exec
- Command="$(DotNetPath) nuget push "%(RepositoryNupkgs.Identity)" -s $(NuGetPublishVolatileFeed) -k $(APIKEY)"
- Condition="'$(PublishPackages)'=='true' AND '@(RepositoryNupkgs)' != ''" />
- <Message Text="============ Done building $(RepositoryToBuild) ============" Importance="High" />
- </Target>
- <Target Name="_PinVersions">
- <PropertyGroup>
- <PinToolBinary>$(RepositoryRoot)tools\PinVersions\bin\$(Configuration)\netcoreapp1.1\PinVersions.dll</PinToolBinary>
- <PinVersionArgs>$(DotNetPath) $(PinToolBinary) --graph-specs-root "$(_RestoreGraphSpecsDirectory) " -s "$(UniverseBuildDir) " "$(BuildRepositoryRoot) "</PinVersionArgs>
- <PinVersionArgs Condition="Exists('$(_DependencyPackagesDirectory)')">$(PinVersionArgs) -s "$(_DependencyPackagesDirectory) "</PinVersionArgs>
- </PropertyGroup>
- <Exec Command="$(PinVersionArgs)" />
- </Target>
- </Project>
|