2013-10-03 6 views
1

OSGI 번들 (sbt-osgi 플러그인 사용)을 생성하기 위해 build.sbt을 통해 sbt 프로젝트를 구성했습니다. 어떤 이유 sbt-osgi가 MANIFEST.MF에 Include-Resource 지시문을 추가하는 이유는 무엇입니까?

는, 생성 된 MANIFEST.MF 내가 그것을 말할 수 아무것도하지 않은 사실에도 불구하고 내 빌드 디렉토리에 (완전히 비어) "자원"하위 디렉토리 (특히 src/main/resourcestarget/scala_2.10/resource_managed/main)을 가리키는 Include-Resource 지시자를 포함 이 작업을 수행하십시오 (물론 내 유물이 내 홈 디렉토리의 위치를 ​​가리키는 것을 원하지 않습니다).

이유는 무엇입니까 sbt-osgi 이렇게하고, 더 중요한 것은 어떻게 멈출 수 있습니까? 나는 OSGI 플러그인을 사용한지 몇 달이었다 https://github.com/reggert/reb4s/blob/1cd91fb82aa978b2f202c618ca6403a66c15f8d7/build.sbt

답변

0

,하지만 난 궤도에 당신을 얻을 정도로 불러올 수 있다고 생각 :

build.sbt 여기에서 찾을 수 있습니다. 첫째, 여기서 열심히 일하고있는 것은 BND입니다. sbt 플러그인은 단지 래퍼입니다. Include-Resource 헤더에 관한 몇 가지 논의가 있습니다. 이 헤더를 None으로 설정하거나 빈 문자열을 플러그인의 additionalHeaders 설정으로 설정할 수 있습니다.

+0

내가이 줄을 추가 시도 : 'OsgiKeys.additionalHeaders =지도 ("포함-자원을"-> "") ' 그러나 그것은 명백한 영향을 미치지 않았다. – reggert

+0

이것은 아마도 sbt-osgi의 버그 일 것 같습니다. "Include-Resource"는 정당한 OSGi MANIFEST 헤더가 아닙니다. 이는 BND 구성 매개 변수입니다. 하지만 어떻게 든 OSGi 헤더로 설정됩니다. – reggert

+1

방금 ​​버그라는 것을 확인했으며, sbt-osgi 소스에 한 문자 변경을하면 해결 될 수 있습니다! :-D – reggert