Maven 프로젝트의 PPA를 작성하는 방법은 무엇입니까?


8

내 자신의 PPA를 만들려고했습니다. 내가 가진 프로젝트는 maven으로 빌드 된 Java 프로젝트입니다. 이것이 내가 지금까지 한 일입니다.

  • PPA를 만들었습니다.
  • 런치 패드에서 새 프로젝트를 설정하십시오.
  • SVN 저장소에서 프로젝트를 가져 오는 지점을 추가했습니다.
  • 빌드를 내 PPA에 게시하는 해당 지점의 레시피를 만들었습니다.

내가 붙어있는 곳입니다.

튜토리얼을 읽고 Google을 많이 읽었습니다. 그러나 프로젝트를 빌드하는 방법을 찾을 수 없었습니다.

지점의 빌드를 시작할 수 있습니다. 그러나 예상대로 실패합니다. makefile과 같은 메타 정보를 리포지토리에 넣어야한다고 생각합니다. Launchpad에서 Maven 프로젝트를 빌드하고 패키징 할 수 있습니까? 또한 bzr dh-makeand를 사용하여 로컬로 .deb 파일을 만들려고했습니다 debuild. 폴더 bzr dh-make에 많은 파일을 ./debian만들었지 만 debuild실패했습니다. 프로젝트에 올바른 메타 정보를 지정하면 Launchpad와 동일한 문제가 발생하면 작동한다고 생각합니다.

나는 이것이 일반적인 질문이라는 것을 알고 있지만 나 .deb처럼 "이국적인"사례가 없더라도 파일 을 패키징하기위한 적절한 자습서가 부족하다고 생각 합니다.

그것을 요 ​​약하기:

프로젝트에서 올바르게 빌드하고 패키지화하기 위해 어떤 파일 / 정보를 제공해야합니까?

어떤 도움이라도 좋을 것입니다 :-)


1
가능하다. 나는 해결책 찾고 있어요,하지만 시간이 좀 걸릴 것
RobotHumans

그래서??? 어떻게 끝났어? 이것은 나를 미치게합니다.
i30817

@ i30817-죄송합니다, 나는 defcon을 위해 떠났습니다. 이제 우분투 게임을하고 있습니다. 다른 요구가 허용하는 한 빨리 답변을 드리겠습니다
RobotHumans

나는 파파에 업로드하기 전에 deb를 빌드 할 수 있는지 확인하기 위해 debuild를 호출하려고하는 시점에 있습니다. 운이 없다 : dh build --javahelper로 dh_testdir dh_auto_configure jh_linkjars dh_auto_build jh_build dh_auto_test fakeroot 데비안 / 규칙 바이너리 dh 바이너리 --javahelper로 dh_testroot로 dh_prep dh_installdirs dh_auto_install dh_install cp : tmp : ftp / tmp를 실행할 수 없습니다. dh_install : cp -a debian / tmp / bookjar.jar debian / bookjar / usr / share / bookjar / exit 코드 1을 반환했습니다 : *** [binary] Error 2
i30817

@ aking1012 서두르지 마십시오. 나는 그 프로젝트에 대한 시간이 아직 없다.
André Stannek

답변:


2

내 bookjar 프로젝트를보십시오 : http://code.google.com/p/bookjar/source/browse/

특히 debian 디렉토리 (특히 debian / package.sh 파일)와 build.xml (ant) 파일입니다. 이 파일에는 런치 패드 빌드 봇에 빌드 가능한 아티팩트를 업로드하는 새로운 대상 '업로드'가 있습니다.

아이비와 넷빈즈 개미 인프라를 사용하고 있으므로 약간 다를 수 있습니다. 그러나 한 가지 확실한 것은 원격 빌드 서버에서 ivy 또는 maven을 사용할 수 없다는 것입니다. 사용하는 모든 라이브러리를 코드 또는 jar 형식으로 업로드해야합니다. ivy : retrive는 파일을 current_dir / lib로 다운로드하므로 netbeans의 내 프로젝트는 라이브러리를 찾도록 설정됩니다 (nblibraries.properties는 netbeans 인프라의 일부입니다). 자세한 내용은 build.xml을 읽으십시오 (기본적으로 debian / rules 파일은 jar 파일을 심볼릭 링크하려고하지 않는 서버에 빌드하기 위해 특수한 개미 대상을 호출합니다-jar 파일은 이미 복사되어 있기 때문입니다).

또한 hg 로그에서 변경 로그 파일을 빌드하기 위해 수은 상태 인 프로젝트의 package.sh를 활용하고 있으므로 동일한 정도의 자동화를 원하고 hg를 사용하지 않으면 해결해야 할 다른 문제가 있습니다. 사실, 내 변경 로그는 각 변경 사항을 '부'릴리스로하여 데비안 변경 로그 규칙을 위반한다고 생각합니다.


유망한 것으로 들리지만 조사하는 데 며칠이 걸릴 수 있습니다.
André Stannek

잊어 버린 :이 체계에서는 ppa를 워치 독 파일이있는 코드 저장소에 연결하고 주기적으로 빌드하는 대신 ppa 릴리스에 업로드해야합니다. 나는이 방법을 선호하고 다른 것을 시도조차하지 않았지만 아마도 가능할 것입니다. 내 ppa는 이것으로 만들어졌습니다 ( 13 번의 시도 실패 후! ). 또한 변경 로그가 debuild에 의해 승인되기 위해 OCD 원시 순서로 있어야하기 때문에주의하십시오. 즉, hg 로그도 그렇게해야 함을 의미합니다. 지침
i30817

삼개월 후에는 훨씬 더 ;-)없는 것보다는이다
앙드레 Stannek

hg log> changelog 트릭을 사용하고 싶지 않을 것입니다. 숫자 (릴리스)를 제외한 hg 태그가 없거나 모든 커밋 커미터가 데비안 가이드 라인을 따라야하는 것과 같은 모호한 요구 사항이 있습니다 (hg는 변경 내역을 허용하지 않기 때문에 ...이 경우 복잡한 확장을 사용하십시오 또는 리포지토리를 다시 초기화합니다 (어쨌든 호스 원격 클론). 변경 로그를 관리하는 경우 변경 로그를 유지할 필요가 없다는 이점이 있습니다.
i30817

아직도 조사 할 시간을 찾지 못했습니다 :-( 그냥이 문제를 잊어 버리지 않았다는 것을 알고 싶었습니다.
André Stannek
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.