Scala 当使用sbt publishLocal时,自定义配置src jar最终位于jars文件夹中,而不是src文件夹中

Scala 当使用sbt publishLocal时,自定义配置src jar最终位于jars文件夹中,而不是src文件夹中,scala,sbt,Scala,Sbt,我的sbt文件添加了一个名为“dev”的自定义配置。我希望来自dev配置的源代码与来自Compile配置的源代码以相同的方式结束,即在使用sbt publishLocal时位于ivy local cahce的srcs文件夹中。以下sbt文件的编写是否有问题 lazy val Dev = config("dev") extend(Compile) describedAs("Dependencies required for development environments") lazy val d

我的sbt文件添加了一个名为“dev”的自定义配置。我希望来自dev配置的源代码与来自Compile配置的源代码以相同的方式结束,即在使用sbt publishLocal时位于ivy local cahce的srcs文件夹中。以下sbt文件的编写是否有问题

lazy val Dev = config("dev") extend(Compile) describedAs("Dependencies required for development environments")
lazy val dpframework = project
  .in(file("datapipeline-framework"))
  .configs(Dev,Compile,Test)
  .settings(
    name := "datapipeline-framework",
    settings,
    inConfig(Dev)(Defaults.compileSettings),
    addArtifact(artifact in (Dev, packageBin), packageBin in Dev),
    addArtifact(artifact in (Dev, packageDoc), packageDoc in Dev),
    addArtifact(artifact in (Dev, packageSrc), packageSrc in Dev),
    ivyConfigurations := overrideConfigs(Dev, Test, Compile)(ivyConfigurations.value),
    defaultConfiguration := Some(Compile),
    libraryDependencies ++= commonDependencies,
    dependencyOverrides ++= commonDependencyOverrides,
    publishArtifact in Dev := true,
    (dependencyClasspath in Test) := (dependencyClasspath in Test).value ++ Seq(Attributed.blank((classDirectory in Dev).value))
  )

问题似乎是
Dev/packageSrc/artifact
的工件类型错误,因此您可以按如下方式修复该问题:

Dev/packageSrc/artifact~={{uu.withType(“src”)},
以下是完整的示例:

ThisBuild/scalaVersion:=“2.12.10”
此生成/版本:=“0.1.0-快照”
此构建/组织:=“com.example”
ThisBuild/organizationName:=“示例”
lazy val Dev=config(“Dev”).extend(编译)
.descripbedas(“开发环境所需的依赖项”)
lazy val root=(文件中的项目(“.”)
.configs(开发人员)
.设置(
名称:=“数据管道框架”,
inConfig(Dev)(默认编译设置),
addArtifact(Dev/packageBin/artifact,Dev/packageBin),
addArtifact(Dev/packageDoc/artifact,Dev/packageDoc),
Dev/packageDoc/artifact~={{uu.withType(“doc”)},
addArtifact(Dev/packageSrc/artifact,Dev/packageSrc),
Dev/packageSrc/artifact~={uu.withType(“src”)},
Dev/publishArtifact:=true,
Test/dependencyClasspath++=Seq(Attributed.blank((Test/classDirectory.value))
)