-
Limpar a compilação anterior
snapcraft clean
Mas quando você tem um grande projeto, você pode querer apenas para essa parte
snapcraft clean local
-
Reconstrua novamente
snapcraft
Estou tentando alterar a origem de um snap de java. Aqui está o que eu faço:
Baixe o projeto de amostra.
svn export https://github.com/snapcore/snapcraft/trunk/demos/java-hello-world
Crie o snap chamado java-hello-world.
cd java-hello-world
snapcraft
Instale o snap.
sudo snap install java-hello-world_0_amd64.snap --dangerous
Execute o snap.
java-hello-world.hello
A saída é Hello World
como esperado.
Agora, quero alterar o snap para que ele imprima "Hello Snap" em vez de "Hello World". Aqui está o que eu faço:
Edite o java-hello-world/snap/snapcraft.yaml
. Alterar nota para devel
e confinamento para devmode
.
Edite o java-hello-world/src/oata/HelloWorld.java
. Altere a linha 7 para System.out.println("Hello Snap");
.
Iterar sobre o snap.
snapcraft prime
sudo snap try --devmode prime/
A saída é Hello World
. Eu gostaria de ter a saída Hello Snap
aqui.
O que estou fazendo de errado: há duas coisas no processo de criação que parecem suspeitas para mim.
Ao executar o snapcraft prime, ele diz:
Skipping pull local (already ran)
Skipping build local (already ran)
Skipping stage local (already ran)
Skipping prime local (already ran)
Skipping pull wrapper (already ran)
Skipping build wrapper (already ran)
Skipping stage wrapper (already ran)
Skipping prime wrapper (already ran)
Acho que pular todas essas etapas também inclui ignorar a leitura e compilar o arquivo java-hello-world/src/oata/HelloWorld.java
. Isso é
por que a saída ainda é a mesma depois de editar o arquivo. Como posso não pular esse passo? O tutorial diz:
Note: The different steps of snapcraft are: pull (download source for all parts), build, stage (consolidate installed files of all parts), prime (distill down to just the desired files), snap (create a snap out of the prime/ directory). Each steps depends on the previous one to be completed".
Eu tentei snapcraft pull
em vez de prime
, mas o resultado é o mesmo.
Ao executar snapcraft
na primeira vez, ant
dá um aviso.
[javac] /home/username/Java/java-hello-world/parts/local/build/build.xml:19: warning: 'includeantruntime' was not set,
defaulting to build.sysclasspath=last; set to false for repeatable builds
Eu não sei o que defaulting to build.sysclasspath=last
significa. Então esse pode ser o problema. "definido como false para compilações repetíveis" deve
ok, isso é o que esta resposta sugere .
Como posso atualizar a fonte do snap depois de alterá-lo? Muito obrigado antecipadamente.
Limpar a compilação anterior
snapcraft clean
Mas quando você tem um grande projeto, você pode querer apenas para essa parte
snapcraft clean local
Reconstrua novamente
snapcraft