Como criar um PPA para um projeto Maven?

8

Eu queria tentar criar meu próprio PPA. O projeto que tenho é um projeto java construído com o maven. Isso é o que eu já fiz até agora:

  • Criado um PPA.
  • Configurar um novo projeto no Launchpad.
  • Adicionada uma ramificação que está importando meu projeto de um repositório SVN.
  • Criei uma receita para o ramo que está publicando as compilações no meu PPA.

Aqui é onde eu estou preso.

Eu li os tutoriais e pesquisei muito no Google; mas não consegui descobrir como construir meu projeto.

Eu posso começar uma construção para o ramo; mas, como eu esperava, falha. Eu acho que tenho que colocar algumas informações meta como um makefile no repositório. É possível construir e empacotar projetos Maven no Launchpad? Eu também tentei construir um arquivo .deb localmente usando bzr dh-make e debuild . bzr dh-make criou muitos arquivos na pasta ./debian , mas debuild falhou. Eu acho que funcionaria se eu especificasse a meta informação correta no meu projeto, então é o mesmo problema que no Launchpad.

Eu sei que essa é uma pergunta bem genérica, mas acho que faltam tutoriais apropriados para empacotar .deb arquivos, mesmo que você não tenha um caso "exótico" como eu.

Para resumir:

Quais arquivos / informações devo fornecer em meu projeto para que possam ser compilados e empacotados adequadamente?

Qualquer ajuda seria ótima: -)

    
por André Stannek 16.06.2012 / 15:36

1 resposta

2

Procure no meu projeto bookjar: link

especificamente o diretório debian (especialmente o arquivo debian / package.sh) e o arquivo build.xml (ant). Nesse arquivo, há um novo 'upload' de destino que carrega um artefato edificável no buildbot da barra de ativação.

Estou usando a ivy e a infra-estrutura netbeans, então é provável que seja um pouco diferente para você. No entanto, uma coisa é certa: você não pode usar hera ou maven do servidor de compilação remoto. Você precisa fazer o upload de todas as bibliotecas que você usa, seja na forma de código ou jars. ivy: O retrive faz o download dos arquivos para o current_dir / lib, então meu projeto no netbeans é configurado para procurar por suas bibliotecas (o nblibraries.properties faz parte da infraestrutura do netbeans para isso). Leia o build.xml para detalhes (basicamente os arquivos debian / rules chamam um alvo especial de ant para construir no servidor que não tenta ligar simbolicamente os arquivos jar - porque eles já são copiados lá).

Eu também estou aproveitando meu pacote.sh do meu projeto sendo mercurial para construir um arquivo changelog do log hg, então há outros problemas para resolver se você quer o mesmo grau de automatismo e não usa hg (na verdade, eu acho que meu changelog está dobrando as regras do changelogs debian fazendo com que cada mudança seja uma versão 'menor').

    
por i30817 09.09.2012 / 15:44