Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
eb5ba0a
#29 .devcontainer: added.
numbworks Jul 27, 2026
18fd8af
#29 .gitattributes: updated.
numbworks Jul 27, 2026
5da7d23
#29 codecoverage*: names updated.
numbworks Jul 27, 2026
52b16a2
#29 build.ps1, numbworks_logo_128x128px.png: removed.
numbworks Jul 27, 2026
f74443c
#29 README.md: updated.
numbworks Jul 27, 2026
623d285
#29 .gitignore: updated.
numbworks Jul 27, 2026
6974867
#29 .vscode: added.
numbworks Jul 27, 2026
30e3d39
#29 numbworks_logo_128x128px.ico: removed.
numbworks Jul 27, 2026
a0c90c4
#29 NW.UnivariateForecastingClient -> NW.UnivariateForecasting.CLI.
numbworks Jul 27, 2026
9ab0f13
#29 Removed footer comment.
numbworks Jul 27, 2026
fa42396
#29 nwmakefiles: added.
numbworks Jul 27, 2026
df9481b
#29 -> docs*.md
numbworks Jul 27, 2026
7d22f99
#29 Directory.Build.props: added.
numbworks Jul 27, 2026
f56c690
#29 CHANGELOG: updated.
numbworks Jul 27, 2026
fa37d64
#29 dotnet.yml: updated.
numbworks Jul 27, 2026
d3cf7f5
#29 NW.UnivariateForecasting.csproj: updated.
numbworks Jul 27, 2026
96e29d8
#29 NW.UnivariateForecasting.csproj: updated.
numbworks Jul 27, 2026
959711e
#29 NW.UnivariateForecasting.CLI.csproj: updated.
numbworks Jul 27, 2026
debac8e
#29 NW.UnivariateForecasting.CLI.UnitTests.csproj: updated.
numbworks Jul 27, 2026
61785cd
#29 NW.UnivariateForecasting.UnitTests.csproj: updated.
numbworks Jul 27, 2026
22208ce
#29 docs-nw.univariateforecasting.md: updated.
numbworks Jul 27, 2026
bbf33a4
#29 CHANGELOG: updated.
numbworks Jul 27, 2026
eb1b3d6
#29 docs-nw.univariateforecasting.cli.md: updated.
numbworks Jul 27, 2026
aa5db45
#29 Screen* folders: removed.
numbworks Jul 27, 2026
e197045
#29 nwbuilders: added.
numbworks Jul 27, 2026
e83830f
#29 data: added.
numbworks Jul 27, 2026
0bb4984
#29 Fixed failing test.
numbworks Jul 27, 2026
2a98b25
#29 FilenameFactoryTests: fixed failing test.
numbworks Jul 27, 2026
cf3bbf1
#29 SerializerTests: fixed failing test.
numbworks Jul 27, 2026
4f2a149
#29 UnivariateForecasterTests: fixed failing test.
numbworks Jul 27, 2026
f9d1de0
#29 UnivariateForecasterTests: fixed failing tests.
numbworks Jul 27, 2026
00622fa
#29 SerializerTests: fixed failing tests.
numbworks Jul 27, 2026
2588c1b
#29 LibraryBrokerTests: fixed failing tests.
numbworks Jul 27, 2026
b26ce35
#29 codecoverage*: updated.
numbworks Jul 27, 2026
0ca3fc8
#29 Program.cs: removed boilerplate.
numbworks Jul 27, 2026
1b67949
#29 TerminalWindows: added.
numbworks Jul 27, 2026
0b06f87
#29 AsciiBannerManager: updated and moved to CLI.
numbworks Jul 28, 2026
0cbbb00
#29 UnivariateForecasterTests: fixed failing tests.
numbworks Jul 28, 2026
9923347
#29 AsciiBannerManagerTests: fixed failing tests.
numbworks Jul 28, 2026
704ee91
#29 ApplicationAbout: removed.
numbworks Jul 28, 2026
3e4a7e4
#29 ApplicationAbout: removed.
numbworks Jul 28, 2026
44a12cb
#29 MessageCollection -> Messages.
numbworks Jul 28, 2026
9510933
#29 MessageCollection: adopted naming convention for CLI strings.
numbworks Jul 28, 2026
5ba3bbc
#29 MessageCollection -> CommandLineString
numbworks Jul 28, 2026
ae85f8f
#29 RoundingDigitsValidator -> ArgumentParsing
numbworks Jul 28, 2026
abb6c8b
#29 ForecastingDenominatorValidator -> ArgumentParsing
numbworks Jul 28, 2026
6d07615
#29 ExitCodes -> ArgumentParsing
numbworks Jul 28, 2026
7915b3f
#29 ForecastData -> ArgumentParsing
numbworks Jul 28, 2026
5168a3f
#29 *BagFactory -> ArgumentParsing
numbworks Jul 28, 2026
2c7de01
#29 UnivariateForecasterFactory -> ArgumentParsing
numbworks Jul 28, 2026
ab3f6a1
#29 ApplicationManager -> ArgumentManager, CLIManager.
numbworks Jul 28, 2026
bc0e99c
#29 CustomHelpTextGenerator: added.
numbworks Jul 28, 2026
5bb995d
#29 ArgumentManager, finetuning - Iteration 1.
numbworks Jul 28, 2026
3f80450
#29 ArgumentManager, finetuning - Iteration 2.
numbworks Jul 28, 2026
8a283b6
#29 ArgumentManager, finetuning - Iteration 3.
numbworks Jul 28, 2026
f969416
#29 ArgumentManager, finetuning - Iteration 3.
numbworks Jul 28, 2026
48d7b98
#29 ArgumentManager, finetuning - Iteration 4.
numbworks Jul 28, 2026
0ef58b1
#29 Methods_public, Methods_private, Support_methods: fixed.
numbworks Jul 28, 2026
504f3c0
#29 ArgumentManagerTests - Iteration 1.
numbworks Jul 28, 2026
0d5d491
#29 ArgumentManagerTests - Iteration 2.
numbworks Jul 28, 2026
b6f877d
#29 CLIManagerTests: added.
numbworks Jul 28, 2026
91f80c5
#29 codecoverage*: updated.
numbworks Jul 28, 2026
1ac0774
#29 tasks.json: nw.univariateforecasting when "--output".
numbworks Jul 28, 2026
0c35344
#29 *CLI.csproj: nw.univariateforecasting when "/home".
numbworks Jul 28, 2026
181d81f
#29 docs*, nwbuilders: updated.
numbworks Jul 28, 2026
e8a1f38
#29 docs*, nwbuilders: removed all the HTML tags because NuGet.org do…
numbworks Jul 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions .devcontainer/main/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
FROM mcr.microsoft.com/devcontainers/dotnet@sha256:e4fbb49c3ee92933e40c6974b42dda3051827b7ff932463edbd0b575f63a612c

RUN apt -y update && \
apt -y upgrade && \
apt -y install git && \
apt -y install go-md2man

RUN wget -nv https://github.com/numbworks/nwcommitaverages/releases/download/v2.0.1/nwcavg-v2.0.1-linux-amd64.deb -O /tmp/nwcavg-v2.0.1-linux-amd64.deb
RUN dpkg -i /tmp/nwcavg-v2.0.1-linux-amd64.deb

COPY data/TemplateClass /opt/templates/TemplateClass
RUN dotnet new install /opt/templates/TemplateClass

USER vscode
RUN dotnet tool install -g dotnet-reportgenerator-globaltool
RUN dotnet tool install -g dotnet-script
26 changes: 26 additions & 0 deletions .devcontainer/main/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"name": "nw.univariateforecasting",
"image": "nw.univariateforecasting:main",
"initializeCommand": "cd .devcontainer/main && docker build -f Dockerfile -t nw.univariateforecasting:main ../..",
"runArgs": ["--name", "nw.univariateforecasting-main"],
"containerEnv": {
"DEVCONTAINER_NAME": "nw.univariateforecasting",
"DOTNET_BIN_PATH": "/workspaces/.dotnet-bin"
},
"customizations": {
"vscode": {
"settings": {},
"extensions": [
"ms-dotnettools.csdevkit",
"ms-dotnettools.csharp",
"ms-vscode.PowerShell",
"shd101wyy.markdown-preview-enhanced"
]
}
},
"mounts": [
"source=nw.univariateforecasting-cache,target=/cache,type=volume",
"source=${localEnv:USERPROFILE}/Desktop/nw.univariateforecasting/,target=/home/nw.univariateforecasting/,type=bind,consistency=cached"
],
"postStartCommand": "bash .devcontainer/main/devcontainer.sh"
}
36 changes: 36 additions & 0 deletions .devcontainer/main/devcontainer.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#!/usr/bin/env bash
set -euo pipefail

PATH_CACHE=/cache
PATH_WORKSPACES=/workspaces
PATH_HOME=/home/vscode

sudo mkdir -p \
"$PATH_CACHE/obj" \
"$PATH_CACHE/bin" \
"$PATH_CACHE/runtime" \
"$PATH_CACHE/nuget" \
"$PATH_HOME/.nuget" \
"$PATH_WORKSPACES"

sudo rm -rf "$PATH_WORKSPACES/.dotnet-obj"
sudo rm -rf "$PATH_WORKSPACES/.dotnet-bin"
sudo rm -rf /dotnet-runtime-cache
sudo rm -rf "$PATH_HOME/.nuget/packages"

sudo ln -s "$PATH_CACHE/obj" "$PATH_WORKSPACES/.dotnet-obj"
sudo ln -s "$PATH_CACHE/bin" "$PATH_WORKSPACES/.dotnet-bin"
sudo ln -s "$PATH_CACHE/runtime" /dotnet-runtime-cache
sudo ln -s "$PATH_CACHE/nuget" "$PATH_HOME/.nuget/packages"

sudo chown -R vscode:vscode "$PATH_CACHE"

sudo chown -h vscode:vscode \
"$PATH_WORKSPACES/.dotnet-obj" \
"$PATH_WORKSPACES/.dotnet-bin" \
/dotnet-runtime-cache \
"$PATH_HOME/.nuget/packages"

mkdir -p "$HOME/.vscode-server/data/User/globalStorage"
rm -rf "$HOME/.vscode-server/data/User/globalStorage/ms-dotnettools.vscode-dotnet-runtime"
ln -s /dotnet-runtime-cache "$HOME/.vscode-server/data/User/globalStorage/ms-dotnettools.vscode-dotnet-runtime"
87 changes: 64 additions & 23 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,26 +1,67 @@
# Auto detect text files
###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto

# Custom for Visual Studio
*.cs diff=csharp text=auto eol=lf
*.vb diff=csharp text=auto eol=lf
*.fs diff=csharp text=auto eol=lf
*.fsi diff=csharp text=auto eol=lf
*.fsx diff=csharp text=auto eol=lf
*.sln text eol=crlf merge=union
*.csproj merge=union
*.vbproj merge=union
*.fsproj merge=union
*.dbproj merge=union
###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs diff=csharp

# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln merge=binary
#*.csproj merge=binary
#*.vbproj merge=binary
#*.vcxproj merge=binary
#*.vcproj merge=binary
#*.dbproj merge=binary
#*.fsproj merge=binary
#*.lsproj merge=binary
#*.wixproj merge=binary
#*.modelproj merge=binary
#*.sqlproj merge=binary
#*.wwaproj merge=binary

###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg binary
#*.png binary
#*.gif binary

###############################################################################
# diff behavior for common document formats
#
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the
# entries below.
###############################################################################
#*.doc diff=astextplain
#*.DOC diff=astextplain
#*.docx diff=astextplain
#*.DOCX diff=astextplain
#*.dot diff=astextplain
#*.DOT diff=astextplain
#*.pdf diff=astextplain
#*.PDF diff=astextplain
#*.rtf diff=astextplain
#*.RTF diff=astextplain

# Force LF for EOL‑sensitive files (CRLF breaks them on Linux)
*.sh text eol=lf
nwunif.md text eol=lf
25 changes: 17 additions & 8 deletions .github/workflows/dotnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: .NET

on:
push:
branches: [ main ]
branches: [ master ]
pull_request:
branches: [ main ]
branches: [ master ]

jobs:
build:
Expand All @@ -31,10 +31,19 @@ jobs:
working-directory: ./
run: dotnet test --no-build --verbosity normal

- name: Pack
working-directory: ./src/NW.UnivariateForecasting/
run: dotnet pack --configuration Release NW.UnivariateForecasting.csproj
- name: Find packages
run: Get-ChildItem -Recurse -Filter *.nupkg | Select-Object FullName

- name: Push to NuGet.org
working-directory: ./src/NW.UnivariateForecasting/bin/Release/
run: dotnet nuget push *.nupkg --source https://api.nuget.org/v3/index.json --api-key ${{secrets.NUGET_API_KEY}} --skip-duplicate
- name: Pack library
working-directory: ./src/NW.UnivariateForecasting
run: dotnet pack --configuration Release --no-build --output bin/Release

- name: Publish library to NuGet.org
run: Get-ChildItem ./src/NW.UnivariateForecasting/bin/Release/*.nupkg | ForEach-Object { dotnet nuget push $_.FullName --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }} --skip-duplicate }

- name: Pack tool
working-directory: ./src/NW.UnivariateForecasting.CLI
run: dotnet pack --configuration Release --no-build

- name: Publish tool to NuGet.org
run: Get-ChildItem ./src/NW.UnivariateForecasting.CLI/nupkg/*.nupkg | ForEach-Object { dotnet nuget push $_.FullName --source https://api.nuget.org/v3/index.json --api-key ${{ secrets.NUGET_API_KEY }} --skip-duplicate }
Loading
Loading