Skip to content

Commit 43108ed

Browse files
committed
Create the 'out' directory before restoring packages
This makes it easier to guarantee the path always exists so msbuild /t:Restore more reliably succeeds. Don't rely on running the 'pack' command to create the directory.
1 parent f13316f commit 43108ed

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

build.proj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
<CI Condition="'$(CI)' == '' ">false</CI>
66

77
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
8+
<!-- this is also in src/Directory.Build.props -->
89
<Out Condition=" '$(Out)' == '' ">$(MSBuildThisFileDirectory)out</Out>
910

1011
<MSBuildCommonProperties>$(MSBuildCommonProperties);Deterministic=true</MSBuildCommonProperties>
@@ -39,7 +40,6 @@
3940
</Target>
4041

4142
<Target Name="Pack">
42-
<MakeDir Directories="$(Out)" />
4343
<MSBuild
4444
Projects="@(PackFile)"
4545
Properties="$(MSBuildCommonProperties);Configuration=%(PackFile.Configuration);PackageOutputPath=$(Out)"

src/Directory.Build.props

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,9 @@
4646
<Deterministic>true</Deterministic>
4747
<RestorePackagesWithLockFile>false</RestorePackagesWithLockFile>
4848
<GenerateDocumentationFile>true</GenerateDocumentationFile>
49-
49+
50+
<Out Condition=" '$(Out)' == ''">$(MSBuildThisFileDirectory)..\out</Out>
51+
5052
<!-- These are essentially junk if i'm compiling against net472/NetStandard2.0 and newer targets.
5153
Most rules result in uncompilable net472 code, so let's ignore them as i don't want to wade
5254
through fixing/ignoring hundreds of rules with little real-world value. -->

src/Directory.Build.targets

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@
4242
<PackageReference Update="System.Memory" Version="$(SystemMemoryVersion)" />
4343
</ItemGroup>
4444

45+
<Target Name="CreateOutDirectory" BeforeTargets="_GetAllRestoreProjectPathItems;Restore;BeforeResolveReferences;CollectPackageReferences">
46+
<MakeDir Directories="$(Out)" />
47+
</Target>
48+
4549
<Target Name="SetAssemblyVersion" BeforeTargets="GetAssemblyVersion" Condition="'$(RestoreSuccess)' != 'true' Or '$(Configuration)' == 'Debug' Or '$(GitInfoVersion)' == '' ">
4650
<PropertyGroup>
4751
<Version>0.0.0.1</Version>

0 commit comments

Comments
 (0)