Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 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="f5705c8f4c5079bba77bae8698ba1583bde0388c" BarId="269610" />
<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[@]}")
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[@]}"
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
Loading