Updated Jenkinsfile and .NET version.

This commit is contained in:
Harrison Deng 2022-12-04 08:51:27 +00:00
parent f460382a64
commit 2fdf476a85
6 changed files with 25 additions and 17 deletions

6
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,6 @@
{
"cSpell.words": [
"dotnetresxutils",
"Resx"
]
}

View File

@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net7.0</TargetFramework>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>

View File

@ -49,21 +49,21 @@ namespace DotNetResxUtils.Commands
return result;
}
private void FlattenJsonElement(IDictionary<string, string> flattened, JsonElement jsonElement, string namepath)
private void FlattenJsonElement(IDictionary<string, string> flattened, JsonElement jsonElement, string namePath)
{
if (jsonElement.ValueKind == JsonValueKind.Array)
{
int itemIndex = 0;
foreach (JsonElement item in jsonElement.EnumerateArray())
{
FlattenJsonElement(flattened, item, namepath + $"[{itemIndex}]");
FlattenJsonElement(flattened, item, namePath + $"[{itemIndex}]");
}
}
else if (jsonElement.ValueKind == JsonValueKind.Object)
{
foreach (JsonProperty item in jsonElement.EnumerateObject())
{
FlattenJsonElement(flattened, item.Value, namepath + $".{item.Name}");
FlattenJsonElement(flattened, item.Value, namePath + $".{item.Name}");
}
}
else
@ -71,7 +71,7 @@ namespace DotNetResxUtils.Commands
string? stored = jsonElement.GetString();
if (stored != null)
{
flattened[namepath] = stored;
flattened[namePath] = stored;
}
}
}

View File

@ -8,7 +8,7 @@
<PublishReadyToRun>true</PublishReadyToRun>
<IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract>
<PublishTrimmed>true</PublishTrimmed>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>disable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>

19
Jenkinsfile vendored
View File

@ -1,26 +1,23 @@
pipeline {
agent any
stages {
stage("Cleanup") {
stage("Setup") {
steps {
cleanWs(patterns: [[pattern: '**/bin/Release', type: 'INCLUDE'], [pattern: 'output/**', type: 'INCLUDE']])
}
}
stage("Restore") {
steps {
dotnetRestore project: 'DotNetResxUtils'
dotnetRestore project: 'DotNetResxUtils.Tests'
sh 'mamba env update --file environment.yml'
sh 'echo "mamba activate dotnetresxutils" >> ~/.bashrc'
sh "dotnet restore DotNetResxUtils"
sh "dotnet restore DotNetResxUtils.Tests"
}
}
stage("Test") {
steps {
dotnetTest noRestore: true, project: 'DotNetResxUtils.Tests'
sh "dotnet test --no-restore DotNetResxUtils.Tests"
}
}
stage("Publish") {
steps {
dotnetPublish configuration: 'Release', outputDirectory: 'output/DotNetResxUtils/DotNetResxUtils-win-x64', project: 'DotNetResxUtils', runtime: 'win-x64', selfContained: true
dotnetPublish configuration: 'Release', outputDirectory: 'output/DotNetResxUtils/DotNetResxUtils-linux-x64', project: 'DotNetResxUtils', runtime: 'linux-x64', selfContained: true
sh "dotnet publish DotNetResxUtils --configuration Release --output output/DotNetResxUtils/DotNetResxUtils-win-x64 --runtime win-x64 --self-contained"
sh "dotnet publish DotNetResxUtils --configuration Release --output output/DotNetResxUtils/DotNetResxUtils-linux-x64 --runtime linux-x64 --self-contained"
fingerprint 'output/DotNetResxUtils/**/DotNetResxUtils*'
tar file: "output/DotNetResxUtils-linux-x64.tar.gz", archive: true, compress: true, dir: "output/DotNetResxUtils/DotNetResxUtils-linux-x64"
zip zipFile: "output/DotNetResxUtils-win-x64.zip", archive: true, dir: "output/DotNetResxUtils/DotNetResxUtils-win-x64"

5
environment.yml Normal file
View File

@ -0,0 +1,5 @@
name: dotnetresxutils
channels:
- conda-forge
dependencies:
- dotnet-sdk=7.0.*