Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
d380a0e
substitute 'nameof(<long ident>)` with `Conts(<long ident as string l…
Jan 18, 2017
223d313
Implementing basic nameof and typenameof operators
Jan 18, 2017
529cc6f
Apply feedback
Jan 18, 2017
f3c4ba5
Revert "Apply feedback"
Jan 18, 2017
8fd0392
Revert "Implementing basic nameof and typenameof operators"
Jan 18, 2017
77c8f77
revert nameof and typenameof functions to FSharp.Core
vasily-kirichenko Jan 18, 2017
3070c1d
wip
vasily-kirichenko Jan 18, 2017
b3e712d
it works
vasily-kirichenko Jan 18, 2017
6c6e3b5
Merge remote-tracking branch 'origin/master' into nameof-operator
Jan 19, 2017
7832be5
refactoring
Jan 19, 2017
6581790
make it work on simple `Ident`s
Jan 19, 2017
0f5165f
use proper error message
Jan 19, 2017
22898ad
restrict using `nameof` operator as first class
Jan 19, 2017
e5033af
remove `typenameof` bits
Jan 19, 2017
1ad0a0e
nameof(typeof<_>) works
Jan 19, 2017
c9a64b2
Merge branch 'master' into nameof-operator
vasily-kirichenko Jan 28, 2017
5657759
fix QA tests
vasily-kirichenko Jan 28, 2017
b26994c
Merge branch 'master' into nameof-operator
vasily-kirichenko Feb 3, 2017
a732de0
remove nameof function form FSharp.Core
vasily-kirichenko Feb 3, 2017
b29fe57
Merge remote-tracking branch 'origin/master' into nameof-operator
vasily-kirichenko Feb 4, 2017
b7763a6
Revert "remove nameof function form FSharp.Core"
vasily-kirichenko Feb 4, 2017
906a934
Try to resolve the `nameof` operator argument to prevent passing anyt…
vasily-kirichenko Feb 4, 2017
a770e3c
nameof works on generic types
vasily-kirichenko Feb 4, 2017
067955a
fix error range in case of wrong `nameof`operator argument
vasily-kirichenko Feb 4, 2017
bfcc390
notify name resolution sink about nameof operator argument Item in or…
vasily-kirichenko Feb 5, 2017
6a92a80
fully type check `nameof` argument
vasily-kirichenko Feb 5, 2017
bcec600
try to type check arg again
vasily-kirichenko Feb 5, 2017
f64b3c5
Merge remote-tracking branch 'origin/master' into nameof-operator
Feb 6, 2017
0c1cad2
type check `nameof` argument more carefully
vasily-kirichenko Feb 6, 2017
15bf862
Merge remote-tracking branch 'vasily-kirichenko/nameof-operator' into…
vasily-kirichenko Feb 6, 2017
5b72f32
Merge remote-tracking branch 'origin/master' into nameof-operator
vasily-kirichenko Feb 15, 2017
ceb7731
Merge branch 'master' into nameof-operator
vasily-kirichenko Mar 1, 2017
588de2e
factor tcExpr to top level function
vasily-kirichenko Mar 1, 2017
f2ae00f
Merge remote-tracking branch 'origin/master' into nameof-operator
vasily-kirichenko Mar 8, 2017
d1b1389
add diagnostics
dsyme Mar 10, 2019
0f89711
add diagnostics
dsyme Mar 10, 2019
7da6aff
diagnostics
dsyme Mar 11, 2019
871489b
diagnostics
dsyme Mar 11, 2019
27d00a0
diagnostics
dsyme Mar 11, 2019
7d98d16
add diagnostics and possible fix for tp smoke tests
dsyme Mar 11, 2019
cc6e992
fix build
dsyme Mar 11, 2019
e13b385
fix build
dsyme Mar 11, 2019
ce0961e
more diagnostics
dsyme Mar 11, 2019
2bb15ce
integrate master
dsyme Mar 11, 2019
8b0d33b
merge with master
dsyme Mar 12, 2019
b1bf49d
update xlf
dsyme Mar 12, 2019
ad61659
fix build
dsyme Mar 12, 2019
90b46fb
revamp implementation for types and modules
dsyme Mar 12, 2019
21b4705
update tests
dsyme Mar 12, 2019
51e2012
try to fix flaky test
dsyme Mar 12, 2019
d482527
fix error numbers
dsyme Mar 12, 2019
26e05dd
fix build
dsyme Mar 12, 2019
8a7f046
update build from source
dsyme Mar 12, 2019
20bf0c5
Merge branch 'diag4' into nameof
dsyme Mar 12, 2019
93ccbbe
update error codes, FSComp.fs and XLF
dsyme Mar 13, 2019
4b91598
fix test
dsyme Mar 13, 2019
1f8f90c
integrate master
dsyme Mar 20, 2019
bf4b336
Merge branch 'master' of https://github.com/Microsoft/visualfsharp in…
dsyme Mar 21, 2019
8303215
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 22, 2019
23d7a64
merge master
dsyme Mar 22, 2019
98a29ff
merge master
dsyme Mar 26, 2019
6e7e3c4
us proto build on mac and linux
dsyme Mar 27, 2019
21b46ca
us proto build on mac and linux
dsyme Mar 27, 2019
39ec26a
build right proto on unix
dsyme Mar 27, 2019
4b51197
build right proto on unix
dsyme Mar 27, 2019
8a91110
Merge branch 'proto' into nameof
dsyme Mar 28, 2019
7cc99ca
fix build to really use proto
dsyme Mar 28, 2019
48f30d3
Merge branch 'proto' into nameof
dsyme Mar 28, 2019
c15c030
fix build
dsyme Mar 28, 2019
2715844
Merge branch 'proto' into nameof
dsyme Mar 28, 2019
9d61ee7
update tfms for type providers
dsyme Mar 28, 2019
55c0c2f
Merge branch 'proto' into nameof
dsyme Mar 28, 2019
08d89c7
verbose build
dsyme Mar 28, 2019
dac0ac4
Merge branch 'proto' into nameof
dsyme Mar 28, 2019
a7a132c
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Mar 28, 2019
088951b
try to fix build
dsyme Mar 28, 2019
9c93ac1
don't rebuild proto
dsyme Mar 28, 2019
ddd0ac7
trim list
dsyme Mar 28, 2019
67717f8
disable proto compiler for fslex/fsyacc
dsyme Mar 28, 2019
2eb1528
fix build
dsyme Mar 28, 2019
713b40f
add buildtools props file instead
dsyme Mar 29, 2019
feebc99
add missing file
dsyme Mar 29, 2019
385c4d9
proto
dsyme Mar 29, 2019
9b4ff93
proto
dsyme Mar 29, 2019
40bb2de
simplify
dsyme Mar 29, 2019
2f96a63
more
dsyme Mar 29, 2019
266d695
more
dsyme Mar 29, 2019
0f3ddeb
more
dsyme Mar 29, 2019
7e7fbf0
proto
dsyme Mar 29, 2019
6b20514
try revert
dsyme Mar 29, 2019
8026ae4
Merge branch 'proto2' into nameof
dsyme Mar 29, 2019
bc129ba
Merge branch 'nameof' of https://github.com/dsyme/visualfsharp into n…
dsyme Mar 29, 2019
28cdc00
proto
dsyme Mar 29, 2019
4447207
try again
dsyme Mar 29, 2019
6563fa3
try again
dsyme Mar 29, 2019
f1056d7
disable node reuse
dsyme Mar 29, 2019
7f37ec8
Merge branch 'proto' into nameof
dsyme Mar 29, 2019
ea11aae
fix tests
dsyme Mar 29, 2019
00b9852
Merge branch 'proto' into nameof
dsyme Mar 29, 2019
3456f48
revert diagnostic
dsyme Mar 29, 2019
a74d30b
Merge branch 'proto' into nameof
dsyme Mar 29, 2019
b3209da
revert some changes
dsyme Mar 29, 2019
57292eb
Merge branch 'proto' of https://github.com/dsyme/visualfsharp into proto
dsyme Mar 29, 2019
4ea4705
revert some changes
dsyme Mar 29, 2019
a2df739
Merge branch 'proto' into nameof
dsyme Mar 29, 2019
023a773
Merge branch 'nameof' of https://github.com/dsyme/visualfsharp into n…
dsyme Mar 29, 2019
4f522a2
try again
dsyme Mar 29, 2019
a26b387
Merge branch 'proto' into nameof
dsyme Mar 29, 2019
f4bd221
use proto on mac and linux
dsyme Mar 29, 2019
8a4baf3
reduce diff
dsyme Mar 30, 2019
0474a23
reduce diff
dsyme Mar 30, 2019
b96120e
reduce diff
dsyme Mar 30, 2019
cf9147b
reduce diff
dsyme Mar 30, 2019
286c336
reduce diff
dsyme Mar 30, 2019
7a6448e
reduce diff
dsyme Mar 30, 2019
233105b
merge proto
dsyme Mar 30, 2019
47179ce
fix merge
dsyme Mar 31, 2019
2ff75be
Merge branch 'master' of http://github.com/Microsoft/visualfsharp int…
dsyme Apr 1, 2019
965d3b1
Merge branch 'master' of https://github.com/Microsoft/visualfsharp in…
dsyme Apr 2, 2019
978414c
Merge branch 'master' into proto
KevinRansom Apr 8, 2019
95d94de
integrate master
dsyme Apr 14, 2019
a15ef59
integrate master
dsyme Apr 14, 2019
aed6752
fix build
dsyme Apr 14, 2019
bb78e5f
fix build
dsyme Apr 14, 2019
b88d23c
Merge branch 'fix77' into proto
dsyme Apr 14, 2019
1aa6a41
load right FSHarp.Build
dsyme Apr 15, 2019
058bdc9
publish proto apps
dsyme Apr 15, 2019
688850f
revert test env changes
dsyme Apr 15, 2019
c2c7213
revert testing changes
dsyme Apr 16, 2019
06168fd
merge master
dsyme Apr 16, 2019
2b045f5
Merge branch 'proto' into nameof
dsyme Apr 16, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 5 additions & 6 deletions FSharpBuild.Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@
<PropertyGroup>
<FSharpSourcesRoot>$(RepoRoot)src</FSharpSourcesRoot>
<SymStoreDirectory>$(ArtifactsDir)\SymStore</SymStoreDirectory>
<ProtoOutputPath Condition="'$(OS)' != 'Unix'">$(ArtifactsDir)\Bootstrap</ProtoOutputPath>
<ProtoOutputPath Condition="'$(OS)' == 'Unix'">$(ArtifactsDir)/fsc/Proto/netcoreapp2.1</ProtoOutputPath>
<ProtoOutputPath>$(ArtifactsDir)\Bootstrap</ProtoOutputPath>
<ValueTupleImplicitPackageVersion>4.4.0</ValueTupleImplicitPackageVersion>
<WarningsAsErrors>1182;0025;$(WarningsAsErrors)</WarningsAsErrors>
</PropertyGroup>
Expand Down Expand Up @@ -96,10 +95,10 @@

<!-- SDK targets override -->
<PropertyGroup Condition="'$(Configuration)' != 'Proto' AND '$(DisableCompilerRedirection)'!='true' AND Exists('$(ProtoOutputPath)')">
<FSharpTargetsPath>$(ProtoOutputPath)\Microsoft.FSharp.Targets</FSharpTargetsPath>
<FSharpPropsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.props</FSharpPropsShim>
<FSharpTargetsShim>$(ProtoOutputPath)\Microsoft.FSharp.NetSdk.targets</FSharpTargetsShim>
<FSharpOverridesTargetsShim>$(ProtoOutputPath)\Microsoft.FSharp.Overrides.NetSdk.targets</FSharpOverridesTargetsShim>
<FSharpTargetsPath>$(ProtoOutputPath)\fsc\Microsoft.FSharp.Targets</FSharpTargetsPath>
<FSharpPropsShim>$(ProtoOutputPath)\fsc\Microsoft.FSharp.NetSdk.props</FSharpPropsShim>
<FSharpTargetsShim>$(ProtoOutputPath)\fsc\Microsoft.FSharp.NetSdk.targets</FSharpTargetsShim>
<FSharpOverridesTargetsShim>$(ProtoOutputPath)\fsc\Microsoft.FSharp.Overrides.NetSdk.targets</FSharpOverridesTargetsShim>
</PropertyGroup>

</Project>
6 changes: 3 additions & 3 deletions FSharpTests.Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@

<!-- SDK targets override -->
<PropertyGroup>
<_FSharpBuildTargetFramework Condition="'$(FSharpTestCompilerVersion)' == 'net40'">net472</_FSharpBuildTargetFramework>
<_FSharpBuildTargetFramework Condition="'$(FSharpTestCompilerVersion)' == 'coreclr'">netcoreapp2.1</_FSharpBuildTargetFramework>
<_FSharpBuildBinPath>$(MSBuildThisFileDirectory)artifacts\bin\FSharp.Build\$(Configuration)\$(_FSharpBuildTargetFramework)</_FSharpBuildBinPath>
<_FSharpBuildTargetFramework Condition="'$(MSBuildRuntimeType)'!='Core'">net472</_FSharpBuildTargetFramework>
<_FSharpBuildTargetFramework Condition="'$(MSBuildRuntimeType)'=='Core'">netcoreapp2.1</_FSharpBuildTargetFramework>
<_FSharpBuildBinPath>$(MSBuildThisFileDirectory)artifacts\bin\fsc\$(Configuration)\$(_FSharpBuildTargetFramework)</_FSharpBuildBinPath>

<FSharpBuildAssemblyFile>$(_FSharpBuildBinPath)\FSharp.Build.dll</FSharpBuildAssemblyFile>

Expand Down
6 changes: 4 additions & 2 deletions eng/Build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ function Print-Usage() {
Write-Host ""
Write-Host "Actions:"
Write-Host " -restore Restore packages (short: -r)"
Write-Host " -norestore Don't restore packages"
Write-Host " -build Build main solution (short: -b)"
Write-Host " -rebuild Rebuild main solution"
Write-Host " -pack Build NuGet packages, VS insertion manifests and installer"
Expand Down Expand Up @@ -100,6 +101,7 @@ function Process-Arguments() {
Print-Usage
exit 0
}
$script:nodeReuse = $False;

if ($testAll) {
$script:testDesktop = $True
Expand Down Expand Up @@ -160,10 +162,10 @@ function BuildSolution() {
/p:Publish=$publish `
/p:ContinuousIntegrationBuild=$ci `
/p:OfficialBuildId=$officialBuildId `
/p:BootstrapBuildPath=$bootstrapDir `
/p:QuietRestore=$quietRestore `
/p:QuietRestoreBinaryLog=$binaryLog `
/p:TestTargetFrameworks=$testTargetFrameworks `
/v:$verbosity `
$suppressExtensionDeployment `
@properties
}
Expand Down Expand Up @@ -194,7 +196,7 @@ function UpdatePath() {
}

function VerifyAssemblyVersions() {
$fsiPath = Join-Path $ArtifactsDir "bin\fsi\Proto\net472\fsi.exe"
$fsiPath = Join-Path $ArtifactsDir "bin\fsi\Proto\net472\publish\fsi.exe"

# Only verify versions on CI or official build
if ($ci -or $official) {
Expand Down
16 changes: 6 additions & 10 deletions eng/build-utils.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -216,10 +216,6 @@ function Run-MSBuild([string]$projectFilePath, [string]$buildArgs = "", [string]
$args += " /p:ContinuousIntegrationBuild=true"
}

if ($bootstrapDir -ne "") {
$args += " /p:BootstrapBuildPath=$bootstrapDir"
}

$args += " $buildArgs"
$args += " $projectFilePath"
$args += " $properties"
Expand All @@ -241,15 +237,15 @@ function Make-BootstrapBuild() {
Create-Directory $dir

# prepare FsLex and Fsyacc
Run-MSBuild "$RepoRoot\src\buildtools\buildtools.proj" "/restore /t:Build" -logFileName "BuildTools" -configuration $bootstrapConfiguration
Copy-Item "$ArtifactsDir\bin\fslex\$bootstrapConfiguration\netcoreapp2.1\*" -Destination $dir
Copy-Item "$ArtifactsDir\bin\fsyacc\$bootstrapConfiguration\netcoreapp2.1\*" -Destination $dir
Run-MSBuild "$RepoRoot\src\buildtools\buildtools.proj" "/restore /t:Publish" -logFileName "BuildTools" -configuration $bootstrapConfiguration
Copy-Item "$ArtifactsDir\bin\fslex\$bootstrapConfiguration\netcoreapp2.1\publish" -Destination "$dir\fslex" -Force -Recurse
Copy-Item "$ArtifactsDir\bin\fsyacc\$bootstrapConfiguration\netcoreapp2.1\publish" -Destination "$dir\fsyacc" -Force -Recurse

# prepare compiler
$projectPath = "$RepoRoot\proto.proj"
Run-MSBuild $projectPath "/restore /t:Build" -logFileName "Bootstrap" -configuration $bootstrapConfiguration
Copy-Item "$ArtifactsDir\bin\fsc\$bootstrapConfiguration\$bootstrapTfm\*" -Destination $dir
Copy-Item "$ArtifactsDir\bin\fsi\$bootstrapConfiguration\$bootstrapTfm\*" -Destination $dir
Run-MSBuild $projectPath "/restore /t:Publish" -logFileName "Bootstrap" -configuration $bootstrapConfiguration
Copy-Item "$ArtifactsDir\bin\fsc\$bootstrapConfiguration\$bootstrapTfm\publish" -Destination "$dir\fsc" -Force -Recurse
Copy-Item "$ArtifactsDir\bin\fsi\$bootstrapConfiguration\$bootstrapTfm\publish" -Destination "$dir\fsi" -Force -Recurse

return $dir
}
41 changes: 33 additions & 8 deletions eng/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ usage()
echo " --binaryLog Create MSBuild binary log (short: -bl)"
echo ""
echo "Actions:"
echo " --bootstrap Force the build of the bootstrap compiler"
echo " --restore Restore projects required to build (short: -r)"
echo " --norestore Don't restore projects required to build"
echo " --build Build all projects (short: -b)"
echo " --rebuild Rebuild all projects"
echo " --pack Build nuget packages"
Expand Down Expand Up @@ -54,6 +56,7 @@ test_core_clr=false
configuration="Debug"
verbosity='minimal'
binary_log=false
force_bootstrap=false
ci=false
skip_analyzers=false
prepare_machine=false
Expand Down Expand Up @@ -88,6 +91,9 @@ while [[ $# > 0 ]]; do
--binarylog|-bl)
binary_log=true
;;
--bootstrap)
force_bootstrap=true
;;
--restore|-r)
restore=true
;;
Expand Down Expand Up @@ -205,21 +211,40 @@ function BuildSolution {
quiet_restore=true
fi

# Node reuse fails because multiple different versions of FSharp.Build.dll get loaded into MSBuild nodes
node_reuse=false

# build bootstrap tools
bootstrap_config=Proto
MSBuild "$repo_root/src/buildtools/buildtools.proj" \
/restore \
/p:Configuration=$bootstrap_config \
/t:Build

bootstrap_dir=$artifacts_dir/Bootstrap
mkdir -p "$bootstrap_dir"
cp $artifacts_dir/bin/fslex/$bootstrap_config/netcoreapp2.1/* $bootstrap_dir
cp $artifacts_dir/bin/fsyacc/$bootstrap_config/netcoreapp2.1/* $bootstrap_dir
if [[ "$force_bootstrap" == true ]]; then
rm -fr $bootstrap_dir
fi
if [ ! -f "$bootstrap_dir/fslex.dll" ]; then
MSBuild "$repo_root/src/buildtools/buildtools.proj" \
/restore \
/v:$verbosity \
/p:Configuration=$bootstrap_config \
/t:Publish

mkdir -p "$bootstrap_dir"
cp -pr $artifacts_dir/bin/fslex/$bootstrap_config/netcoreapp2.1/publish $bootstrap_dir/fslex
cp -pr $artifacts_dir/bin/fsyacc/$bootstrap_config/netcoreapp2.1/publish $bootstrap_dir/fsyacc
fi
if [ ! -f "$bootstrap_dir/fsc.exe" ]; then
MSBuild "$repo_root/proto.proj" \
/restore \
/v:$verbosity \
/p:Configuration=$bootstrap_config \
/t:Publish

cp -pr $artifacts_dir/bin/fsc/$bootstrap_config/netcoreapp2.1/publish $bootstrap_dir/fsc
fi

# do real build
MSBuild $toolset_build_proj \
$bl \
/v:$verbosity \
/p:Configuration=$configuration \
/p:Projects="$projects" \
/p:RepoRoot="$repo_root" \
Expand Down
5 changes: 0 additions & 5 deletions fcs/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,4 @@
<IntermediateOutputPath>$(ArtifactsObjDir)\fcs</IntermediateOutputPath>
<DisableCompilerRedirection>true</DisableCompilerRedirection>
</PropertyGroup>

<!-- SDK targets override -->
<PropertyGroup>
<ProtoOutputPath>$(ArtifactsBinDir)\FSharp.Build\Proto\net472</ProtoOutputPath>
</PropertyGroup>
</Project>
4 changes: 4 additions & 0 deletions proto.proj
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@
<MSBuild Projects="@(Projects)" Targets="Rebuild" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
</Target>

<Target Name="Publish">
<MSBuild Projects="@(Projects)" Targets="Publish" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
</Target>

<Target Name="Clean">
<MSBuild Projects="@(Projects)" Targets="Clean" Properties="Configuration=$(Configuration);BUILD_PUBLICSIGN=$(BUILD_PUBLICSIGN);$(CustomProps)" />
</Target>
Expand Down
Loading