16.4. Preparando o livro para a gráfica

Quando o livro é enviado para a gráfica, marcamos uma tag no repositório..

16.4.1. Verifique pendências de revisão

Busque no texto por TODO, FIXME, XXX e REV. Você pode utilizar o script git-revisao para isso.

16.4.2. Verifique pendências no issue track do projeto

Verifique no github do seu projeto se há issue pendentes que devem ser realizados na versão que você está fechando.

16.4.3. Verifique as versões anteriores

  1. Acesse a página do seu prejeto e entre no link releases.
  2. Verifique as últimas versões do livro.

16.4.4. Verificar o número da versão

No diretório livro (que contém o arquivo docinfo.xml), execute o comando:

Comando para verificar a versão e as revisões dos livros. 

grep '<edition>.*</edition>' docinfo.xml;grep '<revnumber>.*</revnumber>' docinfo.xml

[Atenção]

Certifique-se de que esteja dentro do diretório livro, que contem o arquivo docinfo.xml.

O resultado esperado é o número da edição, contido no arquivo livro/docinfo.xml:

<edition>v1.0.0</edition>
[Importante]

Atualize o número da edição apropriadamente antes de continuar.

16.4.5. Atualize o histórico de revisão

O histórico de revisão é importante para que pessoas que já leram o livro possam saber o que mudou.

<revision>
  <revnumber>v1.0.0</revnumber>
  <date>Março de 2013</date>
  <authorinitials>Eduardo Santana</authorinitials>
  <revremark>
    Primeira versão do livro.
  </revremark>
</revision>

O valores de <revnumber> devem ser os mesmos assumidos por <edition>.

Lembre também de:

  • Atualizar a data
  • Texto de revremark indicando o que foi alterado.

Atualizando o revmark e gerando o release notes

O textp do release notes (que será necessário mais adiante) será o mesmo de revmark.

Consulte os títulos do log para gerar o texto de revmark, substituindo v0.1.0 pela última versão gerada:

Consultando logs dos commits. 

git log --format="- %s" v0.1.0..HEAD

Atualize o revmark tomando como base os logs:

Exemplo de revmark atualizado. 

    <revision>
      <revnumber>v1.0.0</revnumber>
      <date>12/03/2014</date>
      <authorinitials>Eduardo</authorinitials>
      <revremark>
- Como baixar o guia #2
- Atualização do readme #2
- Comando curl para baixar livros ficando melhor no pdf #2
- Mudança de repositório #2
- Inclusão de banco-de-dados-livro
- Se acessar webconf fora do horário
- Comando único para baixar todos livros
- Reformulação do guia para a WebConferência de Produção dos Livros #2
      </revremark>
    </revision>

16.4.6. Atualize a ficha catalográfica

  • Atualize a edição da ficha catalográfica
  • Atualize a quantidade de páginas na ficha
  • Gere o arquivo editora.pdf

16.4.7. Verificando se há alterações pendentes

Comando para verificar se há alterações não enviadas. 

git status -s -b

Enviando alterações realizadas. 

git commit --interactive; git push

16.4.8. Gerando o livro

Antes de aplicar a tag é importante gerar novamente o livro, para se certificar que as alterações foram incorporadas.

LIVRO_EDICAO=`grep '<edition>.*</edition>' docinfo.xml |xmllint --xpath "string(//edition)" -`;\
~/bin/git-producao "Gerando livro $LIVRO_EDICAO"

16.4.9. Aplicando uma tag

[Atenção]

Antes de aplicar uma tag você deve se certificar que não há alterações não comitadas (Seção 16.4.7, “Verificando se há alterações pendentes”).

A tag aplicada será o resultado do comando:

Visualizar edição do livro. 

LIVRO_EDICAO=`grep '<edition>.*</edition>' docinfo.xml |xmllint --xpath "string(//edition)" -`; echo Edição do livro: $LIVRO_EDICAO

O comando a seguir irá aplicar uma tag, será solicitado informar uma mensagem ao cadastrar a tag.

Comando para aplicar a tag. 

echo "Aplicando tag...";\
LIVRO_EDICAO=`grep '<edition>.*</edition>' docinfo.xml |xmllint --xpath "string(//edition)" -`;\
git tag -a $LIVRO_EDICAO -m "Gerando versão $LIVRO_EDICAO";git tag

[Importante]

A aplicação de tag é uma operação no repositório local, será necessário submeter a tag para o github depois (Seção 16.4.12, “Submetendo tag para o github”).

16.4.10. Excluindo uma tag

Caso você tenha criado uma tag e deseja excluí-la, utilize o seguinte comando:

LIVRO_EDICAO=`grep '<edition>.*</edition>' docinfo.xml |xmllint --xpath "string(//edition)" -`;git tag -d $LIVRO_EDICAO;git tag
[Nota]

É seguro criar e remover uma tag em seguida.

16.4.11. Verificando a tag aplicada

LIVRO_EDICAO=`grep '<edition>.*</edition>' docinfo.xml |xmllint --xpath "string(//edition)" -`; git show $LIVRO_EDICAO

16.4.12. Submetendo tag para o github

git push origin --tags