Build Tools

Nov 26, 2017
Build Tools
  • Build Tools

    Instruções simples para construir o CraftBukkit e o Spigot




    O que são as BuildTools?(top)

    O BuildTools.jar é a nossa solução para obtermos o Bukkit, CraftBukkit, Spigot e a API do Spigot. Sendo que tudo isto é feito no teu computador! Existem alguns pré-requisitos para tal, mas as instruções presentes nesta página devem conseguir guiar-te por tudo aquilo que precisas fazer.

    Pré-requesitos(top)

    Para as BuildTools funcionarem são precisas duas aplicações: o Git e o Java.

    Windows(top)

    As instruções seguintes são as necessárias para instalar as BuildTools manualmente no windows, se quiseres uma preferires uma abordagem de um só clique, vê aqui.

    Git - Para as Buildtools poderem funcionar no Windows, vai precisar de instalar o Git. Este software e distribuído para o Windows em git-scm, o qual poderás arranjar aqui. Instala-o onde quiseres, este software irá providenciar o git bash, que será necessário para utilizar as BuildTools. Continua a clicar no botão "next" do instalador.
    A versão mais recente do BuildTools irão instalar o Git automaticamente por ti. Só faças download manualmente se tiveres algum problema.

    Java - Podes fazer download to Java JRE 8 aqui e instala-lo. Continua a clicar no botão "next" do instalador.

    Linux(top)

    Ambos o Git e o java, tal como comandos util, podem ser instalados directamente no teu package manager através de um único comando.
    Debia/Ubuntu: sudo apt-get install git openjdk-7-jre-headless
    CentOS/RHEL: sudo yum install git java-1.7.0-openjdk-devel
    Arch: pacman -S jdk8-openjdk git

    Mac(top)

    Podes fazer download do Git aqui.

    O java poderá ter de ser actualizado da versão de distribuição da apple, e mesmo que actualizado previamente poderá ter de ser linkado para utilização pelo shell. Por favor siga os passos aqui apresentados.

    Utilizar as BuildTools(top)

    1. Faz download do BuildTools.jar por aqui
      1. Tem atenção ao https://hub.spigotmc.org/jenkins/job/BuildTools/ para quais queres atualizações ou correções de errors
      2. Se quiseres fazer download disto através da linha de comando usa o comando curl -o BuildTools.jar <url> ou o comando wget -O BuildTools.jar <url> com o link providenciado em cima.
      3. Espaços ou pontos de exclamação na directory path podem fazer com que as BuildTools não funcionem! É recomendado que sejam retirados.
    2. Abre o teu terminal se estiveres no Linux ou o git-bash no Windows
      1. O git-bash pode ser encontrado no desktop ou no menu inicial com o nome "git bash". Também é possível abri-lo clicando em qualquer coisa, visto que é agora um item no teu menu de contexto
    3. Navega até ao local onde tens o BuildTools.jar, ou utiliza a linha de comando para fazer download to ficheiro para a directory onde te encontras.
      1. No Windows, podes ou utilizar o comando cd para mudar as directories, ou podes clicar com o botão direito no espaço em branco da pasta onde o BuildTools.jar se encontra e clicar no "git bash". Também é possível abri-lo na tua directory atual.
    4. Gere o BuildTools.jar a partir do terminal (não cliques duas vezes no ficheiro) fazendo o seguinte:
      1. No Linux gere o comando git config --global --unset core.autocrlf, e a seguir o comando java -jar BuildTools.jar no bash ou outra shell apropriada.
      2. No Windows gere o comando que se encontra em baixo dentro da janela do git bash que abriu
        1. java -jar BuildTools.jar
        2. Please be aware that it is required that you have BuildTools #35 or later, older versions will not work.
      3. No Mac gere os seguintes commandos:
        1. export MAVEN_OPTS="-Xmx2G"
        2. java -Xmx2G -jar BuildTools.jar
      4. Opções (todos os sistemas operativos):
        1. A opção --rev pode ser utilizada para obter versões especificas do 1.8/1.9 do CraftBukkit e do Spigot.
        2. Ver a secção das versões para ver quais se encontram disponíveis.
      5. (Opcional) No Windows cria um ficheiro batch (.bat) utilizando o seguinte codigo
        1. Code (Text):
          @echo off
          set startdir=%~dp0
          set bashdir="C:\Program Files (x86)\Git\bin\bash.exe"
          %bashdir% --login -i -c "java -jar ""%startdir%\BuildTools.jar"""
          pause
        2. Este ficheiro irá gerir o comando java -jar BuildTools.jar no terminal do git bash dando-te a possibilidade de copiar-lo e por-lo em qualquer outro local. Basta copiares o ficheiro batch para a mesma directory que o BuildTools.jar e verificar se a bashdir está correta (esta poderá variar entre C:\Program Files (x86)\ e C:\Program Files\ dependendo da arquitetura do teu sistema/do teu sistema operativo, e/ou de onde puseste o program do Git).
        3. Para alterar para a versão das BuildTools que queres utilizar altera %bashdir% --login -i -c "java -jar ""%startdir%\BuildTools.jar""" para %bashdir% --login -i -c "java -jar ""%startdir%\BuildTools.jar"" --rev <version #>". Isto irá transmitir para as BuildTools que versão queres utilizar. Para teres sempre a versão mais recente utiliza --rev latest ou o código acima utilizado.
      6. Espera enquanto o programa constrói os teus jars. Em poucos minutos terás jars compilados e prontos a usar.
      7. Poderás encontrar o CraftBukkit e o Spigot na mesma directory onde geriste as BuildTools. Encontrarás a API do Spigot em \Spigot\Spigot-API\target\.
      8. Aproveita o teu novo server!
        1. Se precisares de ajuda a gerir o servidor vê aqui (página será feita daqui a pouco tempo).

    Versões(top)

    Diferentes versões do Spigot podem ser geradas ao utilizar --rev e a versão que queres. Em baixo estão os métodos suportados pelas BuildTools

    Latest(top)

    Code (Text):
    java -jar BuildTools.jar --rev latest
    • Irá criar a versão mais recente que seja estável do CraftBukkit e do Spigot (mesmo sem o --rev irá gerar esta versão)
    • Atualmente 1.12.1
    • Changelog: Ver 1.12.1

    1.12.1(top)

    Code (Text):
    java -jar BuildTools.jar --rev 1.12.1
    • Irá criar ficheiros do CraftBukkit e Spigot para a versão 1.12.1
    • Changelog: Mojang | Stash | Jenkins

    1.12(top)

    Code (Text):
    java -jar BuildTools.jar --rev 1.12
    • Irá criar ficheiros do CraftBukkit e Spigot para a versão 1.12
    • Changelog: Mojang | Stash | Jenkins

    1.11(top)

    Code (Text):
    java -jar BuildTools.jar --rev 1.11
    • Irá criar ficheiros do CraftBukkit e Spigot para a versão 1.11
    • Changelog: Mojang | Stash | Jenkins

    1.10(top)

    Code (Text):
    java -jar BuildTools.jar --rev 1.10
    • Irá criar ficheiros do CraftBukkit e Spigot para a versão 1.10
    • Changelog: Mojang | Stash | Jenkins

    1.9.4(top)

    Code (Text):
    java -jar BuildTools.jar --rev 1.9.4
    • Irá criar ficheiros do CraftBukkit e Spigot para a versão 1.9.4
    • Changelog: Mojang | Stash | Jenkins

    1.9.2(top)

    Code (Text):
    java -jar BuildTools.jar --rev 1.9.2
    • Irá criar ficheiros do CraftBukkit e Spigot para a versão 1.9.2
    • Changelog: Mojang | Stash | Jenkins

    1.9(top)

    Code (Text):
    java -jar BuildTools.jar --rev 1.9
    • Irá criar ficheiros do CraftBukkit e Spigot para a versão 1.9
    • Changelog: Mojang | Stash | Jenkins

    1.8.8(top)

    Code (Text):
    java -jar BuildTools.jar --rev 1.8.8
    • Irá criar ficheiros do CraftBukkit e Spigot para a versão 1.8.8
    • Changelog: Mojang | Stash | Jenkins

    1.8.7(top)

    Code (Text):
    java -jar BuildTools.jar --rev 1.8.7
    • Irá criar ficheiros do CraftBukkit e Spigot para a versão 1.8.7
    • Changelog: Mojang | Stash | Jenkins

    1.8.3(top)

    Code (Text):
    java -jar BuildTools.jar --rev 1.8.3
    • Irá criar ficheiros do CraftBukkit e Spigot para a versão 1.8.3
    • Changelog: Mojang | Stash | Jenkins

    1.8(top)

    Code (Text):
    java -jar BuildTools.jar --rev 1.8
    • Irá criar ficheiros do CraftBukkit e Spigot para a versão 1.8
    • Changelog: Mojang | Stash | Jenkins

    Erros Comuns(top)

    • Há um erro que tem a haver com o jacobe.exe ou o jacobe estar a faltar da BuildData/bin
      • Faz update as BuildTools
    • As BuildTools estão a dar o erro "java.io.FileNotFoundException: BuildData/mappings/bukkit-1.8-cl.csrg"
      • Faz update as BuildTools para a versão mais recente
    • Exceção na "main" thread org.eclipse.jgit.api.errors.TransportException
      • As BuildTools tiveram dificuldade em estabelecer uma conexão segura com a git repos, isto é provavelmente causado pelo teu antivirus estar a cortar a conexão. Por favor adiciona o https://hub.spigotmc.org/ a whitelist do teu AV.
    • O apllyPatches.sh do Spigot diz "/bin/bash^M: bad interpreter"
    • O apllyPatches.sh do Spigot diz "line 2: $'\r': command not found"
      • Isto ocorre no Linux (e ocasionalmente no Windows) quando o autocrlf do teu Git está ligado. Para reparar isto gere o comando git config --global --unset core.autocrlf e gere as BuildTools outra vez.
    • O apllyPatches.sh do Spigot diz "fatal: sha1 information is lacking or useless"
    • O apllyPatches.sh do Spigot diz "Patch failed at ..."
      • Isto ocorre no Windows se o autocrlf do Git está definido para falso (ou não definido de todo). Para reparar este erro gere o comando git config --global --replace-all core.autocrlf true e gere as BuildTools outra vez.
      • Se estiveres no Linux gere o comando git config --global --unset core.autocrlf e gere as BuildTools outra vez.
    • Falhou a cria o ficheiro de logs: BuildTools.log.txt
    • Exceção na "main" thread org.eclipse.jgit.api.errors.JGitInternalException: Creating directories...
      • Verifica se tens permissão para modificação de ficheiros na directory que estas a tentar utilizar
    • [ERROR] ... The import gnu.trove.... cannot be resolved
      • O antivirus VIPRE costuma causar este erro, desliga-o e tenta de novo. É possível que outros antivirus façam o mesmo.
      • Se o problema persistir após desligares o teu antivirus, poderás ter de limpar o teu repositório Maven local apagando a pasta .m2 na pasta do teu utilizador do Windows (Win+R e abre o %userprofile%), depois gere outra vez as BuildsTools do inicio (apagando todos os ficheiros e pastas anteriormente criados por elas).
    • (Para utilizadores do Windows 10) fatal error in forked process - fork: can't reserve memory for parent stack
      • Existe um erro conhecido com a versão de 64bits do Windows 10 que causa este erro, desinstala a versão de 64 bits do Git e instala a de 32 bits, após isto gere as BuildTools de novo.
    • [ERROR] Exception in thread "main" org.eclipse.jgit.api.errors.JGitInternalException: Invalid ref origin/master specified
      • Isto parece ser um erro que aparece ao acaso, apaga todas as pastas e ficheiros criados pelas BuildTools e recomeça
    • (Para utilizadores do Mac OS 10.11 El Capitan) xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
      • O software do El Capitan parte as instalações do Xcode se tiveres feito upgrade de versões anteriores do OS X. Para reparar este problema usa o comando xcode-select --install e gere as BuildTools de novo.
    • O Git Bash para o Windows não me permite escolher texto.
      • Clica com o botão direito no canto superior esquerdo do Git Bash > properties > enable QuickEdit mode > OK
      • Arrasta com o botão esquerdo para o select, clica com o botão direito uma vez para copiar.
      • Podes também clicar uma vez com o botão direito para colar.
    • Posso usar este software num servidor CI?
    • java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
      • Esta te a faltar um certificado do Java no teu servidor ou a tua firewall/antivirus está a bloquear a tua conexão
      • Instala o ca-certificates-java ou gere as BuildTools com o argumento --disable-certificate-check.

    Ferramentas(top)

    Estas ferramentas foram criadas por membros da comunidade. Elas não são apoiadas pelo SpigotMC de qualquer forma ou tipo. Se tiveres problemas por favor usa as instruções presentes em cima.

    GUI para as BuildTools por DemonWav(top)

    A BuildToolsGUI é uma interface de utilizador feita para as BuildTools para o Windows. É compatível com o Windows 7, 8, 8.1 e 10. Ela trata de todas as dependências necessárias para utilizar as BuildTools. Para utilizar esta ferramenta precisas de ter o .NET 4.5 instalado no teu computador com o software Windows. Se utilizas o teu computador a algum tempo já as deves ter, caso contrário podes arranja-las aqui.

    O software BuildToolGUI irá verificar se existem updates automaticamente cada vez que o utilizas. Podes fazer download de qualquer update aqui. O código deste software pode ser visto aqui.

    Troublshoot e apoio técnico(top)

    Se continuares a ter problemas com as BuildTools, podes pedir ajuda no IRC do Spigot ou ver os Tickets para ver se o teu problema já existe.

    Por favor nota que é recomendado mover os ficheiros jar compilados para fora da pasta das BuildTools para gerir o teu servidor. Não fazer isto pode estragar a pasta das BuildTools no futuro.
  • Loading...
  • Loading...