-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Compilation pt BR
Compilação é o processo de criação de arquivo executável. É isso que você quer fazer se você quiser adicionar suas próprias mudanças ao ASF, ou se você, por alguma razão não confia em arquivos executáveis fornecidos em lançamentos oficiais. Se você é um usuário e não um desenvolvedor, é mais provável que você queira usar binários pré-compilados, mas se você quiser usar os seus próprios, ou aprender algo novo, continue a leitura.
O ASF pode ser compilado em qualquer plataforma suportada atualmente, desde que você tenha todas as ferramentas necessárias.
Independentemente da plataforma, você precisa do SDK do .NET completo (e não apenas o runtime) para compilar o ASF. Instruções de instalação podem ser encontradas na página de download do .NET. Você precisa instalar a versão apropriada do SDK do .NET Core para seu sistema operacional. Após a instalação bem sucedida, o comando dotnet
deverá estar funcional e operante. Você pode verificar se ele funciona com: dotnet --info
. Certifique-se também de que o seu SDK do .NET corresponde aos requisitos de tempo de execução do ASF.
Assumindo que você tenha o SDK .NET na versão apropriada, simplesmente navegue para o diretório raiz do ASF (copiado ou baixado e descompactado do repositório do ASF) e execute:
Se você estiver usando Linux/macOS, você pode usar o código cc.sh
, que fará o mesmo de uma maneira um pouco mais complexa.
Se a compilação obteve sucesso você poderá encontrar a source
da sua versão do ASF na pasta out/generic
. Essa compilação é a mesma que a genérica
do ASF, mas ela força o valor de UpdateChannel
e UpdatePeriod
para 0
, o que é o correto para versões auto compiladas.
Você também pode gerar um pacote .NET específico para OS se você tiver uma necessidade particular. Em geral, você não deverá fazer isso, pois você já compilou o tipo genérico
que você pode rodar em seu já instalado tempo de execução .NET, que você usou para a compilação, mas caso você queira:
dotnet publish ArchiSteamFarm -c "Release" -o "out/linux-x64" -r "linux-x64" --self-contained
Claro, troque linux-x64
pela arquitetura de SO que você quer atender, tal como win-x64
. Essa compilação também terá as atualizações desabilitadas. Ao compilar com --self-contained
, você também pode opcionalmente declarar mais dois switches: -p:PublishTrimmed=true
produzirá uma compilação reduzida, enquanto -p:PublishSingleFile=true
produzirá um único arquivo. Adicionar ambos resultará nas mesmas configurações que usamos para nossas próprias compilações.
Enquanto os passos acima são tudo o que é necessário para ter uma compilação totalmente funcional do ASF, você também pode estar interessado em compilar a ASF-ui, nossa interface gráfica web. Do lado do ASF, tudo o que você precisa fazer é colocar a saída da compilação ASF-ui no local padrão ASF-ui/dist
e então compilar o ASF com ela (novamente, se necessário).
A ASF-ui é parte da árvore raíz do ASF como um submódulo git, certifique-se de ter clonado o repositório com git clone --recursive
, caso contrário, você não terá os arquivos necessários. Você também precisará de um NPM funcional, o Node.js vem com ele. Se você estiver usando Linux/macOS, recomendamos o nosso script cc.sh
, que irá cobrir automaticamente a compilação e o envio da ASF-ui (se possível, isto é, se você estiver cumprindo os requisitos que acabamos de mencionar).
Além do script cc.sh
, também anexamos as instruções de compilação simplificadas abaixo, consulte o repositório ASF-ui para documentação adicional. Da árvore raíz do ASF, como antes, execute os seguintes comandos:
Agora você deve encontrar os arquivos da ASF-ui na pasta out/generic/www
. O ASF será capaz de enviar esses arquivos para o seu navegador.
Como alternativa, você pode simplesmente compilar o ASF-ui, seja manualmente ou com a ajuda do nosso repositório, então copiar o resultado da compilação para a pasta ${OUT}/www
manualmente, onde ${OUT}
é a pasta de saída do ASF que você especificou com o parâmetro -o
. É exatamente isso que o ASF faz como parte do processo de compilação, ela copia o ASF-ui/dist
(se existir) para ${OUT}/www
, nada demais.
Se você quiser editar o código do ASF, você pode usar qualquer IDE compatível com o .NET, embora até mesmo isso seja opcional, uma vez que você pode editar em um bloco de notas e compilar com o comando dotnet
descrito acima.
Caso você não tenha uma opção melhor, podemos recomendar o Visual Studio Code mais recente, que é suficiente até mesmo para necessidades mais avançadas. Claro, você pode usar o que quiser. Para referência, nós usamos o JetBrains Rider para o desenvolvimento do ASF, embora não seja uma solução gratuita.
Não é garantido que a ramificação main
esteja em um estado que propicie uma compilação bem sucedida ou uma execução sem falhas do ASF, uma vez que é uma ramificação em desenvolvimento, confirme especificado em nosso ciclo de lançamentos. Se você deseja compilar ou referenciar o ASF desde a fonte, então você deve usar a tag apropriada para tal, o que garante ao menos uma compilação bem sucedida, e muito provavelmente uma execução sem erros (se a compilação foi marcada como versão estável). Para verificar a "saúde" atual da árvore, você pode usar nossa CI: GitHub.
As versões oficiais do ASF são compiladas pelo GitHub, com a última versão do .NET SDK que corresponde aos requisitos de execução do ASF. Depois de passar nos testes, todos os pacotes são implantados no lançamento, assim como no GitHub. Isto também garante transparência, pois o GitHub sempre usa uma fonte pública oficial para todas as compilações, e você pode comparar as somas de verificação (checksums) dos artefatos do GitHub com os ativos lançados no GitHub. Os desenvolvedores do ASF não compilam ou publicam as compilações por conta própria, exceto para o processo de desenvolvimento privado e depuração.
Além disso, os contribuidores do ASF mantém a validação manual e publica das "checksums" (somas de verificação de compilação) independentes do GitHub, um servidor remoto do ASF, como medida adicional de segurança. Esta etapa é obrigatória para que as versões do ASFs existentes sejam consideradas como um candidato válido para a funcionalidade de atualização automática.
- 🏡 Início
- 🔧 Configuração
- 💬 Perguntas frequentes
- ⚙️ Primeiros passos (comece aqui)
- 👥 Ativador de códigos em segundo plano
- 📢 Comandos
- 🛠️ Compatibilidade
- 🧩 ItemsMatcherPlugin
- 📋 Gerenciamento
- ⏱️ Desempenho
- 📡 Comunicação remota
- 👪 Compartilhamento de Biblioteca Steam
- 🔄 Trocas
- ⌨️ Argumentos de linha de comando
- 🚧 Depreciação
- 🐳 Docker
- 🤔 Perguntas frequentes adicionais
- 🚀 Configuração de alto desempenho
- 🔗 IPC
- 🌐 Localização
- 📝 Registros
- 💾 Configuração para baixo consumo de memória
- 🕵🏼♂️ MonitoringPlugin
- 🔌 Plugins
- 🔐 Segurança
- 🧩 SteamTokenDumperPlugin
- 📦 Aplicativos de terceiros
- 📵 Autenticação em duas etapas