-
Notifications
You must be signed in to change notification settings - Fork 288
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implements wixtoolset/issues#7857. Like [naked files](wixtoolset/issues#7696), `Files` elements can appear where `Component` elements do in WiX v4. The optimizer enumerates files and directories, generating single-file components as it goes. MSBuild-like wildcards (including `**`) are supported. `Excludes` child elements lets you exclude files that would otherwise be captured by wildcards.
- Loading branch information
Showing
40 changed files
with
1,146 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. | ||
|
||
namespace WixToolset.Data | ||
{ | ||
using WixToolset.Data.Symbols; | ||
|
||
public static partial class SymbolDefinitions | ||
{ | ||
public static readonly IntermediateSymbolDefinition HarvestFiles = new IntermediateSymbolDefinition( | ||
SymbolDefinitionType.HarvestFiles, | ||
new[] | ||
{ | ||
new IntermediateFieldDefinition(nameof(HarvestFilesSymbolFields.DirectoryRef), IntermediateFieldType.String), | ||
new IntermediateFieldDefinition(nameof(HarvestFilesSymbolFields.Inclusions), IntermediateFieldType.String), | ||
new IntermediateFieldDefinition(nameof(HarvestFilesSymbolFields.Exclusions), IntermediateFieldType.String), | ||
new IntermediateFieldDefinition(nameof(HarvestFilesSymbolFields.ComplexReferenceParentType), IntermediateFieldType.String), | ||
new IntermediateFieldDefinition(nameof(HarvestFilesSymbolFields.ParentId), IntermediateFieldType.String), | ||
new IntermediateFieldDefinition(nameof(HarvestFilesSymbolFields.SourcePath), IntermediateFieldType.String), | ||
}, | ||
typeof(HarvestFilesSymbol)); | ||
} | ||
} | ||
|
||
namespace WixToolset.Data.Symbols | ||
{ | ||
public enum HarvestFilesSymbolFields | ||
{ | ||
DirectoryRef, | ||
Inclusions, | ||
Exclusions, | ||
ComplexReferenceParentType, | ||
ParentId, | ||
SourcePath, | ||
} | ||
|
||
public class HarvestFilesSymbol : IntermediateSymbol | ||
{ | ||
public HarvestFilesSymbol() : base(SymbolDefinitions.HarvestFiles, null, null) | ||
{ | ||
} | ||
|
||
public HarvestFilesSymbol(SourceLineNumber sourceLineNumber, Identifier id = null) : base(SymbolDefinitions.HarvestFiles, sourceLineNumber, id) | ||
{ | ||
} | ||
|
||
public IntermediateField this[HarvestFilesSymbolFields index] => this.Fields[(int)index]; | ||
|
||
public string DirectoryRef | ||
{ | ||
get => (string)this.Fields[(int)HarvestFilesSymbolFields.DirectoryRef]; | ||
set => this.Set((int)HarvestFilesSymbolFields.DirectoryRef, value); | ||
} | ||
|
||
public string Inclusions | ||
{ | ||
get => (string)this.Fields[(int)HarvestFilesSymbolFields.Inclusions]; | ||
set => this.Set((int)HarvestFilesSymbolFields.Inclusions, value); | ||
} | ||
|
||
public string Exclusions | ||
{ | ||
get => (string)this.Fields[(int)HarvestFilesSymbolFields.Exclusions]; | ||
set => this.Set((int)HarvestFilesSymbolFields.Exclusions, value); | ||
} | ||
|
||
public string ComplexReferenceParentType | ||
{ | ||
get => (string)this.Fields[(int)HarvestFilesSymbolFields.ComplexReferenceParentType]; | ||
set => this.Set((int)HarvestFilesSymbolFields.ComplexReferenceParentType, value); | ||
} | ||
|
||
public string ParentId | ||
{ | ||
get => (string)this.Fields[(int)HarvestFilesSymbolFields.ParentId]; | ||
set => this.Set((int)HarvestFilesSymbolFields.ParentId, value); | ||
} | ||
|
||
public string SourcePath | ||
{ | ||
get => (string)this.Fields[(int)HarvestFilesSymbolFields.SourcePath]; | ||
set => this.Set((int)HarvestFilesSymbolFields.SourcePath, value); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.