Compare commits

...

15 Commits

Author SHA1 Message Date
d0217c2166 Jenkins pipeline will now continue if tests fail.
Some checks failed
ydeng/props/pipeline/head There was a failure building this commit
2024-07-19 17:50:17 +00:00
e2ffd6f976 Minor fixes applied to Jenkinsfile.
Some checks failed
ydeng/props/pipeline/head There was a failure building this commit
2024-07-19 17:20:02 +00:00
a7c0e0dea7 Updating Jenkinsfile to work on common runner.
Some checks failed
ydeng/props/pipeline/head There was a failure building this commit
Began moving poject to a devcontainer.

Added webpack cache clearing script.

Updated to .NET 8.0.

testing Woodpecker CI.

Selecting conda container for all build steps.

Made conda installation quiet.

Updated NodeJS version.
2024-07-19 17:12:49 +00:00
eadd104808 Updated Microsoft Logging extension.
Some checks failed
ydeng/audioshowkit/pipeline/head There was a failure building this commit
RealYHD/props/pipeline/head There was a failure building this commit
ydeng/props/pipeline/head There was a failure building this commit
2022-12-04 08:58:15 +00:00
0c7b85351c Updated Jenkinsfile.
All "dotnet restore" commands are now part of the "install" stage.
2022-12-01 17:35:20 +00:00
4841d539fc Updated project files to .NET 7.0. 2022-12-01 17:24:04 +00:00
d4680b934e Updated npm packages. 2022-12-01 07:02:10 +00:00
dbb1a04c36 Added nodejs to environment.yml. 2022-12-01 06:29:00 +00:00
6ba4e41de9 Fixed environment.yml. 2022-12-01 06:23:33 +00:00
85f4d61ff0 Update Jenkinsfile and added Conda environment. 2022-12-01 04:48:54 +00:00
a03d3c5218 Updated Jenkinsfile. 2022-11-27 10:18:42 +00:00
7f66b73e7a Removed unused git submodule. 2022-04-26 03:56:48 -05:00
44acb94aa5 Fixed archiving paths. 2022-04-26 03:48:05 -05:00
4d49ce33c2 Changed pipeline to output to special folder. 2022-04-26 03:40:29 -05:00
e83d19b699 Removed explicit restore in "Props" stage in pipeline. 2022-04-25 12:37:17 -05:00
31 changed files with 290 additions and 108 deletions

16
.devcontainer/Dockerfile Normal file
View File

@@ -0,0 +1,16 @@
FROM mcr.microsoft.com/devcontainers/miniconda:1-3
# Copy environment.yml (if found) to a temp location so we update the environment. Also
# copy "noop.txt" so the COPY instruction does not fail if no environment.yml exists.
COPY environment.yml* noop.txt /tmp/conda-tmp/
RUN if [ -f "/tmp/conda-tmp/environment.yml" ]; then umask 0002 && /opt/conda/bin/conda env update -n base -f /tmp/conda-tmp/environment.yml; fi \
&& rm -rf /tmp/conda-tmp
# [Optional] Uncomment to install a different version of Python than the default
# RUN conda install -y python=3.6 \
# && pip install --no-cache-dir pipx \
# && pipx reinstall-all
# [Optional] Uncomment this section to install additional OS packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>

View File

@@ -0,0 +1,21 @@
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/debian
{
"name": "Debian",
// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
"build": {
"dockerfile": "Dockerfile"
}
// Features to add to the dev container. More info: https://containers.dev/features.
// "features": {},
// Use 'forwardPorts' to make a list of ports inside the container available locally.
// "forwardPorts": [],
// Configure tool-specific properties.
// "customizations": {},
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}

View File

@@ -0,0 +1,6 @@
name: props
channels:
- conda-forge
dependencies:
- dotnet-sdk=8
- nodejs=20

3
.devcontainer/noop.txt Normal file
View File

@@ -0,0 +1,3 @@
This file is copied into the container along with environment.yml* from the
parent folder. This is done to prevent the Dockerfile COPY instruction from
failing if no environment.yml is found.

2
.gitignore vendored
View File

@@ -1,5 +1,3 @@
# Created by https://www.toptal.com/developers/gitignore/api/aspnetcore,visualstudiocode,dotnetcore,python,database,node
# Edit at https://www.toptal.com/developers/gitignore?templates=aspnetcore,visualstudiocode,dotnetcore,python,database,node

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "SimpleLogger"]
path = Libraries/SimpleLogger
url = https://dev.reslate.xyz/git/ydeng/simplelogger.git

26
.vscode/launch.json vendored Normal file
View File

@@ -0,0 +1,26 @@
{
"version": "0.2.0",
"configurations": [
{
// Use IntelliSense to find out which attributes exist for C# debugging
// Use hover for the description of the existing attributes
// For further information visit https://github.com/dotnet/vscode-csharp/blob/main/debugger-launchjson.md
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/Props.Shop/Adafruit.Tests/bin/Debug/net8.0/Props.Shop.Adafruit.Tests.dll",
"args": [],
"cwd": "${workspaceFolder}/Props.Shop/Adafruit.Tests",
// For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console
"console": "internalConsole",
"stopAtEntry": false
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach"
}
]
}

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

@@ -0,0 +1,6 @@
{
"dotnet.dotnetPath": "/opt/conda/lib/dotnet/",
"omnisharp.dotNetCliPaths": [
"/opt/conda/lib/dotnet/dotnet"
]
}

41
.vscode/tasks.json vendored Normal file
View File

@@ -0,0 +1,41 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"command": "dotnet",
"type": "process",
"args": [
"build",
"${workspaceFolder}/Props.Shop/Props.Shop.sln",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary;ForceNoAlign"
],
"problemMatcher": "$msCompile"
},
{
"label": "publish",
"command": "dotnet",
"type": "process",
"args": [
"publish",
"${workspaceFolder}/Props.Shop/Props.Shop.sln",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary;ForceNoAlign"
],
"problemMatcher": "$msCompile"
},
{
"label": "watch",
"command": "dotnet",
"type": "process",
"args": [
"watch",
"run",
"--project",
"${workspaceFolder}/Props.Shop/Props.Shop.sln"
],
"problemMatcher": "$msCompile"
}
]
}

9
.woodpecker.yaml Normal file
View File

@@ -0,0 +1,9 @@
steps:
- name: build
image: debian
commands:
- echo "This is the build step"
- name: a-test-step
image: debian
commands:
- echo "Testing.."

48
Jenkinsfile vendored
View File

@@ -1,55 +1,53 @@
pipeline {
agent any
agent {
kubernetes {
cloud 'Reslate Systems'
defaultContainer 'conda'
}
}
stages {
stage("cleanup") {
stage("Install") {
steps {
cleanWs(patterns: [[pattern: '**/bin/Release', type: 'INCLUDE'], [pattern: 'props-linux-x64*', type: 'INCLUDE'], [pattern: 'props-win-x64*', type: 'INCLUDE']])
sh 'conda update conda -y'
sh 'conda env update -n base --file .devcontainer/environment.yml'
sh 'conda run -n base dotnet restore props.sln'
sh 'npm install --prefix ./Props'
}
}
stage("Props.Shop") {
stages {
stage("Restore") {
steps {
dotnetRestore project: "Props.Shop/Props.Shop.sln"
dotnetRestore project: "Props.Shop/Props.Shop.Tests.sln"
}
}
stage("Test") {
steps {
dotnetTest logger: 'xunit', noRestore: true, project: 'Props.Shop/Props.Shop.Tests.sln', unstableIfErrors: true, unstableIfWarnings: true
sh returnStatus: true, script: 'conda run -n base dotnet test --logger xunit --no-restore Props.Shop/**/*.Tests.csproj'
xunit([xUnitDotNet(excludesPattern: '', pattern: 'Props.Shop/*.Tests/TestResults/*.xml', stopProcessingIfError: true)])
}
}
stage("Publish") {
steps {
dotnetPublish configuration: 'Release', noRestore: true, project: 'Props.Shop/Props.Shop.sln', selfContained: false, unstableIfWarnings: true
fingerprint 'Props.Shop/**/bin/Release/**/publish/Props.Shop.*'
sh "python3 scripts/load_shop_modules.py"
sh 'conda run -n base dotnet publish --configuration Release --output output/shop-modules Props.Shop/**/*.csproj'
sh 'rm output/shop-modules/**/*.Tests.dll'
fingerprint 'output/shop-modules/**/Props.Shop.*'
sh 'cp ./Props.Shop/output/shop-modules/**/*.dll ./Props.Shop/output/shop-modules/**/*.deps.json ./Props/shops/.'
}
}
}
}
stage("Props") {
stages {
stage("Restore") {
steps {
dotnetRestore project: "Props"
dotnetRestore project: "Props.Tests"
}
}
stage("Test") {
steps {
dotnetTest logger: 'xunit', noRestore: true, project: 'Props.Tests', unstableIfErrors: true, unstableIfWarnings: true
sh returnStatus: true, script: 'conda run -n base dotnet test --logger xunit --no-restore Props.Tests/Props.Tests.csproj'
xunit([xUnitDotNet(excludesPattern: '', pattern: 'Props.Tests/TestResults/*.xml', stopProcessingIfError: true)])
}
}
stage("Publish") {
steps {
dotnetPublish configuration: 'Release', outputDirectory: 'props-linux-x64', project: 'Props', runtime: 'linux-x64', selfContained: true
dotnetPublish configuration: 'Release', outputDirectory: 'props-win-x64', project: 'Props', runtime: 'win-x64', selfContained: true
fingerprint 'Props/bin/Release/**/publish/Props*'
tar file: "props-linux-x64.tar.gz", archive: true, compress: true, dir: "props-linux-x64"
zip zipFile: "props-win-x64.zip", archive: true, dir: "props-win-x64"
sh 'conda run -n base dotnet publish --configuration Release --output output/props/props-linux-x64 --runtime linux-x64 --self-contained Props'
sh 'conda run -n base dotnet publish --configuration Release --output output/props/props-win-x64 --runtime win-x64 --self-contained Props'
fingerprint 'output/props/**/Props*'
tar file: "output/props-linux-x64.tar.gz", archive: true, compress: true, dir: "output/props/props-linux-x64"
zip zipFile: "output/props-win-x64.zip", archive: true, dir: "output/props/props-win-x64"
}
}
}

View File

@@ -1,14 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<InvariantGlobalization>true</InvariantGlobalization>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MartinCostello.Logging.XUnit" Version="0.2.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
<PackageReference Include="System.Linq.Async" Version="5.1.0" />
<PackageReference Include="xunit" Version="2.4.1" />

View File

@@ -1,7 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<InvariantGlobalization>true</InvariantGlobalization>
</PropertyGroup>
<ItemGroup>

View File

@@ -1,11 +1,11 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" />
</ItemGroup>
</Project>

View File

@@ -1,22 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30114.105
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Props.Shop.Adafruit.Tests", "Adafruit.Tests\Props.Shop.Adafruit.Tests.csproj", "{DDE31868-2F4E-43D1-9955-E1B4C1BB13A0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DDE31868-2F4E-43D1-9955-E1B4C1BB13A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{DDE31868-2F4E-43D1-9955-E1B4C1BB13A0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{DDE31868-2F4E-43D1-9955-E1B4C1BB13A0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{DDE31868-2F4E-43D1-9955-E1B4C1BB13A0}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal

View File

@@ -1,28 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 16
VisualStudioVersion = 16.0.30114.105
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Props.Shop.Adafruit", "Adafruit\Props.Shop.Adafruit.csproj", "{9C8E4646-C49E-422E-9884-A49D4A05998C}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Props.Shop.Framework", "Framework\Props.Shop.Framework.csproj", "{2ED74B8A-F8A7-4DA0-B8E9-AE97207AB20A}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9C8E4646-C49E-422E-9884-A49D4A05998C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9C8E4646-C49E-422E-9884-A49D4A05998C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9C8E4646-C49E-422E-9884-A49D4A05998C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9C8E4646-C49E-422E-9884-A49D4A05998C}.Release|Any CPU.Build.0 = Release|Any CPU
{2ED74B8A-F8A7-4DA0-B8E9-AE97207AB20A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2ED74B8A-F8A7-4DA0-B8E9-AE97207AB20A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2ED74B8A-F8A7-4DA0-B8E9-AE97207AB20A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2ED74B8A-F8A7-4DA0-B8E9-AE97207AB20A}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal

View File

@@ -1,9 +1,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<InvariantGlobalization>true</InvariantGlobalization>
<IsPackable>false</IsPackable>
</PropertyGroup>

View File

@@ -10,7 +10,7 @@
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/bin/Debug/net6.0/Props.dll",
"program": "${workspaceFolder}/bin/Debug/net7.0/Props.dll",
"args": [],
"cwd": "${workspaceFolder}",
"stopAtEntry": false,

View File

@@ -3,12 +3,12 @@
<!-- Publish arguments: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-publish -->
<!-- Single file docs: https://docs.microsoft.com/en-us/dotnet/core/deploying/single-file/overview -->
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<TargetFramework>net8.0</TargetFramework>
<PublishSingleFile>true</PublishSingleFile>
<SelfContained>true</SelfContained>
<PublishTrimmed>false</PublishTrimmed>
<PublishReadyToRun>true</PublishReadyToRun>
<!-- <IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract> -->
<InvariantGlobalization>true</InvariantGlobalization>
<IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
<UserSecretsId>aspnet-Props-20A2A991-EC61-4C06-91D2-953482026A7B</UserSecretsId>
</PropertyGroup>

View File

@@ -1868,6 +1868,16 @@
"node": ">= 8"
}
},
"node_modules/@popperjs/core": {
"version": "2.11.6",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz",
"integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==",
"peer": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
}
},
"node_modules/@types/eslint": {
"version": "7.28.0",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz",
@@ -2471,14 +2481,20 @@
"integrity": "sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo="
},
"node_modules/caniuse-lite": {
"version": "1.0.30001299",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz",
"integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw==",
"version": "1.0.30001435",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001435.tgz",
"integrity": "sha512-kdCkUTjR+v4YAJelyiDTqiu82BDr4W4CP5sgTA0ZBmqn30XfS2ZghPLMowik9TPhS+psWJiUNxsqLyurDbmutA==",
"dev": true,
"funding": {
"funding": [
{
"type": "opencollective",
"url": "https://opencollective.com/browserslist"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
}
]
},
"node_modules/chalk": {
"version": "4.1.1",
@@ -6656,6 +6672,12 @@
"fastq": "^1.6.0"
}
},
"@popperjs/core": {
"version": "2.11.6",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz",
"integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==",
"peer": true
},
"@types/eslint": {
"version": "7.28.0",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz",
@@ -7156,9 +7178,9 @@
"integrity": "sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo="
},
"caniuse-lite": {
"version": "1.0.30001299",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz",
"integrity": "sha512-iujN4+x7QzqA2NCSrS5VUy+4gLmRd4xv6vbBBsmfVqTx8bLAD8097euLqQgKxSVLvxjSDcvF1T/i9ocgnUFexw==",
"version": "1.0.30001435",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001435.tgz",
"integrity": "sha512-kdCkUTjR+v4YAJelyiDTqiu82BDr4W4CP5sgTA0ZBmqn30XfS2ZghPLMowik9TPhS+psWJiUNxsqLyurDbmutA==",
"dev": true
},
"chalk": {

View File

@@ -4,7 +4,7 @@
"build": "webpack --config webpack.prod.js",
"build:dev": "webpack --config webpack.dev.js",
"build:prod": "webpack --config webpack.prod.js",
"postinstall": "python3 ../scripts/clear_webpack_cache.py"
"postinstall": "bash ../scripts/clear_webpack_cache.sh"
},
"keywords": [],
"author": "",

53
props.sln Normal file
View File

@@ -0,0 +1,53 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31903.59
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Props.Tests", "Props.Tests\Props.Tests.csproj", "{FB728827-A47B-42C1-8DB4-8AD95566E827}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Props", "Props\Props.csproj", "{97CDC447-2FB7-448C-86E9-301BE1F04BE7}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Props.Shop", "Props.Shop", "{0A2915DE-91DD-44AC-855D-059D45CEA9FE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Props.Shop.Adafruit.Tests", "Props.Shop\Adafruit.Tests\Props.Shop.Adafruit.Tests.csproj", "{334B69F3-3707-4D45-97D8-13D37B19ABEC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Props.Shop.Adafruit", "Props.Shop\Adafruit\Props.Shop.Adafruit.csproj", "{528D0B67-B4D0-4B56-8375-D004E192E712}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Props.Shop.Framework", "Props.Shop\Framework\Props.Shop.Framework.csproj", "{6D976097-07DB-476C-80D4-EA24A407D3E3}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FB728827-A47B-42C1-8DB4-8AD95566E827}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FB728827-A47B-42C1-8DB4-8AD95566E827}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FB728827-A47B-42C1-8DB4-8AD95566E827}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FB728827-A47B-42C1-8DB4-8AD95566E827}.Release|Any CPU.Build.0 = Release|Any CPU
{97CDC447-2FB7-448C-86E9-301BE1F04BE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{97CDC447-2FB7-448C-86E9-301BE1F04BE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{97CDC447-2FB7-448C-86E9-301BE1F04BE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{97CDC447-2FB7-448C-86E9-301BE1F04BE7}.Release|Any CPU.Build.0 = Release|Any CPU
{334B69F3-3707-4D45-97D8-13D37B19ABEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{334B69F3-3707-4D45-97D8-13D37B19ABEC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{334B69F3-3707-4D45-97D8-13D37B19ABEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{334B69F3-3707-4D45-97D8-13D37B19ABEC}.Release|Any CPU.Build.0 = Release|Any CPU
{528D0B67-B4D0-4B56-8375-D004E192E712}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{528D0B67-B4D0-4B56-8375-D004E192E712}.Debug|Any CPU.Build.0 = Debug|Any CPU
{528D0B67-B4D0-4B56-8375-D004E192E712}.Release|Any CPU.ActiveCfg = Release|Any CPU
{528D0B67-B4D0-4B56-8375-D004E192E712}.Release|Any CPU.Build.0 = Release|Any CPU
{6D976097-07DB-476C-80D4-EA24A407D3E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6D976097-07DB-476C-80D4-EA24A407D3E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6D976097-07DB-476C-80D4-EA24A407D3E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6D976097-07DB-476C-80D4-EA24A407D3E3}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{334B69F3-3707-4D45-97D8-13D37B19ABEC} = {0A2915DE-91DD-44AC-855D-059D45CEA9FE}
{528D0B67-B4D0-4B56-8375-D004E192E712} = {0A2915DE-91DD-44AC-855D-059D45CEA9FE}
{6D976097-07DB-476C-80D4-EA24A407D3E3} = {0A2915DE-91DD-44AC-855D-059D45CEA9FE}
EndGlobalSection
EndGlobal

View File

@@ -0,0 +1,3 @@
#!/bin/bash
rm -rf ./Props/node_modules/.cache/webpack

21
scripts/install.sh Normal file
View File

@@ -0,0 +1,21 @@
#!/bin/bash
# Installing .NET environment
# According to https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script#examples
# and https://learn.microsoft.com/en-us/dotnet/core/install/linux-scripted-manual#scripted-install
curl -L -o- https://dot.net/v1/dotnet-install.sh | bash -s -- --channel 8.0
echo export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 >> ~/.bashrc
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools' >> ~/.bashrc
# Installing Node Version Manager
# According to https://github.com/Schniz/fnm
curl -fsSL https://fnm.vercel.app/install | bash
'''
sh '''#!/bin/bash
fnm install 20.15.1
fnm use default
# Restore all projects
dotnet restore Props/Props.csproj
dotnet restore Props.Tests/Props.Tests.csproj
dotnet restore Props.Shop/Props.Shop.sln
npm install --prefix ./Props

View File

@@ -6,9 +6,9 @@ import shutil
PROP_SHOP_MODULES_DIR = "./Props.Shop/"
PROPS_SHOP_MODULES_DST = "./Props/shops/."
NET_VER = "net6.0"
NET_VER = "net7.0"
SHOP_MODULE_GLOB = "**/bin/Release/{net_ver}/publish/*.{ext}"
SHOP_MODULE_GLOB = "output/shop-modules/**/*.{ext}"
EXTS = ["deps.json", "dll"]

3
scripts/publish_props.sh Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
dotnet publish --configuration Release --output output/props/props-linux-x64 --runtime linux-x64 --self-contained Props
dotnet publish --configuration Release --output output/props/props-win-x64 --runtime win-x64 --self-contained Props

View File

@@ -0,0 +1,3 @@
#!/bin/bash
dotnet publish --configuration Release --output output/shop-modules Props.Shop/Props.Shop.sln

3
scripts/test_props.sh Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
dotnet test --logger xunit --no-restore Props.Tests

View File

@@ -0,0 +1,3 @@
#!/bin/bash
dotnet test --logger xunit --no-restore Props.Shop/Props.Shop.sln