2014-07-19 1 views
4

sbt-pgp 0.8을 사용하여 sbt로 스칼라 라이브러리를 게시하고 싶습니다. Sonatype에 groupId org.bitbucket.sergey_kozlov을 등록했습니다. sbt-pgp의 publishSigned를 사용하여 소나타 형식에 게시하는 방법?

build.sbt :

organization := "org.bitbucket.sergey_kozlov" 

name := "playingcards" 

version := "0.1-SNAPSHOT" 

publishMavenStyle := true 

publishTo := { 
    val nexus = "https://oss.sonatype.org/" 
    if (isSnapshot.value) 
     Some("snapshots" at nexus + "content/repositories/snapshots") 
    else 
     Some("releases" at nexus + "service/local/staging/deploy/maven2") 
} 

publishArtifact in Test := false 

pomIncludeRepository := { _ => false } 

pomExtra := 
     <url>https://bitbucket.org/sergey_kozlov/playingcards</url> 
     <licenses> 
      <license> 
       <name>The MIT License</name> 
       <url>http://www.opensource.org/licenses/mit-license.php</url> 
       <distribution>repo</distribution> 
      </license> 
     </licenses> 
     <scm> 
      <url>https://bitbucket.org/sergey_kozlov/playingcards.git</url> 
      <connection>scm:git:ssh://[email protected]/sergey_kozlov/playingcards.git</connection> 
     </scm> 
     <developers> 
      <developer> 
       <id>skozlov</id> 
       <name>Sergey Kozlov</name> 
       <email>[email protected]</email> 
       <roles> 
        <role>architect</role> 
        <role>developer</role> 
       </roles> 
      </developer> 
     </developers> 

libraryDependencies += "junit" % "junit" % "4.11" 

libraryDependencies += "org.scalatest" % "scalatest_2.10" % "2.0" % "test" 

도 있습니다 ~/.sbt/0.13/플러그인/gpg.sbt :

addSbtPlugin("com.typesafe.sbt" % "sbt-pgp" % "0.8") 

다른 파일이 project/ 디렉토리 아래 없는지 빌드 정의에 기여하십시오. URL이 organization를 포함하지 않는 것을

[error] (*:publishSigned) java.io.IOException: Access to URL https://oss.sonatype.org/content/repositories/snapshots/playingcards/playingcards_2.10/0.1-SNAPSHOT/playingcards_2.10-0.1-SNAPSHOT-sources.jar was refused by the server: Forbidden 

참고 : 나는 SBT 콘솔에서 publishSigned를 입력하면

, 나는 다음과 같은 오류가 발생합니다.

정확하게 이슈를 게시하려면 어떻게해야합니까?

+0

'build.sbt' 파일에 어떤 문제도 즉시 나타나지 않습니다. 예상 값을 조작 할 수있는'project/*. scala' 파일이 있습니까? – joescii

+0

'project/plugins.sbt'는 무엇입니까? 나는'publishSigned'가 [sbt-pgp] (https://github.com/sbt/sbt-pgp) 또는 [sbt-sonatype] (https://github.com/xerial/sbt-sonatype)에서 나온 것으로 의심합니다. –

+0

@joescii'project 디렉토리에'. * .scala' 파일이 없습니다. – skozlov

답변

2

URL이 누락되었음을 지적 했으므로 조직 속성이므로이 오류가 발생합니다. sbt 콘솔에서 show organization을 실행하여 조직 속성이 올바른지 확인하십시오. 그것이 당신의 프로젝트를 명시 적으로 sbt로 지정하려고 시도하지 않는다면 조직 속성을 설정하십시오.

lazy val core = (project in file(".")).settings(
    organization := "org.bitbucket.sergey_kozlov" 
    //other properties here 
) 
+0

해답을 가져 주셔서 감사합니다. – skozlov

관련 문제