From add35a6fd6e237c75c646f9ee7727d75392a9b72 Mon Sep 17 00:00:00 2001
From: Gilles <43683714+corp-0@users.noreply.github.com>
Date: Wed, 13 Sep 2023 10:15:27 -0300
Subject: [PATCH] chore: init commit
---
.gitattributes | 2 +
.github/workflows/godot-ci.yml | 37 ++++++
.github/workflows/test-report.yml | 16 +++
.github/workflows/unit-testing.yml | 26 ++++
.gitignore | 119 ++++++++++++++++++
Godotstation/Content/Placeholder.cs | 5 +
Godotstation/Engine/Placeholder.cs | 5 +
Godotstation/GodotStation.csproj | 12 ++
Godotstation/GodotStation.sln | 27 ++++
.../NonGodotTests/NonGodotTests.csproj | 29 +++++
Godotstation/NonGodotTests/TestPlaceholder.cs | 13 ++
Godotstation/NonGodotTests/Usings.cs | 2 +
Godotstation/icon.png | Bin 0 -> 5709 bytes
Godotstation/icon.png.import | 34 +++++
Godotstation/project.godot | 19 +++
15 files changed, 346 insertions(+)
create mode 100644 .gitattributes
create mode 100644 .github/workflows/godot-ci.yml
create mode 100644 .github/workflows/test-report.yml
create mode 100644 .github/workflows/unit-testing.yml
create mode 100644 .gitignore
create mode 100644 Godotstation/Content/Placeholder.cs
create mode 100644 Godotstation/Engine/Placeholder.cs
create mode 100644 Godotstation/GodotStation.csproj
create mode 100644 Godotstation/GodotStation.sln
create mode 100644 Godotstation/NonGodotTests/NonGodotTests.csproj
create mode 100644 Godotstation/NonGodotTests/TestPlaceholder.cs
create mode 100644 Godotstation/NonGodotTests/Usings.cs
create mode 100644 Godotstation/icon.png
create mode 100644 Godotstation/icon.png.import
create mode 100644 Godotstation/project.godot
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000000..8ad74f78d9
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# Normalize EOL for all files that Git considers text files.
+* text=auto eol=lf
diff --git a/.github/workflows/godot-ci.yml b/.github/workflows/godot-ci.yml
new file mode 100644
index 0000000000..f1676fd8d3
--- /dev/null
+++ b/.github/workflows/godot-ci.yml
@@ -0,0 +1,37 @@
+name: export
+on: push
+env:
+ GODOT_VERSION: 4.1.1
+ WINDOWS_PRESET_NAME: Windows
+jobs:
+ export_game:
+ runs-on: ubuntu-latest
+ permissions: write-all
+ name: Export Game
+ steps:
+ - name: checkout
+ uses: actions/checkout@v3.3.0
+
+ # - name: export game
+ # id: export
+ # uses: firebelley/godot-export@v5.2.0
+ # with:
+ # godot_executable_download_url: https://downloads.tuxfamily.org/godotengine/${{ env.GODOT_VERSION }}/mono/Godot_v${{ env.GODOT_VERSION }}-stable_mono_linux_x86_64.zip
+ # godot_export_templates_download_url: https://downloads.tuxfamily.org/godotengine/${{ env.GODOT_VERSION }}/mono/Godot_v${{ env.GODOT_VERSION }}-stable_mono_export_templates.tpz
+ # relative_project_path: ./lemons
+ # archive_output: false
+
+ # # - name: Copy Steam Redistributables
+ # # run: |
+ # # cp -v ./lemons/steam_api64.dll ${{ steps.export.outputs.build_directory }}/${{ env.WINDOWS_PRESET_NAME }}/
+
+ # - name: Prepare Files for Artifact
+ # run: |
+ # mkdir -p ${{ github.workspace }}/build/${{ env.WINDOWS_PRESET_NAME }}
+ # cp -r ${{ steps.export.outputs.build_directory }}/${{ env.WINDOWS_PRESET_NAME }}/* ${{ github.workspace }}/build/${{ env.WINDOWS_PRESET_NAME }}
+
+ # - name: Upload Windows artifact
+ # uses: actions/upload-artifact@v2
+ # with:
+ # name: windows-artifact
+ # path: ${{ github.workspace }}/build/${{ env.WINDOWS_PRESET_NAME }}
diff --git a/.github/workflows/test-report.yml b/.github/workflows/test-report.yml
new file mode 100644
index 0000000000..cbdd8b2c76
--- /dev/null
+++ b/.github/workflows/test-report.yml
@@ -0,0 +1,16 @@
+name: 'Test Report'
+on:
+ workflow_run:
+ workflows: ['Unit Testing']
+ types:
+ - completed
+jobs:
+ report:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: dorny/test-reporter@v1
+ with:
+ artifact: test-results
+ name: XUnit tests
+ path: '*.xml'
+ reporter: dotnet-trx
\ No newline at end of file
diff --git a/.github/workflows/unit-testing.yml b/.github/workflows/unit-testing.yml
new file mode 100644
index 0000000000..c2c8025bd5
--- /dev/null
+++ b/.github/workflows/unit-testing.yml
@@ -0,0 +1,26 @@
+name: Unit Testing
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+jobs:
+ tests:
+ name: Dotnet tests
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-dotnet@v3
+ with:
+ dotnet-version: '6'
+ - name: Run tests
+ run: |
+ cd Godotstation
+ dotnet test --logger "trx;LogFileName=TestResults.xml"
+ - uses: actions/upload-artifact@v2
+ if: success() || failure()
+ with:
+ name: test-results
+ path: ${{ github.workspace }}/Godotstation/NonGodotTests/TestResults/TestResults.xml
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000..756b39c562
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,119 @@
+# Godot 4+ specific ignores
+.godot/
+
+# Godot-specific ignores
+.import/
+
+# Imported translations (automatically generated from CSV files)
+*.translation
+
+# Mono-specific ignores
+.mono/
+.idea/
+.vscode/
+data_*/
+mono_crash.*.json
+
+# dotnet-specific ignores
+*.swp
+*.*~
+project.lock.json
+.DS_Store
+*.pyc
+nupkg/
+
+# Visual Studio Code
+.vscode/
+
+# Rider
+.idea/
+
+# Visual Studio
+.vs/
+
+# Fleet
+.fleet/
+
+# Code Rush
+.cr/
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+*.sln.DotSettings.user
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+build/
+bld/
+[Bb]in/
+[Oo]bj/
+[Oo]ut/
+msbuild.log
+msbuild.err
+msbuild.wrn
+
+*_i.c
+*_p.c
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.log
+*.scc
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.Publish.xml
+
+# Enable nuget.exe in the .nuget folder (though normally executables are not tracked)
+!.nuget/NuGet.exe
+
+# Windows Azure Build Output
+csx
+*.build.csdef
+
+# Windows Store app package directory
+AppPackages/
+
+# NuGet Packages Directory
+packages/
+
+# Test results produced by build
+TestResults.xml
+
+# Nuget outputs
+nuget/*.nupkg
+release.cmd
+release.sh
+localpackages/
+paket-files
+*.orig
+docsrc/content/license.md
+docsrc/content/release-notes.md
+.fake
+docsrc/tools/FSharp.Formatting.svclog
\ No newline at end of file
diff --git a/Godotstation/Content/Placeholder.cs b/Godotstation/Content/Placeholder.cs
new file mode 100644
index 0000000000..565891860a
--- /dev/null
+++ b/Godotstation/Content/Placeholder.cs
@@ -0,0 +1,5 @@
+namespace GodotStation.Content;
+
+public class Placeholder
+{
+}
\ No newline at end of file
diff --git a/Godotstation/Engine/Placeholder.cs b/Godotstation/Engine/Placeholder.cs
new file mode 100644
index 0000000000..d3582e4e07
--- /dev/null
+++ b/Godotstation/Engine/Placeholder.cs
@@ -0,0 +1,5 @@
+namespace GodotStation.Engine;
+
+public class Placeholder
+{
+}
\ No newline at end of file
diff --git a/Godotstation/GodotStation.csproj b/Godotstation/GodotStation.csproj
new file mode 100644
index 0000000000..18eefebe24
--- /dev/null
+++ b/Godotstation/GodotStation.csproj
@@ -0,0 +1,12 @@
+
+
+ net6.0
+ true
+ enable
+ false
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Godotstation/GodotStation.sln b/Godotstation/GodotStation.sln
new file mode 100644
index 0000000000..4d7e6c452c
--- /dev/null
+++ b/Godotstation/GodotStation.sln
@@ -0,0 +1,27 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GodotStation", "GodotStation.csproj", "{D4075258-E5DF-48F7-8523-BDB27FCDC1B4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NonGodotTests", "NonGodotTests\NonGodotTests.csproj", "{9260A73F-4968-4640-84E1-16BE584FC776}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ ExportDebug|Any CPU = ExportDebug|Any CPU
+ ExportRelease|Any CPU = ExportRelease|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D4075258-E5DF-48F7-8523-BDB27FCDC1B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D4075258-E5DF-48F7-8523-BDB27FCDC1B4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D4075258-E5DF-48F7-8523-BDB27FCDC1B4}.ExportDebug|Any CPU.ActiveCfg = ExportDebug|Any CPU
+ {D4075258-E5DF-48F7-8523-BDB27FCDC1B4}.ExportDebug|Any CPU.Build.0 = ExportDebug|Any CPU
+ {D4075258-E5DF-48F7-8523-BDB27FCDC1B4}.ExportRelease|Any CPU.ActiveCfg = ExportRelease|Any CPU
+ {D4075258-E5DF-48F7-8523-BDB27FCDC1B4}.ExportRelease|Any CPU.Build.0 = ExportRelease|Any CPU
+ {9260A73F-4968-4640-84E1-16BE584FC776}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9260A73F-4968-4640-84E1-16BE584FC776}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9260A73F-4968-4640-84E1-16BE584FC776}.ExportDebug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9260A73F-4968-4640-84E1-16BE584FC776}.ExportDebug|Any CPU.Build.0 = Debug|Any CPU
+ {9260A73F-4968-4640-84E1-16BE584FC776}.ExportRelease|Any CPU.ActiveCfg = Debug|Any CPU
+ {9260A73F-4968-4640-84E1-16BE584FC776}.ExportRelease|Any CPU.Build.0 = Debug|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/Godotstation/NonGodotTests/NonGodotTests.csproj b/Godotstation/NonGodotTests/NonGodotTests.csproj
new file mode 100644
index 0000000000..8b33d24283
--- /dev/null
+++ b/Godotstation/NonGodotTests/NonGodotTests.csproj
@@ -0,0 +1,29 @@
+
+
+
+ net6.0
+ enable
+ enable
+
+ false
+
+
+
+
+
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+ all
+
+
+
+
+
+
+
+
diff --git a/Godotstation/NonGodotTests/TestPlaceholder.cs b/Godotstation/NonGodotTests/TestPlaceholder.cs
new file mode 100644
index 0000000000..46708560c2
--- /dev/null
+++ b/Godotstation/NonGodotTests/TestPlaceholder.cs
@@ -0,0 +1,13 @@
+using GodotStation.Engine;
+
+namespace NonGodotTests;
+
+public class TestPlaceholder
+{
+ [Fact]
+ public void TestPlaceHolderIsNotNull()
+ {
+ Placeholder placeholder = new();
+ placeholder.ShouldNotBeNull();
+ }
+}
\ No newline at end of file
diff --git a/Godotstation/NonGodotTests/Usings.cs b/Godotstation/NonGodotTests/Usings.cs
new file mode 100644
index 0000000000..bd8299f6f2
--- /dev/null
+++ b/Godotstation/NonGodotTests/Usings.cs
@@ -0,0 +1,2 @@
+global using Xunit;
+global using Shouldly;
\ No newline at end of file
diff --git a/Godotstation/icon.png b/Godotstation/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..b4cfb51d43474258f849069d22c02f15811e552d
GIT binary patch
literal 5709
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