Граф коммитов

21 Коммитов

Автор SHA1 Сообщение Дата
Jon Thysell a4e263c58b
Create separate NuGet restore lock files for Fabric builds (#13687)
## Description

Projects "built for Fabric" depend on the `Microsoft.WindowsAppSDK`, while projects "built for Paper" rely on `Microsoft.UI.Xaml`, both of which are mutually exclusive. This leads to a lot of PRs with a spurious flip-flopping of the contents of nuget package lock files, depending on which flavor the author happened to build against.

This PR enables a new separate fabric lock file for projects and also updates all of the lock files.

### Type of Change
- New feature (non-breaking change which adds functionality)

### Why
This makes it so that local builds of RNW are closer to the the same nuget restore behavior / packages.lock.json file as when they're built in pipelines, namely to reduce the number of spurious lock file changes we see in PRs.

This is part is working toward resolving #12004 and this functionality was extracted from PR #13634.

### What
For projects building within our repo that can be built as either Paper or Fabric variants, we now maintain a separate "fabric" nuget lock file: `packages.fabric.lock.json` alongside the normal `packages.lock.json` file (which can be either "paper" or "fabric" depending on what the project normally builds with).

## Screenshots
N/A

## Testing
N/A

## Changelog
Should this change be included in the release notes: _yes_

Create separate NuGet restore lock files for Fabric builds
2024-09-10 13:43:50 -07:00
Julio César Rocha 5a2f8d9941
Port Desktop DLL to ARM64EC (#13320)
* Add ARM64EC Platform

* Add property sheets

* Add packages.lock.json

* Upgrade WinSDK version for C/C++ projects
Older SDK versions do not contain softintrin.h
See http://www.emulators.com/docs/abc_arm64ec_explained.htm

* Do not build Integration Test projects for ARM64EC

* Make V8Platform x64 for ARM64EC

* Override HermesPlatform for ARM64EC

* Override WinAppSDK platforms for ARM64EC

* Exclude OpenSSL on Desktop DLL for ARM64EC

* Override WinAppSDK _MrtCoreRuntimeIdentifier

* Update packages.lock.json

* Add explicit LIB dependencies for ARM64EC

* Skip React.Windows.IntegrationTests on ARM64EC

* Change files

* Simplify condition for WindowsAppSDKOverrides

* Switch from ARM64 to ARM64EC in Desktop CI

* Update prepare-build-env.yml

* Enable ARM64EC on PullRequest env

* Remove OpenSSL from Desktop LIB and DLL

* /t:Vars - Log SolutionName
2024-06-10 15:55:29 -07:00
Julio César Rocha dc0cc573cb
Scope down usage of PackageReference (#9647)
* Scope down usage of PackageReferences

* Change files

* Normalize Intermediate and Output paths
2022-03-05 08:35:13 +00:00
Julio César Rocha 6b01666179
Fix VS hang when switching Platform within IDE (#9442)
* Implicitly restore VCXPROJ when using Visual Studio

* Add documentation
2022-02-01 17:43:43 -08:00
Julio César Rocha ff37d64c0d
Ensure `yarn windows` and `Visual Studio` restore `packages.config` projects (#9401)
* Ensure restore command is run on a single line

* Allow rnw-dependencies to install NuGet

* Use NuGet 5.8 on demand

* Change files

* Update change/@react-native-windows-cli-eda6a4d0-c02d-416d-a40a-503d009ed4f9.json

Co-authored-by: Nick Gerleman <nick@nickgerleman.com>

* Upgrade to just-scripts 1.3.3

* Revert rnw-dependencies.ps1

* Update yarn lock

* Allow BeforeResolveReferences to restore PackageReference and packages.config

* Use MSBuild to restore packages.config in `yarn windows`

* Drop package nuget-exe

* E2E gitignore add .vscode/

* Remove boost from E2E packages.config

* yarn lint

* Remove nuget-*exe from lage

Co-authored-by: Nick Gerleman <nick@nickgerleman.com>
2022-01-21 08:21:00 +00:00
Julio César Rocha baeb133da9
Implicitly restore C++/PackageReference in Visual Studio (#9303)
* Set RestoreUseStaticGraphEvaluation

* Update packages.lock.json

* Ensure using BuildingInsideVisualStudio

* Change files

* Update packages.lock.json

* Move settings into vnext

* Enable VS implicit restore in app/lib templates
2021-12-28 00:27:30 +00:00
Julio César Rocha bcdf9ad68e
Use PackageReference for C++ dependencies (#8195)
* Migrate `vnext` projects to `PackageReference`.

* Allow `run-windows` to directly restore `package.config` files when conflicting with `PackageReference` items.

* Allow parameterizing package names and versions which can be handled as any MSBuild property.

* Migrate C++ templates to `PackageReference`.

* Drop `packages` directory for `vnext` projects NuGet dependencies.\
  Dependencies will be accessed directly at the downloaded NuGet `globalPackagesFolder` using `msbuild /restore`.\
  This removes redundant copies of downloaded packages.
2021-12-03 23:19:47 -08:00
Nick Gerleman 98948c6eb8
Warn if `ReactNativeWindowsDir` Not Set Before Importing RNW Props (#9067)
* Remove extra definition of ReactNativeWindowsDir

ReactNativeWindowDir is normally defined in the top-level app/lib project, using logic that emulates node resolution. There is a second definition in external property sheets, that may be defined if folks have a custom project without defining ReactNativeWindowsDir. This falls down, since we use ReactNativeWindowsDir before it is defined in the file.

This change removes the second copy of ReactNativeWindowsDir, and adds an error to try to catch folks homebrewing their own project.

* Change files

* Convert Error to target and add more details

* Working warning logic

* Revert test change

* lowercase for style

* aka

* indentation

* dir cleanup

* ProjectName

* no-caps

* path consistency in repo

* logging

* Fix

* No extra slash

* Remove BaseOutDir Usage

* revert

* remove usages
2021-11-07 11:27:08 -08:00
Julio César Rocha 5bb8b1d591
Set ToolsVersion to "Current" (#8212)
* Set ToolsVersion to Current

* Change files

* Log MSBuild tools version and path in Vars target
2021-07-13 16:19:08 -07:00
Julio César Rocha 933eee3787
Upgrade TargetPlatformVersion to 10.0.19041.0 (#7779)
* Upgrade Windows SDK to 10.0.19041.0

* Change files

* Move configuration-dependent properties to the appropriate props file

* Update links and comments

* Set V8AppPlatform in Desktop integration tests

* Fix integration-test.yml targetPath

* Default solution to x64

* Make class TestTransaction non-final
2021-05-29 05:02:17 -07:00
Nick Gerleman 237c9f02f1
Native build logic shouldn't delete PCH on build for all CI machines (#7874)
* Native build logic shouldn't delete PCH's on all CI machines

Fixes #7866

Discovered this logic, which paves our PCH's after build, specifically when running on CI machines (`Condition="'$(AGENT_ID)' != ''"`)

This was added when our specific infra was running into file-size issues with E2ETest, and a second VS toolset. It is really specific to what our environment was seeing, and really shouldn't be run on every user build.

We've since then alleviated our own CI setup issues, and reduced our disk footprint on PCHs and other binaries. Removing this logic unless we see new disk space issues.

* Change files
2021-05-27 18:11:38 -07:00
Alexander Sklar 286adbe692
Update to newer cppwinrt, 2-3% reduction in binary size (#7352)
* update to newer cppwinrt, 2-3% reduction in binary size

* Change files

* more packages.config

* props/targets

* update template project cppwinrt version

* Change files

* Update packages to new cppwinrt version

* Change files

* restore comment in packages.config

* Add HostingContract to playground-win32

* Remove AppX from win32 project

* Use new nuget

* Workaround for cppwinrt bug #452
2021-03-14 04:43:28 +00:00
dannyvv 360a47d5af
Fix managed nuget to have ref assembly marked AnyCpu (#6493)
* Add Targets to check that developers have run yarn install before building

* Change files

* Update Directory.Build.targets

Co-authored-by: Alexander Sklar <asklar@microsoft.com>

* Update Directory.Build.targets

* Add package.json steps

* Add dummy marker to avoid globs of package.json being picked up

Co-authored-by: Alexander Sklar <asklar@microsoft.com>
2020-11-13 17:31:39 +00:00
tudorms 8a8f22f02c
Update V8 and Hermes package versions (#5918)
* Bump V8 package version

* Change files

* Update V8 and Hermes package versions

* Remove JSI_SourcePath

* Change files

* remove old change file

* Remove unnecessary props

* Remove JSI_Source
2020-09-05 03:11:27 +00:00
Julio César Rocha 246cea3abb
Manually set Lib and Include paths for Hermes (#5163)
* Manually set Lib and Include paths for Hermes

* Change files

* Use PlatformTarget for Hermes path resolution

* Parameterize path for JSI_Source

* MUFA: Make USE_HERMES False Again!

* Remove redundant FollyDir vars logging
2020-06-10 12:05:31 +00:00
Julio César Rocha ff72d1b4ac
Remove ReactWindowsCore projects (#5012)
* Use Microsoft.React root namespace in Desktop lib

* Move MessageQueueShim to Microsoft::React

* Moved NativeLogEventSource into Microsoft::React

* Moved NativeTraceEventSource into Microsoft::React

* Drop facebook::react usages for Microsoft::React

* Set shared items name to Microsoft.React.Shared

* Added Microsoft.React.Core

* Added Microsoft.React.Core

* Added ReactWindowsCore files

* Added ReactWindowsCore files

* Migrated sources from ReactWindowsCore to Shared

* Removed /ReactWindowsCore/Microsoft.React.Core

* Updated paths in ReactUWP imports

* Delete ReactWindowsCore/

* clang format

* Remove references to ReactWindowsCore projects

* Change files

* Updated stale namespace

* Drop RNWCore from Layout-Headers.ps1

* Remove remaining RNWCore VCXPROJ references

* Update NUSPEC paths

* Update directory properties

* ..\.ado\

* Remove AsyncStorageModuleWin32

* Add ReactNative.Hermes.Windows to Desktop.

* clang format

* Use latest stable test platform

* Revert "Migrated sources from ReactWindowsCore to Shared"

This reverts commit fa5fed8157.

* Removed RNWCore\Pch

* Restored AsyncStorageManagerWin32

* Reverted renaming of facebook.react namespace

* Removed ARM from Desktop solution

* Reverted a couple of needlesly changed files

* Reverted remaining Shared-referencing files

* Added RNwCore README

* Reverted Unit Tests project file

* Upgrade doc references to RN v0.62.0

* Removed CI obsolete tasks
2020-05-28 20:33:21 -07:00
Julio César Rocha 10ec7d1fce
Upgrade minimum supported version to Windows 8. (#4133)
* Bump min. Windows Desktop supported version to 8.

* Use WinVer property to set _WIN32_WINNT.

* Drop _WIN32_WINNT in favor of WINVER.

* Place ControlFlowGuard in the appropriate Property Sheet.

* Change files
2020-02-20 19:15:57 +00:00
Canhua Li 54bc2b706e
Delete .pch after build on pipeline (#3771)
* delete pch after build
2019-12-13 14:29:05 -08:00
Julio César Rocha 402ec43b14
Clean up MSBuild files (#2664)
* Remove redundant _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS.

* Removed redundant WIN32_LEAN_AND_MEAN.

* Removed /JMC-.

* Vars target: log ApplicationType.

* Use DefaultPlatformToolset.

* Add Directory.Build.targets to solution.

* Explicitly set x86 in In/Out dirs when on Win32.

* Removed unused 'x86' ProjectConfiguration.

* Set GeneratedFilesDir.

* Removed redundant slash in $(SolutionDir).

* Removed AssemblerListingLocation override.
2019-06-24 14:13:21 -07:00
Julio César Rocha acbf23f5db
Update OpenSSL NuGet dependency. (#2614)
* Use package ReactWindows.OpenSSL.StdCall.Static.

* Vars: Print DefaultPlatformToolset.

* OpenSSL - create NuGet from Vcpkg.

* Upgrade to OpenSSL 1.0.2-p.2.
2019-06-19 13:49:03 -07:00
Harini Kannan 48a23b5181 Renamed RNWCPP to vnext and RNWCS to current (#2405)
* Refactored root folders
* Updated path references
* Fixed appveyor.yml
2019-05-03 15:27:07 -07:00