Eu queria tentar criar meu próprio PPA. O projeto que eu tenho é um projeto java construído com maven. Isto é o que eu já fiz até agora:
- Criou um PPA.
- Configure um novo projeto no Launchpad.
- Adicionada uma ramificação que está importando meu projeto de um repositório SVN.
- Criei uma receita para esse ramo que está publicando as compilações no meu PPA.
É aqui que estou preso.
Eu li os tutoriais e pesquisei bastante no Google; mas não consegui descobrir como construir meu projeto.
Eu posso iniciar uma construção para o ramo; mas, como eu esperava, falha. Acho que tenho que colocar algumas informações meta como um makefile no repositório. É possível criar e empacotar projetos Maven no Launchpad? Também tentei criar um arquivo .deb localmente usando bzr dh-make
e debuild
. bzr dh-make
criou muitos arquivos na ./debian
pasta, mas debuild
falhou. Acho que funcionaria se eu especificasse as meta informações corretas no meu projeto, por isso é o mesmo problema que no Launchpad.
Sei que essa é uma pergunta bastante geral, mas acho que faltam tutoriais adequados para empacotar .deb
arquivos, mesmo que você não tenha um caso "exótico" como eu.
Resumindo:
Quais arquivos / informações eu tenho que fornecer no meu projeto para que ele possa ser compilado e compactado corretamente?
Qualquer ajuda seria ótimo :-)
Respostas:
Veja no meu projeto bookjar: http://code.google.com/p/bookjar/source/browse/
especificamente o diretório debian (especialmente o arquivo debian / package.sh) e o arquivo build.xml (ant). Nesse arquivo, há um novo destino 'upload' que carrega um artefato construtível no buildbot da barra de ativação.
Estou usando a ivy e a infraestrutura de formiga netbeans, portanto é provável que seja um pouco diferente para você. No entanto, uma coisa é certa: você não pode usar ivy ou maven no servidor de compilação remoto. Você precisa fazer o upload de todas as bibliotecas usadas, na forma de código ou jars. ivy: retrive baixa os arquivos para o current_dir / lib, para que meu projeto no netbeans seja configurado para procurar suas bibliotecas lá (nblibraries.properties faz parte da infraestrutura do netbeans para isso). Leia o build.xml para obter detalhes (basicamente os arquivos debian / rules chamam um alvo ant especial para compilar no servidor que não tenta vincular novamente os arquivos jar - porque eles já foram copiados).
Também estou aproveitando meu package.sh do meu projeto para criar um arquivo de registro de alterações a partir do hg log, portanto, existem outros problemas a serem resolvidos se você deseja o mesmo grau de automatismo e não usa o hg (em de fato, acho que meu changelog está alterando as regras dos debian logs, fazendo com que cada alteração seja uma versão 'menor').
fonte