Compare commits
1 Commits
master
...
feature/lo
Author | SHA1 | Date | |
---|---|---|---|
d3a0b35811 |
@ -1,11 +0,0 @@
|
|||||||
FROM mcr.microsoft.com/devcontainers/anaconda: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* .devcontainer/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 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>
|
|
@ -1,31 +0,0 @@
|
|||||||
// 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",
|
|
||||||
"build": {
|
|
||||||
"context": "..",
|
|
||||||
"dockerfile": "Dockerfile"
|
|
||||||
},
|
|
||||||
|
|
||||||
"customizations": {
|
|
||||||
"vscode": {
|
|
||||||
"extensions": [
|
|
||||||
"ms-dotnettools.vscode-dotnet-runtime",
|
|
||||||
"svelte.svelte-vscode",
|
|
||||||
"syler.sass-indented",
|
|
||||||
"dbaeumer.vscode-eslint",
|
|
||||||
"ms-dotnettools.csharp"
|
|
||||||
],
|
|
||||||
"settings": {
|
|
||||||
"python.defaultInterpreterPath": "/opt/conda/bin/python",
|
|
||||||
"dotnet.dotnetPath": "/opt/conda/lib/dotnet/",
|
|
||||||
"omnisharp.dotNetCliPaths": [
|
|
||||||
"/opt/conda/lib/dotnet/dotnet"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
"postCreateCommand": "bash -i -c 'conda init'"
|
|
||||||
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
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.
|
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +1,5 @@
|
|||||||
|
|
||||||
|
|
||||||
# Created by https://www.toptal.com/developers/gitignore/api/aspnetcore,visualstudiocode,dotnetcore,python,database,node
|
# 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
|
# Edit at https://www.toptal.com/developers/gitignore?templates=aspnetcore,visualstudiocode,dotnetcore,python,database,node
|
||||||
|
|
||||||
@ -575,4 +577,3 @@ cython_debug/
|
|||||||
# Props
|
# Props
|
||||||
shop-data
|
shop-data
|
||||||
Props/shops
|
Props/shops
|
||||||
output
|
|
||||||
|
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -0,0 +1,3 @@
|
|||||||
|
[submodule "SimpleLogger"]
|
||||||
|
path = Libraries/SimpleLogger
|
||||||
|
url = https://dev.reslate.xyz/git/ydeng/simplelogger.git
|
26
.vscode/launch.json
vendored
26
.vscode/launch.json
vendored
@ -1,26 +0,0 @@
|
|||||||
{
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
7
.vscode/settings.json
vendored
7
.vscode/settings.json
vendored
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"python.defaultInterpreterPath": "/opt/conda/bin/python",
|
|
||||||
"dotnet.dotnetPath": "/opt/conda/lib/dotnet/",
|
|
||||||
"omnisharp.dotNetCliPaths": [
|
|
||||||
"/opt/conda/lib/dotnet/dotnet"
|
|
||||||
]
|
|
||||||
}
|
|
41
.vscode/tasks.json
vendored
41
.vscode/tasks.json
vendored
@ -1,41 +0,0 @@
|
|||||||
{
|
|
||||||
"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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@ -1,9 +0,0 @@
|
|||||||
steps:
|
|
||||||
- name: build
|
|
||||||
image: debian
|
|
||||||
commands:
|
|
||||||
- echo "This is the build step"
|
|
||||||
- name: a-test-step
|
|
||||||
image: debian
|
|
||||||
commands:
|
|
||||||
- echo "Testing.."
|
|
72
Jenkinsfile
vendored
72
Jenkinsfile
vendored
@ -1,55 +1,57 @@
|
|||||||
pipeline {
|
pipeline {
|
||||||
agent {
|
agent any
|
||||||
kubernetes {
|
|
||||||
cloud 'Reslate Systems'
|
|
||||||
defaultContainer 'conda'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
environment {
|
|
||||||
DOTNET_SYSTEM_GLOBALIZATION_INVARIANT = "1"
|
|
||||||
}
|
|
||||||
stages {
|
stages {
|
||||||
stage("Install") {
|
stage("cleanup") {
|
||||||
steps {
|
steps {
|
||||||
sh 'conda update conda -y -q'
|
cleanWs(patterns: [[pattern: '**/bin/Release', type: 'INCLUDE'], [pattern: 'props-linux-x64*', type: 'INCLUDE'], [pattern: 'props-win-x64*', type: 'INCLUDE']])
|
||||||
sh 'conda env update -n base --file environment.yml'
|
|
||||||
sh 'conda run -n base dotnet restore props.sln'
|
|
||||||
sh 'npm install --prefix ./Props'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage("Test Props.Shop") {
|
stage("Props.Shop") {
|
||||||
|
stages {
|
||||||
|
stage("Restore") {
|
||||||
steps {
|
steps {
|
||||||
sh returnStatus: true, script: 'conda run -n base dotnet test --logger xunit --no-restore Props.Shop/**/*.Tests.csproj'
|
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
|
||||||
xunit([xUnitDotNet(excludesPattern: '', pattern: 'Props.Shop/*.Tests/TestResults/*.xml', stopProcessingIfError: true)])
|
xunit([xUnitDotNet(excludesPattern: '', pattern: 'Props.Shop/*.Tests/TestResults/*.xml', stopProcessingIfError: true)])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage("Publish Props.Shop") {
|
stage("Publish") {
|
||||||
steps {
|
steps {
|
||||||
sh '''#!/bin/bash
|
dotnetPublish configuration: 'Release', noRestore: true, project: 'Props.Shop/Props.Shop.sln', selfContained: false, unstableIfWarnings: true
|
||||||
for file in Props.Shop/**/*.csproj
|
fingerprint 'Props.Shop/**/bin/Release/**/publish/Props.Shop.*'
|
||||||
do
|
sh "python3 scripts/load_shop_modules.py"
|
||||||
conda run -n base dotnet publish --configuration Release --output output/shop-modules $file
|
|
||||||
done
|
|
||||||
'''
|
|
||||||
fingerprint 'output/shop-modules/**/Props.Shop.*'
|
|
||||||
sh 'mkdir -p ./Props/shops/'
|
|
||||||
sh 'cp ./output/shop-modules/*.dll ./output/shop-modules/*.deps.json ./Props/shops/.'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage("Test Props") {
|
}
|
||||||
|
}
|
||||||
|
stage("Props") {
|
||||||
|
stages {
|
||||||
|
stage("Restore") {
|
||||||
steps {
|
steps {
|
||||||
sh returnStatus: true, script: 'conda run -n base dotnet test --logger xunit --no-restore Props.Tests/Props.Tests.csproj'
|
dotnetRestore project: "Props"
|
||||||
|
dotnetRestore project: "Props.Tests"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stage("Test") {
|
||||||
|
steps {
|
||||||
|
dotnetTest logger: 'xunit', noRestore: true, project: 'Props.Tests', unstableIfErrors: true, unstableIfWarnings: true
|
||||||
xunit([xUnitDotNet(excludesPattern: '', pattern: 'Props.Tests/TestResults/*.xml', stopProcessingIfError: true)])
|
xunit([xUnitDotNet(excludesPattern: '', pattern: 'Props.Tests/TestResults/*.xml', stopProcessingIfError: true)])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stage("Publish Props") {
|
stage("Publish") {
|
||||||
steps {
|
steps {
|
||||||
sh 'conda run -n base dotnet publish --configuration Release --output output/props/props-linux-x64 --runtime linux-x64 --self-contained Props'
|
dotnetPublish configuration: 'Release', outputDirectory: 'props-linux-x64', project: 'Props', runtime: 'linux-x64', selfContained: true
|
||||||
sh 'conda run -n base dotnet publish --configuration Release --output output/props/props-win-x64 --runtime win-x64 --self-contained Props'
|
dotnetPublish configuration: 'Release', outputDirectory: 'props-win-x64', project: 'Props', runtime: 'win-x64', selfContained: true
|
||||||
fingerprint 'output/props/**/Props*'
|
fingerprint 'Props/bin/Release/**/publish/Props*'
|
||||||
sh 'conda run -n base tar -czf output/props-linux-x64.tar.gz output/props/props-linux-x64'
|
tar file: "props-linux-x64.tar.gz", archive: true, compress: true, dir: "props-linux-x64"
|
||||||
sh 'conda run -n base zip -r output/props-win-x64.zip output/props/props-win-x64'
|
zip zipFile: "props-win-x64.zip", archive: true, dir: "props-win-x64"
|
||||||
archiveArtifacts artifacts: 'output/*.tar.gz,output/*.zip', followSymlinks: false
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
1
Libraries/SimpleLogger
Submodule
1
Libraries/SimpleLogger
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit f9931eea4295353befffcf1880ea510cc259e9f2
|
@ -1,14 +1,14 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
<InvariantGlobalization>true</InvariantGlobalization>
|
|
||||||
<IsPackable>false</IsPackable>
|
<IsPackable>false</IsPackable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="MartinCostello.Logging.XUnit" Version="0.2.0" />
|
<PackageReference Include="MartinCostello.Logging.XUnit" Version="0.2.0" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Logging" Version="6.0.0" />
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.0.0" />
|
||||||
<PackageReference Include="System.Linq.Async" Version="5.1.0" />
|
<PackageReference Include="System.Linq.Async" Version="5.1.0" />
|
||||||
<PackageReference Include="xunit" Version="2.4.1" />
|
<PackageReference Include="xunit" Version="2.4.1" />
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
<InvariantGlobalization>true</InvariantGlobalization>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="7.0.0" />
|
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
22
Props.Shop/Props.Shop.Tests.sln
Normal file
22
Props.Shop/Props.Shop.Tests.sln
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
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
|
28
Props.Shop/Props.Shop.sln
Normal file
28
Props.Shop/Props.Shop.sln
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
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
|
@ -1,9 +1,9 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
<Nullable>enable</Nullable>
|
<Nullable>enable</Nullable>
|
||||||
<InvariantGlobalization>true</InvariantGlobalization>
|
|
||||||
<IsPackable>false</IsPackable>
|
<IsPackable>false</IsPackable>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
|
2
Props/.vscode/launch.json
vendored
2
Props/.vscode/launch.json
vendored
@ -10,7 +10,7 @@
|
|||||||
"request": "launch",
|
"request": "launch",
|
||||||
"preLaunchTask": "build",
|
"preLaunchTask": "build",
|
||||||
// If you have changed target frameworks, make sure to update the program path.
|
// If you have changed target frameworks, make sure to update the program path.
|
||||||
"program": "${workspaceFolder}/bin/Debug/net7.0/Props.dll",
|
"program": "${workspaceFolder}/bin/Debug/net6.0/Props.dll",
|
||||||
"args": [],
|
"args": [],
|
||||||
"cwd": "${workspaceFolder}",
|
"cwd": "${workspaceFolder}",
|
||||||
"stopAtEntry": false,
|
"stopAtEntry": false,
|
||||||
|
@ -3,12 +3,11 @@
|
|||||||
<!-- Publish arguments: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-publish -->
|
<!-- 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 -->
|
<!-- Single file docs: https://docs.microsoft.com/en-us/dotnet/core/deploying/single-file/overview -->
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net8.0</TargetFramework>
|
<TargetFramework>net6.0</TargetFramework>
|
||||||
<PublishSingleFile>true</PublishSingleFile>
|
<PublishSingleFile>true</PublishSingleFile>
|
||||||
<SelfContained>true</SelfContained>
|
|
||||||
<PublishTrimmed>false</PublishTrimmed>
|
<PublishTrimmed>false</PublishTrimmed>
|
||||||
<PublishReadyToRun>true</PublishReadyToRun>
|
<PublishReadyToRun>true</PublishReadyToRun>
|
||||||
<InvariantGlobalization>true</InvariantGlobalization>
|
<!-- <IncludeNativeLibrariesForSelfExtract>true</IncludeNativeLibrariesForSelfExtract> -->
|
||||||
<IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
|
<IncludeAllContentForSelfExtract>true</IncludeAllContentForSelfExtract>
|
||||||
<UserSecretsId>aspnet-Props-20A2A991-EC61-4C06-91D2-953482026A7B</UserSecretsId>
|
<UserSecretsId>aspnet-Props-20A2A991-EC61-4C06-91D2-953482026A7B</UserSecretsId>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
@ -18,21 +17,21 @@
|
|||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="8.0.7" />
|
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="6.0.1" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="8.0.7" />
|
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="6.0.1" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="8.0.7" />
|
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="6.0.1" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="8.0.7">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="6.0.1">
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="8.0.7" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Proxies" Version="6.0.1" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="8.0.7" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="6.0.1" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="8.0.7" />
|
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="6.0.1" />
|
||||||
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="8.0.7">
|
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.1">
|
||||||
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
||||||
<PrivateAssets>all</PrivateAssets>
|
<PrivateAssets>all</PrivateAssets>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="8.0.3" />
|
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.1" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
@ -7,7 +7,6 @@ using Microsoft.Extensions.Hosting;
|
|||||||
using Props.Data;
|
using Props.Data;
|
||||||
using Props.Models.User;
|
using Props.Models.User;
|
||||||
using Props.Services.Modules;
|
using Props.Services.Modules;
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace Props
|
namespace Props
|
||||||
{
|
{
|
||||||
@ -44,7 +43,16 @@ namespace Props
|
|||||||
}
|
}
|
||||||
services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true)
|
services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true)
|
||||||
.AddEntityFrameworkStores<ApplicationDbContext>();
|
.AddEntityFrameworkStores<ApplicationDbContext>();
|
||||||
services.AddRazorPages();
|
|
||||||
|
services.AddLocalization(options =>
|
||||||
|
{
|
||||||
|
options.ResourcesPath = "locales";
|
||||||
|
});
|
||||||
|
|
||||||
|
services.AddRazorPages().AddViewLocalization(options =>
|
||||||
|
{
|
||||||
|
options.ResourcesPath = "locales";
|
||||||
|
}).AddDataAnnotationsLocalization();
|
||||||
|
|
||||||
services.AddSingleton<IShopManager, ModularShopManager>();
|
services.AddSingleton<IShopManager, ModularShopManager>();
|
||||||
services.AddScoped<IMetricsManager, LiveMetricsManager>();
|
services.AddScoped<IMetricsManager, LiveMetricsManager>();
|
||||||
@ -61,8 +69,14 @@ namespace Props
|
|||||||
app.UseMigrationsEndPoint();
|
app.UseMigrationsEndPoint();
|
||||||
|
|
||||||
app.UseHttpsRedirection();
|
app.UseHttpsRedirection();
|
||||||
|
|
||||||
app.UseStaticFiles();
|
app.UseStaticFiles();
|
||||||
|
|
||||||
|
app.UseRequestLocalization(options =>
|
||||||
|
{
|
||||||
|
options.SetDefaultCulture("en-US");
|
||||||
|
});
|
||||||
|
|
||||||
app.UseRouting();
|
app.UseRouting();
|
||||||
|
|
||||||
app.UseAuthentication();
|
app.UseAuthentication();
|
||||||
|
16
Props/locales/Pages/Index.en-US.resx
Normal file
16
Props/locales/Pages/Index.en-US.resx
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<data name="description" xml:space="preserve">
|
||||||
|
<value>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!</value>
|
||||||
|
</data>
|
||||||
|
<data name="help.title" xml:space="preserve">
|
||||||
|
<value>Getting Started</value>
|
||||||
|
</data>
|
||||||
|
<data name="help.searchIntroduction" xml:space="preserve">
|
||||||
|
<value>Props is a site designed to help with the online project component shopping experience. Create project component lists and search across multiple commonly used online retail stores to find the ideal purchase.</value>
|
||||||
|
</data>
|
||||||
|
<!-- single line comment -->
|
||||||
|
<!-- multi
|
||||||
|
line
|
||||||
|
comment -->
|
||||||
|
</root>
|
8711
Props/package-lock.json
generated
8711
Props/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -4,36 +4,36 @@
|
|||||||
"build": "webpack --config webpack.prod.js",
|
"build": "webpack --config webpack.prod.js",
|
||||||
"build:dev": "webpack --config webpack.dev.js",
|
"build:dev": "webpack --config webpack.dev.js",
|
||||||
"build:prod": "webpack --config webpack.prod.js",
|
"build:prod": "webpack --config webpack.prod.js",
|
||||||
"postinstall": "bash ../scripts/clear_webpack_cache.sh"
|
"postinstall": "python3 ../scripts/clear_webpack_cache.py"
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.24.9",
|
"@babel/core": "^7.14.8",
|
||||||
"@babel/eslint-parser": "^7.24.8",
|
"@babel/eslint-parser": "^7.14.7",
|
||||||
"@babel/plugin-transform-runtime": "^7.24.7",
|
"@babel/plugin-transform-runtime": "^7.14.5",
|
||||||
"@babel/preset-env": "^7.24.8",
|
"@babel/preset-env": "^7.14.8",
|
||||||
"babel-loader": "^9.1.3",
|
"babel-loader": "^8.2.2",
|
||||||
"copy-webpack-plugin": "^12.0.2",
|
"copy-webpack-plugin": "^9.0.1",
|
||||||
"css-loader": "^7.1.2",
|
"css-loader": "^6.2.0",
|
||||||
"eslint": "^9.7.0",
|
"eslint": "^7.31.0",
|
||||||
"glob": "^11.0.0",
|
"glob": "^7.1.7",
|
||||||
"sass": "^1.77.8",
|
"sass": "^1.35.2",
|
||||||
"sass-loader": "^14.2.1",
|
"sass-loader": "^12.1.0",
|
||||||
"style-loader": "^4.0.0",
|
"style-loader": "^3.2.1",
|
||||||
"webpack": "^5.93.0",
|
"webpack": "^5.65.0",
|
||||||
"webpack-cli": "^5.1.4",
|
"webpack-cli": "^4.9.1",
|
||||||
"webpack-merge": "^6.0.1"
|
"webpack-merge": "^5.8.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.24.8",
|
"@babel/runtime": "^7.14.8",
|
||||||
"alpinejs": "^3.14.1",
|
"alpinejs": "^3.2.2",
|
||||||
"axios": "^1.7.2",
|
"axios": "^0.21.1",
|
||||||
"bootstrap": "^5.3.3",
|
"bootstrap": "^5.0.2",
|
||||||
"bootstrap-icons": "^1.11.3",
|
"bootstrap-icons": "^1.5.0",
|
||||||
"just-clone": "^6.2.0",
|
"just-clone": "^3.2.1",
|
||||||
"on-change": "^5.0.1",
|
"on-change": "^3.0.2",
|
||||||
"simplebar": "^6.2.7"
|
"simplebar": "^5.3.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -72,11 +72,7 @@ let config = {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
})
|
})
|
||||||
],
|
]
|
||||||
performance: {
|
|
||||||
maxEntrypointSize: 1048576,
|
|
||||||
maxAssetSize: 1048576
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = config;
|
module.exports = config;
|
||||||
|
@ -1,9 +0,0 @@
|
|||||||
name: props
|
|
||||||
channels:
|
|
||||||
- conda-forge
|
|
||||||
dependencies:
|
|
||||||
- dotnet-sdk=8
|
|
||||||
- nodejs=20
|
|
||||||
- icu
|
|
||||||
- tar
|
|
||||||
- zip
|
|
53
props.sln
53
props.sln
@ -1,53 +0,0 @@
|
|||||||
|
|
||||||
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
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
rm -rf ./Props/node_modules/.cache/webpack
|
|
@ -1,21 +0,0 @@
|
|||||||
#!/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
|
|
@ -6,9 +6,9 @@ import shutil
|
|||||||
|
|
||||||
PROP_SHOP_MODULES_DIR = "./Props.Shop/"
|
PROP_SHOP_MODULES_DIR = "./Props.Shop/"
|
||||||
PROPS_SHOP_MODULES_DST = "./Props/shops/."
|
PROPS_SHOP_MODULES_DST = "./Props/shops/."
|
||||||
NET_VER = "net7.0"
|
NET_VER = "net6.0"
|
||||||
|
|
||||||
SHOP_MODULE_GLOB = "output/shop-modules/**/*.{ext}"
|
SHOP_MODULE_GLOB = "**/bin/Release/{net_ver}/publish/*.{ext}"
|
||||||
EXTS = ["deps.json", "dll"]
|
EXTS = ["deps.json", "dll"]
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
#!/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
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
dotnet publish --configuration Release --output output/shop-modules Props.Shop/Props.Shop.sln
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
dotnet test --logger xunit --no-restore Props.Tests
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
dotnet test --logger xunit --no-restore Props.Shop/Props.Shop.sln
|
|
Loading…
Reference in New Issue
Block a user