Skip to content

Commit 061fc64

Browse files
[0.64] Fix MSBuild Bundling When Path Contains Spaces (#7678)
* Fix MSBuild Bundling When Path Contains Spaces Fixes #7597 We're passing raw strings into the exec string for running commands from MSBuild. Paths with spaces will be interpreted as multiple CLI args. Wrap paths in quotes to fix paths with spaces. * Change files Co-authored-by: Andrew Coates <30809111+acoates-ms@users.noreply.github.com>
1 parent 8e1ef74 commit 061fc64

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"type": "patch",
3+
"comment": "Fix MSBuild Bundling When Path Contains Spaces",
4+
"packageName": "react-native-windows",
5+
"email": "ngerlem@microsoft.com",
6+
"dependentChangeType": "patch"
7+
}

Diff for: vnext/PropertySheets/Autolink.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
<RunAutolinkCheck Condition="'$(RunAutolinkCheck)' == ''">true</RunAutolinkCheck>
1010
<AutolinkCommand Condition="'$(AutolinkCommand)' == ''">npx react-native autolink-windows</AutolinkCommand>
1111
<AutolinkCommandWorkingDir Condition="'$(AutolinkCommandWorkingDir)' == ''">$([MSBuild]::GetDirectoryNameOfFileAbove($(ProjectDir), 'package.json'))</AutolinkCommandWorkingDir>
12-
<AutolinkCommandArgs Condition="'$(AutolinkCommandArgs)' == '' And '$(SolutionPath)' != '' And '$(ProjectPath)' != ''">--check --sln $([MSBuild]::MakeRelative($(AutolinkCommandWorkingDir), $(SolutionPath))) --proj $([MSBuild]::MakeRelative($(AutolinkCommandWorkingDir), $(ProjectPath)))</AutolinkCommandArgs>
12+
<AutolinkCommandArgs Condition="'$(AutolinkCommandArgs)' == '' And '$(SolutionPath)' != '' And '$(ProjectPath)' != ''">--check --sln "$([MSBuild]::MakeRelative($(AutolinkCommandWorkingDir), $(SolutionPath)))" --proj "$([MSBuild]::MakeRelative($(AutolinkCommandWorkingDir), $(ProjectPath)))"</AutolinkCommandArgs>
1313
<AutolinkCommandArgs Condition="'$(AutolinkCommandArgs)' == ''">--check</AutolinkCommandArgs>
1414
</PropertyGroup>
1515

Diff for: vnext/PropertySheets/Bundle.Common.targets

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
<MakeDir Directories="$(BundleContentRoot)" />
1414
<MakeDir Directories="$(BundleSourceMapDir)" />
1515
<Message Importance="High" Text="Running [$(BundleCliCommand) --platform windows --entry-file $(BundleEntryFile) --bundle-output $(BundleOutputFile) --assets-dest $(BundleContentRoot) --dev $(UseDevBundle) --reset-cache --sourcemap-output $(PackagerSourceMap) $(BundlerExtraArgs)] to build bundle file." />
16-
<Exec Command="$(BundleCliCommand) --platform windows --entry-file $(BundleEntryFile) --bundle-output $(BundleOutputFile) --assets-dest $(BundleContentRoot) --dev $(UseDevBundle) --reset-cache --sourcemap-output $(PackagerSourceMap) $(BundlerExtraArgs)" ConsoleToMSBuild="true" WorkingDirectory="$(BundleCommandWorkingDir)" />
16+
<Exec Command='$(BundleCliCommand) --platform windows --entry-file "$(BundleEntryFile)" --bundle-output "$(BundleOutputFile)" --assets-dest "$(BundleContentRoot)" --dev $(UseDevBundle) --reset-cache --sourcemap-output "$(PackagerSourceMap)" $(BundlerExtraArgs)' ConsoleToMSBuild="true" WorkingDirectory="$(BundleCommandWorkingDir)" />
1717
</Target>
1818

1919
<!-- See https://github.com/facebook/react-native/blob/07d090dbc6c46b8f3760dbd25dbe0540c18cb3f3/react.gradle#L190 for reference -->
2020
<Target Name="CompileHermesBytecode" AfterTargets="MakeBundle" Condition="'$(UseBundle)' == 'true' AND '$(UseHermes)' == 'true'">
21-
<Exec Command="$(HermesCompilerCommand) -emit-binary -out $(BundleOutputFile).hbc $(BundleOutputFile) $(HermesCompilerFlags) -output-source-map" ConsoleToMSBuild="true" WorkingDirectory="$(BundleCommandWorkingDir)" />
21+
<Exec Command='$(HermesCompilerCommand) -emit-binary -out "$(BundleOutputFile).hbc" "$(BundleOutputFile)" $(HermesCompilerFlags) -output-source-map' ConsoleToMSBuild="true" WorkingDirectory="$(BundleCommandWorkingDir)" />
2222
<Move SourceFiles="$(BundleOutputFile).hbc" DestinationFiles="$(BundleOutputFile)" />
2323
<Move SourceFiles="$(BundleOutputFile).hbc.map" DestinationFiles="$(HermesSourceMap)" />
24-
<Exec Command="node $(ReactNativePackageDir)\scripts\compose-source-maps.js $(PackagerSourceMap) $(HermesSourceMap) -o $(BundleSourceMap)" ConsoleToMSBuild="true" WorkingDirectory="$(BundleCommandWorkingDir)" />
24+
<Exec Command='node "$(ReactNativePackageDir)\scripts\compose-source-maps.js" "$(PackagerSourceMap)" "$(HermesSourceMap)" -o "$(BundleSourceMap)"' ConsoleToMSBuild="true" WorkingDirectory="$(BundleCommandWorkingDir)" />
2525
</Target>
2626
</Project>

0 commit comments

Comments
 (0)