Scala 如何排除使用sbt发布包?

Scala 如何排除使用sbt发布包?,scala,sbt,Scala,Sbt,我想发布一个库,它在可运行类中有一些使用示例。当我调用sbt run时,它会找到它们并询问我,找到了我想要的主要类中的哪一个,然后启动它。太好了,我希望这种行为保持下去。但是这些例子使我的Android构建复杂化了(更多的proguard配置),所以我不希望它们出现在已发布的人工制品中 现在,我完全排除了它们,将其放入build.sbt中: excludeFilter in Compile ~= { _ || new FileFilter { def accept(f: File)

我想发布一个库,它在可运行类中有一些使用示例。当我调用
sbt run
时,它会找到它们并询问我,找到了我想要的主要类中的哪一个,然后启动它。太好了,我希望这种行为保持下去。但是这些例子使我的Android构建复杂化了(更多的proguard配置),所以我不希望它们出现在已发布的人工制品中

现在,我完全排除了它们,将其放入build.sbt中:

excludeFilter in Compile ~= { _ ||
  new FileFilter {
    def accept(f: File) = f.getPath.containsSlice("/examples/")
  } }

然后,当我运行
sbt publish local
时,我会得到没有示例的jar,但是如果只键入
sbt run
,就无法获得库源代码并查看它是如何工作的。如何将示例包仅从发布中排除,但仍让其编译以供本地运行?

我建议将示例拆分为另一个子项目