Skip to content

Compilation es ES

GitHub Action edited this page May 10, 2021 · 47 revisions

Compilación

La compilación es el proceso de crear un archivo ejecutable. Esto es lo que necesitas hacer si deseas añadir tus propios cambios a ASF, o si por cualquier razón no confías en los archivos ejecutables proporcionados en las versiones oficiales. Si eres usuario y no un desarrollador, lo más probable es que quieras usar ejecutables ya compilados, pero si quieres usar los tuyos propios, a aprender algo nuevo, continua leyendo.

ASF puede ser compilado en cualquier plataforma soportada actualmente, siempre que tengas todas las herramientas para hacerlo.


.NET Core SDK

Independientemente de la plataforma, necesitas .NET Core SDK completo (no solo runtime) para compilar ASF. Las instrucciones de instalación se pueden encontrar en la página de instalación de .NET Core. Necesitas instalar la versión apropiada de .NET Core SDK para tu sistema operativo. Después de una instalación exitosa, el comando dotnet debería estar funcionando y operativo. Puedes verificar si funciona con dotnet --info. También asegúrate de que tu .NET Core SDK coincida con los requisitos de runtime de ASF.


Compilación

Suponiendo que tienes .NET Core SDK operativo y en la versión apropiada, simplemente navega al directorio fuente de ASF (repositorio de ASF clonado o descargado y desempaquetado) y ejecuta:

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

Si usas Linux/OS X, en su lugar puedes usar el script cc.sh que hará lo mismo, de forma un poco más compleja.

Si la compilación terminó con éxito, podrás encontrar ASF en su variante source en el directorio out/generic. Esto es lo mismo que la compilación generic oficial de ASF, pero está forzado a UpdateChannel y UpdatePeriod de 0, lo que es apropiado para versiones autocompiladas.

Sistema operativo específico

Si tienes una necesidad específica también puedes generar un paquete .NET Core específico para un sistema operativo. En general no deberías hacer eso porque acabas de compilar la variante generic que puedes ejecutar con el ya instalado .NET Core runtime que usaste para la compilación en primer lugar, pero en caso de que lo quieras hacer:

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

Por supuesto, reemplaza linux-x64 con la arquitectura del sistema operativo que tienes por objetivo, tal como win-x64. Esta compilación también tendrá las actualizaciones deshabilitadas.

.NET Framework

En el raro caso de que quieras compilar un paquete generic-netf, puedes cambiar el framework objetivo de net5.0 a net48. Ten en cuenta que necesitarás el paquete de desarrollador .NET Framework adecuado para compilar la variante netf, además de .NET Core SDK, así que lo siguiente solo funcionará en Windows:

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

En caso de no poder instalar .NET Framework o incluso .NET Core SDK (por ejemplo, por estar compilando en linux-x86 con mono), puedes llamar msbuild directamente. También necesitarás especificar ASFNetFramework manualmente, ya que ASF por defecto desactiva la compilación netf en plataformas que no son Windows:

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

Desarrollo

Si quieres editar el código de ASF, puedes usar cualquier IDE (entorno de desarrollo integrado) para ese propósito, aunque eso es opcional, ya que también puedes editarlo con un bloc de notas y compilarlo con el comando dotnet descrito arriba. Aún así, para Windows recomendamos el Visual Studio más reciente (la versión gratuita de la comunidad es más que suficiente).

Si quieres trabajar con el código de ASF en Linux/OS X, recomendamos el Visual Studio Code más reciente. No es tan rico como Visual Studio clásico, pero es bastante bueno.

Claro que todas las sugerencias anteriores son solo recomendaciones, puedes usar lo que desees, todo se reduce al comando dotnet build de todas formas. Usamos JetBrains Rider para el desarrollo de ASF, aunque no es una solución gratuita.


Etiquetas

La rama main no garantiza estar en un estado que permita una compilación exitosa o una ejecución de ASF sin fallas, ya que es una rama de desarrollo como indicamos en nuestro ciclo de lanzamiento. Si quieres compilar o referenciar ASF desde la fuente, entonces debes usar la etiqueta apropiada para ese fin, lo que garantiza una compilación exitosa, y muy probablemente también una ejecución sin fallas (si la compilación fue marcada como versión estable). Para comprobar la "salud" actual del árbol, puedes usar nuestra integración continua - GitHub o AppVeyor.


Versiones oficiales

Las versiones oficiales de ASF son compiladas por GitHub en Windows, con el último .NET Core SDK que coincida con los requisitos de runtime de ASF. Después de pasar las pruebas, todos los paquetes se despliegan como la versión, también en GitHub. Esto también garantiza transparencia, ya que GitHub siempre usa una fuente pública oficial para todas las compilaciones, y puedes comparar las sumas de verificación (checksums) de los artefactos de GitHub con los recursos de publicación de GitHub. Los desarrolladores de ASF no compilan ni publican versiones por cuenta propia, excepto para el proceso de desarrollo privado y depuración.

Clone this wiki locally