From 7452bc594208366226339833165c19a9ca2dc429 Mon Sep 17 00:00:00 2001 From: Drew Scoggins Date: Thu, 29 Jul 2021 11:23:54 -0700 Subject: [PATCH 1/4] Add property with path to wasm runtime config --- eng/performance/blazor_scenarios.proj | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/eng/performance/blazor_scenarios.proj b/eng/performance/blazor_scenarios.proj index ad075e5cd0d..f4b80be4998 100644 --- a/eng/performance/blazor_scenarios.proj +++ b/eng/performance/blazor_scenarios.proj @@ -10,12 +10,14 @@ $(WorkItemDirectory)\src\scenarios\ $(HelixPreCommands);set PYTHONPATH=%HELIX_CORRELATION_PAYLOAD%\scripts%3B%HELIX_CORRELATION_PAYLOAD% win-$(Architecture) + %HELIX_CORRELATION_PAYLOAD%\dotnet-wasm\runtimes\browser-wasm\build\RuntimeComponentManifest.json $(WorkItemDirectory)/src/scenarios/ $(HelixPreCommands);export PYTHONPATH=$HELIX_CORRELATION_PAYLOAD/scripts:$HELIX_CORRELATION_PAYLOAD linux-$(Architecture) + $HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtimes/browser-wasm/build/RuntimeComponentManifest.json @@ -39,14 +41,14 @@ $(ScenariosDir)blazorminapp - $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" + $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true /p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" $(Python) test.py sod --scenario-name "%(Identity)" $(ScenariosDir)blazorminappaot - $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" + $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true /p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" $(Python) test.py sod --scenario-name "%(Identity)" @@ -60,7 +62,7 @@ $(ScenariosDir)blazoraot - $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" + $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true /p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" $(Python) test.py sod --scenario-name "%(Identity)" @@ -74,7 +76,7 @@ $(ScenariosDir)blazorpizzaaot - $(Python) pre.py publish -f %PERFLAB_TARGET_FRAMEWORKS% --msbuild "/p:_TrimmerDumpDependencies=true" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" + $(Python) pre.py publish -f %PERFLAB_TARGET_FRAMEWORKS% --msbuild "/p:_TrimmerDumpDependencies=true /p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" $(Python) test.py sod --scenario-name "%(Identity)" --dirs pub\wwwroot From 254528e1e898819acac118d9e52a58d90f7faef8 Mon Sep 17 00:00:00 2001 From: Drew Scoggins Date: Thu, 29 Jul 2021 15:22:07 -0700 Subject: [PATCH 2/4] Add semicolons to list --- eng/performance/blazor_scenarios.proj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eng/performance/blazor_scenarios.proj b/eng/performance/blazor_scenarios.proj index f4b80be4998..138cdacbde8 100644 --- a/eng/performance/blazor_scenarios.proj +++ b/eng/performance/blazor_scenarios.proj @@ -41,14 +41,14 @@ $(ScenariosDir)blazorminapp - $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true /p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" + $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true;/p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" $(Python) test.py sod --scenario-name "%(Identity)" $(ScenariosDir)blazorminappaot - $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true /p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" + $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true;/p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" $(Python) test.py sod --scenario-name "%(Identity)" @@ -62,7 +62,7 @@ $(ScenariosDir)blazoraot - $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true /p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" + $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true;/p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" $(Python) test.py sod --scenario-name "%(Identity)" @@ -76,7 +76,7 @@ $(ScenariosDir)blazorpizzaaot - $(Python) pre.py publish -f %PERFLAB_TARGET_FRAMEWORKS% --msbuild "/p:_TrimmerDumpDependencies=true /p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" + $(Python) pre.py publish -f %PERFLAB_TARGET_FRAMEWORKS% --msbuild "/p:_TrimmerDumpDependencies=true;/p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" $(Python) test.py sod --scenario-name "%(Identity)" --dirs pub\wwwroot From 6878fb257a181f6d8bb9418bb55dcd8d3ac2c712 Mon Sep 17 00:00:00 2001 From: Drew Scoggins Date: Fri, 30 Jul 2021 15:59:03 -0700 Subject: [PATCH 3/4] Add mulitple msbuild property support --- eng/performance/blazor_scenarios.proj | 10 ++++------ scripts/dotnet.py | 4 ++++ src/scenarios/shared/precommands.py | 12 +++++++++++- src/scenarios/shared/sod.py | 1 + src/scenarios/shared/startup.py | 1 + 5 files changed, 21 insertions(+), 7 deletions(-) diff --git a/eng/performance/blazor_scenarios.proj b/eng/performance/blazor_scenarios.proj index 138cdacbde8..ad075e5cd0d 100644 --- a/eng/performance/blazor_scenarios.proj +++ b/eng/performance/blazor_scenarios.proj @@ -10,14 +10,12 @@ $(WorkItemDirectory)\src\scenarios\ $(HelixPreCommands);set PYTHONPATH=%HELIX_CORRELATION_PAYLOAD%\scripts%3B%HELIX_CORRELATION_PAYLOAD% win-$(Architecture) - %HELIX_CORRELATION_PAYLOAD%\dotnet-wasm\runtimes\browser-wasm\build\RuntimeComponentManifest.json $(WorkItemDirectory)/src/scenarios/ $(HelixPreCommands);export PYTHONPATH=$HELIX_CORRELATION_PAYLOAD/scripts:$HELIX_CORRELATION_PAYLOAD linux-$(Architecture) - $HELIX_CORRELATION_PAYLOAD/dotnet-wasm/runtimes/browser-wasm/build/RuntimeComponentManifest.json @@ -41,14 +39,14 @@ $(ScenariosDir)blazorminapp - $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true;/p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" + $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" $(Python) test.py sod --scenario-name "%(Identity)" $(ScenariosDir)blazorminappaot - $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true;/p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" + $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" $(Python) test.py sod --scenario-name "%(Identity)" @@ -62,7 +60,7 @@ $(ScenariosDir)blazoraot - $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true;/p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" + $(Python) pre.py publish --msbuild "/p:_TrimmerDumpDependencies=true" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" $(Python) test.py sod --scenario-name "%(Identity)" @@ -76,7 +74,7 @@ $(ScenariosDir)blazorpizzaaot - $(Python) pre.py publish -f %PERFLAB_TARGET_FRAMEWORKS% --msbuild "/p:_TrimmerDumpDependencies=true;/p:_MonoRuntimeComponentManifestJsonFilePath=$(WASMRuntimeConfigPath)" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" + $(Python) pre.py publish -f %PERFLAB_TARGET_FRAMEWORKS% --msbuild "/p:_TrimmerDumpDependencies=true" --msbuild-static AdditionalMonoLinkerOptions="%24(AdditionalMonoLinkerOptions) --dump-dependencies" $(Python) test.py sod --scenario-name "%(Identity)" --dirs pub\wwwroot diff --git a/scripts/dotnet.py b/scripts/dotnet.py index 9d87d49d0cc..dca79e5b463 100755 --- a/scripts/dotnet.py +++ b/scripts/dotnet.py @@ -401,6 +401,7 @@ def publish(self, packages_path, target_framework_moniker: str = None, runtime_identifier: str = None, + msbuildprops: list = None, *args ) -> None: ''' @@ -420,6 +421,9 @@ def publish(self, if target_framework_moniker: cmdline += ['--framework', target_framework_moniker] + if msbuildprops: + cmdline = cmdline + msbuildprops + if args: cmdline = cmdline + list(args) diff --git a/src/scenarios/shared/precommands.py b/src/scenarios/shared/precommands.py index 039eea25998..1427ed4e649 100644 --- a/src/scenarios/shared/precommands.py +++ b/src/scenarios/shared/precommands.py @@ -71,6 +71,7 @@ def __init__(self): self.framework = args.framework self.runtime_identifier = args.runtime self.msbuild = args.msbuild + print(self.msbuild) self.msbuildstatic = args.msbuildstatic self.binlog = args.binlog @@ -189,6 +190,15 @@ def _addstaticmsbuildproperty(self, projectfile: str): propertystring = f'\n \n <{propertyname}>{propertyvalue}\n ' insert_after(projectfile, r'', propertystring ) + def _parsemsbuildproperties(self) -> list: + if self.msbuild: + proplist = list() + for propertyarg in self.msbuild.split(';'): + proplist.append(propertyarg) + print(proplist) + return proplist + return None + def _updateframework(self, projectfile: str): 'Update the property so we can re-use the template' if self.framework: @@ -201,7 +211,7 @@ def _publish(self, configuration: str, framework: str = None, runtime_identifier os.path.join(get_packages_directory(), ''), # blazor publish targets require the trailing slash for joining the paths framework, runtime_identifier, - self.msbuild or "", + self._parsemsbuildproperties(), '-bl:%s' % self.binlog if self.binlog else "" ) diff --git a/src/scenarios/shared/sod.py b/src/scenarios/shared/sod.py index f5f7fff52b0..ef773cdf6bb 100644 --- a/src/scenarios/shared/sod.py +++ b/src/scenarios/shared/sod.py @@ -42,6 +42,7 @@ def __init__(self): get_packages_directory(), None, getruntimeidentifier(), + None, '--no-restore' ) self._setsodpath(sod.bin_path) diff --git a/src/scenarios/shared/startup.py b/src/scenarios/shared/startup.py index 449d5fd5f8d..9e04c4c9024 100644 --- a/src/scenarios/shared/startup.py +++ b/src/scenarios/shared/startup.py @@ -46,6 +46,7 @@ def __init__(self): get_packages_directory(), None, getruntimeidentifier(), + None, '--no-restore' ) self._setstartuppath(startup.bin_path) From 28b2571ed7a1fbc73eebfc14085912eb7fb6055f Mon Sep 17 00:00:00 2001 From: Drew Scoggins Date: Mon, 2 Aug 2021 10:52:59 -0700 Subject: [PATCH 4/4] Remove debug print --- src/scenarios/shared/precommands.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/scenarios/shared/precommands.py b/src/scenarios/shared/precommands.py index 1427ed4e649..06f03ab98f9 100644 --- a/src/scenarios/shared/precommands.py +++ b/src/scenarios/shared/precommands.py @@ -195,7 +195,6 @@ def _parsemsbuildproperties(self) -> list: proplist = list() for propertyarg in self.msbuild.split(';'): proplist.append(propertyarg) - print(proplist) return proplist return None