Skip to content

Compilation lol US

ArchiBot edited this page Jun 26, 2021 · 18 revisions

COMPILASHUN

COMPILASHUN IZ TEH PROCES OV CREATIN EXECUTABLE FILE. DIS AR TEH WUT U WANTS 2 DO IF U WANTS 2 ADD UR OWN CHANGEZ 2 ASF, OR IF U 4 WHATEVR REASON DOAN TRUST EXECUTABLE FILEZ PROVIDD IN OFFISHUL RELEASEZ. IF URE USR AN NOT DEVELOPR, MOST LIKELY U WANTS 2 USE ALREADY PRECOMPILD BINARIEZ, BUT IF UD LIEK 2 USE UR OWN ONEZ, OR LERN SOMETHIN NEW, CONTINUE READIN.

ASF CAN BE COMPILD ON ANY CURRENTLY SUPPORTD PLATFORM, AS LONG AS U HAS ALL NEEDD TOOLS 2 DO SO.


.NET SDK

Regardless of platform, you need full .NET SDK (not just runtime) in order to compile ASF. Installation instructions can be found on .NET download page. You need to install appropriate .NET SDK version for your OS. AFTR SUCCESFUL INSTALLASHUN, dotnet COMMAND SHUD BE WERKIN AN OPERATIV. U CAN VERIFY IF IT WERKZ WIF dotnet --info. Also ensure that your .NET SDK matches ASF runtime requirements.


COMPILASHUN

Assuming you have .NET SDK operative and in appropriate version, simply navigate to source ASF directory (cloned or downloaded and unpacked ASF repo) and execute:

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

IF URE USIN LINUX/OS X, U CAN INSTEAD USE cc.sh SCRIPT WHICH WILL DO TEH SAME, IN BIT MOAR COMPLEX MANNR.

IF COMPILASHUN ENDD SUCCESFULLY, U CAN FIND UR ASF IN source FLAVR IN out/generic DIRECTORY. DIS AR TEH TEH SAME AS OFFISHUL generic ASF BUILD, BUT IT HAS FORCD UpdateChannel AN UpdatePeriod OV 0, WHICH IZ APPROPRIATE 4 SELF-BUILDZ.

OS-SPECIFIC

You can also generate OS-specific .NET package if you have a specific need. In general you shouldn't do that because you've just compiled generic flavour that you can run with your already-installed .NET runtime that you've used for the compilation in the first place, but just in case you want to:

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

OV COURSE, REPLACE linux-x64 WIF OS-ARCHITECCHUR DAT U WANTS 2 TARGET, SUCH AS win-x64. DIS BUILD WILL ALSO HAS UPDATEZ DISABLD.

.NET FRAMEWORK

IN VRY RARE CASE WHEN UD WANTS 2 BUILD generic-netf PACKAGE, U CAN CHANGE TARGET FRAMEWORK FRUM net5.0 2 net48. Keep in mind that you'll need appropriate .NET Framework developer pack for compiling netf variant, in addition to .NET SDK, so the below will work only on Windows:

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

In case of being unable to install .NET Framework or even .NET SDK itself (e.g. because of building on linux-x86 with mono), you can call msbuild directly. ULL ALSO NED 2 SPECIFY ASFNetFramework MANUALLY, AS ASF BY DEFAULT DISABLEZ 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

DEVELOPMENT

If you'd like to edit ASF code, you can use any .NET compatible IDE for that purpose, although even that is optional, since you can as well edit with a notepad and compile with dotnet command described above. STILL, 4 WINDOWS WE RECOMMEND LATEST VISUAL STUDIO (FREE COMMUNITY VERSHUN IZ MOAR THAN ENOUGH).

IF UD LIEK 2 WERK WIF ASF CODE ON LINUX/OS X INSTEAD, WE RECOMMEND LATEST VISUAL STUDIO CODE. IZ NOT AS RICH AS CLASIC VISUAL STUDIO, BUT IZ GUD ENOUGH.

OV COURSE ALL SUGGESHUNS ABOOV R ONLY RECOMMENDASHUNS, U CAN USE WHATEVR U WANTS 2, IT COMEZ DOWN 2 dotnet build COMMAND ANYWAY. WE USE JETBRAINS RIDR 4 ASF DEVELOPMENT, ALTHOUGH IZ NOT FREE SOLUSHUN.


TAGS

main BRANCH IZ NOT GUARANTED 2 BE IN STATE DAT ALLOWS SUCCESFUL COMPILASHUN OR FLAWLES ASF EXECUSHUN IN DA FURST PLACE, SINCE IZ DEVELOPMENT BRANCH JUS LIEK STATD IN R RELEASE CYCLE. IF U WANTS 2 COMPILE OR REFERENCE ASF FRUM SOURCE, DEN U SHUD USE APPROPRIATE TAG 4 DAT PURPOSE, WHICH GUARANTEEZ AT LEAST SUCCESFUL COMPILASHUN, AN VRY LIKELY ALSO FLAWLES EXECUSHUN (IF BUILD WUZ MARKD AS STABLE RELEASE). IN ORDR 2 CHECK TEH CURRENT "HEALTH" OV TEH TREE, U CAN USE R CONTINUOUS INTEGRASHUNS - GITHUB OR APPVEYOR.


OFFISHUL RELEASEZ

Official ASF releases are compiled by GitHub on Windows, with latest .NET SDK that matches ASF runtime requirements. AFTR PASIN TESTS, ALL PACKAGEZ R DEPLOYD AS TEH RELEASE, ALSO ON GITHUB. DIS ALSO GUARANTEEZ TRANZPARENCY, SINCE GITHUB ALWAYS USEZ OFFISHUL PUBLIC SOURCE 4 ALL BUILDZ, AN U CAN COMPARE CHECKSUMS OV GITHUB ARTIFACTS WIF GITHUB RELEASE ASSETS. ASF DEVELOPERS DO NOT COMPILE OR PUBLISH BUILDZ THEMSELVEZ, EXCEPT 4 PRIVATE DEVELOPMENT PROCES AN DEBUGGIN.

Clone this wiki locally