KO Build and Testing - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
์์ค ๋น๋ ๋ฐ ํ ์คํธ
Home ยท BASIC ยท UO API ยท AโZ ยท Examples ยท Languages
๊ฐ๋ฐ ํ๊ฒฝ
- Windows x64 ๋ฐ 64-bit PowerShell;
global.json์ด ์ง์ ํ .NET SDK ๋๋ ๊ฐ์ feature band์ ํธํ patch;- ์ฌ์ฉ ๊ฐ๋ฅํ NuGet cache ๋๋ restore์ฉ ๋คํธ์ํฌ;
external\YokoTheia๋ฅผ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ Node.js ๋ฐ npm;- ์ ์ฒด ์๋์ , without-Basic ์๋์ ๋ฐ NativeAOT ์ถ๋ ฅ์ ๊ฐ๊ฐ ๋ง๋ค ์ถฉ๋ถํ ๊ณต๊ฐ.
SDK feature band, Theia package versions ๋๋ lockfile์ ๋ฐ๊พผ ๊ฒฝ์ฐ IDE๋ฅผ ํฌํจํ ์ ์ฒด ํ ์คํธ๋ฅผ ๋ค์ ์คํํด์ผ ํฉ๋๋ค.
.NET restore ๋ฐ ํ ์คํธ
project ๋ฃจํธ์์ ์คํํฉ๋๋ค.
dotnet --version
dotnet restore .\ClassicUO.sln -p:NuGetAudit=false
dotnet test .\tests\ClassicUO.UnitTests\ClassicUO.UnitTests.csproj -c Release
dotnet test .\external\InjectionScript\src\InjectionScript.Tests\InjectionScript.Tests.csproj -c Release
dotnet test .\external\InjectionScript\src\InjectionScript.Lsp.Tests\InjectionScript.Lsp.Tests.csproj -c Release
์ ์ฒด ์๋์
๊ณผ project-without-yoko๋ฅผ ๊ฐ๊ฐ restore, build, testํด์ผ ํฉ๋๋ค. ์ ์ฒด ๋น๋๊ฐ ์ฑ๊ณตํ๋ค๊ณ ํด์ without-Basic ์๋์
์์ Basic UI, payload ๋ฐ ์์กด์ฑ์ด ๋ชจ๋ ์ ๊ฑฐ๋์๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
Eclipse Theia
IDE frontend, Basic language extension ๋๋ ๊ด๋ จ ์์กด์ฑ์ ์์ ํ ๊ฒฝ์ฐ ๋ค์ ๋น๋ํฉ๋๋ค.
cd .\external\YokoTheia
npm install
npm run build
๋น๋ ํ์๋ Run ๋ฉ๋ด, ๋ชจ๋ ๋จ์ถํค, Explorer์ ๋ค์ค ์คํฌ๋ฆฝํธ ์ ํ, ์ํ ์์, Outline, Problems, Output, API Inspector, Manual, Variables, Watch, Call Stack, panel resize/detach ๋ฐ IDE๋ฅผ ๋ค์ ์ด์์ ๋ Runtime ์ํ ๋๊ธฐํ๋ฅผ ํ์ธํฉ๋๋ค.
NativeAOT ๋ฐ ๊ฒ์ ๋ฐ์ดํฐ
์ต์ข Windows ํด๋ผ์ด์ธํธ๋ NativeAOT x64๋ก ๊ฒ์ฆํฉ๋๋ค. ๋ณดํธ๋๋ Ultima Online ๋ฐ์ดํฐ๋ฅผ repository์ ํฌํจํ์ง ์์ต๋๋ค. graphical smoke test๋ ๋ก์ปฌ์์ ํฉ๋ฒ์ ์ผ๋ก ๋ณด์ ํ ๊ฒ์ ๋ฐ์ดํฐ๋ก ๋ฐ๋ก ์ํํฉ๋๋ค.
ํ์ ๊ฒ์ฆ ๋งคํธ๋ฆญ์ค
| ๋์ | ์์ ๊ฒฐ๊ณผ |
|---|---|
| ClassicUO Full | ๋ชจ๋ ํ ์คํธ ํต๊ณผ |
| ClassicUO without Basic | ๋ชจ๋ ํ ์คํธ ํต๊ณผ |
| InjectionScript Runtime | ๋ชจ๋ ํ ์คํธ ํต๊ณผ |
| LSP / IDE | ๋ชจ๋ ํ ์คํธ ํต๊ณผ |
| Full NativeAOT | build errors 0 |
| without-Basic build | build errors 0 |
| Runtime/API Manual parity | ๋ชจ๋ ์ฐจ์ด๊ฐ 0 |
| Native payload probes | ๋ ํด๋ผ์ด์ธํธ ๋ชจ๋ passed |
| ์์ถ ํด์ ํ ZIP ๊ฒ์ฆ | passed |
๊ธฐ๋ฅ ํ๊ท ๊ฒ์ฌ
- AutoLoad ์ ํ์ด ์บ๋ฆญํฐ๋ณ๋ก ์ ์ฅ๋๊ณ ์์ ์ ์ฌ๋ฐ๋ฅธ ํ์ผ์ ์ฝ์;
- Basic Auto Load๊ฐ ์ ํ procedures๋ฅผ ํ์ํ๊ณ ์คํ;
- Basic Example์ด ์ผ๋ฐ ๋งคํฌ๋ก์ ์ ์ฅ๋๊ณ ์คํ;
- IDE ์ ํ์ผ๊ณผ ๊ธฐ์กด ํ์ผ์ด ์ฌ๋ฐ๋ฅธ ์์น์ ์ ์ฅ;
- ์คํฌ๋กค ์์ด ์ ์ฒด ๋ฌธ์ ์ด๊ธฐํ;
- Run, Debug, Pause, Continue, Step, Stop ๋ฐ all-script commands;
- ์ฌ๋ฌ ์คํฌ๋ฆฝํธ ์ ํ๊ณผ ๋ น์/๋ ธ๋์/๊ฒ์ ์ํ;
- API Manual์ด Runtime registration๋ง ์ฌ์ฉ;
- ๋ชจ๋ Basic examples๊ฐ ๊ฒ์ฆ ๊ฐ๋ฅ;
- ์ง์ ์ธ์ด์์ ๊ธฐ์ ๊ตฌ๋ฌธ์ด ๋ฒ์ญ๋์ง ์์;
- without-Basic ์๋์ ์ Basic UI ๋ฐ ์คํ ์์กด์ฑ์ด ์์.
๋ฐฐํฌ ์์นด์ด๋ธ ๊ฒ์ฌ
ZIP์ ๋ง๋ ๋ค ์ ์์ ํด๋์ ํ๊ณ staging tree์ ๊ฐ ํ์ผ์ SHA-256์ ๋น๊ตํ ๋ค์ ๋ ์คํ payload์ native probes๋ฅผ ๋ค์ ์คํํฉ๋๋ค. ZIP ์์ฒด์ SHA-256์ ์ธ์ ํ .sha256.txt์ ๊ธฐ๋กํ์ง๋ง Wiki์๋ ํน์ ๋ฐฐํฌ ํ์ผ์ ๊ฐ์ ๊ณ ์ ํด ์ฐ์ง ์์ต๋๋ค.
์๋ ํ ์คํธ๋ ์ค์ ์๋ฒ ํ ์คํธ๋ฅผ ๋์ ํ์ง ์์ต๋๋ค. server gump, shard๋ณ packet extension, ๊ฒ์ ๋ฐ์ดํฐ ํธํ์ฑ, ๊ธ๊ผด, hover, Info Bar, ์์ ํ์๊ธฐ ๋ฐ ์ด๋์ ์ง์ ํ์ธํด์ผ ํฉ๋๋ค.