Commit 20fc162
authored
Refactor WiX installer projects (swiftlang#215)
## Deduplication
- Move common .wixproj content to Directory.Build.props and
Directory.Build.targets.
- Move common authoring to a shared .wixlib project.
- Add localization file for common strings.
- Use ComponentGroup/@Directory for default component directories.
## Simplification
- Move CompressionLevel into Directory.Build.props.
- Have Directory.Build.props import <user>.props (say, to override
CompressionLevel for faster local builds).
- Remove Id attributes from resources that aren't explicitly referenced.
- Remove redundant/irrelevant attributes (e.g., File/@keypath).
- Use `ProjectReference`s to manage build order and bind paths,
including three flavors of SDK.
- Remove MSI UI as the bundle UI replaces it.
* - Moved projects into subdirectories to...
better support NuGet package restore.
- With projects in subdirectories, enabled automatic project items for
compilation and localization.
- Added project references to bundle project to get proper build order.
- Deduplicate project references to shared.wixproj.
- Remove Feature/@ConfigurableDirectory because individual features
can't be moved to other directories (just the root).
* Address review feedback:
- Localize MSI_LOCATION to bundle.
- Undo custom bundle output name for compatibility.
- Fix whitespace and EOF.
- Conditionalize stuff not yet available on Arm64.
- Harvest with stable GUIDs instead of generated GUIDs.
* Absorb swift-format and swift-inspect.dbg...
...into cli and dbg, respectively, and:
- Add placeholder MajorUpgrades (pending new upgrade strategy).
- Add shared SystemToolsEnvironmentVariables component.
* Fix TOOLCHAIN_ROOT_USR_LIB_CLANG path build break.
* Embed cabinets (revisit on bundle redesign).
* Revert to `Media` instead of `MediaTemplate`.
`MediaTemplate` defaults to 200MB of source payloads for splitting into
separate cabinets. WiX's "smart cabbing" feature works within a cabinet,
eliminating duplicates -- but doesn't work across cabinets. So we're not
getting rid of as much redundancy. We could adjust the 200MB threshold,
but let's just explicitly author that we want a single cabinet to get
the best possible compression (at least for a cabinet).1 parent 3e41380 commit 20fc162
File tree
43 files changed
+1672
-2079
lines changed- platforms/Windows
- Resources
- bld
- bundle
- cli
- dbg
- ide
- runtime
- sdk
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
43 files changed
+1672
-2079
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
Binary file not shown.
Binary file not shown.
This file was deleted.
0 commit comments