Skip to content

Compilation ko KR

GitHub Action edited this page Mar 16, 2021 · 42 revisions

컴파일

컴파일은 실행가능한 파일을 만드는 과정입니다. 만약 ASF에 자신이 만든 변경사항을 추가하고 싶거나 공식 릴리스 에서 제공하는 실행파일을 무슨 이유에서건 신뢰하지 않는 경우 하게 됩니다. 만약 당신이 개발자가 아니라 사용자라면 대부분 이미 컴파일된 바이너리를 사용하길 원할겁니다. 하지만 자신만의 바이너리를 사용하고 싶거나 뭔가 새로운 것을 배우고 싶다면 계속 읽으시기 바랍니다.

ASF는 필요로 하는 도구를 모두 가지고만 있다면 현재 지원되는 어떠한 플랫폼에서도 컴파일 될 수 있습니다.


.NET Core SDK

ASF를 컴파일하려면 플랫폼과 상관없이 런타임뿐아니라 전체 .NET Core SDK가 필요합니다. .NET Core 설치 페이지(영문) 에서 설치 방법을 찾을 수 있습니다. 당신의 OS에 맞는 .NET Core SDK 버전을 설치해야 합니다. 성공적인 설치 후에 dotnet 명령이 작동하고 실행되어야 합니다. dotnet --info 로 작동 여부를 확인할 수 있습니다. 또한 .NET Core SDK가 ASF의 런타임 요구사항 과 일치하는지 확인하시기 바랍니다.


컴파일

적절한 .NET Core SDK 버전이 실행되고 있다고 가정하고, ASF 리포에서 클론되었거나 다운받아 압축해제한 ASF 소스 디렉토리로 이동해서 다음을 실행합니다:

dotnet publish ArchiSteamFarm -c "Release" -f "net5.0" -o "out/generic"

리눅스나 OS X를 사용한다면, 대신 cc.sh 스크립트를 사용할 수도 있습니다. 이는 좀 더 복잡한 방식이지만 동일하게 동작합니다.

컴파일이 성공적으로 끝나면 out/generic 디렉토리에 소스 맛으로 된 ASF가 있습니다. 이것은 공식 일반 ASF 빌드도 동일하지만, 자체 빌드에 적합하도록 UpdateChannelUpdatePeriod0 값으로 되어있다는 점만 다릅니다.

OS 특화

특정한 필요가 있다면 OS 특화 .NET Core 패키지를 생성할 수도 있습니다. 일반적으로 처음에 컴파일에 사용한 기 설치된 .NET Core 런타임으로 실행 가능한 일반 맛을 방금 컴파일 했기 때문에 그럴일은 없습니다만, 만일 필요하다면 다음과 같이 입력하십시오.

dotnet publish ArchiSteamFarm -c "Release" -f "net5.0" -o "out/linux-x64" -r "linux-x64"

물론 대상으로 하는 OS 아키텍쳐에 따라 linux-x64win-x64 등으로 변경하십시오. 이 빌드도 업데이트가 비활성화됩니다.

.NET Framework

In a very rare case when you'd want to build generic-netf package, you can change target framework from net5.0 to net48. netf 변수를 컴파일하려면 .NET Core SDK 뿐 아니라 적절한 .NET Framework 개발자 팩이 필요함을 명심하십시오. 따라서 아래의 내용은 오직 윈도우에서만 동작합니다:

dotnet publish ArchiSteamFarm -c "Release" -f "net48" -o "out/generic-netf"

.NET Framework나 심지어 .NET Core SDK도 설치할 수 없다면 msbuild를 직접 호출할 수 있습니다.(linux-x86에서 mono를 사용하여 빌드한 경우 등) You'll also need to specify ASFNetFramework manually, as ASF by default disables netf build on non-Windows platforms:

msbuild /m /r /t:Publish /p:Configuration=Release /p:TargetFramework=net48 /p:PublishDir=out/generic-netf /p:ASFNetFramework=true ArchiSteamFarm

개발

ASF 코드를 편집하고 싶다면, 아무 .NET Core 호환 IDE나 사용할 수 있습니다. 옵션이긴 하지만 메모장으로 편집하고 위에서 설명한 dotnet 명령으로 컴파일 할 수도 있습니다. 하지만 윈도우의 경우 **최신버전의 Visual Studio**를 권장합니다. (무료 커뮤니티 버전이면 충분합니다)

리눅스나 OS X에서 ASF 코드 작업을 하고 싶다면 **최신 버전의 Visual Studio Code**를 추천합니다. 고전 Visual Studio만큼 풍족하진 않지만, 충분히 좋습니다.

물론 위의 모든 제안은 단지 권장사항일 뿐이고, 당신은 원하는 모든 것을 사용할 수 있지만, 결국 dotnet build 명령으로 귀결됩니다. We use JetBrains Rider for ASF development, although it's not a free solution.


태그

main branch is not guaranteed to be in a state that allows successful compilation or flawless ASF execution in the first place, since it's development branch just like stated in our release cycle. ASF를 소스에서 컴파일하거나 참조하려면 목적에 맞는 적절한 태그 를 사용해야 합니다. 이는 최소한 성공적인 컴파일을 보장하고, 안정 릴리스로 표시된 빌드는 거의 흠없는 실행도 가능합니다. In order to check the current "health" of the tree, you can use our continuous integrations - GitHub or AppVeyor.


공식 릴리스

Official ASF releases are compiled by GitHub on Windows, with latest .NET Core SDK that matches ASF runtime requirements. After passing tests, all packages are deployed as the release, also on GitHub. This also guarantees transparency, since GitHub always uses official public source for all builds, and you can compare checksums of GitHub artifacts with GitHub release assets. ASF 개발자는 개인 개발과정과 디버깅을 제외하고는 스스로 컴파일하거나 빌드를 게시하지 않습니다.

Clone this wiki locally