Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
6 changes: 3 additions & 3 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>
<FSharpNetCoreProductDefaultTargetFramework>net9.0</FSharpNetCoreProductDefaultTargetFramework>
<IgnoreMibc Condition="'$(IgnoreMibc)' == ''">$(DotNetBuildSourceOnly)</IgnoreMibc>
<!-- When building in the VMR, we never need to publish Windows PDBs. Any conversion to Windows PDBs will be done during staging if necessary. -->
<PublishWindowsPdb Condition="'$(DotNetBuildOrchestrator)' == 'true'">false</PublishWindowsPdb>
<!-- When building the .NET product, there's no need to publish Windows PDBs. Any conversion to Windows PDBs will be done during staging, if necessary. -->
<PublishWindowsPdb Condition="'$(DotNetBuild)' == 'true'">false</PublishWindowsPdb>
</PropertyGroup>

<!--
Expand Down Expand Up @@ -74,7 +74,7 @@
we should also support $(NetPrevious) for all releases.
This will likely include FCS and FSharp.Core as well as shipped products.
Right now, it only covers products we ship (FSC and FSI), not NuGet packages. -->
<When Condition="'$(DotNetBuildSourceOnly)' == 'true' AND '$(DotNetBuildOrchestrator)' == 'true'">
<When Condition="'$(DotNetBuildSourceOnly)' == 'true' AND '$(DotNetBuildFromVMR)' == 'true'">
<PropertyGroup>
<FSharpNetCoreProductTargetFramework>$(NetCurrent)</FSharpNetCoreProductTargetFramework>
</PropertyGroup>
Expand Down
2 changes: 1 addition & 1 deletion build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ while [[ -h $source ]]; do
done

scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
time "$scriptroot/eng/build.sh" --build --restore $@
time "$scriptroot/eng/build.sh" --build --restore "$@"
3 changes: 3 additions & 0 deletions eng/Build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ param (
[string]$officialSkipTests = "false",
[switch]$noVisualStudio,
[switch][Alias('pb')]$productBuild,
[switch]$fromVMR,
[switch]$skipBuild,
[switch]$compressAllMetadata,
[switch]$buildnorealsig = $true,
Expand Down Expand Up @@ -134,6 +135,7 @@ function Print-Usage() {
Write-Host " -dontUseGlobalNuGetCache Do not use the global NuGet cache"
Write-Host " -noVisualStudio Only build fsc and fsi as .NET Core applications. No Visual Studio required. '-configuration', '-verbosity', '-norestore', '-rebuild' are supported."
Write-Host " -productBuild Build the repository in product-build mode."
Write-Host " -fromVMR Set when building from within the VMR."
Write-Host " -skipbuild Skip building product"
Write-Host " -compressAllMetadata Build product with compressed metadata"
Write-Host " -buildnorealsig Build product with realsig- (default use realsig+, where necessary)"
Expand Down Expand Up @@ -304,6 +306,7 @@ function BuildSolution([string] $solutionName, $packSolution) {
/p:Build=$build `
/p:DotNetBuildRepo=$productBuild `
/p:DotNetBuild=$productBuild `
/p:DotNetBuildFromVMR=$fromVMR `
/p:Rebuild=$rebuild `
/p:Pack=$pack `
/p:Sign=$sign `
Expand Down
2 changes: 1 addition & 1 deletion eng/DotNetBuild.props
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
-bl enables the binlogs for the tools and Proto builds, which make debugging failures here easier
-->
<Exec
Command="./build.sh --bootstrap --skipBuild -bl $(SourceBuildBootstrapTfmArg) $(SourceBuildBootstrapRestoreConfigFileArg) /p:DotNetBuildUseMonoRuntime=$(DotNetBuildUseMonoRuntime) /p:DotNetBuildSourceOnly=true /p:DotNetBuildInnerRepo=true /p:DotNetBuildRepo=true /p:DotNetBuildOrchestrator=$(DotNetBuildOrchestrator)"
Command="./build.sh --bootstrap --skipBuild -bl $(SourceBuildBootstrapTfmArg) $(SourceBuildBootstrapRestoreConfigFileArg) /p:DotNetBuildUseMonoRuntime=$(DotNetBuildUseMonoRuntime) /p:DotNetBuildSourceOnly=true /p:DotNetBuildInnerRepo=true /p:DotNetBuildRepo=true"
WorkingDirectory="$(InnerSourceBuildRepoRoot)"
EnvironmentVariables="@(InnerBuildEnv)" />
</Target>
Expand Down
2 changes: 1 addition & 1 deletion eng/Version.Details.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Dependencies>
<Source Uri="https://github.com/dotnet/dotnet" Mapping="fsharp" Sha="a4d6fdc935d5da12efb00a0b3b693ff1439e0b41" BarId="269082" />
<Source Uri="https://github.com/dotnet/dotnet" Mapping="fsharp" Sha="57b0396ae0d21b9f0dfe0d208c57822fb88f9a8d" BarId="269724" />
<ProductDependencies>
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="9.0.0-alpha.1.25223.3">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
Expand Down
16 changes: 11 additions & 5 deletions eng/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ usage()
echo " --prepareMachine Prepare machine for CI run, clean up processes after build"
echo " --sourceBuild Build the repository in source-only mode."
echo " --productBuild Build the repository in product-build mode."
echo " --fromVMR Set when building from within the VMR"
echo " --buildnorealsig Build product with realsig- (default use realsig+ where necessary)"
echo " --tfm Override the default target framework"
echo ""
Expand Down Expand Up @@ -75,8 +76,9 @@ skip_build=false
prepare_machine=false
source_build=false
product_build=false
from_vmr=false
buildnorealsig=true
properties=""
properties=()

docker=false
args=""
Expand Down Expand Up @@ -170,6 +172,9 @@ while [[ $# > 0 ]]; do
--productbuild|--product-build|-pb)
product_build=true
;;
--fromvmr|--from-vmr)
from_vmr=true
;;
--buildnorealsig)
buildnorealsig=true
;;
Expand All @@ -178,7 +183,7 @@ while [[ $# > 0 ]]; do
shift
;;
/p:*)
properties="$properties $1"
properties+=("$1")
;;
*)
echo "Invalid argument: $1"
Expand Down Expand Up @@ -290,9 +295,9 @@ function BuildSolution {

BuildMessage="Error building tools"
# TODO: Remove DotNetBuildRepo property when fsharp is on Arcade 10
local args=" publish $repo_root/proto.proj $blrestore $bltools /p:Configuration=Proto /p:DotNetBuildRepo=$product_build /p:DotNetBuild=$product_build /p:DotNetBuildSourceOnly=$source_build $properties"
local args=("publish" "$repo_root/proto.proj" "$blrestore" "$bltools" "/p:Configuration=Proto" "/p:DotNetBuildRepo=$product_build" "/p:DotNetBuild=$product_build" "/p:DotNetBuildSourceOnly=$source_build" "/p:DotNetBuildFromVMR=$from_vmr" ${properties[@]+"${properties[@]}"})
echo $args
"$DOTNET_INSTALL_DIR/dotnet" $args #$args || exit $?
"$DOTNET_INSTALL_DIR/dotnet" "${args[@]}" #$args || exit $?
fi

if [[ "$skip_build" != true ]]; then
Expand All @@ -319,7 +324,8 @@ function BuildSolution {
/p:DotNetBuildRepo=$product_build \
/p:DotNetBuild=$product_build \
/p:DotNetBuildSourceOnly=$source_build \
$properties
/p:DotNetBuildFromVMR=$from_vmr \
${properties[@]+"${properties[@]}"}
fi
}

Expand Down
2 changes: 1 addition & 1 deletion proto.proj
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
The project does not import Arcade targets so we only have the properties that were passed in, rather than
calculated properties like DotNetBuildPhase. -->
<!-- TODO: Remove this condition when fsharp upgraded to Arcade 10 -->
<ItemGroup Condition="'$(DotNetBuildOrchestrator)' == 'true' or '$(DotNetBuildSourceOnly)' != 'true' or '$(DotNetBuildInnerRepo)' == 'true'">
<ItemGroup Condition="'$(DotNetBuildFromVMR)' == 'true' or '$(DotNetBuildSourceOnly)' != 'true' or '$(DotNetBuildInnerRepo)' == 'true'">
<Projects Include="buildtools\fslex\fslex.fsproj" />
<Projects Include="buildtools\fsyacc\fsyacc.fsproj" />
<Projects Include="buildtools\AssemblyCheck\AssemblyCheck.fsproj" />
Expand Down