Merge pull request #1113 from PowerShell/vors/resgen
Move resgen artifacts from submodules into src subfolders
This commit is contained in:
commit
e8e45914a6
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -30,3 +30,6 @@ powershell.version
|
||||||
|
|
||||||
# default location for produced nuget packages
|
# default location for produced nuget packages
|
||||||
/nuget-artifacts
|
/nuget-artifacts
|
||||||
|
|
||||||
|
# resgen output
|
||||||
|
gen
|
||||||
|
|
21
build.psm1
21
build.psm1
|
@ -26,6 +26,7 @@ function Start-PSBuild {
|
||||||
[switch]$NoPath,
|
[switch]$NoPath,
|
||||||
[switch]$Restore,
|
[switch]$Restore,
|
||||||
[string]$Output,
|
[string]$Output,
|
||||||
|
[switch]$ResGen,
|
||||||
|
|
||||||
[Parameter(ParameterSetName='CoreCLR')]
|
[Parameter(ParameterSetName='CoreCLR')]
|
||||||
[switch]$Publish,
|
[switch]$Publish,
|
||||||
|
@ -143,6 +144,13 @@ function Start-PSBuild {
|
||||||
Start-NativeExecution { dotnet restore $RestoreArguments }
|
Start-NativeExecution { dotnet restore $RestoreArguments }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# handle ResGen
|
||||||
|
if ($ResGen -or -not (Test-Path "$($Options.Top)/gen"))
|
||||||
|
{
|
||||||
|
log "Run ResGen (generating C# bindings for resx files)"
|
||||||
|
Start-ResGen
|
||||||
|
}
|
||||||
|
|
||||||
# Build native components
|
# Build native components
|
||||||
if ($IsLinux -or $IsOSX) {
|
if ($IsLinux -or $IsOSX) {
|
||||||
$Ext = if ($IsLinux) {
|
$Ext = if ($IsLinux) {
|
||||||
|
@ -867,6 +875,9 @@ function Send-GitDiffToSd {
|
||||||
|
|
||||||
function Start-ResGen
|
function Start-ResGen
|
||||||
{
|
{
|
||||||
|
[CmdletBinding()]
|
||||||
|
param()
|
||||||
|
|
||||||
@("Microsoft.PowerShell.Commands.Management",
|
@("Microsoft.PowerShell.Commands.Management",
|
||||||
"Microsoft.PowerShell.Commands.Utility",
|
"Microsoft.PowerShell.Commands.Utility",
|
||||||
"Microsoft.PowerShell.ConsoleHost",
|
"Microsoft.PowerShell.ConsoleHost",
|
||||||
|
@ -875,9 +886,9 @@ function Start-ResGen
|
||||||
"Microsoft.PowerShell.Security",
|
"Microsoft.PowerShell.Security",
|
||||||
"System.Management.Automation") | % {
|
"System.Management.Automation") | % {
|
||||||
$module = $_
|
$module = $_
|
||||||
ls "$PSScriptRoot/src/$module/resources" | % {
|
Get-ChildItem "$PSScriptRoot/src/$module/resources" | % {
|
||||||
$className = $_.Name.Replace('.resx', '')
|
$className = $_.Name.Replace('.resx', '')
|
||||||
$xml = [xml](cat -raw $_.FullName)
|
$xml = [xml](Get-Content -raw $_.FullName)
|
||||||
|
|
||||||
$fileName = $className
|
$fileName = $className
|
||||||
$namespace = ''
|
$namespace = ''
|
||||||
|
@ -890,9 +901,9 @@ function Start-ResGen
|
||||||
}
|
}
|
||||||
|
|
||||||
$genSource = Get-StronglyTypeCsFileForResx -xml $xml -ModuleName $module -ClassName $className -NamespaceName $namespace
|
$genSource = Get-StronglyTypeCsFileForResx -xml $xml -ModuleName $module -ClassName $className -NamespaceName $namespace
|
||||||
$outPath = "$PSScriptRoot/src/windows-build/gen/$module/$fileName.cs"
|
$outPath = "$PSScriptRoot/src/$module/gen/$fileName.cs"
|
||||||
log "ResGen for $outPath"
|
Write-Verbose "ResGen for $outPath"
|
||||||
mkdir -ErrorAction SilentlyContinue (Split-Path $outPath) > $null
|
New-Item -Type Directory -ErrorAction SilentlyContinue (Split-Path $outPath) > $null
|
||||||
Set-Content -Encoding Ascii -Path $outPath -Value $genSource
|
Set-Content -Encoding Ascii -Path $outPath -Value $genSource
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,9 +5,13 @@ They live in `src\<project>\resources` folders.
|
||||||
|
|
||||||
At the moment `dotnet cli` doesn't support generating C# bindings (strongly typed resource files).
|
At the moment `dotnet cli` doesn't support generating C# bindings (strongly typed resource files).
|
||||||
|
|
||||||
We are using `src\windows-build\gen` folder in [src\windows-build](https://github.com/PowerShell/psl-windows-build)
|
We are using our own `Start-ResGen` to generate them.
|
||||||
with pre-generated `.cs` files to work-around it.
|
|
||||||
See [issue 756](https://github.com/PowerShell/PowerShell/issues/746) for details.
|
Usually it's called as part of the regular build with
|
||||||
|
|
||||||
|
```
|
||||||
|
Start-PSBuild -ResGen
|
||||||
|
```
|
||||||
|
|
||||||
## Editing resx files
|
## Editing resx files
|
||||||
|
|
||||||
|
@ -17,15 +21,6 @@ It will try to create `.cs` files for you and you will get whole bunch of hard-t
|
||||||
To edit resource file, use any **plain text editor**.
|
To edit resource file, use any **plain text editor**.
|
||||||
Resource file is a simple xml, and it's easy to edit.
|
Resource file is a simple xml, and it's easy to edit.
|
||||||
|
|
||||||
### Updating string
|
## Adding resx files
|
||||||
|
|
||||||
If you just updated the string value, that's all you need to do: no need to re-generate `.cs` files
|
Add corresponding entries in `Start-ResGen` in `.\build.psm1`.
|
||||||
|
|
||||||
### Adding or removing string
|
|
||||||
|
|
||||||
When you adding or removing string, `.cs` file need to be changed.
|
|
||||||
|
|
||||||
1. Run `Start-ResGen` function from `build.psm1`
|
|
||||||
1. Make sure your code is building with newly generated resources (run `Start-PSBuild`).
|
|
||||||
1. Go to submodule (`cd src\windows-build`) and perform the [submodule commit dance](../git/committing.md).
|
|
||||||
Follow working with [submodule rules](../../.github/CONTRIBUTING.md#submodules)
|
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
"buildOptions": {
|
"buildOptions": {
|
||||||
"define": [ "CORECLR" ],
|
"define": [ "CORECLR" ],
|
||||||
"compile": {
|
"compile": {
|
||||||
"include": [ "../windows-build/gen/Microsoft.PowerShell.Commands.Management/*.cs" ],
|
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"commands/management/ClearRecycleBinCommand.cs",
|
"commands/management/ClearRecycleBinCommand.cs",
|
||||||
"commands/management/CommitTransactionCommand.cs",
|
"commands/management/CommitTransactionCommand.cs",
|
||||||
|
@ -48,11 +47,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"net451": {
|
"net451": {
|
||||||
"buildOptions": {
|
|
||||||
"compile": {
|
|
||||||
"include": [ "../windows-build/gen/Microsoft.PowerShell.Commands.Management/*.cs" ]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"frameworkAssemblies": {
|
"frameworkAssemblies": {
|
||||||
"System.ServiceProcess": "",
|
"System.ServiceProcess": "",
|
||||||
"System.Windows.Forms": "",
|
"System.Windows.Forms": "",
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
"buildOptions": {
|
"buildOptions": {
|
||||||
"define": [ "CORECLR" ],
|
"define": [ "CORECLR" ],
|
||||||
"compile": {
|
"compile": {
|
||||||
"include": [ "../windows-build/gen/Microsoft.PowerShell.Commands.Utility/*.cs" ],
|
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"commands/utility/FormatAndOutput/OutGridView/ColumnInfo.cs",
|
"commands/utility/FormatAndOutput/OutGridView/ColumnInfo.cs",
|
||||||
"commands/utility/FormatAndOutput/OutGridView/ExpressionColumnInfo.cs",
|
"commands/utility/FormatAndOutput/OutGridView/ExpressionColumnInfo.cs",
|
||||||
|
@ -65,11 +64,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"net451": {
|
"net451": {
|
||||||
"buildOptions": {
|
|
||||||
"compile": {
|
|
||||||
"include": [ "../windows-build/gen/Microsoft.PowerShell.Commands.Utility/*.cs" ]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"frameworkAssemblies": {
|
"frameworkAssemblies": {
|
||||||
"System.Drawing": "",
|
"System.Drawing": "",
|
||||||
"System.Web": "",
|
"System.Web": "",
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
"buildOptions": {
|
"buildOptions": {
|
||||||
"warningsAsErrors": true,
|
"warningsAsErrors": true,
|
||||||
"allowUnsafe": true,
|
"allowUnsafe": true,
|
||||||
"compile": [ "../windows-build/gen/Microsoft.PowerShell.ConsoleHost/*.cs" ],
|
|
||||||
"copyToOutput": {
|
"copyToOutput": {
|
||||||
"include": [
|
"include": [
|
||||||
"Modules",
|
"Modules",
|
||||||
|
|
|
@ -5,8 +5,7 @@
|
||||||
|
|
||||||
"buildOptions": {
|
"buildOptions": {
|
||||||
"warningsAsErrors": true,
|
"warningsAsErrors": true,
|
||||||
"allowUnsafe": true,
|
"allowUnsafe": true
|
||||||
"compile": [ "../windows-build/gen/Microsoft.PowerShell.CoreCLR.Eventing/*.cs" ]
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"frameworks": {
|
"frameworks": {
|
||||||
|
|
|
@ -4,8 +4,7 @@
|
||||||
"authors": [ "OPS" ],
|
"authors": [ "OPS" ],
|
||||||
|
|
||||||
"buildOptions": {
|
"buildOptions": {
|
||||||
"warningsAsErrors": true,
|
"warningsAsErrors": true
|
||||||
"compile": [ "../windows-build/gen/Microsoft.PowerShell.LocalAccounts/*.cs" ]
|
|
||||||
},
|
},
|
||||||
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
"buildOptions": {
|
"buildOptions": {
|
||||||
"define": [ "CORECLR" ],
|
"define": [ "CORECLR" ],
|
||||||
"compile": {
|
"compile": {
|
||||||
"include": [ "../windows-build/gen/Microsoft.PowerShell.Security/*.cs" ],
|
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"security/CertificateCommands.cs",
|
"security/CertificateCommands.cs",
|
||||||
"security/CmsCommands.cs",
|
"security/CmsCommands.cs",
|
||||||
|
@ -28,11 +27,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"net451": {
|
"net451": {
|
||||||
"buildOptions": {
|
|
||||||
"compile": {
|
|
||||||
"include": [ "../windows-build/gen/Microsoft.PowerShell.Security/*.cs" ]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
"buildOptions": {
|
"buildOptions": {
|
||||||
"define": [ "CORECLR" ],
|
"define": [ "CORECLR" ],
|
||||||
"compile": {
|
"compile": {
|
||||||
"include": [ "../windows-build/gen/System.Management.Automation/*.cs" ],
|
|
||||||
"exclude": [
|
"exclude": [
|
||||||
"cimSupport/cmdletization/xml/cmdlets-over-objects.objectModel.autogen.cs",
|
"cimSupport/cmdletization/xml/cmdlets-over-objects.objectModel.autogen.cs",
|
||||||
"cimSupport/cmdletization/xml/cmdlets-over-objects.xmlSerializer.autogen.cs",
|
"cimSupport/cmdletization/xml/cmdlets-over-objects.xmlSerializer.autogen.cs",
|
||||||
|
@ -163,12 +162,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"net451": {
|
"net451": {
|
||||||
"buildOptions": {
|
|
||||||
"compile": {
|
|
||||||
"include": [ "../windows-build/gen/System.Management.Automation/*.cs" ]
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"frameworkAssemblies": {
|
"frameworkAssemblies": {
|
||||||
"System.Runtime": "",
|
"System.Runtime": "",
|
||||||
"System.Xml": "",
|
"System.Xml": "",
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
Subproject commit 9598137e1ec976c23328880534a8f49bdce32cf0
|
Subproject commit 4011f04c040c88441dd93ec53191e5540832ee21
|
Loading…
Reference in a new issue