diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..2670317 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -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 diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..53295bb --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -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" +} diff --git a/environment.yml b/.devcontainer/environment.yml similarity index 57% rename from environment.yml rename to .devcontainer/environment.yml index 9944af0..1a5328c 100644 --- a/environment.yml +++ b/.devcontainer/environment.yml @@ -2,5 +2,5 @@ name: props channels: - conda-forge dependencies: - - dotnet-sdk=7.0.* - - nodejs=18.12.* \ No newline at end of file + - dotnet-sdk=8 + - nodejs=20 \ No newline at end of file diff --git a/.devcontainer/noop.txt b/.devcontainer/noop.txt new file mode 100644 index 0000000..abee195 --- /dev/null +++ b/.devcontainer/noop.txt @@ -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. \ No newline at end of file diff --git a/.gitignore b/.gitignore index 41aacd2..da2be5f 100644 --- a/.gitignore +++ b/.gitignore @@ -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 @@ -576,4 +574,4 @@ cython_debug/ # Props shop-data -Props/shops \ No newline at end of file +Props/shops diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..a0b88e1 --- /dev/null +++ b/.vscode/launch.json @@ -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" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..e21f964 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "dotnet.dotnetPath": "/opt/conda/lib/dotnet/", + "omnisharp.dotNetCliPaths": [ + "/opt/conda/lib/dotnet/dotnet" + ] +} \ No newline at end of file diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..3270acc --- /dev/null +++ b/.vscode/tasks.json @@ -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" + } + ] +} \ No newline at end of file diff --git a/.woodpecker.yaml b/.woodpecker.yaml new file mode 100644 index 0000000..97ec5c2 --- /dev/null +++ b/.woodpecker.yaml @@ -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.." \ No newline at end of file diff --git a/Jenkinsfile b/Jenkinsfile index b824a7c..81e91b1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,30 +1,36 @@ pipeline { - agent any + agent { + kubernetes { + cloud 'Reslate Systems' + defaultContainer 'conda' + } + } + stages { stage("Install") { steps { - sh 'mamba env update --file environment.yml' - sh 'echo "mamba activate props" >> ~/.bashrc' - sh 'node --version && npm --version' - sh 'cd Props && npm install' - sh 'dotnet restore Props.Shop/Props.Shop.sln' - sh 'dotnet restore Props.Shop/Props.Shop.Tests.sln' - sh 'dotnet restore Props.Tests' + sh 'conda update conda' + sh 'conda env update -n base --file .devcontainer/environment.yml' + sh 'conda run -n base dotnet restore Props/Props.csproj' + sh 'conda run -n base dotnet restore Props.Tests/Props.Tests.csproj' + sh 'conda run -n base dotnet restore Props.Shop/Props.Shop.sln' + sh 'npm install --prefix ./Props' } } stage("Props.Shop") { stages { stage("Test") { steps { - sh 'dotnet test --logger xunit --no-restore Props.Shop/Props.Shop.Tests.sln' + sh '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 { - sh 'dotnet publish --configuration Release --output output/shop-modules Props.Shop/Props.Shop.sln' + 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 "python3 scripts/load_shop_modules.py" + sh 'cp ./Props.Shop/output/shop-modules/**/*.dll ./Props.Shop/output/shop-modules/**/*.deps.json ./Props/shops/.' } } } @@ -33,14 +39,14 @@ pipeline { stages { stage("Test") { steps { - sh 'dotnet test --logger xunit --no-restore Props.Tests' + sh '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 { - sh 'dotnet publish --configuration Release --output output/props/props-linux-x64 --runtime linux-x64 --self-contained Props' - sh 'dotnet publish --configuration Release --output output/props/props-win-x64 --runtime win-x64 --self-contained Props' + 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" diff --git a/Props.Shop/Adafruit.Tests/Props.Shop.Adafruit.Tests.csproj b/Props.Shop/Adafruit.Tests/Props.Shop.Adafruit.Tests.csproj index 1546936..030175d 100644 --- a/Props.Shop/Adafruit.Tests/Props.Shop.Adafruit.Tests.csproj +++ b/Props.Shop/Adafruit.Tests/Props.Shop.Adafruit.Tests.csproj @@ -1,14 +1,14 @@ - net7.0 - + net8.0 + true false - + diff --git a/Props.Shop/Adafruit/Props.Shop.Adafruit.csproj b/Props.Shop/Adafruit/Props.Shop.Adafruit.csproj index 6bb2bdb..d3099a9 100644 --- a/Props.Shop/Adafruit/Props.Shop.Adafruit.csproj +++ b/Props.Shop/Adafruit/Props.Shop.Adafruit.csproj @@ -1,7 +1,8 @@ - net7.0 + net8.0 + true diff --git a/Props.Shop/Framework/Props.Shop.Framework.csproj b/Props.Shop/Framework/Props.Shop.Framework.csproj index 6e2d5b4..03e4aa5 100644 --- a/Props.Shop/Framework/Props.Shop.Framework.csproj +++ b/Props.Shop/Framework/Props.Shop.Framework.csproj @@ -1,7 +1,7 @@ - net7.0 + net8.0 diff --git a/Props.Shop/Props.Shop.Tests.sln b/Props.Shop/Props.Shop.Tests.sln deleted file mode 100644 index 349855b..0000000 --- a/Props.Shop/Props.Shop.Tests.sln +++ /dev/null @@ -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 diff --git a/Props.Shop/Props.Shop.sln b/Props.Shop/Props.Shop.sln deleted file mode 100644 index 0844767..0000000 --- a/Props.Shop/Props.Shop.sln +++ /dev/null @@ -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 diff --git a/Props.Tests/Props.Tests.csproj b/Props.Tests/Props.Tests.csproj index 0e9952c..22434b4 100644 --- a/Props.Tests/Props.Tests.csproj +++ b/Props.Tests/Props.Tests.csproj @@ -1,9 +1,9 @@ - net7.0 + net8.0 enable - + true false diff --git a/Props/Props.csproj b/Props/Props.csproj index f99c99c..63f4ba2 100644 --- a/Props/Props.csproj +++ b/Props/Props.csproj @@ -3,12 +3,12 @@ - net7.0 + net8.0 true true false true - + true true aspnet-Props-20A2A991-EC61-4C06-91D2-953482026A7B diff --git a/Props/package.json b/Props/package.json index 09eae0f..528869a 100644 --- a/Props/package.json +++ b/Props/package.json @@ -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": "", diff --git a/README.md b/README.md index 74c3280..d94f838 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # Props -Props is a community driven website meant to help with organizing your online component shopping experience. Create project component lists, search across multiple commonly used online retail stores and share your projects with rest of the community! \ No newline at end of file +Props is a community driven website meant to help with organizing your online component shopping experience. Create project component lists, search across multiple commonly used online retail stores and share your projects with rest of the community! diff --git a/props.sln b/props.sln new file mode 100644 index 0000000..a5b78d7 --- /dev/null +++ b/props.sln @@ -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 diff --git a/scripts/clear_webpack_cache.sh b/scripts/clear_webpack_cache.sh new file mode 100644 index 0000000..86d794b --- /dev/null +++ b/scripts/clear_webpack_cache.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +rm -rf ./Props/node_modules/.cache/webpack \ No newline at end of file diff --git a/scripts/install.sh b/scripts/install.sh new file mode 100644 index 0000000..982666a --- /dev/null +++ b/scripts/install.sh @@ -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 \ No newline at end of file diff --git a/scripts/publish_props.sh b/scripts/publish_props.sh new file mode 100644 index 0000000..2dbefbc --- /dev/null +++ b/scripts/publish_props.sh @@ -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 \ No newline at end of file diff --git a/scripts/publish_props_shops.sh b/scripts/publish_props_shops.sh new file mode 100644 index 0000000..80fe099 --- /dev/null +++ b/scripts/publish_props_shops.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +dotnet publish --configuration Release --output output/shop-modules Props.Shop/Props.Shop.sln \ No newline at end of file diff --git a/scripts/test_props.sh b/scripts/test_props.sh new file mode 100644 index 0000000..5ba79cb --- /dev/null +++ b/scripts/test_props.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +dotnet test --logger xunit --no-restore Props.Tests \ No newline at end of file diff --git a/scripts/test_props_shops.sh b/scripts/test_props_shops.sh new file mode 100644 index 0000000..c24d051 --- /dev/null +++ b/scripts/test_props_shops.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +dotnet test --logger xunit --no-restore Props.Shop/Props.Shop.sln \ No newline at end of file