diff --git a/extractor/src/main/scala/org/jetbrains/sbt/Options.scala b/extractor/src/main/scala/org/jetbrains/sbt/Options.scala index fa2eafd0..4a4f00fb 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/Options.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/Options.scala @@ -5,7 +5,8 @@ final case class Options(download: Boolean = false, resolveJavadocClassifiers: Boolean = false, resolveSbtClassifiers: Boolean = false, prettyPrint: Boolean = false, - insertProjectTransitiveDependencies: Boolean = true) + insertProjectTransitiveDependencies: Boolean = true, + separateProdAndTestSources: Boolean = false) object Options { @@ -26,7 +27,8 @@ object Options { resolveJavadocClassifiers = options.contains(Keys.ResolveJavadocClassifiers), resolveSbtClassifiers = options.contains(Keys.ResolveSbtClassifiers), prettyPrint = options.contains(Keys.PrettyPrint), - insertProjectTransitiveDependencies = options.contains(Keys.InsertProjectTransitiveDependencies) + insertProjectTransitiveDependencies = options.contains(Keys.InsertProjectTransitiveDependencies), + separateProdAndTestSources = options.contains(Keys.SeparateProdAndTestSources) ) object Keys { @@ -36,6 +38,7 @@ object Options { val ResolveSbtClassifiers = "resolveSbtClassifiers" val PrettyPrint = "prettyPrint" val InsertProjectTransitiveDependencies = "insertProjectTransitiveDependencies" + val SeparateProdAndTestSources = "separateProdAndTestSources" } } diff --git a/extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala b/extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala index f122f876..aa960346 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala @@ -1,11 +1,13 @@ package org.jetbrains.sbt package extractors +import org.jetbrains.sbt.extractors.DependenciesExtractor.{ProductionType, ProjectType, TestType} import org.jetbrains.sbt.structure._ import sbt.{Configuration => SbtConfiguration, _} import sbt.jetbrains.apiAdapter._ -import scala.collection.Seq +import scala.collection.{Seq, mutable} +import scala.language.postfixOps /** * @author Nikolay Obedin @@ -20,7 +22,8 @@ class DependenciesExtractor(projectRef: ProjectRef, testConfigurations: Seq[SbtConfiguration], sourceConfigurations: Seq[SbtConfiguration], insertProjectTransitiveDependencies: Boolean, - projectToConfigurations: Map[ProjectRef, Seq[Configuration]]) + separateProdTestSources: Boolean, + projectToConfigurations: Map[ProjectType, Seq[Configuration]]) extends ModulesOps { private lazy val testConfigurationNames = testConfigurations.map(_.name) @@ -28,35 +31,72 @@ class DependenciesExtractor(projectRef: ProjectRef, private lazy val sourceConfigurationsNames = sourceConfigurations.map(_.name) private[extractors] def extract: DependencyData = { - val projectDependencies = - if (insertProjectTransitiveDependencies) transitiveProjectDependencies - else nonTransitiveProjectDependencies + val projectDependencies = (separateProdTestSources, insertProjectTransitiveDependencies) match { + case (true, _) => separatedSourcesProjectDependencies + case (_, true) => transitiveProjectDependencies + case _ => nonTransitiveProjectDependencies + } DependencyData(projectDependencies, moduleDependencies, jarDependencies) } - private def transitiveProjectDependencies: Seq[ProjectDependencyData] = { - val dependencies = projectToConfigurations.map { case (project, configurations) => - val transformedConfigurations = mapConfigurations(configurations).map(mapCustomSourceConfigurationToCompileIfApplicable) + private def transitiveProjectDependencies: Dependencies[ProjectDependencyData] = { + val dependencies = projectToConfigurations.map { case(ProjectType(project), configurations) => + val transformedConfigurations = mapConfigurations(configurations).map(mapCustomSourceConfigurationIfApplicable) ProjectDependencyData(project.id, Some(project.build), transformedConfigurations) }.toSeq - dependencies + Dependencies(dependencies, Seq.empty) + } + + private def mapToProjectNameWithSourceTypeAppended(projectType: ProjectType): String = { + val projectName = projectType.project.project + projectType match { + case ProductionType(_) => s"$projectName:main" + case TestType(_) => s"$projectName:test" + } } - private def nonTransitiveProjectDependencies: Seq[ProjectDependencyData] = - buildDependencies.classpath.getOrElse(projectRef, Seq.empty).map { it => + private def separatedSourcesProjectDependencies: Dependencies[ProjectDependencyData] = { + processDependencies(projectToConfigurations.toSeq) { case (projectType @ ProjectType(project), configs) => + val projectName = mapToProjectNameWithSourceTypeAppended(projectType) + ProjectDependencyData(projectName, Option(project.build), configs) + } + } + + private def nonTransitiveProjectDependencies: Dependencies[ProjectDependencyData] = { + val dependencies = buildDependencies.classpath.getOrElse(projectRef, Seq.empty).map { it => val configurations = it.configuration.map(Configuration.fromString).getOrElse(Seq.empty) ProjectDependencyData(it.project.id, Some(it.project.build), configurations) } + Dependencies(dependencies, Seq.empty) + } - private def moduleDependencies: Seq[ModuleDependencyData] = - forAllConfigurations(modulesIn).map { case (moduleId, configurations) => - ModuleDependencyData(moduleId, mapConfigurations(configurations)) + private def moduleDependencies: Dependencies[ModuleDependencyData] = { + val allModuleDependencies = forAllConfigurations(modulesIn) + if (separateProdTestSources) { + processDependencies(allModuleDependencies) { case(moduleId, configs) => + ModuleDependencyData.apply(moduleId, configs) + } + } else { + val dependencies = allModuleDependencies.map { case(moduleId, configs) => + ModuleDependencyData(moduleId, mapConfigurations(configs)) + } + Dependencies(dependencies, Seq.empty) } + } - private def jarDependencies: Seq[JarDependencyData] = - forAllConfigurations(jarsIn).map { case (file, configurations) => - JarDependencyData(file, mapConfigurations(configurations)) + private def jarDependencies: Dependencies[JarDependencyData] = { + val allJarDependencies = forAllConfigurations(jarsIn) + if (separateProdTestSources) { + processDependencies(allJarDependencies) { case (file, configs) => + JarDependencyData(file, configs) + } + } else { + val dependencies = allJarDependencies.map { case (file, configs) => + JarDependencyData(file, mapConfigurations(configs)) + } + Dependencies(dependencies, Seq.empty) } + } private def jarsIn(configuration: SbtConfiguration): Seq[File] = unmanagedClasspath(configuration).map(_.data) @@ -80,6 +120,78 @@ class DependenciesExtractor(projectRef: ProjectRef, .toSeq } + /** + * Configurations passed in a parameter indicate in what configurations some dependency (project, module, jar) is present. Based on that + * we can infer where (prod/test modules) and in what scope this dependency should be added. + */ + private def splitConfigurationsToDifferentSourceSets(configurations: Seq[Configuration]): Dependencies[Configuration] = { + val cs = mergeAllTestConfigurations(configurations) + val (prodConfigs, testConfigs) = { + if (Seq(Configuration.Compile, Configuration.Test, Configuration.Runtime).forall(cs.contains)) { // compile configuration + (Seq(Configuration.Compile), Seq(Configuration.Compile)) + } else { + Seq( + // 1. The downside of this logic is that if cs contains only some custom source configuration (not one that is available in sbt by default), + // then prodConfigs will be empty. It is fixed in #updateProductionConfigs. + // Mapping custom source configurations to Compile, couldn't be done at the same place as + // #mergeAllTestConfigurations, because then Compile would be converted into Provided and it is not the purpose. + // 2. These 3 conditions are also suitable for -internal configurations because when e.g. compile-internal configuration + // is used cs contains only compile configuration and this will cause the dependency to be added to the production module + // with the provided scope + (cs.contains(Configuration.Test), Nil, Seq(Configuration.Compile)), + (cs.contains(Configuration.Compile), Seq(Configuration.Provided), Nil), + (cs.contains(Configuration.Runtime), Seq(Configuration.Runtime), Nil) + ).foldLeft((Seq.empty[Configuration], Seq.empty[Configuration])) { case((productionSoFar, testSoFar), (condition, productionUpdate, testUpdate)) => + if (condition) (productionSoFar ++ productionUpdate, testSoFar ++ testUpdate) + else (productionSoFar, testSoFar) + } + } + } + val updatedProdConfigs = updateProductionConfigs(prodConfigs, cs) + Dependencies(updatedProdConfigs, testConfigs) + } + + private def updateProductionConfigs(prodConfigs: Seq[Configuration], allConfigs: Set[Configuration]): Seq[Configuration] = { + def mergeProvidedAndRuntime(): Seq[Configuration] = + prodConfigs.map { + case Configuration.Provided | Configuration.Runtime => Configuration.Compile + case x => x + }.distinct + + val shouldMergeProvidedAndRuntime = Seq(Configuration.Provided, Configuration.Runtime).forall(prodConfigs.contains) + val isCustomSourceConfigPresent = allConfigs.map(_.name).toSeq.intersect(sourceConfigurationsNames).nonEmpty + + if (shouldMergeProvidedAndRuntime) { + mergeProvidedAndRuntime() + } else if (prodConfigs.isEmpty && isCustomSourceConfigPresent) { + Seq(Configuration.Compile) + } else { + prodConfigs + } + } + + private def processDependencies[D, F]( + dependencies: Seq[(D, Seq[Configuration])] + )(mapToTargetType: ((D, Seq[Configuration])) => F): Dependencies[F] = { + val productionDependencies = mutable.Map.empty[D, Seq[Configuration]] + val testDependencies = mutable.Map.empty[D, Seq[Configuration]] + + def updateDependenciesInProductionAndTest(project: D, configsForProduction: Seq[Configuration], configsForTest: Seq[Configuration]): Unit = { + Seq((productionDependencies, configsForProduction), (testDependencies, configsForTest)) + .filterNot(_._2.isEmpty) + .foreach { case(dependencies, configs) => + val existingConfigurations = dependencies.getOrElse(project, Seq.empty) + dependencies.update(project, existingConfigurations ++ configs) + } + } + + dependencies.foreach { case(dependency, configurations) => + val cs = splitConfigurationsToDifferentSourceSets(configurations) + updateDependenciesInProductionAndTest(dependency, cs.forProduction, cs.forTest) + } + Dependencies(productionDependencies.toSeq.map(mapToTargetType), testDependencies.toSeq.map(mapToTargetType)) + } + // We have to perform this configurations mapping because we're using externalDependencyClasspath // rather than libraryDependencies (to acquire transitive dependencies), so we detect // module presence (in external classpath) instead of explicitly declared configurations. @@ -116,7 +228,7 @@ class DependenciesExtractor(projectRef: ProjectRef, * * Check behaviour of this logic when SCL-18284 will be fixed */ - private def mapCustomSourceConfigurationToCompileIfApplicable(configuration: Configuration): Configuration = { + private def mapCustomSourceConfigurationIfApplicable(configuration: Configuration): Configuration = { val matchIDEAScopes = IDEAScopes.contains(configuration.name) val isSourceConfiguration = sourceConfigurationsNames.contains(configuration.name) if (!matchIDEAScopes && isSourceConfiguration) { @@ -134,6 +246,7 @@ object DependenciesExtractor extends SbtStateOps with TaskOps { def taskDef: Def.Initialize[Task[DependencyData]] = Def.taskDyn { val state = Keys.state.value + val settings = Keys.settingsData.value val projectRef = Keys.thisProjectRef.value val options = StructureKeys.sbtStructureOpts.value //example: Seq(compile, runtime, test, provided, optional) @@ -159,13 +272,16 @@ object DependenciesExtractor extends SbtStateOps with TaskOps { .forAllConfigurations(state, dependencyConfigurations) val allAcceptedProjects = StructureKeys.acceptedProjects.value - val allConfigurationsWithSourceOfAllProjects = (StructureKeys.allConfigurationsWithSource - .forAllProjects(state, allAcceptedProjects) - // From what I checked adding a Compile configuration explicitly is not needed here but this is how it is done in - // org.jetbrains.sbt.extractors.UtilityTasks.sourceConfigurations so probably for some cases it is required - .flatMap(_._2) ++ Seq(sbt.Compile)).distinct - val settings = Keys.settingsData.value + def getProjectToConfigurations(key: SettingKey[Seq[SbtConfiguration]]) = + key.forAllProjects(state, allAcceptedProjects).toMap.mapValues(_.map(_.name)).withDefaultValue(Seq.empty) + + val projectToSourceConfigurations = getProjectToConfigurations(StructureKeys.sourceConfigurations) + val projectToTestConfigurations = getProjectToConfigurations(StructureKeys.testConfigurations) + + val projectToConfigurations = allAcceptedProjects.map { proj => + proj -> ProjectConfigurations(projectToSourceConfigurations(proj), projectToTestConfigurations(proj)) + }.toMap Def.task { (for { @@ -173,17 +289,26 @@ object DependenciesExtractor extends SbtStateOps with TaskOps { externalDependencyClasspathOpt <- externalDependencyClasspathTask classpathConfiguration <- classpathConfigurationTask } yield { - - val projectToTransitiveDependencies = if (options.insertProjectTransitiveDependencies) { - getTransitiveDependenciesForProject( - projectRef, - allConfigurationsWithSourceOfAllProjects, - classpathConfiguration, - settings, - buildDependencies - ) - } else - Map.empty[ProjectRef, Seq[Configuration]] + val projectToTransitiveDependencies = + if (options.separateProdAndTestSources) { + getTransitiveDependenciesForProjectProdTestSources( + projectRef, + projectToConfigurations, + classpathConfiguration, + settings, + buildDependencies + ) + } else if (options.insertProjectTransitiveDependencies) { + getTransitiveDependenciesForProject( + projectRef, + projectToConfigurations, + classpathConfiguration, + settings, + buildDependencies + ) + } else { + Map.empty[ProjectType, Seq[Configuration]] + } val extractor = new DependenciesExtractor( projectRef, @@ -194,6 +319,7 @@ object DependenciesExtractor extends SbtStateOps with TaskOps { testConfigurations, sourceConfigurations, options.insertProjectTransitiveDependencies, + options.separateProdAndTestSources, projectToTransitiveDependencies ) extractor.extract @@ -227,23 +353,78 @@ object DependenciesExtractor extends SbtStateOps with TaskOps { private def getTransitiveDependenciesForProject( projectRef: ProjectRef, - allConfigurationsWithSourceOfAllProjects: Seq[SbtConfiguration], + projectToConfigurations: Map[ProjectRef, ProjectConfigurations], classPathConfiguration: Map[SbtConfiguration, SbtConfiguration], settings: Settings[Scope], buildDependencies: BuildDependencies - ): Map[ProjectRef, Seq[Configuration]] = { - val configToDependencies: Map[Configuration, Seq[ProjectDependency]] = - classPathConfiguration.map { case (selfConfig, config) => - val projectDependencies = retrieveTransitiveProjectDependencies(projectRef, config, settings, buildDependencies) + ): Map[ProjectType, Seq[Configuration]] = { + val dependencyToConfigurations = retrieveTransitiveProjectToConfigsDependencies( + projectRef, + classPathConfiguration, + settings, + buildDependencies, + projectToConfigurations + ) + mapDependenciesToProjectType(dependencyToConfigurations) { projectDependency => ProductionType(projectDependency.project) } + } + + private def mapDependenciesToProjectType( + dependencyToConfigurations: Map[ProjectDependency, Seq[Configuration]] + )(projectDependencyMapping: ProjectDependency => ProjectType): Map[ProjectType, Seq[Configuration]] = + dependencyToConfigurations.foldLeft(Map.empty[ProjectType, Seq[Configuration]]) { case (acc, (projectDependency, configs)) => + val projectType = projectDependencyMapping(projectDependency) + val existingConfigurations = acc.getOrElse(projectType, Seq.empty) + acc.updated(projectType, (existingConfigurations ++ configs).distinct) + } + + private case class ProjectConfigurations(source: Seq[String], test: Seq[String]) + + private[extractors] sealed abstract class ProjectType(val project: ProjectRef) + private[extractors] case class ProductionType(override val project: ProjectRef) extends ProjectType(project) + private[extractors] case class TestType(override val project: ProjectRef) extends ProjectType(project) + + object ProjectType { + def unapply(projectType: ProjectType): Option[ProjectRef] = Some(projectType.project) + } + + private def retrieveTransitiveProjectToConfigsDependencies( + projectRef: ProjectRef, + classPathConfiguration: Map[SbtConfiguration, SbtConfiguration], + settings: Settings[Scope], + buildDependencies: BuildDependencies, + projectToConfigurations: Map[ProjectRef, ProjectConfigurations] + ): Map[ProjectDependency, Seq[Configuration]] = { + val configToDependencies = classPathConfiguration.map { case (selfConfig, config) => + val projectDependencies = retrieveTransitiveProjectDependencies(projectRef, config, settings, buildDependencies, projectToConfigurations) (Configuration(selfConfig.name), projectDependencies) } + invert(configToDependencies) + } - val allConfigurationsWithSourceOfAllProjectsNames = allConfigurationsWithSourceOfAllProjects.map(_.name) - val configToProjects: Map[Configuration, Seq[ProjectRef]] = configToDependencies.mapValues { - keepProjectsWithAtLeastOneSourceConfig(_, allConfigurationsWithSourceOfAllProjectsNames) + private def getTransitiveDependenciesForProjectProdTestSources( + projectRef: ProjectRef, + projectToConfigurations: Map[ProjectRef, ProjectConfigurations], + classPathConfiguration: Map[SbtConfiguration, SbtConfiguration], + settings: Settings[Scope], + buildDependencies: BuildDependencies + ): Map[ProjectType, Seq[Configuration]] = { + val dependencyToConfigurations = retrieveTransitiveProjectToConfigsDependencies( + projectRef, + classPathConfiguration, + settings, + buildDependencies, + projectToConfigurations + ) + val keysMappedToProjectType = mapDependenciesToProjectType(dependencyToConfigurations) { case ProjectDependency(project, configuration) => + projectToConfigurations.get(project) match { + case Some(projectConfigurations) if projectConfigurations.test.contains(configuration) => + TestType(project) + case _ => + ProductionType(project) } + } - invert(configToProjects) + keysMappedToProjectType + (ProductionType(projectRef) -> Seq(Configuration.Test)) } /** @@ -265,12 +446,15 @@ object DependenciesExtractor extends SbtStateOps with TaskOps { projectRef: ProjectRef, config: sbt.Configuration, settings: Settings[Scope], - buildDependencies: BuildDependencies + buildDependencies: BuildDependencies, + projectToConfigurations: Map[ProjectRef, ProjectConfigurations] ): Seq[ProjectDependency] = { val allDependencies = Classpaths.interSort(projectRef, config, settings, buildDependencies) - // note: when production and test sources will be separated removing all dependencies - // with origin project itself, should be done more carefully because it will be required to put projectRef production sources in test sources - val dependenciesWithoutProjectItself = allDependencies.filter(_._1 != projectRef) + val dependenciesWithoutProjectItself = allDependencies + // note: removing dependencies to the origin project itself (when prod/test sources are separated prod part is always added to the test part in #getTransitiveDependenciesForProjectProdTestSources) + // and projects with configurations that do not have sources e.g. provided + .filter { case(project, config) => project != projectRef && isProjectDependencyInSourceConfiguration(project, config, projectToConfigurations) } + dependenciesWithoutProjectItself.map(ProjectDependency.apply) } @@ -289,27 +473,14 @@ object DependenciesExtractor extends SbtStateOps with TaskOps { * }}} * which in practice means that we only have to add `proj2` as a dependency to `root` and `proj1` dependency shouldn't be taken into account. */ - private def keepProjectsWithAtLeastOneSourceConfig( - dependencies: Seq[ProjectDependency], - allConfigurationsWithSourceOfAllProjectsNames: Seq[String] - ): Seq[ProjectRef] = { - val projectToConfigs = dependencies - .groupBy(_.project) - .mapValues(_.map(_.configuration)) - - // note: when production and test sources will be separated we shouldn't just check - // whether there is at least one source configuration per project (it is a very big simplification but sufficient for now). - // For separating production and test sources an analysis should be done to determine what exactly are the configurations of the dependent project and - // from this we should conclude whether we should add production or test part of dependent project to the owner of the dependency. - // There is still a question of where (in production or test sources of the owner of the dependency) to put production/test part of dependent project, - // but it should probably be done in a different place. - val projectToConfigsWithAtLeastOneSourceConfig = - projectToConfigs.filter { case (_, dependencies) => - dependencies.exists(allConfigurationsWithSourceOfAllProjectsNames.contains) - } - - projectToConfigsWithAtLeastOneSourceConfig.keys.toSeq - } + private def isProjectDependencyInSourceConfiguration( + project: ProjectRef, + configuration: String, + projectToConfigurations: Map[ProjectRef, ProjectConfigurations] + ): Boolean = + projectToConfigurations.get(project) + .fold(Seq.empty[String])(t => t.source ++ t.test) + .contains(configuration) private def throwExceptionIfUpdateFailed(result: Result[Map[sbt.Configuration,Keys.Classpath]]): Map[sbt.Configuration, Keys.Classpath] = result match { diff --git a/extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala b/extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala index 2ae7183f..f08d9393 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala @@ -4,7 +4,7 @@ package extractors import org.jetbrains.sbt.structure._ import sbt.Def.Initialize import sbt.jetbrains.keysAdapterEx -import sbt.{Def, File, Configuration => _, _} +import sbt.{Def, File, Configuration => SbtConfiguration, _} import scala.reflect.ClassTag import scala.util.{Failure, Success, Try} @@ -35,9 +35,9 @@ class ProjectExtractor( scalaOrganization: String, scalaInstance: Option[ScalaInstance], scalaCompilerBridgeBinaryJar: Option[File], - scalacOptions: Seq[String], + scalacOptions: Seq[CompilerOptions], javaHome: Option[File], - javacOptions: Seq[String], + javacOptions: Seq[CompilerOptions], compileOrder: CompileOrder, sourceConfigurations: Seq[sbt.Configuration], testConfigurations: Seq[sbt.Configuration], @@ -45,7 +45,9 @@ class ProjectExtractor( play2: Option[Play2Data], settingData: Seq[SettingData], taskData: Seq[TaskData], - commandData: Seq[CommandData] + commandData: Seq[CommandData], + mainSourceDirectories: Seq[File], + testSourceDirectories: Seq[File] ) { private[extractors] def extract: ProjectData = { @@ -97,7 +99,9 @@ class ProjectExtractor( play2, settingData, taskData, - commandData + commandData, + mainSourceDirectories, + testSourceDirectories ) } @@ -272,6 +276,11 @@ object ProjectExtractor extends SbtStateOps with TaskOps { state: State) = key.in(projectRef, Compile).get(state) + private def taskInConfig[T](key: TaskKey[T], config: SbtConfiguration) + (implicit projectRef: ProjectRef, state: State) = + key.in(projectRef, config).get(state) + + def taskDef: Initialize[Task[ProjectData]] = Def.taskDyn { implicit val state: State = Keys.state.value @@ -325,10 +334,26 @@ object ProjectExtractor extends SbtStateOps with TaskOps { taskInCompile(Keys.scalaInstance).onlyIf(options.download).value val scalaCompilerBridgeBinaryJar = keysAdapterEx.myScalaCompilerBridgeBinaryJar.value - val scalacOptions = - taskInCompile(Keys.scalacOptions).onlyIf(options.download).value - val javacOptions = - taskInCompile(Keys.javacOptions).onlyIf(options.download).value + + def mapToCompilerOptions(configToOptions: Seq[(Configuration, Seq[String])]) = { + configToOptions.collect { case(config, options) if options.nonEmpty => + CompilerOptions(config, options) + } + } + + val scalacOptions = mapToCompilerOptions( + Seq( + (Configuration.Compile, taskInConfig(Keys.scalacOptions, Compile).onlyIf(options.download).value.getOrElse(Seq.empty)), + (Configuration.Test, taskInConfig(Keys.scalacOptions, Test).onlyIf(options.download).value.getOrElse(Seq.empty)) + ) + ) + + val javacOptions = mapToCompilerOptions( + Seq( + (Configuration.Compile, taskInConfig(Keys.javacOptions, Compile).onlyIf(options.download).value.getOrElse(Seq.empty)), + (Configuration.Test, taskInConfig(Keys.javacOptions, Test).onlyIf(options.download).value.getOrElse(Seq.empty)) + ) + ) val name = Keys.name.in(projectRef, Compile).value val organization = Keys.organization.in(projectRef, Compile).value @@ -338,6 +363,16 @@ object ProjectExtractor extends SbtStateOps with TaskOps { val javaHome = Keys.javaHome.in(projectRef, Compile).value val compileOrder = Keys.compileOrder.in(projectRef, Compile).value + val sourceConfigurations = StructureKeys.sourceConfigurations.value + val testConfigurations = StructureKeys.testConfigurations.value + + val mainSourceDirectories = Keys.sourceDirectory.in(projectRef) + .forAllConfigurations(state, sourceConfigurations) + .map(_._2).distinct + val testSourceDirectories = Keys.sourceDirectory.in(projectRef) + .forAllConfigurations(state, testConfigurations) + .map(_._2).distinct + new ProjectExtractor( projectRef, name, @@ -358,9 +393,9 @@ object ProjectExtractor extends SbtStateOps with TaskOps { scalaOrganization, scalaInstance, scalaCompilerBridgeBinaryJar, - scalacOptions.getOrElse(Seq.empty), + scalacOptions, javaHome, - javacOptions.getOrElse(Seq.empty), + javacOptions, compileOrder, StructureKeys.sourceConfigurations.value, StructureKeys.testConfigurations.value, @@ -368,7 +403,9 @@ object ProjectExtractor extends SbtStateOps with TaskOps { StructureKeys.extractPlay2.value, StructureKeys.settingData.value, StructureKeys.taskData.value, - StructureKeys.commandData.value.distinct + StructureKeys.commandData.value.distinct, + mainSourceDirectories, + testSourceDirectories ).extract } } diff --git a/extractor/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala b/extractor/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala index 7f463f6b..1591c540 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/extractors/UtilityTasks.scala @@ -140,9 +140,12 @@ object UtilityTasks extends SbtStateOps { val transitiveTest = cs.filter(c => transitiveExtends(c.extendsConfigs) .toSet - .intersect(predefinedTest).nonEmpty) ++ - predefinedTest - transitiveTest.distinct + .intersect(predefinedTest).nonEmpty + ) + // note: IntegrationTest is not a predefined configuration in each sbt project. It has to be manually enabled. + // So returning it from testConfigurations is not necessary and it causes incorrect values to be returned from the sourceDirectory key. + val predefinedAvailableTest = predefinedTest.filter(cs.contains).toSeq + (transitiveTest ++ predefinedAvailableTest).distinct } def sourceConfigurations: Def.Initialize[Seq[Configuration]] = Def.setting { diff --git a/extractor/src/main/scala/org/jetbrains/sbt/operations.scala b/extractor/src/main/scala/org/jetbrains/sbt/operations.scala index 0977c6e9..e2dda33f 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/operations.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/operations.scala @@ -44,6 +44,10 @@ trait SbtStateOps { def forAllProjects(state: State, projects: Seq[ProjectRef]): Seq[(ProjectRef, T)] = projects.flatMap(p => key.in(p).find(state).map(it => (p, it))) + def forAllConfigurations(state: State, configurations: Seq[sbt.Configuration]): Seq[(sbt.Configuration, T)] = { + configurations.flatMap(c => key.in(c).get(structure(state).data).map(it => (c, it))) + } + } implicit class `enrich TaskKey`[T](key: TaskKey[T]) { diff --git a/extractor/src/test/data/0.13/bare/structure.xml b/extractor/src/test/data/0.13/bare/structure.xml index 8a1a0bff..ac00b00d 100644 --- a/extractor/src/test/data/0.13/bare/structure.xml +++ b/extractor/src/test/data/0.13/bare/structure.xml @@ -151,7 +151,20 @@ $BASE/target/scala-2.10/test-classes - + + + + + + + + + + + + + + @@ -1666,6 +1679,8 @@ --- + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/0.13/classifiers/structure.xml b/extractor/src/test/data/0.13/classifiers/structure.xml index f9a24a4d..f737e771 100644 --- a/extractor/src/test/data/0.13/classifiers/structure.xml +++ b/extractor/src/test/data/0.13/classifiers/structure.xml @@ -152,7 +152,20 @@ $BASE/target/scala-2.10/test-classes - + + + + + + + + + + + + + + @@ -1666,6 +1679,8 @@ --- + $BASE/src/test + $BASE/src/main bar @@ -1708,11 +1723,24 @@ $BASE/bar/target/scala-2.10/test-classes - - - - - + + + + + + + + + + + + + + + + + + @@ -3226,6 +3254,8 @@ --- + $BASE/bar/src/test + $BASE/bar/src/main foo @@ -3268,12 +3298,25 @@ $BASE/foo/target/scala-2.10/test-classes - - - - - - + + + + + + + + + + + + + + + + + + + @@ -4787,6 +4830,8 @@ --- + $BASE/foo/src/test + $BASE/foo/src/main diff --git a/extractor/src/test/data/0.13/custom-test-config/structure.xml b/extractor/src/test/data/0.13/custom-test-config/structure.xml index effd9d97..9ea968b9 100644 --- a/extractor/src/test/data/0.13/custom-test-config/structure.xml +++ b/extractor/src/test/data/0.13/custom-test-config/structure.xml @@ -158,14 +158,27 @@ $BASE/target/scala-2.10/fun-classes - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -1675,6 +1688,9 @@ --- + $BASE/src/fun + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/0.13/dependency_resolve_javadocs/structure.xml b/extractor/src/test/data/0.13/dependency_resolve_javadocs/structure.xml index 42e51855..26e5a176 100644 --- a/extractor/src/test/data/0.13/dependency_resolve_javadocs/structure.xml +++ b/extractor/src/test/data/0.13/dependency_resolve_javadocs/structure.xml @@ -100,9 +100,22 @@ $BASE/target/scala-2.10/test-classes - - - + + + + + + + + + + + + + + + + @@ -1616,6 +1629,8 @@ --- + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/0.13/dependency_resolve_none/structure.xml b/extractor/src/test/data/0.13/dependency_resolve_none/structure.xml index e813ec76..eb20a2a4 100644 --- a/extractor/src/test/data/0.13/dependency_resolve_none/structure.xml +++ b/extractor/src/test/data/0.13/dependency_resolve_none/structure.xml @@ -100,9 +100,22 @@ $BASE/target/scala-2.10/test-classes - - - + + + + + + + + + + + + + + + + @@ -1616,6 +1629,8 @@ --- + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/0.13/dependency_resolve_none_with_explicit_classifiers/structure.xml b/extractor/src/test/data/0.13/dependency_resolve_none_with_explicit_classifiers/structure.xml index dabef227..43c90c25 100644 --- a/extractor/src/test/data/0.13/dependency_resolve_none_with_explicit_classifiers/structure.xml +++ b/extractor/src/test/data/0.13/dependency_resolve_none_with_explicit_classifiers/structure.xml @@ -100,9 +100,22 @@ $BASE/target/scala-2.10/test-classes - - - + + + + + + + + + + + + + + + + @@ -1616,6 +1629,8 @@ --- + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/0.13/dependency_resolve_sources/structure.xml b/extractor/src/test/data/0.13/dependency_resolve_sources/structure.xml index 9ca2de24..393674ce 100644 --- a/extractor/src/test/data/0.13/dependency_resolve_sources/structure.xml +++ b/extractor/src/test/data/0.13/dependency_resolve_sources/structure.xml @@ -100,9 +100,22 @@ $BASE/target/scala-2.10/test-classes - - - + + + + + + + + + + + + + + + + @@ -1616,6 +1629,8 @@ --- + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/0.13/ide-settings/structure.xml b/extractor/src/test/data/0.13/ide-settings/structure.xml index 81cd0834..071a81fd 100644 --- a/extractor/src/test/data/0.13/ide-settings/structure.xml +++ b/extractor/src/test/data/0.13/ide-settings/structure.xml @@ -127,8 +127,16 @@ $BASE/target $BASE/some/home - - + + compile + + + + + test + + + 2.10.1 @@ -142,8 +150,16 @@ $IVY2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.10.1.jar - - + + compile + + + + + test + + + Mixed @@ -167,7 +183,20 @@ $BASE/target/scala-2.10/test-classes - + + + + + + + + + + + + + + @@ -1691,6 +1720,8 @@ --- + $BASE/src/test + $BASE/src/main projectToRedirectOutput @@ -1733,7 +1764,20 @@ $BASE/redirectOutput/target/idea-test-classes - + + + + + + + + + + + + + + @@ -3257,6 +3301,8 @@ --- + $BASE/redirectOutput/src/test + $BASE/redirectOutput/src/main diff --git a/extractor/src/test/data/0.13/multiple/structure.xml b/extractor/src/test/data/0.13/multiple/structure.xml index bdd18941..707467da 100644 --- a/extractor/src/test/data/0.13/multiple/structure.xml +++ b/extractor/src/test/data/0.13/multiple/structure.xml @@ -152,8 +152,22 @@ $BASE/target/scala-2.10/test-classes - bar - + + + + bar + + + + + + + + + + + + @@ -1662,6 +1676,8 @@ --- + $BASE/src/test + $BASE/src/main bar @@ -1704,7 +1720,20 @@ $BASE/bar/target/scala-2.10/test-classes - + + + + + + + + + + + + + + @@ -3213,6 +3242,8 @@ --- + $BASE/bar/src/test + $BASE/bar/src/main foo @@ -3254,7 +3285,20 @@ $BASE/foo/target/scala-2.9.2/test-classes - + + + + + + + + + + + + + + @@ -4763,6 +4807,8 @@ --- + $BASE/foo/src/test + $BASE/foo/src/main diff --git a/extractor/src/test/data/0.13/optional/structure.xml b/extractor/src/test/data/0.13/optional/structure.xml index fa2b22b8..2cbf6ec4 100644 --- a/extractor/src/test/data/0.13/optional/structure.xml +++ b/extractor/src/test/data/0.13/optional/structure.xml @@ -151,8 +151,21 @@ $BASE/target/scala-2.10/test-classes - - + + + + + + + + + + + + + + + @@ -1666,6 +1679,8 @@ --- + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/0.13/play/structure.xml b/extractor/src/test/data/0.13/play/structure.xml index 0c1c74c0..f63d4460 100644 --- a/extractor/src/test/data/0.13/play/structure.xml +++ b/extractor/src/test/data/0.13/play/structure.xml @@ -193,9 +193,18 @@ $BASE $BASE/target - - - + + compile + + + + + + test + + + + 2.10.7 @@ -209,10 +218,20 @@ $SBT_BOOT/scala-2.10.7/lib/scala-reflect.jar - - - - + + compile + + + + + + + test + + + + + Mixed @@ -234,105 +253,118 @@ $BASE/target/scala-2.10/test-classes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2976,6 +3008,8 @@ --- + $BASE/test + $BASE/app diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/bar/build.sbt b/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/bar/build.sbt new file mode 100644 index 00000000..dcf15fab --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/bar/build.sbt @@ -0,0 +1 @@ +libraryDependencies ++= Seq(Test.base) diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/foo/build.sbt b/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/foo/build.sbt new file mode 100644 index 00000000..25050a36 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/foo/build.sbt @@ -0,0 +1 @@ +libraryDependencies ++= Seq(Test.base, Test.baseTest) diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/project/Build.scala b/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/project/Build.scala new file mode 100644 index 00000000..c80cbf1e --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/project/Build.scala @@ -0,0 +1,10 @@ +import sbt._ +import Keys._ + +object Test extends Build { + lazy val foo = project in file("foo") + lazy val bar = project in file("bar") + + val base = "org.apache.james" % "apache-mailet-base" % "2.5.0" + val baseTest = "org.apache.james" % "apache-mailet-base" % "2.5.0" % "test" classifier "tests" classifier "" +} diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/project/build.properties b/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/project/build.properties new file mode 100644 index 00000000..8e682c52 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/project/build.properties @@ -0,0 +1 @@ +sbt.version=0.13.18 diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/structure.xml b/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/structure.xml new file mode 100644 index 00000000..e8158a55 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/classifiers/structure.xml @@ -0,0 +1,4883 @@ + + + + $URI_BASE + import Test._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin + import sbt._, Keys._, dsl._ + $SBT_BOOT/scala-2.10.7/lib/jansi.jar + $SBT_BOOT/scala-2.10.7/lib/jline.jar + $SBT_BOOT/scala-2.10.7/lib/scala-compiler.jar + $SBT_BOOT/scala-2.10.7/lib/scala-library.jar + $SBT_BOOT/scala-2.10.7/lib/scala-reflect.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/actions-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/api-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/apply-macro-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/cache-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/classfile-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/classpath-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/collections-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/command-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compile-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-integration-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-interface-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-ivy-integration-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/completion-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/control-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/cross-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/incremental-compiler-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/io-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/ivy-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jawn-parser_2.10-0.6.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jline-2.14.5.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jsch-0.1.50.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-ast_2.10-3.2.10.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-core_2.10-3.2.10.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-support_2.10-0.6.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/launcher-interface-1.0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/logging-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/logic-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/main-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/main-settings-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/paranamer-2.6.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/persist-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/process-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/quasiquotes_2.10-2.0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/relation-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/run-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/sbinary_2.10-0.4.2.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/sbt-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/scala-pickling_2.10-0.10.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/scala-reflect-2.10.7.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/serialization_2.10-0.1.2.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/task-system-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/tasks-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/template-resolver-0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/test-agent-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/test-interface-1.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/testing-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/tracking-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/xsbti/interface-0.13.18.jar + $IVY2/cache/com.jcraft/jsch/srcs/jsch-0.1.50-sources.jar + $IVY2/cache/com.thoughtworks.paranamer/paranamer/srcs/paranamer-2.6-sources.jar + $IVY2/cache/jline/jline/srcs/jline-2.14.5-sources.jar + $IVY2/cache/org.json4s/json4s-ast_2.10/srcs/json4s-ast_2.10-3.2.10-sources.jar + $IVY2/cache/org.json4s/json4s-core_2.10/srcs/json4s-core_2.10-3.2.10-sources.jar + $IVY2/cache/org.scala-lang.modules/scala-pickling_2.10/srcs/scala-pickling_2.10-0.10.1-sources.jar + $IVY2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.10.7-sources.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.7-sources.jar + $IVY2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.7-sources.jar + $IVY2/cache/org.scala-sbt.ivy/ivy/srcs/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310-sources.jar + $IVY2/cache/org.scala-sbt/actions/srcs/actions-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/api/srcs/api-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/apply-macro/srcs/apply-macro-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/cache/srcs/cache-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/classfile/srcs/classfile-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/classpath/srcs/classpath-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/collections/srcs/collections-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/command/srcs/command-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compile/srcs/compile-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-integration/srcs/compiler-integration-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-interface/srcs/compiler-interface-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-ivy-integration/srcs/compiler-ivy-integration-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/completion/srcs/completion-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/control/srcs/control-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/cross/srcs/cross-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/incremental-compiler/srcs/incremental-compiler-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/interface/srcs/interface-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/io/srcs/io-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/ivy/srcs/ivy-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-1.0.1-sources.jar + $IVY2/cache/org.scala-sbt/logging/srcs/logging-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/logic/srcs/logic-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/main/srcs/main-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/persist/srcs/persist-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/process/srcs/process-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/relation/srcs/relation-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/run/srcs/run-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/sbt/srcs/sbt-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/serialization_2.10/srcs/serialization_2.10-0.1.2-sources.jar + $IVY2/cache/org.scala-sbt/task-system/srcs/task-system-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/tasks/srcs/tasks-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/template-resolver/srcs/template-resolver-0.1-sources.jar + $IVY2/cache/org.scala-sbt/test-agent/srcs/test-agent-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + $IVY2/cache/org.scala-sbt/testing/srcs/testing-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/tracking/srcs/tracking-0.13.18-sources.jar + $IVY2/cache/org.scala-tools.sbinary/sbinary_2.10/srcs/sbinary_2.10-0.4.2-sources.jar + $IVY2/cache/org.scalamacros/quasiquotes_2.10/srcs/quasiquotes_2.10-2.0.1-sources.jar + $IVY2/cache/org.spire-math/jawn-parser_2.10/srcs/jawn-parser_2.10-0.6.0-sources.jar + $IVY2/cache/org.spire-math/json4s-support_2.10/srcs/json4s-support_2.10-0.6.0-sources.jar + + + classifiers + $URI_BASE + classifiers + default + 0.1-SNAPSHOT + $BASE + $BASE/target + + 2.10.7 + + $SBT_BOOT/scala-2.10.7/lib/scala-library.jar + + + $SBT_BOOT/scala-2.10.7/lib/jansi.jar + $SBT_BOOT/scala-2.10.7/lib/jline.jar + $SBT_BOOT/scala-2.10.7/lib/scala-compiler.jar + $SBT_BOOT/scala-2.10.7/lib/scala-reflect.jar + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2.10 + $BASE/target/scala-2.10/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.10/resource_managed/main + $BASE/target/scala-2.10/classes + + + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2.10 + $BASE/target/scala-2.10/src_managed/test + $BASE/src/test/resources + $BASE/target/scala-2.10/resource_managed/test + $BASE/target/scala-2.10/test-classes + + + + + classifiers:main + + + + + + + + + + + + + + + + + + + + + Declares managed dependency overrides. + 40 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The maximum number of errors, such as compile errors, to list. + 10 + + + + Commands to execute before the Scala interpreter exits. + 41 + + + + Defines inline Ivy XML for configuring dependency management. + 40 + + + + If true, includes repositories used in module configurations in the pom repositories section. If false, only the common repositories are included. + 41 + + + + Project licenses as (name, url) pairs. + 41 + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Pattern used to retrieve managed dependencies to the current build. + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Organization/group ID. + 9 + + + + Provides a resolver for obtaining sbt as a dependency. + 41 + + + + Configures handling of Scala classpaths. + 10000 + + + + Logs results after a test task completes. + 20000 + + + + Provides access to the loaded project structure. This is the information available before settings are evaluated. + 10000 + + + + Project name. + 9 + + + + Use JCenter as the default repository. + 40 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Year in which the project started. + 41 + + + + Default Scala source directory. + 10 + + + + Configures the order in which Java and sources within a single compilation are compiled. Valid values are: JavaThenScala, ScalaThenJava, or Mixed. + 39 + + + + Selects the conflict manager to use for dependency management. + 100 + + + + Declares managed dependency exclusions. + 40 + + + + True if the the version of the project is a snapshot version. + 39 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Enables (true) or disables (false) parallel execution of tasks. + 41 + + + + Adds a dependency on scala-library if true. + 10 + + + + Configuration for generating a pom. + 10000 + + + + Sets the classifier used by the default artifact definition. + 40 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + If true, connects standard input when running a main class forked. + 100 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + Defines module configurations, which override resolvers on a per-module basis. + 41 + + + + Directory used for caching task data. + 41 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Filter for excluding sources and resources files from default directories. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The location where command line history is persisted. + 40 + + + + Transforms the generated POM. + 100 + + + + The amount of logging sent to the screen. + 10 + + + + Provides the version of sbt. This setting should be not be modified. + 11 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + A function that provides additional loggers for a given setting. + 10000 + + + + Automatically obtains Scala tools as managed dependencies if true. + 40 + + + + The message to show before triggered execution executes an action after sources change. + 10000 + + + + True if logging should be buffered until work completes. + 100 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + The level of tracking for this project by the internal callers. + 40 + + + + Basic SCM information for the project. + 41 + + + + Directory to which managed dependencies are retrieved. + 40 + + + + The default directory for manually managed libraries. + 10 + + + + Defines the binary compatibility version substring. + 39 + + + + The dependency management descriptor for the current module. + 41 + + + + An optional set of configurations from which to retrieve dependencies if retrieveManaged is set to true + 40 + + + + Project description. + 40 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + If Some, defines the local Scala installation to use for compilation, running, and testing. + 10 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Configures the module ID of the sources of the compiler bridge. + 100 + + + + The resolver to publish to. + 10 + + + + tags + 40 + + + + The location of a generated artifact. + 39 + + + + Default directory containing sources. + 11 + + + + Organization homepage. + 41 + + + + Selects repositories to include in the generated POM. + 100 + + + + Filter for including sources and resources files from default directories. + 100 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + If true, enables exit trapping and thread management for 'run'-like tasks. This is currently only suitable for serially-executed 'run'-like tasks. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + If true, enables retrieving dependencies to the current build. Otherwise, dependencies are used directly from the cache. + 40 + + + + Options for resolving managed dependencies. + 10000 + + + + Organization full/formal name. + 41 + + + + If true, enables automatically generating -Xplugin arguments to the compiler based on the classpath for the plugin configuration. + 11 + + + + Selects how to log output when running a main class. + 10000 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + Continuous execution configuration. + 1000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + The user-defined additional resolvers for automatically managed dependencies. + 31 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Extra XML to insert into the generated POM. + 40 + + + + Registered, although not necessarily present, test frameworks. + 200 + + + + Base URL for API documentation. + 41 + + + + Determines whether the exported classpath for this project contains classes (false) or a packaged jar (true). + 40 + + + + The version of Scala used for building. + 9 + + + + The name of the current module, used for dependency management. + 40 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + Maps configurations to the actual configuration used to define the classpath. + 100 + + + + The logging level for updating. + 40 + + + + If true, enables adding sbt as a dependency and auto-generation of the plugin descriptor file. + 41 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Enables/disables Ivy validation of module metadata. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Whether forked tests should be executed in parallel + 200 + + + + Provides access to the launched sbt configuration, including the ScalaProvider, Launcher, and GlobalLock. + 10000 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Function that produces the artifact name from its definition. + 100 + + + + If true, enables cross paths, which distinguish input and output directories for cross-building. + 10 + + + + If true, automatically manages mappings to the API doc URL. + 41 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + If true, enables synchronizing the dependencies retrieved to the current build by removed unneeded files. + 40 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + If true, forks a new JVM when running. If false, runs in the same JVM as the build. + 10 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + The level of tracking for the internal (inter-project) dependency. + 40 + + + + Definitive source of inter-project dependencies for compilation and dependency management. This is populated by default by the dependencies declared on Project instances, but may be modified. The main restriction is that new builds may not be introduced. + 10000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + If true, sources from the project's base directory are included as main sources. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Duration after which to force a full update to occur + 100 + + + + Default Java source directory. + 10 + + + + Defines the configuration used when none is specified for a dependency in ivyXML. + 100 + + + + Artifact types that are included on the classpath. + 40 + + + + The files to recursively delete during a clean. + 40 + + + + Directory for compiled classes and copied resources. + 11 + + + + Project homepage. + 40 + + + + Initial commands to execute when starting up the Scala interpreter. + 11 + + + + Directory used for temporary files for tasks that is deleted after each task execution. + 10000 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + The message to show when triggered execution waits for sources to change. + 10000 + + + + options for dumpStructure task + 10000 + + + + List of managed resource directories. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + List of developers implicated in the project + 41 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Selects the Java installation used for compiling and forking. If None, uses the Java installation running the build. + 10 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + Configures warnings around Maven incompatibility. + 100 + + + + Declares managed dependencies. + 9 + + + + The list of checksums to generate and to verify for dependencies. + 40 + + + + List of tasks that generate sources. + 100 + + + + Configures sbt to work without a network connection where possible. + 10 + + + + Interval between checks for modified sources by the continuous execution command. + 41 + + + + Describes an artifact. + 41 + + + + Copies resources to the output directory. + 6 + + + + Sources generated by the build. + 30 + + + + Source positions where the dependencies are defined. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + A hook to get the UpdateReport of the global plugin. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + + 200 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Defines the sources in this project for continuous execution to watch for changes. + 41 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + Provides access to the project data for the build. + 20000 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Provides the sbt interface to Ivy. + 200 + + + + The configuration used to define the classpath. + 200 + + + + Inter-project and library dependencies. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The base directory for cached dependencies. + 20000 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Configures aspects of incremental compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + Configuration for generating the finished Ivy file for publishing. + 20000 + + + + The files to recursively delete during a clean. + 40 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Current build state. + 20000 + + + + Provides access to the build structure, settings, and streams manager. + 20000 + + + + Auto-detects main classes. + 31 + + + + Provides the class loader used for testing. + 20000 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Options for the Scala compiler. + 29 + + + + Unmanaged sources, which are manually created. + 29 + + + + Options for the incremental compiler. + 30 + + + + Defines the main class for packaging or running. + 29 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Resources generated by the build. + 30 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + Options for the Java compiler. + 29 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + Streams manager, which provides streams for different contexts. + 20000 + + + + Options passed to a new JVM when forking. + 29 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Collects all inputs needed for compilation. + 20000 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + Configuration for unresolved dependency warning. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + The list of root tasks for this task execution. Roots are the top-level tasks that were directly requested to be run. + 20000 + + + + Options for packaging. + 30 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + Defines the filename used to store the incremental compiler analysis file (inside the streams cacheDirectory). + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Environment variables used when forking a new JVM + 30 + + + + Implementation used to run a main class. + 20000 + + + + For tasks that support it (currently only 'compile' and 'update'), setting skip to true will force the task to not to do its work. This exact semantics may vary by task. + 40 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Build products that get packaged. + 31 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Maps positions in generated source files to the original source it was generated from + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Configuration for publishing to a repository. + 20000 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Configuration for generating the finished Ivy file for local publishing. + 20000 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Display detailed eviction warnings. + 200 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Publishes artifacts to a repository. + 4 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Read the incremental compiler analysis from disk + 20000 + + + + Provides the list of defined tests. + 31 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + Selects the main class to run. + 31 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Defines test listeners. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + All resource files, both managed and unmanaged. + 30 + + + + The internal (inter-project) classpath. + 200 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + The credentials to use for updating and publishing. + 31 + + + + Cache of scala.tools.nsc.Global instances. This should typically be cached so that it isn't recreated every task run. + 20000 + + + preferScala2 + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + reboot + + + < + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [uses|tree|definitions] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + load-failed + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + write-sbt-version + + + notify-users-about-shell + + + iflast + + + shell + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + eval + + + alias + + + append + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + apply + + + exit + + exit + Terminates the build. + + + + initialize + + + -- + + + --- + + $BASE/src/test + $BASE/src/main + + + bar + $URI_BASE + bar + bar + 0.1-SNAPSHOT + $BASE/bar + $BASE/bar/target + + 2.10.7 + + $SBT_BOOT/scala-2.10.7/lib/scala-library.jar + + + $SBT_BOOT/scala-2.10.7/lib/jansi.jar + $SBT_BOOT/scala-2.10.7/lib/jline.jar + $SBT_BOOT/scala-2.10.7/lib/scala-compiler.jar + $SBT_BOOT/scala-2.10.7/lib/scala-reflect.jar + + + + Mixed + + $BASE/bar/src/main/java + $BASE/bar/src/main/scala + $BASE/bar/src/main/scala-2.10 + $BASE/bar/target/scala-2.10/src_managed/main + $BASE/bar/src/main/resources + $BASE/bar/target/scala-2.10/resource_managed/main + $BASE/bar/target/scala-2.10/classes + + + $BASE/bar/src/test/java + $BASE/bar/src/test/scala + $BASE/bar/src/test/scala-2.10 + $BASE/bar/target/scala-2.10/src_managed/test + $BASE/bar/src/test/resources + $BASE/bar/target/scala-2.10/resource_managed/test + $BASE/bar/target/scala-2.10/test-classes + + + + + bar:main + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Declares managed dependency overrides. + 40 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The maximum number of errors, such as compile errors, to list. + 10 + + + + Commands to execute before the Scala interpreter exits. + 41 + + + + Defines inline Ivy XML for configuring dependency management. + 40 + + + + If true, includes repositories used in module configurations in the pom repositories section. If false, only the common repositories are included. + 41 + + + + Project licenses as (name, url) pairs. + 41 + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Pattern used to retrieve managed dependencies to the current build. + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Organization/group ID. + 9 + + + + Provides a resolver for obtaining sbt as a dependency. + 41 + + + + Configures handling of Scala classpaths. + 10000 + + + + Logs results after a test task completes. + 20000 + + + + Provides access to the loaded project structure. This is the information available before settings are evaluated. + 10000 + + + + Project name. + 9 + + + + Use JCenter as the default repository. + 40 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Year in which the project started. + 41 + + + + Default Scala source directory. + 10 + + + + Configures the order in which Java and sources within a single compilation are compiled. Valid values are: JavaThenScala, ScalaThenJava, or Mixed. + 39 + + + + Selects the conflict manager to use for dependency management. + 100 + + + + Declares managed dependency exclusions. + 40 + + + + True if the the version of the project is a snapshot version. + 39 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Enables (true) or disables (false) parallel execution of tasks. + 41 + + + + Adds a dependency on scala-library if true. + 10 + + + + Configuration for generating a pom. + 10000 + + + + Sets the classifier used by the default artifact definition. + 40 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + If true, connects standard input when running a main class forked. + 100 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + Defines module configurations, which override resolvers on a per-module basis. + 41 + + + + Directory used for caching task data. + 41 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Filter for excluding sources and resources files from default directories. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The location where command line history is persisted. + 40 + + + + Transforms the generated POM. + 100 + + + + The amount of logging sent to the screen. + 10 + + + + Provides the version of sbt. This setting should be not be modified. + 11 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + A function that provides additional loggers for a given setting. + 10000 + + + + Automatically obtains Scala tools as managed dependencies if true. + 40 + + + + The message to show before triggered execution executes an action after sources change. + 10000 + + + + True if logging should be buffered until work completes. + 100 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + The level of tracking for this project by the internal callers. + 40 + + + + Basic SCM information for the project. + 41 + + + + Directory to which managed dependencies are retrieved. + 40 + + + + The default directory for manually managed libraries. + 10 + + + + Defines the binary compatibility version substring. + 39 + + + + The dependency management descriptor for the current module. + 41 + + + + An optional set of configurations from which to retrieve dependencies if retrieveManaged is set to true + 40 + + + + Project description. + 40 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + If Some, defines the local Scala installation to use for compilation, running, and testing. + 10 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Configures the module ID of the sources of the compiler bridge. + 100 + + + + The resolver to publish to. + 10 + + + + tags + 40 + + + + The location of a generated artifact. + 39 + + + + Default directory containing sources. + 11 + + + + Organization homepage. + 41 + + + + Selects repositories to include in the generated POM. + 100 + + + + Filter for including sources and resources files from default directories. + 100 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + If true, enables exit trapping and thread management for 'run'-like tasks. This is currently only suitable for serially-executed 'run'-like tasks. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + If true, enables retrieving dependencies to the current build. Otherwise, dependencies are used directly from the cache. + 40 + + + + Options for resolving managed dependencies. + 10000 + + + + Organization full/formal name. + 41 + + + + If true, enables automatically generating -Xplugin arguments to the compiler based on the classpath for the plugin configuration. + 11 + + + + Selects how to log output when running a main class. + 10000 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + Continuous execution configuration. + 1000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + The user-defined additional resolvers for automatically managed dependencies. + 31 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Extra XML to insert into the generated POM. + 40 + + + + Registered, although not necessarily present, test frameworks. + 200 + + + + Base URL for API documentation. + 41 + + + + Determines whether the exported classpath for this project contains classes (false) or a packaged jar (true). + 40 + + + + The version of Scala used for building. + 9 + + + + The name of the current module, used for dependency management. + 40 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + Maps configurations to the actual configuration used to define the classpath. + 100 + + + + The logging level for updating. + 40 + + + + If true, enables adding sbt as a dependency and auto-generation of the plugin descriptor file. + 41 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Enables/disables Ivy validation of module metadata. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Whether forked tests should be executed in parallel + 200 + + + + Provides access to the launched sbt configuration, including the ScalaProvider, Launcher, and GlobalLock. + 10000 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Function that produces the artifact name from its definition. + 100 + + + + If true, enables cross paths, which distinguish input and output directories for cross-building. + 10 + + + + If true, automatically manages mappings to the API doc URL. + 41 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + If true, enables synchronizing the dependencies retrieved to the current build by removed unneeded files. + 40 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + If true, forks a new JVM when running. If false, runs in the same JVM as the build. + 10 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + The level of tracking for the internal (inter-project) dependency. + 40 + + + + Definitive source of inter-project dependencies for compilation and dependency management. This is populated by default by the dependencies declared on Project instances, but may be modified. The main restriction is that new builds may not be introduced. + 10000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + If true, sources from the project's base directory are included as main sources. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Duration after which to force a full update to occur + 100 + + + + Default Java source directory. + 10 + + + + Defines the configuration used when none is specified for a dependency in ivyXML. + 100 + + + + Artifact types that are included on the classpath. + 40 + + + + The files to recursively delete during a clean. + 40 + + + + Directory for compiled classes and copied resources. + 11 + + + + Project homepage. + 40 + + + + Initial commands to execute when starting up the Scala interpreter. + 11 + + + + Directory used for temporary files for tasks that is deleted after each task execution. + 10000 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + The message to show when triggered execution waits for sources to change. + 10000 + + + + options for dumpStructure task + 10000 + + + + List of managed resource directories. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + List of developers implicated in the project + 41 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Selects the Java installation used for compiling and forking. If None, uses the Java installation running the build. + 10 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + Configures warnings around Maven incompatibility. + 100 + + + + Declares managed dependencies. + 9 + + + + The list of checksums to generate and to verify for dependencies. + 40 + + + + List of tasks that generate sources. + 100 + + + + Configures sbt to work without a network connection where possible. + 10 + + + + Interval between checks for modified sources by the continuous execution command. + 41 + + + + Describes an artifact. + 41 + + + + Copies resources to the output directory. + 6 + + + + Sources generated by the build. + 30 + + + + Source positions where the dependencies are defined. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + A hook to get the UpdateReport of the global plugin. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + + 200 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Defines the sources in this project for continuous execution to watch for changes. + 41 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + Provides access to the project data for the build. + 20000 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Provides the sbt interface to Ivy. + 200 + + + + The configuration used to define the classpath. + 200 + + + + Inter-project and library dependencies. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The base directory for cached dependencies. + 20000 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Configures aspects of incremental compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + Configuration for generating the finished Ivy file for publishing. + 20000 + + + + The files to recursively delete during a clean. + 40 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Current build state. + 20000 + + + + Provides access to the build structure, settings, and streams manager. + 20000 + + + + Auto-detects main classes. + 31 + + + + Provides the class loader used for testing. + 20000 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Options for the Scala compiler. + 29 + + + + Unmanaged sources, which are manually created. + 29 + + + + Options for the incremental compiler. + 30 + + + + Defines the main class for packaging or running. + 29 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Resources generated by the build. + 30 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + Options for the Java compiler. + 29 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + Streams manager, which provides streams for different contexts. + 20000 + + + + Options passed to a new JVM when forking. + 29 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Collects all inputs needed for compilation. + 20000 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + Configuration for unresolved dependency warning. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + The list of root tasks for this task execution. Roots are the top-level tasks that were directly requested to be run. + 20000 + + + + Options for packaging. + 30 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + Defines the filename used to store the incremental compiler analysis file (inside the streams cacheDirectory). + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Environment variables used when forking a new JVM + 30 + + + + Implementation used to run a main class. + 20000 + + + + For tasks that support it (currently only 'compile' and 'update'), setting skip to true will force the task to not to do its work. This exact semantics may vary by task. + 40 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Build products that get packaged. + 31 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Maps positions in generated source files to the original source it was generated from + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Configuration for publishing to a repository. + 20000 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Configuration for generating the finished Ivy file for local publishing. + 20000 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Display detailed eviction warnings. + 200 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Publishes artifacts to a repository. + 4 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Read the incremental compiler analysis from disk + 20000 + + + + Provides the list of defined tests. + 31 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + Selects the main class to run. + 31 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Defines test listeners. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + All resource files, both managed and unmanaged. + 30 + + + + The internal (inter-project) classpath. + 200 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + The credentials to use for updating and publishing. + 31 + + + + Cache of scala.tools.nsc.Global instances. This should typically be cached so that it isn't recreated every task run. + 20000 + + + preferScala2 + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + reboot + + + < + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [uses|tree|definitions] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + load-failed + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + write-sbt-version + + + notify-users-about-shell + + + iflast + + + shell + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + eval + + + alias + + + append + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + apply + + + exit + + exit + Terminates the build. + + + + initialize + + + -- + + + --- + + $BASE/bar/src/test + $BASE/bar/src/main + + + foo + $URI_BASE + foo + foo + 0.1-SNAPSHOT + $BASE/foo + $BASE/foo/target + + 2.10.7 + + $SBT_BOOT/scala-2.10.7/lib/scala-library.jar + + + $SBT_BOOT/scala-2.10.7/lib/jansi.jar + $SBT_BOOT/scala-2.10.7/lib/jline.jar + $SBT_BOOT/scala-2.10.7/lib/scala-compiler.jar + $SBT_BOOT/scala-2.10.7/lib/scala-reflect.jar + + + + Mixed + + $BASE/foo/src/main/java + $BASE/foo/src/main/scala + $BASE/foo/src/main/scala-2.10 + $BASE/foo/target/scala-2.10/src_managed/main + $BASE/foo/src/main/resources + $BASE/foo/target/scala-2.10/resource_managed/main + $BASE/foo/target/scala-2.10/classes + + + $BASE/foo/src/test/java + $BASE/foo/src/test/scala + $BASE/foo/src/test/scala-2.10 + $BASE/foo/target/scala-2.10/src_managed/test + $BASE/foo/src/test/resources + $BASE/foo/target/scala-2.10/resource_managed/test + $BASE/foo/target/scala-2.10/test-classes + + + + + foo:main + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Declares managed dependency overrides. + 40 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The maximum number of errors, such as compile errors, to list. + 10 + + + + Commands to execute before the Scala interpreter exits. + 41 + + + + Defines inline Ivy XML for configuring dependency management. + 40 + + + + If true, includes repositories used in module configurations in the pom repositories section. If false, only the common repositories are included. + 41 + + + + Project licenses as (name, url) pairs. + 41 + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Pattern used to retrieve managed dependencies to the current build. + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Organization/group ID. + 9 + + + + Provides a resolver for obtaining sbt as a dependency. + 41 + + + + Configures handling of Scala classpaths. + 10000 + + + + Logs results after a test task completes. + 20000 + + + + Provides access to the loaded project structure. This is the information available before settings are evaluated. + 10000 + + + + Project name. + 9 + + + + Use JCenter as the default repository. + 40 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Year in which the project started. + 41 + + + + Default Scala source directory. + 10 + + + + Configures the order in which Java and sources within a single compilation are compiled. Valid values are: JavaThenScala, ScalaThenJava, or Mixed. + 39 + + + + Selects the conflict manager to use for dependency management. + 100 + + + + Declares managed dependency exclusions. + 40 + + + + True if the the version of the project is a snapshot version. + 39 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Enables (true) or disables (false) parallel execution of tasks. + 41 + + + + Adds a dependency on scala-library if true. + 10 + + + + Configuration for generating a pom. + 10000 + + + + Sets the classifier used by the default artifact definition. + 40 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + If true, connects standard input when running a main class forked. + 100 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + Defines module configurations, which override resolvers on a per-module basis. + 41 + + + + Directory used for caching task data. + 41 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Filter for excluding sources and resources files from default directories. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The location where command line history is persisted. + 40 + + + + Transforms the generated POM. + 100 + + + + The amount of logging sent to the screen. + 10 + + + + Provides the version of sbt. This setting should be not be modified. + 11 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + A function that provides additional loggers for a given setting. + 10000 + + + + Automatically obtains Scala tools as managed dependencies if true. + 40 + + + + The message to show before triggered execution executes an action after sources change. + 10000 + + + + True if logging should be buffered until work completes. + 100 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + The level of tracking for this project by the internal callers. + 40 + + + + Basic SCM information for the project. + 41 + + + + Directory to which managed dependencies are retrieved. + 40 + + + + The default directory for manually managed libraries. + 10 + + + + Defines the binary compatibility version substring. + 39 + + + + The dependency management descriptor for the current module. + 41 + + + + An optional set of configurations from which to retrieve dependencies if retrieveManaged is set to true + 40 + + + + Project description. + 40 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + If Some, defines the local Scala installation to use for compilation, running, and testing. + 10 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Configures the module ID of the sources of the compiler bridge. + 100 + + + + The resolver to publish to. + 10 + + + + tags + 40 + + + + The location of a generated artifact. + 39 + + + + Default directory containing sources. + 11 + + + + Organization homepage. + 41 + + + + Selects repositories to include in the generated POM. + 100 + + + + Filter for including sources and resources files from default directories. + 100 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + If true, enables exit trapping and thread management for 'run'-like tasks. This is currently only suitable for serially-executed 'run'-like tasks. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + If true, enables retrieving dependencies to the current build. Otherwise, dependencies are used directly from the cache. + 40 + + + + Options for resolving managed dependencies. + 10000 + + + + Organization full/formal name. + 41 + + + + If true, enables automatically generating -Xplugin arguments to the compiler based on the classpath for the plugin configuration. + 11 + + + + Selects how to log output when running a main class. + 10000 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + Continuous execution configuration. + 1000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + The user-defined additional resolvers for automatically managed dependencies. + 31 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Extra XML to insert into the generated POM. + 40 + + + + Registered, although not necessarily present, test frameworks. + 200 + + + + Base URL for API documentation. + 41 + + + + Determines whether the exported classpath for this project contains classes (false) or a packaged jar (true). + 40 + + + + The version of Scala used for building. + 9 + + + + The name of the current module, used for dependency management. + 40 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + Maps configurations to the actual configuration used to define the classpath. + 100 + + + + The logging level for updating. + 40 + + + + If true, enables adding sbt as a dependency and auto-generation of the plugin descriptor file. + 41 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Enables/disables Ivy validation of module metadata. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Whether forked tests should be executed in parallel + 200 + + + + Provides access to the launched sbt configuration, including the ScalaProvider, Launcher, and GlobalLock. + 10000 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Function that produces the artifact name from its definition. + 100 + + + + If true, enables cross paths, which distinguish input and output directories for cross-building. + 10 + + + + If true, automatically manages mappings to the API doc URL. + 41 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + If true, enables synchronizing the dependencies retrieved to the current build by removed unneeded files. + 40 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + If true, forks a new JVM when running. If false, runs in the same JVM as the build. + 10 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + The level of tracking for the internal (inter-project) dependency. + 40 + + + + Definitive source of inter-project dependencies for compilation and dependency management. This is populated by default by the dependencies declared on Project instances, but may be modified. The main restriction is that new builds may not be introduced. + 10000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + If true, sources from the project's base directory are included as main sources. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Duration after which to force a full update to occur + 100 + + + + Default Java source directory. + 10 + + + + Defines the configuration used when none is specified for a dependency in ivyXML. + 100 + + + + Artifact types that are included on the classpath. + 40 + + + + The files to recursively delete during a clean. + 40 + + + + Directory for compiled classes and copied resources. + 11 + + + + Project homepage. + 40 + + + + Initial commands to execute when starting up the Scala interpreter. + 11 + + + + Directory used for temporary files for tasks that is deleted after each task execution. + 10000 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + The message to show when triggered execution waits for sources to change. + 10000 + + + + options for dumpStructure task + 10000 + + + + List of managed resource directories. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + List of developers implicated in the project + 41 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Selects the Java installation used for compiling and forking. If None, uses the Java installation running the build. + 10 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + Configures warnings around Maven incompatibility. + 100 + + + + Declares managed dependencies. + 9 + + + + The list of checksums to generate and to verify for dependencies. + 40 + + + + List of tasks that generate sources. + 100 + + + + Configures sbt to work without a network connection where possible. + 10 + + + + Interval between checks for modified sources by the continuous execution command. + 41 + + + + Describes an artifact. + 41 + + + + Copies resources to the output directory. + 6 + + + + Sources generated by the build. + 30 + + + + Source positions where the dependencies are defined. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + A hook to get the UpdateReport of the global plugin. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + + 200 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Defines the sources in this project for continuous execution to watch for changes. + 41 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + Provides access to the project data for the build. + 20000 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Provides the sbt interface to Ivy. + 200 + + + + The configuration used to define the classpath. + 200 + + + + Inter-project and library dependencies. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The base directory for cached dependencies. + 20000 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Configures aspects of incremental compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + Configuration for generating the finished Ivy file for publishing. + 20000 + + + + The files to recursively delete during a clean. + 40 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Current build state. + 20000 + + + + Provides access to the build structure, settings, and streams manager. + 20000 + + + + Auto-detects main classes. + 31 + + + + Provides the class loader used for testing. + 20000 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Options for the Scala compiler. + 29 + + + + Unmanaged sources, which are manually created. + 29 + + + + Options for the incremental compiler. + 30 + + + + Defines the main class for packaging or running. + 29 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Resources generated by the build. + 30 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + Options for the Java compiler. + 29 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + Streams manager, which provides streams for different contexts. + 20000 + + + + Options passed to a new JVM when forking. + 29 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Collects all inputs needed for compilation. + 20000 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + Configuration for unresolved dependency warning. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + The list of root tasks for this task execution. Roots are the top-level tasks that were directly requested to be run. + 20000 + + + + Options for packaging. + 30 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + Defines the filename used to store the incremental compiler analysis file (inside the streams cacheDirectory). + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Environment variables used when forking a new JVM + 30 + + + + Implementation used to run a main class. + 20000 + + + + For tasks that support it (currently only 'compile' and 'update'), setting skip to true will force the task to not to do its work. This exact semantics may vary by task. + 40 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Build products that get packaged. + 31 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Maps positions in generated source files to the original source it was generated from + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Configuration for publishing to a repository. + 20000 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Configuration for generating the finished Ivy file for local publishing. + 20000 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Display detailed eviction warnings. + 200 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Publishes artifacts to a repository. + 4 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Read the incremental compiler analysis from disk + 20000 + + + + Provides the list of defined tests. + 31 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + Selects the main class to run. + 31 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Defines test listeners. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + All resource files, both managed and unmanaged. + 30 + + + + The internal (inter-project) classpath. + 200 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + The credentials to use for updating and publishing. + 31 + + + + Cache of scala.tools.nsc.Global instances. This should typically be cached so that it isn't recreated every task run. + 20000 + + + preferScala2 + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + reboot + + + < + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [uses|tree|definitions] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + load-failed + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + write-sbt-version + + + notify-users-about-shell + + + iflast + + + shell + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + eval + + + alias + + + append + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + apply + + + exit + + exit + Terminates the build. + + + + initialize + + + -- + + + --- + + $BASE/foo/src/test + $BASE/foo/src/main + + + + $IVY2/cache/javax.activation/activation/jars/activation-1.1.1.jar + $IVY2/cache/javax.activation/activation/srcs/activation-1.1.1-sources.jar + + + $IVY2/cache/javax.mail/mail/jars/mail-1.4.4.jar + $IVY2/cache/javax.mail/mail/srcs/mail-1.4.4-sources.jar + + + $IVY2/cache/org.apache.james/apache-mailet-api/bundles/apache-mailet-api-2.5.0.jar + $IVY2/cache/org.apache.james/apache-mailet-api/srcs/apache-mailet-api-2.5.0-sources.jar + + + $IVY2/cache/org.apache.james/apache-mailet-base/bundles/apache-mailet-base-2.5.0.jar + $IVY2/cache/org.apache.james/apache-mailet-base/jars/apache-mailet-base-2.5.0.jar + $IVY2/cache/org.apache.james/apache-mailet-base/srcs/apache-mailet-base-2.5.0-sources.jar + + + $IVY2/cache/org.apache.james/apache-mailet-base/jars/apache-mailet-base-2.5.0-tests.jar + + + $SBT_BOOT/scala-2.10.7/lib/scala-library.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.7-sources.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/custom-test-config/project/Build.scala b/extractor/src/test/data/0.13/prod_test_sources_separated/custom-test-config/project/Build.scala new file mode 100644 index 00000000..798eaf41 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/custom-test-config/project/Build.scala @@ -0,0 +1,18 @@ +import sbt._ +import Keys._ + +object MyBuild extends Build { + lazy val FunTest = config("fun").extend(Test) + + lazy val bare = project.in(file(".")) + .configs(FunTest) + .settings(inConfig(FunTest)(Defaults.testSettings):_*) + .settings( + name := "some-name", + organization := "some-organization", + version := "1.2.3", + scalaVersion := "2.10.1", + resolvers += JavaNet2Repository, + libraryDependencies += "org.specs2" %% "specs2-core" % "2.4.14" % FunTest + ) +} diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/custom-test-config/project/build.properties b/extractor/src/test/data/0.13/prod_test_sources_separated/custom-test-config/project/build.properties new file mode 100644 index 00000000..8e682c52 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/custom-test-config/project/build.properties @@ -0,0 +1 @@ +sbt.version=0.13.18 diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/custom-test-config/structure.xml b/extractor/src/test/data/0.13/prod_test_sources_separated/custom-test-config/structure.xml new file mode 100644 index 00000000..14e0eef1 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/custom-test-config/structure.xml @@ -0,0 +1,1734 @@ + + + + $URI_BASE + import MyBuild._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin + import sbt._, Keys._, dsl._ + $SBT_BOOT/scala-2.10.7/lib/jansi.jar + $SBT_BOOT/scala-2.10.7/lib/jline.jar + $SBT_BOOT/scala-2.10.7/lib/scala-compiler.jar + $SBT_BOOT/scala-2.10.7/lib/scala-library.jar + $SBT_BOOT/scala-2.10.7/lib/scala-reflect.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/actions-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/api-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/apply-macro-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/cache-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/classfile-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/classpath-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/collections-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/command-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compile-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-integration-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-interface-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-ivy-integration-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/completion-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/control-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/cross-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/incremental-compiler-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/io-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/ivy-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jawn-parser_2.10-0.6.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jline-2.14.5.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jsch-0.1.50.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-ast_2.10-3.2.10.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-core_2.10-3.2.10.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-support_2.10-0.6.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/launcher-interface-1.0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/logging-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/logic-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/main-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/main-settings-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/paranamer-2.6.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/persist-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/process-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/quasiquotes_2.10-2.0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/relation-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/run-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/sbinary_2.10-0.4.2.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/sbt-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/scala-pickling_2.10-0.10.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/scala-reflect-2.10.7.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/serialization_2.10-0.1.2.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/task-system-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/tasks-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/template-resolver-0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/test-agent-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/test-interface-1.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/testing-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/tracking-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/xsbti/interface-0.13.18.jar + $IVY2/cache/com.jcraft/jsch/srcs/jsch-0.1.50-sources.jar + $IVY2/cache/com.thoughtworks.paranamer/paranamer/srcs/paranamer-2.6-sources.jar + $IVY2/cache/jline/jline/srcs/jline-2.14.5-sources.jar + $IVY2/cache/org.json4s/json4s-ast_2.10/srcs/json4s-ast_2.10-3.2.10-sources.jar + $IVY2/cache/org.json4s/json4s-core_2.10/srcs/json4s-core_2.10-3.2.10-sources.jar + $IVY2/cache/org.scala-lang.modules/scala-pickling_2.10/srcs/scala-pickling_2.10-0.10.1-sources.jar + $IVY2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.10.7-sources.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.7-sources.jar + $IVY2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.7-sources.jar + $IVY2/cache/org.scala-sbt.ivy/ivy/srcs/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310-sources.jar + $IVY2/cache/org.scala-sbt/actions/srcs/actions-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/api/srcs/api-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/apply-macro/srcs/apply-macro-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/cache/srcs/cache-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/classfile/srcs/classfile-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/classpath/srcs/classpath-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/collections/srcs/collections-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/command/srcs/command-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compile/srcs/compile-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-integration/srcs/compiler-integration-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-interface/srcs/compiler-interface-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-ivy-integration/srcs/compiler-ivy-integration-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/completion/srcs/completion-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/control/srcs/control-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/cross/srcs/cross-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/incremental-compiler/srcs/incremental-compiler-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/interface/srcs/interface-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/io/srcs/io-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/ivy/srcs/ivy-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-1.0.1-sources.jar + $IVY2/cache/org.scala-sbt/logging/srcs/logging-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/logic/srcs/logic-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/main/srcs/main-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/persist/srcs/persist-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/process/srcs/process-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/relation/srcs/relation-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/run/srcs/run-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/sbt/srcs/sbt-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/serialization_2.10/srcs/serialization_2.10-0.1.2-sources.jar + $IVY2/cache/org.scala-sbt/task-system/srcs/task-system-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/tasks/srcs/tasks-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/template-resolver/srcs/template-resolver-0.1-sources.jar + $IVY2/cache/org.scala-sbt/test-agent/srcs/test-agent-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + $IVY2/cache/org.scala-sbt/testing/srcs/testing-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/tracking/srcs/tracking-0.13.18-sources.jar + $IVY2/cache/org.scala-tools.sbinary/sbinary_2.10/srcs/sbinary_2.10-0.4.2-sources.jar + $IVY2/cache/org.scalamacros/quasiquotes_2.10/srcs/quasiquotes_2.10-2.0.1-sources.jar + $IVY2/cache/org.spire-math/jawn-parser_2.10/srcs/jawn-parser_2.10-0.6.0-sources.jar + $IVY2/cache/org.spire-math/json4s-support_2.10/srcs/json4s-support_2.10-0.6.0-sources.jar + + + bare + $URI_BASE + some-name + some-organization + 1.2.3 + $BASE + $BASE/target + + 2.10.1 + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.10.1.jar + + + $IVY2/cache/org.fusesource.jansi/jansi/jars/jansi-1.4.jar + $IVY2/cache/org.scala-lang/jline/jars/jline-2.10.1.jar + $IVY2/cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.10.1.jar + $IVY2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.10.1.jar + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2.10 + $BASE/target/scala-2.10/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.10/resource_managed/main + $BASE/target/scala-2.10/classes + + + $BASE/src/fun/java + $BASE/src/fun/scala + $BASE/src/fun/scala-2.10 + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2.10 + $BASE/target/scala-2.10/src_managed/fun + $BASE/target/scala-2.10/src_managed/test + $BASE/src/fun/resources + $BASE/src/test/resources + $BASE/target/scala-2.10/resource_managed/fun + $BASE/target/scala-2.10/resource_managed/test + $BASE/target/scala-2.10/fun-classes + + + + + bare:main + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Declares managed dependency overrides. + 40 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The maximum number of errors, such as compile errors, to list. + 10 + + + + Commands to execute before the Scala interpreter exits. + 41 + + + + Defines inline Ivy XML for configuring dependency management. + 40 + + + + If true, includes repositories used in module configurations in the pom repositories section. If false, only the common repositories are included. + 41 + + + + Project licenses as (name, url) pairs. + 41 + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Pattern used to retrieve managed dependencies to the current build. + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Organization/group ID. + 9 + + + + Provides a resolver for obtaining sbt as a dependency. + 41 + + + + Configures handling of Scala classpaths. + 10000 + + + + Logs results after a test task completes. + 20000 + + + + Provides access to the loaded project structure. This is the information available before settings are evaluated. + 10000 + + + + Project name. + 9 + + + + Use JCenter as the default repository. + 40 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Year in which the project started. + 41 + + + + Default Scala source directory. + 10 + + + + Configures the order in which Java and sources within a single compilation are compiled. Valid values are: JavaThenScala, ScalaThenJava, or Mixed. + 39 + + + + Selects the conflict manager to use for dependency management. + 100 + + + + Declares managed dependency exclusions. + 40 + + + + True if the the version of the project is a snapshot version. + 39 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Enables (true) or disables (false) parallel execution of tasks. + 41 + + + + Adds a dependency on scala-library if true. + 10 + + + + Configuration for generating a pom. + 10000 + + + + Sets the classifier used by the default artifact definition. + 40 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + If true, connects standard input when running a main class forked. + 100 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + Defines module configurations, which override resolvers on a per-module basis. + 41 + + + + Directory used for caching task data. + 41 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Filter for excluding sources and resources files from default directories. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The location where command line history is persisted. + 40 + + + + Transforms the generated POM. + 100 + + + + The amount of logging sent to the screen. + 10 + + + + Provides the version of sbt. This setting should be not be modified. + 11 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + A function that provides additional loggers for a given setting. + 10000 + + + + Automatically obtains Scala tools as managed dependencies if true. + 40 + + + + The message to show before triggered execution executes an action after sources change. + 10000 + + + + True if logging should be buffered until work completes. + 100 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + The level of tracking for this project by the internal callers. + 40 + + + + Basic SCM information for the project. + 41 + + + + Directory to which managed dependencies are retrieved. + 40 + + + + The default directory for manually managed libraries. + 10 + + + + Defines the binary compatibility version substring. + 39 + + + + The dependency management descriptor for the current module. + 41 + + + + An optional set of configurations from which to retrieve dependencies if retrieveManaged is set to true + 40 + + + + Project description. + 40 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + If Some, defines the local Scala installation to use for compilation, running, and testing. + 10 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Configures the module ID of the sources of the compiler bridge. + 100 + + + + The resolver to publish to. + 10 + + + + tags + 40 + + + + The location of a generated artifact. + 39 + + + + Default directory containing sources. + 11 + + + + Organization homepage. + 41 + + + + Selects repositories to include in the generated POM. + 100 + + + + Filter for including sources and resources files from default directories. + 100 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + If true, enables exit trapping and thread management for 'run'-like tasks. This is currently only suitable for serially-executed 'run'-like tasks. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + If true, enables retrieving dependencies to the current build. Otherwise, dependencies are used directly from the cache. + 40 + + + + Options for resolving managed dependencies. + 10000 + + + + Organization full/formal name. + 41 + + + + If true, enables automatically generating -Xplugin arguments to the compiler based on the classpath for the plugin configuration. + 11 + + + + Selects how to log output when running a main class. + 10000 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + Continuous execution configuration. + 1000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + The user-defined additional resolvers for automatically managed dependencies. + 31 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Extra XML to insert into the generated POM. + 40 + + + + Registered, although not necessarily present, test frameworks. + 200 + + + + Base URL for API documentation. + 41 + + + + Determines whether the exported classpath for this project contains classes (false) or a packaged jar (true). + 40 + + + + The version of Scala used for building. + 9 + + + + The name of the current module, used for dependency management. + 40 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + Maps configurations to the actual configuration used to define the classpath. + 100 + + + + The logging level for updating. + 40 + + + + If true, enables adding sbt as a dependency and auto-generation of the plugin descriptor file. + 41 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Enables/disables Ivy validation of module metadata. + 40 + + + + Whether forked tests should be executed in parallel + 200 + + + + Provides access to the launched sbt configuration, including the ScalaProvider, Launcher, and GlobalLock. + 10000 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Function that produces the artifact name from its definition. + 100 + + + + If true, enables cross paths, which distinguish input and output directories for cross-building. + 10 + + + + If true, automatically manages mappings to the API doc URL. + 41 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + If true, enables synchronizing the dependencies retrieved to the current build by removed unneeded files. + 40 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + If true, forks a new JVM when running. If false, runs in the same JVM as the build. + 10 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + The level of tracking for the internal (inter-project) dependency. + 40 + + + + Definitive source of inter-project dependencies for compilation and dependency management. This is populated by default by the dependencies declared on Project instances, but may be modified. The main restriction is that new builds may not be introduced. + 10000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + If true, sources from the project's base directory are included as main sources. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Duration after which to force a full update to occur + 100 + + + + Default Java source directory. + 10 + + + + Defines the configuration used when none is specified for a dependency in ivyXML. + 100 + + + + Artifact types that are included on the classpath. + 40 + + + + The files to recursively delete during a clean. + 40 + + + + Directory for compiled classes and copied resources. + 11 + + + + Project homepage. + 40 + + + + Initial commands to execute when starting up the Scala interpreter. + 11 + + + + Directory used for temporary files for tasks that is deleted after each task execution. + 10000 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + The message to show when triggered execution waits for sources to change. + 10000 + + + + options for dumpStructure task + 10000 + + + + List of managed resource directories. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + List of developers implicated in the project + 41 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Selects the Java installation used for compiling and forking. If None, uses the Java installation running the build. + 10 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + Configures warnings around Maven incompatibility. + 100 + + + + Declares managed dependencies. + 9 + + + + The list of checksums to generate and to verify for dependencies. + 40 + + + + List of tasks that generate sources. + 100 + + + + Configures sbt to work without a network connection where possible. + 10 + + + + Interval between checks for modified sources by the continuous execution command. + 41 + + + + Describes an artifact. + 41 + + + + Copies resources to the output directory. + 6 + + + + Sources generated by the build. + 30 + + + + Source positions where the dependencies are defined. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + A hook to get the UpdateReport of the global plugin. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + + 200 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Defines the sources in this project for continuous execution to watch for changes. + 41 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + Provides access to the project data for the build. + 20000 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Provides the sbt interface to Ivy. + 200 + + + + The configuration used to define the classpath. + 200 + + + + Inter-project and library dependencies. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The base directory for cached dependencies. + 20000 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Configures aspects of incremental compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + Configuration for generating the finished Ivy file for publishing. + 20000 + + + + The files to recursively delete during a clean. + 40 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Current build state. + 20000 + + + + Provides access to the build structure, settings, and streams manager. + 20000 + + + + Auto-detects main classes. + 31 + + + + Provides the class loader used for testing. + 20000 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Options for the Scala compiler. + 29 + + + + Unmanaged sources, which are manually created. + 29 + + + + Options for the incremental compiler. + 30 + + + + Defines the main class for packaging or running. + 29 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Resources generated by the build. + 30 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + Options for the Java compiler. + 29 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + Streams manager, which provides streams for different contexts. + 20000 + + + + Options passed to a new JVM when forking. + 29 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Collects all inputs needed for compilation. + 20000 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + Configuration for unresolved dependency warning. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + The list of root tasks for this task execution. Roots are the top-level tasks that were directly requested to be run. + 20000 + + + + Options for packaging. + 30 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + Defines the filename used to store the incremental compiler analysis file (inside the streams cacheDirectory). + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Environment variables used when forking a new JVM + 30 + + + + Implementation used to run a main class. + 20000 + + + + For tasks that support it (currently only 'compile' and 'update'), setting skip to true will force the task to not to do its work. This exact semantics may vary by task. + 40 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Build products that get packaged. + 31 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Maps positions in generated source files to the original source it was generated from + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Configuration for publishing to a repository. + 20000 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Configuration for generating the finished Ivy file for local publishing. + 20000 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Display detailed eviction warnings. + 200 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Publishes artifacts to a repository. + 4 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Read the incremental compiler analysis from disk + 20000 + + + + Provides the list of defined tests. + 31 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + Selects the main class to run. + 31 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Defines test listeners. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + All resource files, both managed and unmanaged. + 30 + + + + The internal (inter-project) classpath. + 200 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + The credentials to use for updating and publishing. + 31 + + + + Cache of scala.tools.nsc.Global instances. This should typically be cached so that it isn't recreated every task run. + 20000 + + + preferScala2 + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + reboot + + + < + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [uses|tree|definitions] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + load-failed + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + write-sbt-version + + + notify-users-about-shell + + + iflast + + + shell + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + eval + + + alias + + + append + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + apply + + + exit + + exit + Terminates the build. + + + + initialize + + + -- + + + --- + + $BASE/src/fun + $BASE/src/test + $BASE/src/main + + + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.10.1.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.1-sources.jar + + + $IVY2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.10.1.jar + $IVY2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.1-sources.jar + + + $IVY2/cache/org.scalaz/scalaz-concurrent_2.10/bundles/scalaz-concurrent_2.10-7.1.0.jar + $IVY2/cache/org.scalaz/scalaz-concurrent_2.10/srcs/scalaz-concurrent_2.10-7.1.0-sources.jar + + + $IVY2/cache/org.scalaz/scalaz-core_2.10/bundles/scalaz-core_2.10-7.1.0.jar + $IVY2/cache/org.scalaz/scalaz-core_2.10/srcs/scalaz-core_2.10-7.1.0-sources.jar + + + $IVY2/cache/org.scalaz/scalaz-effect_2.10/bundles/scalaz-effect_2.10-7.1.0.jar + $IVY2/cache/org.scalaz/scalaz-effect_2.10/srcs/scalaz-effect_2.10-7.1.0-sources.jar + + + $IVY2/cache/org.specs2/specs2-common_2.10/jars/specs2-common_2.10-2.4.14.jar + $IVY2/cache/org.specs2/specs2-common_2.10/srcs/specs2-common_2.10-2.4.14-sources.jar + + + $IVY2/cache/org.specs2/specs2-core_2.10/jars/specs2-core_2.10-2.4.14.jar + $IVY2/cache/org.specs2/specs2-core_2.10/srcs/specs2-core_2.10-2.4.14-sources.jar + + + $IVY2/cache/org.specs2/specs2-matcher_2.10/jars/specs2-matcher_2.10-2.4.14.jar + $IVY2/cache/org.specs2/specs2-matcher_2.10/srcs/specs2-matcher_2.10-2.4.14-sources.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/bar/build.sbt b/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/bar/build.sbt new file mode 100644 index 00000000..71f584c7 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/bar/build.sbt @@ -0,0 +1 @@ +scalaVersion := "2.10.1" diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/build.sbt b/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/build.sbt new file mode 100644 index 00000000..a2022db9 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/build.sbt @@ -0,0 +1,7 @@ +name := "some-name" + +organization := "some-organization" + +version := "1.2.3" + +scalaVersion := "2.10.1" \ No newline at end of file diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/foo/build.sbt b/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/foo/build.sbt new file mode 100644 index 00000000..77e00de5 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/foo/build.sbt @@ -0,0 +1 @@ +scalaVersion := "2.9.2" diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/project/RootBuild.scala b/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/project/RootBuild.scala new file mode 100644 index 00000000..e61cb35e --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/project/RootBuild.scala @@ -0,0 +1,13 @@ +import sbt._ +import Keys._ + +object RootBuild extends Build { + lazy val root = Project(id = "root", + base = file("")) aggregate(foo) dependsOn(bar) + + lazy val foo = Project(id = "foo", + base = file("foo")) + + lazy val bar = Project(id = "bar", + base = file("bar")) +} \ No newline at end of file diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/project/build.properties b/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/project/build.properties new file mode 100644 index 00000000..8e682c52 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/project/build.properties @@ -0,0 +1 @@ +sbt.version=0.13.18 diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/structure.xml b/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/structure.xml new file mode 100644 index 00000000..6d107de4 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/multiple/structure.xml @@ -0,0 +1,4837 @@ + + + + $URI_BASE + import RootBuild._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin + import sbt._, Keys._, dsl._ + $SBT_BOOT/scala-2.10.7/lib/jansi.jar + $SBT_BOOT/scala-2.10.7/lib/jline.jar + $SBT_BOOT/scala-2.10.7/lib/scala-compiler.jar + $SBT_BOOT/scala-2.10.7/lib/scala-library.jar + $SBT_BOOT/scala-2.10.7/lib/scala-reflect.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/actions-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/api-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/apply-macro-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/cache-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/classfile-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/classpath-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/collections-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/command-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compile-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-integration-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-interface-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-ivy-integration-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/completion-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/control-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/cross-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/incremental-compiler-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/io-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/ivy-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jawn-parser_2.10-0.6.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jline-2.14.5.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jsch-0.1.50.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-ast_2.10-3.2.10.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-core_2.10-3.2.10.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-support_2.10-0.6.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/launcher-interface-1.0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/logging-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/logic-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/main-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/main-settings-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/paranamer-2.6.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/persist-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/process-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/quasiquotes_2.10-2.0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/relation-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/run-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/sbinary_2.10-0.4.2.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/sbt-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/scala-pickling_2.10-0.10.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/scala-reflect-2.10.7.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/serialization_2.10-0.1.2.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/task-system-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/tasks-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/template-resolver-0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/test-agent-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/test-interface-1.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/testing-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/tracking-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/xsbti/interface-0.13.18.jar + $IVY2/cache/com.jcraft/jsch/srcs/jsch-0.1.50-sources.jar + $IVY2/cache/com.thoughtworks.paranamer/paranamer/srcs/paranamer-2.6-sources.jar + $IVY2/cache/jline/jline/srcs/jline-2.14.5-sources.jar + $IVY2/cache/org.json4s/json4s-ast_2.10/srcs/json4s-ast_2.10-3.2.10-sources.jar + $IVY2/cache/org.json4s/json4s-core_2.10/srcs/json4s-core_2.10-3.2.10-sources.jar + $IVY2/cache/org.scala-lang.modules/scala-pickling_2.10/srcs/scala-pickling_2.10-0.10.1-sources.jar + $IVY2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.10.7-sources.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.7-sources.jar + $IVY2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.7-sources.jar + $IVY2/cache/org.scala-sbt.ivy/ivy/srcs/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310-sources.jar + $IVY2/cache/org.scala-sbt/actions/srcs/actions-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/api/srcs/api-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/apply-macro/srcs/apply-macro-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/cache/srcs/cache-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/classfile/srcs/classfile-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/classpath/srcs/classpath-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/collections/srcs/collections-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/command/srcs/command-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compile/srcs/compile-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-integration/srcs/compiler-integration-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-interface/srcs/compiler-interface-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-ivy-integration/srcs/compiler-ivy-integration-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/completion/srcs/completion-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/control/srcs/control-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/cross/srcs/cross-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/incremental-compiler/srcs/incremental-compiler-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/interface/srcs/interface-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/io/srcs/io-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/ivy/srcs/ivy-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-1.0.1-sources.jar + $IVY2/cache/org.scala-sbt/logging/srcs/logging-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/logic/srcs/logic-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/main/srcs/main-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/persist/srcs/persist-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/process/srcs/process-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/relation/srcs/relation-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/run/srcs/run-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/sbt/srcs/sbt-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/serialization_2.10/srcs/serialization_2.10-0.1.2-sources.jar + $IVY2/cache/org.scala-sbt/task-system/srcs/task-system-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/tasks/srcs/tasks-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/template-resolver/srcs/template-resolver-0.1-sources.jar + $IVY2/cache/org.scala-sbt/test-agent/srcs/test-agent-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + $IVY2/cache/org.scala-sbt/testing/srcs/testing-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/tracking/srcs/tracking-0.13.18-sources.jar + $IVY2/cache/org.scala-tools.sbinary/sbinary_2.10/srcs/sbinary_2.10-0.4.2-sources.jar + $IVY2/cache/org.scalamacros/quasiquotes_2.10/srcs/quasiquotes_2.10-2.0.1-sources.jar + $IVY2/cache/org.spire-math/jawn-parser_2.10/srcs/jawn-parser_2.10-0.6.0-sources.jar + $IVY2/cache/org.spire-math/json4s-support_2.10/srcs/json4s-support_2.10-0.6.0-sources.jar + + + root + $URI_BASE + some-name + some-organization + 1.2.3 + $BASE + $BASE/target + + 2.10.1 + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.10.1.jar + + + $IVY2/cache/org.fusesource.jansi/jansi/jars/jansi-1.4.jar + $IVY2/cache/org.scala-lang/jline/jars/jline-2.10.1.jar + $IVY2/cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.10.1.jar + $IVY2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.10.1.jar + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2.10 + $BASE/target/scala-2.10/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.10/resource_managed/main + $BASE/target/scala-2.10/classes + + + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2.10 + $BASE/target/scala-2.10/src_managed/test + $BASE/src/test/resources + $BASE/target/scala-2.10/resource_managed/test + $BASE/target/scala-2.10/test-classes + + + + + bar:main + root:main + + + bar:main + + + + + + + + + + + + + + + + + + + + Declares managed dependency overrides. + 40 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The maximum number of errors, such as compile errors, to list. + 10 + + + + Commands to execute before the Scala interpreter exits. + 41 + + + + Defines inline Ivy XML for configuring dependency management. + 40 + + + + If true, includes repositories used in module configurations in the pom repositories section. If false, only the common repositories are included. + 41 + + + + Project licenses as (name, url) pairs. + 41 + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Pattern used to retrieve managed dependencies to the current build. + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Organization/group ID. + 9 + + + + Provides a resolver for obtaining sbt as a dependency. + 41 + + + + Configures handling of Scala classpaths. + 10000 + + + + Logs results after a test task completes. + 20000 + + + + Provides access to the loaded project structure. This is the information available before settings are evaluated. + 10000 + + + + Project name. + 9 + + + + Use JCenter as the default repository. + 40 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Year in which the project started. + 41 + + + + Default Scala source directory. + 10 + + + + Configures the order in which Java and sources within a single compilation are compiled. Valid values are: JavaThenScala, ScalaThenJava, or Mixed. + 39 + + + + Selects the conflict manager to use for dependency management. + 100 + + + + Declares managed dependency exclusions. + 40 + + + + True if the the version of the project is a snapshot version. + 39 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Enables (true) or disables (false) parallel execution of tasks. + 41 + + + + Adds a dependency on scala-library if true. + 10 + + + + Configuration for generating a pom. + 10000 + + + + Sets the classifier used by the default artifact definition. + 40 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + If true, connects standard input when running a main class forked. + 100 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + Defines module configurations, which override resolvers on a per-module basis. + 41 + + + + Directory used for caching task data. + 41 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Filter for excluding sources and resources files from default directories. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The location where command line history is persisted. + 40 + + + + Transforms the generated POM. + 100 + + + + The amount of logging sent to the screen. + 10 + + + + Provides the version of sbt. This setting should be not be modified. + 11 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + A function that provides additional loggers for a given setting. + 10000 + + + + Automatically obtains Scala tools as managed dependencies if true. + 40 + + + + The message to show before triggered execution executes an action after sources change. + 10000 + + + + True if logging should be buffered until work completes. + 100 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + The level of tracking for this project by the internal callers. + 40 + + + + Basic SCM information for the project. + 41 + + + + Directory to which managed dependencies are retrieved. + 40 + + + + The default directory for manually managed libraries. + 10 + + + + Defines the binary compatibility version substring. + 39 + + + + The dependency management descriptor for the current module. + 41 + + + + An optional set of configurations from which to retrieve dependencies if retrieveManaged is set to true + 40 + + + + Project description. + 40 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + If Some, defines the local Scala installation to use for compilation, running, and testing. + 10 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Configures the module ID of the sources of the compiler bridge. + 100 + + + + The resolver to publish to. + 10 + + + + tags + 40 + + + + The location of a generated artifact. + 39 + + + + Default directory containing sources. + 11 + + + + Organization homepage. + 41 + + + + Selects repositories to include in the generated POM. + 100 + + + + Filter for including sources and resources files from default directories. + 100 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + If true, enables exit trapping and thread management for 'run'-like tasks. This is currently only suitable for serially-executed 'run'-like tasks. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + If true, enables retrieving dependencies to the current build. Otherwise, dependencies are used directly from the cache. + 40 + + + + Options for resolving managed dependencies. + 10000 + + + + Organization full/formal name. + 41 + + + + If true, enables automatically generating -Xplugin arguments to the compiler based on the classpath for the plugin configuration. + 11 + + + + Selects how to log output when running a main class. + 10000 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + Continuous execution configuration. + 1000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + The user-defined additional resolvers for automatically managed dependencies. + 31 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Extra XML to insert into the generated POM. + 40 + + + + Registered, although not necessarily present, test frameworks. + 200 + + + + Base URL for API documentation. + 41 + + + + Determines whether the exported classpath for this project contains classes (false) or a packaged jar (true). + 40 + + + + The version of Scala used for building. + 9 + + + + The name of the current module, used for dependency management. + 40 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + Maps configurations to the actual configuration used to define the classpath. + 100 + + + + The logging level for updating. + 40 + + + + If true, enables adding sbt as a dependency and auto-generation of the plugin descriptor file. + 41 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Enables/disables Ivy validation of module metadata. + 40 + + + + Whether forked tests should be executed in parallel + 200 + + + + Provides access to the launched sbt configuration, including the ScalaProvider, Launcher, and GlobalLock. + 10000 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Function that produces the artifact name from its definition. + 100 + + + + If true, enables cross paths, which distinguish input and output directories for cross-building. + 10 + + + + If true, automatically manages mappings to the API doc URL. + 41 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + If true, enables synchronizing the dependencies retrieved to the current build by removed unneeded files. + 40 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + If true, forks a new JVM when running. If false, runs in the same JVM as the build. + 10 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + The level of tracking for the internal (inter-project) dependency. + 40 + + + + Definitive source of inter-project dependencies for compilation and dependency management. This is populated by default by the dependencies declared on Project instances, but may be modified. The main restriction is that new builds may not be introduced. + 10000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + If true, sources from the project's base directory are included as main sources. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Duration after which to force a full update to occur + 100 + + + + Default Java source directory. + 10 + + + + Defines the configuration used when none is specified for a dependency in ivyXML. + 100 + + + + Artifact types that are included on the classpath. + 40 + + + + The files to recursively delete during a clean. + 40 + + + + Directory for compiled classes and copied resources. + 11 + + + + Project homepage. + 40 + + + + Initial commands to execute when starting up the Scala interpreter. + 11 + + + + Directory used for temporary files for tasks that is deleted after each task execution. + 10000 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + The message to show when triggered execution waits for sources to change. + 10000 + + + + options for dumpStructure task + 10000 + + + + List of managed resource directories. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + List of developers implicated in the project + 41 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Selects the Java installation used for compiling and forking. If None, uses the Java installation running the build. + 10 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + Configures warnings around Maven incompatibility. + 100 + + + + Declares managed dependencies. + 9 + + + + The list of checksums to generate and to verify for dependencies. + 40 + + + + List of tasks that generate sources. + 100 + + + + Configures sbt to work without a network connection where possible. + 10 + + + + Interval between checks for modified sources by the continuous execution command. + 41 + + + + Describes an artifact. + 41 + + + + Copies resources to the output directory. + 6 + + + + Sources generated by the build. + 30 + + + + Source positions where the dependencies are defined. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + A hook to get the UpdateReport of the global plugin. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + + 200 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Defines the sources in this project for continuous execution to watch for changes. + 41 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + Provides access to the project data for the build. + 20000 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Provides the sbt interface to Ivy. + 200 + + + + The configuration used to define the classpath. + 200 + + + + Inter-project and library dependencies. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The base directory for cached dependencies. + 20000 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Configures aspects of incremental compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + Configuration for generating the finished Ivy file for publishing. + 20000 + + + + The files to recursively delete during a clean. + 40 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Current build state. + 20000 + + + + Provides access to the build structure, settings, and streams manager. + 20000 + + + + Auto-detects main classes. + 31 + + + + Provides the class loader used for testing. + 20000 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Options for the Scala compiler. + 29 + + + + Unmanaged sources, which are manually created. + 29 + + + + Options for the incremental compiler. + 30 + + + + Defines the main class for packaging or running. + 29 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Resources generated by the build. + 30 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + Options for the Java compiler. + 29 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + Streams manager, which provides streams for different contexts. + 20000 + + + + Options passed to a new JVM when forking. + 29 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Collects all inputs needed for compilation. + 20000 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + Configuration for unresolved dependency warning. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + The list of root tasks for this task execution. Roots are the top-level tasks that were directly requested to be run. + 20000 + + + + Options for packaging. + 30 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + Defines the filename used to store the incremental compiler analysis file (inside the streams cacheDirectory). + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Environment variables used when forking a new JVM + 30 + + + + Implementation used to run a main class. + 20000 + + + + For tasks that support it (currently only 'compile' and 'update'), setting skip to true will force the task to not to do its work. This exact semantics may vary by task. + 40 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Build products that get packaged. + 31 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Maps positions in generated source files to the original source it was generated from + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Configuration for publishing to a repository. + 20000 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Configuration for generating the finished Ivy file for local publishing. + 20000 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Display detailed eviction warnings. + 200 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Publishes artifacts to a repository. + 4 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Read the incremental compiler analysis from disk + 20000 + + + + Provides the list of defined tests. + 31 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + Selects the main class to run. + 31 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Defines test listeners. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + All resource files, both managed and unmanaged. + 30 + + + + The internal (inter-project) classpath. + 200 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + The credentials to use for updating and publishing. + 31 + + + + Cache of scala.tools.nsc.Global instances. This should typically be cached so that it isn't recreated every task run. + 20000 + + + preferScala2 + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + reboot + + + < + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [uses|tree|definitions] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + load-failed + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + write-sbt-version + + + notify-users-about-shell + + + iflast + + + shell + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + eval + + + alias + + + append + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + apply + + + exit + + exit + Terminates the build. + + + + initialize + + + -- + + + --- + + $BASE/src/test + $BASE/src/main + + + bar + $URI_BASE + bar + bar + 0.1-SNAPSHOT + $BASE/bar + $BASE/bar/target + + 2.10.1 + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.10.1.jar + + + $IVY2/cache/org.fusesource.jansi/jansi/jars/jansi-1.4.jar + $IVY2/cache/org.scala-lang/jline/jars/jline-2.10.1.jar + $IVY2/cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.10.1.jar + $IVY2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.10.1.jar + + + + Mixed + + $BASE/bar/src/main/java + $BASE/bar/src/main/scala + $BASE/bar/src/main/scala-2.10 + $BASE/bar/target/scala-2.10/src_managed/main + $BASE/bar/src/main/resources + $BASE/bar/target/scala-2.10/resource_managed/main + $BASE/bar/target/scala-2.10/classes + + + $BASE/bar/src/test/java + $BASE/bar/src/test/scala + $BASE/bar/src/test/scala-2.10 + $BASE/bar/target/scala-2.10/src_managed/test + $BASE/bar/src/test/resources + $BASE/bar/target/scala-2.10/resource_managed/test + $BASE/bar/target/scala-2.10/test-classes + + + + + bar:main + + + + + + + + + + + + + + + + + + + + + Declares managed dependency overrides. + 40 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The maximum number of errors, such as compile errors, to list. + 10 + + + + Commands to execute before the Scala interpreter exits. + 41 + + + + Defines inline Ivy XML for configuring dependency management. + 40 + + + + If true, includes repositories used in module configurations in the pom repositories section. If false, only the common repositories are included. + 41 + + + + Project licenses as (name, url) pairs. + 41 + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Pattern used to retrieve managed dependencies to the current build. + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Organization/group ID. + 9 + + + + Provides a resolver for obtaining sbt as a dependency. + 41 + + + + Configures handling of Scala classpaths. + 10000 + + + + Logs results after a test task completes. + 20000 + + + + Provides access to the loaded project structure. This is the information available before settings are evaluated. + 10000 + + + + Project name. + 9 + + + + Use JCenter as the default repository. + 40 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Year in which the project started. + 41 + + + + Default Scala source directory. + 10 + + + + Configures the order in which Java and sources within a single compilation are compiled. Valid values are: JavaThenScala, ScalaThenJava, or Mixed. + 39 + + + + Selects the conflict manager to use for dependency management. + 100 + + + + Declares managed dependency exclusions. + 40 + + + + True if the the version of the project is a snapshot version. + 39 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Enables (true) or disables (false) parallel execution of tasks. + 41 + + + + Adds a dependency on scala-library if true. + 10 + + + + Configuration for generating a pom. + 10000 + + + + Sets the classifier used by the default artifact definition. + 40 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + If true, connects standard input when running a main class forked. + 100 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + Defines module configurations, which override resolvers on a per-module basis. + 41 + + + + Directory used for caching task data. + 41 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Filter for excluding sources and resources files from default directories. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The location where command line history is persisted. + 40 + + + + Transforms the generated POM. + 100 + + + + The amount of logging sent to the screen. + 10 + + + + Provides the version of sbt. This setting should be not be modified. + 11 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + A function that provides additional loggers for a given setting. + 10000 + + + + Automatically obtains Scala tools as managed dependencies if true. + 40 + + + + The message to show before triggered execution executes an action after sources change. + 10000 + + + + True if logging should be buffered until work completes. + 100 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + The level of tracking for this project by the internal callers. + 40 + + + + Basic SCM information for the project. + 41 + + + + Directory to which managed dependencies are retrieved. + 40 + + + + The default directory for manually managed libraries. + 10 + + + + Defines the binary compatibility version substring. + 39 + + + + The dependency management descriptor for the current module. + 41 + + + + An optional set of configurations from which to retrieve dependencies if retrieveManaged is set to true + 40 + + + + Project description. + 40 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + If Some, defines the local Scala installation to use for compilation, running, and testing. + 10 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Configures the module ID of the sources of the compiler bridge. + 100 + + + + The resolver to publish to. + 10 + + + + tags + 40 + + + + The location of a generated artifact. + 39 + + + + Default directory containing sources. + 11 + + + + Organization homepage. + 41 + + + + Selects repositories to include in the generated POM. + 100 + + + + Filter for including sources and resources files from default directories. + 100 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + If true, enables exit trapping and thread management for 'run'-like tasks. This is currently only suitable for serially-executed 'run'-like tasks. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + If true, enables retrieving dependencies to the current build. Otherwise, dependencies are used directly from the cache. + 40 + + + + Options for resolving managed dependencies. + 10000 + + + + Organization full/formal name. + 41 + + + + If true, enables automatically generating -Xplugin arguments to the compiler based on the classpath for the plugin configuration. + 11 + + + + Selects how to log output when running a main class. + 10000 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + Continuous execution configuration. + 1000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + The user-defined additional resolvers for automatically managed dependencies. + 31 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Extra XML to insert into the generated POM. + 40 + + + + Registered, although not necessarily present, test frameworks. + 200 + + + + Base URL for API documentation. + 41 + + + + Determines whether the exported classpath for this project contains classes (false) or a packaged jar (true). + 40 + + + + The version of Scala used for building. + 9 + + + + The name of the current module, used for dependency management. + 40 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + Maps configurations to the actual configuration used to define the classpath. + 100 + + + + The logging level for updating. + 40 + + + + If true, enables adding sbt as a dependency and auto-generation of the plugin descriptor file. + 41 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Enables/disables Ivy validation of module metadata. + 40 + + + + Whether forked tests should be executed in parallel + 200 + + + + Provides access to the launched sbt configuration, including the ScalaProvider, Launcher, and GlobalLock. + 10000 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Function that produces the artifact name from its definition. + 100 + + + + If true, enables cross paths, which distinguish input and output directories for cross-building. + 10 + + + + If true, automatically manages mappings to the API doc URL. + 41 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + If true, enables synchronizing the dependencies retrieved to the current build by removed unneeded files. + 40 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + If true, forks a new JVM when running. If false, runs in the same JVM as the build. + 10 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + The level of tracking for the internal (inter-project) dependency. + 40 + + + + Definitive source of inter-project dependencies for compilation and dependency management. This is populated by default by the dependencies declared on Project instances, but may be modified. The main restriction is that new builds may not be introduced. + 10000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + If true, sources from the project's base directory are included as main sources. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Duration after which to force a full update to occur + 100 + + + + Default Java source directory. + 10 + + + + Defines the configuration used when none is specified for a dependency in ivyXML. + 100 + + + + Artifact types that are included on the classpath. + 40 + + + + The files to recursively delete during a clean. + 40 + + + + Directory for compiled classes and copied resources. + 11 + + + + Project homepage. + 40 + + + + Initial commands to execute when starting up the Scala interpreter. + 11 + + + + Directory used for temporary files for tasks that is deleted after each task execution. + 10000 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + The message to show when triggered execution waits for sources to change. + 10000 + + + + options for dumpStructure task + 10000 + + + + List of managed resource directories. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + List of developers implicated in the project + 41 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Selects the Java installation used for compiling and forking. If None, uses the Java installation running the build. + 10 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + Configures warnings around Maven incompatibility. + 100 + + + + Declares managed dependencies. + 9 + + + + The list of checksums to generate and to verify for dependencies. + 40 + + + + List of tasks that generate sources. + 100 + + + + Configures sbt to work without a network connection where possible. + 10 + + + + Interval between checks for modified sources by the continuous execution command. + 41 + + + + Describes an artifact. + 41 + + + + Copies resources to the output directory. + 6 + + + + Sources generated by the build. + 30 + + + + Source positions where the dependencies are defined. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + A hook to get the UpdateReport of the global plugin. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + + 200 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Defines the sources in this project for continuous execution to watch for changes. + 41 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + Provides access to the project data for the build. + 20000 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Provides the sbt interface to Ivy. + 200 + + + + The configuration used to define the classpath. + 200 + + + + Inter-project and library dependencies. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The base directory for cached dependencies. + 20000 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Configures aspects of incremental compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + Configuration for generating the finished Ivy file for publishing. + 20000 + + + + The files to recursively delete during a clean. + 40 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Current build state. + 20000 + + + + Provides access to the build structure, settings, and streams manager. + 20000 + + + + Auto-detects main classes. + 31 + + + + Provides the class loader used for testing. + 20000 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Options for the Scala compiler. + 29 + + + + Unmanaged sources, which are manually created. + 29 + + + + Options for the incremental compiler. + 30 + + + + Defines the main class for packaging or running. + 29 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Resources generated by the build. + 30 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + Options for the Java compiler. + 29 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + Streams manager, which provides streams for different contexts. + 20000 + + + + Options passed to a new JVM when forking. + 29 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Collects all inputs needed for compilation. + 20000 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + Configuration for unresolved dependency warning. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + The list of root tasks for this task execution. Roots are the top-level tasks that were directly requested to be run. + 20000 + + + + Options for packaging. + 30 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + Defines the filename used to store the incremental compiler analysis file (inside the streams cacheDirectory). + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Environment variables used when forking a new JVM + 30 + + + + Implementation used to run a main class. + 20000 + + + + For tasks that support it (currently only 'compile' and 'update'), setting skip to true will force the task to not to do its work. This exact semantics may vary by task. + 40 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Build products that get packaged. + 31 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Maps positions in generated source files to the original source it was generated from + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Configuration for publishing to a repository. + 20000 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Configuration for generating the finished Ivy file for local publishing. + 20000 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Display detailed eviction warnings. + 200 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Publishes artifacts to a repository. + 4 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Read the incremental compiler analysis from disk + 20000 + + + + Provides the list of defined tests. + 31 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + Selects the main class to run. + 31 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Defines test listeners. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + All resource files, both managed and unmanaged. + 30 + + + + The internal (inter-project) classpath. + 200 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + The credentials to use for updating and publishing. + 31 + + + + Cache of scala.tools.nsc.Global instances. This should typically be cached so that it isn't recreated every task run. + 20000 + + + preferScala2 + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + reboot + + + < + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [uses|tree|definitions] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + load-failed + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + write-sbt-version + + + notify-users-about-shell + + + iflast + + + shell + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + eval + + + alias + + + append + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + apply + + + exit + + exit + Terminates the build. + + + + initialize + + + -- + + + --- + + $BASE/bar/src/test + $BASE/bar/src/main + + + foo + $URI_BASE + foo + foo + 0.1-SNAPSHOT + $BASE/foo + $BASE/foo/target + + 2.9.2 + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.9.2.jar + + + $IVY2/cache/org.fusesource.jansi/jansi/jars/jansi-1.4.jar + $IVY2/cache/org.scala-lang/jline/jars/jline-2.9.2.jar + $IVY2/cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.9.2.jar + + + + Mixed + + $BASE/foo/src/main/java + $BASE/foo/src/main/scala + $BASE/foo/src/main/scala-2.9.2 + $BASE/foo/target/scala-2.9.2/src_managed/main + $BASE/foo/src/main/resources + $BASE/foo/target/scala-2.9.2/resource_managed/main + $BASE/foo/target/scala-2.9.2/classes + + + $BASE/foo/src/test/java + $BASE/foo/src/test/scala + $BASE/foo/src/test/scala-2.9.2 + $BASE/foo/target/scala-2.9.2/src_managed/test + $BASE/foo/src/test/resources + $BASE/foo/target/scala-2.9.2/resource_managed/test + $BASE/foo/target/scala-2.9.2/test-classes + + + + + foo:main + + + + + + + + + + + + + + + + + + + + + Declares managed dependency overrides. + 40 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The maximum number of errors, such as compile errors, to list. + 10 + + + + Commands to execute before the Scala interpreter exits. + 41 + + + + Defines inline Ivy XML for configuring dependency management. + 40 + + + + If true, includes repositories used in module configurations in the pom repositories section. If false, only the common repositories are included. + 41 + + + + Project licenses as (name, url) pairs. + 41 + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Pattern used to retrieve managed dependencies to the current build. + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Organization/group ID. + 9 + + + + Provides a resolver for obtaining sbt as a dependency. + 41 + + + + Configures handling of Scala classpaths. + 10000 + + + + Logs results after a test task completes. + 20000 + + + + Provides access to the loaded project structure. This is the information available before settings are evaluated. + 10000 + + + + Project name. + 9 + + + + Use JCenter as the default repository. + 40 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Year in which the project started. + 41 + + + + Default Scala source directory. + 10 + + + + Configures the order in which Java and sources within a single compilation are compiled. Valid values are: JavaThenScala, ScalaThenJava, or Mixed. + 39 + + + + Selects the conflict manager to use for dependency management. + 100 + + + + Declares managed dependency exclusions. + 40 + + + + True if the the version of the project is a snapshot version. + 39 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Enables (true) or disables (false) parallel execution of tasks. + 41 + + + + Adds a dependency on scala-library if true. + 10 + + + + Configuration for generating a pom. + 10000 + + + + Sets the classifier used by the default artifact definition. + 40 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + If true, connects standard input when running a main class forked. + 100 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + Defines module configurations, which override resolvers on a per-module basis. + 41 + + + + Directory used for caching task data. + 41 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Filter for excluding sources and resources files from default directories. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The location where command line history is persisted. + 40 + + + + Transforms the generated POM. + 100 + + + + The amount of logging sent to the screen. + 10 + + + + Provides the version of sbt. This setting should be not be modified. + 11 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + A function that provides additional loggers for a given setting. + 10000 + + + + Automatically obtains Scala tools as managed dependencies if true. + 40 + + + + The message to show before triggered execution executes an action after sources change. + 10000 + + + + True if logging should be buffered until work completes. + 100 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + The level of tracking for this project by the internal callers. + 40 + + + + Basic SCM information for the project. + 41 + + + + Directory to which managed dependencies are retrieved. + 40 + + + + The default directory for manually managed libraries. + 10 + + + + Defines the binary compatibility version substring. + 39 + + + + The dependency management descriptor for the current module. + 41 + + + + An optional set of configurations from which to retrieve dependencies if retrieveManaged is set to true + 40 + + + + Project description. + 40 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + If Some, defines the local Scala installation to use for compilation, running, and testing. + 10 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Configures the module ID of the sources of the compiler bridge. + 100 + + + + The resolver to publish to. + 10 + + + + tags + 40 + + + + The location of a generated artifact. + 39 + + + + Default directory containing sources. + 11 + + + + Organization homepage. + 41 + + + + Selects repositories to include in the generated POM. + 100 + + + + Filter for including sources and resources files from default directories. + 100 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + If true, enables exit trapping and thread management for 'run'-like tasks. This is currently only suitable for serially-executed 'run'-like tasks. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + If true, enables retrieving dependencies to the current build. Otherwise, dependencies are used directly from the cache. + 40 + + + + Options for resolving managed dependencies. + 10000 + + + + Organization full/formal name. + 41 + + + + If true, enables automatically generating -Xplugin arguments to the compiler based on the classpath for the plugin configuration. + 11 + + + + Selects how to log output when running a main class. + 10000 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + Continuous execution configuration. + 1000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + The user-defined additional resolvers for automatically managed dependencies. + 31 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Extra XML to insert into the generated POM. + 40 + + + + Registered, although not necessarily present, test frameworks. + 200 + + + + Base URL for API documentation. + 41 + + + + Determines whether the exported classpath for this project contains classes (false) or a packaged jar (true). + 40 + + + + The version of Scala used for building. + 9 + + + + The name of the current module, used for dependency management. + 40 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + Maps configurations to the actual configuration used to define the classpath. + 100 + + + + The logging level for updating. + 40 + + + + If true, enables adding sbt as a dependency and auto-generation of the plugin descriptor file. + 41 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Enables/disables Ivy validation of module metadata. + 40 + + + + Whether forked tests should be executed in parallel + 200 + + + + Provides access to the launched sbt configuration, including the ScalaProvider, Launcher, and GlobalLock. + 10000 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Function that produces the artifact name from its definition. + 100 + + + + If true, enables cross paths, which distinguish input and output directories for cross-building. + 10 + + + + If true, automatically manages mappings to the API doc URL. + 41 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + If true, enables synchronizing the dependencies retrieved to the current build by removed unneeded files. + 40 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + If true, forks a new JVM when running. If false, runs in the same JVM as the build. + 10 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + The level of tracking for the internal (inter-project) dependency. + 40 + + + + Definitive source of inter-project dependencies for compilation and dependency management. This is populated by default by the dependencies declared on Project instances, but may be modified. The main restriction is that new builds may not be introduced. + 10000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + If true, sources from the project's base directory are included as main sources. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Duration after which to force a full update to occur + 100 + + + + Default Java source directory. + 10 + + + + Defines the configuration used when none is specified for a dependency in ivyXML. + 100 + + + + Artifact types that are included on the classpath. + 40 + + + + The files to recursively delete during a clean. + 40 + + + + Directory for compiled classes and copied resources. + 11 + + + + Project homepage. + 40 + + + + Initial commands to execute when starting up the Scala interpreter. + 11 + + + + Directory used for temporary files for tasks that is deleted after each task execution. + 10000 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + The message to show when triggered execution waits for sources to change. + 10000 + + + + options for dumpStructure task + 10000 + + + + List of managed resource directories. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + List of developers implicated in the project + 41 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Selects the Java installation used for compiling and forking. If None, uses the Java installation running the build. + 10 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + Configures warnings around Maven incompatibility. + 100 + + + + Declares managed dependencies. + 9 + + + + The list of checksums to generate and to verify for dependencies. + 40 + + + + List of tasks that generate sources. + 100 + + + + Configures sbt to work without a network connection where possible. + 10 + + + + Interval between checks for modified sources by the continuous execution command. + 41 + + + + Describes an artifact. + 41 + + + + Copies resources to the output directory. + 6 + + + + Sources generated by the build. + 30 + + + + Source positions where the dependencies are defined. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + A hook to get the UpdateReport of the global plugin. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + + 200 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Defines the sources in this project for continuous execution to watch for changes. + 41 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + Provides access to the project data for the build. + 20000 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Provides the sbt interface to Ivy. + 200 + + + + The configuration used to define the classpath. + 200 + + + + Inter-project and library dependencies. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The base directory for cached dependencies. + 20000 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Configures aspects of incremental compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + Configuration for generating the finished Ivy file for publishing. + 20000 + + + + The files to recursively delete during a clean. + 40 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Current build state. + 20000 + + + + Provides access to the build structure, settings, and streams manager. + 20000 + + + + Auto-detects main classes. + 31 + + + + Provides the class loader used for testing. + 20000 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Options for the Scala compiler. + 29 + + + + Unmanaged sources, which are manually created. + 29 + + + + Options for the incremental compiler. + 30 + + + + Defines the main class for packaging or running. + 29 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Resources generated by the build. + 30 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + Options for the Java compiler. + 29 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + Streams manager, which provides streams for different contexts. + 20000 + + + + Options passed to a new JVM when forking. + 29 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Collects all inputs needed for compilation. + 20000 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + Configuration for unresolved dependency warning. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + The list of root tasks for this task execution. Roots are the top-level tasks that were directly requested to be run. + 20000 + + + + Options for packaging. + 30 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + Defines the filename used to store the incremental compiler analysis file (inside the streams cacheDirectory). + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Environment variables used when forking a new JVM + 30 + + + + Implementation used to run a main class. + 20000 + + + + For tasks that support it (currently only 'compile' and 'update'), setting skip to true will force the task to not to do its work. This exact semantics may vary by task. + 40 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Build products that get packaged. + 31 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Maps positions in generated source files to the original source it was generated from + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Configuration for publishing to a repository. + 20000 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Configuration for generating the finished Ivy file for local publishing. + 20000 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Display detailed eviction warnings. + 200 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Publishes artifacts to a repository. + 4 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Read the incremental compiler analysis from disk + 20000 + + + + Provides the list of defined tests. + 31 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + Selects the main class to run. + 31 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Defines test listeners. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + All resource files, both managed and unmanaged. + 30 + + + + The internal (inter-project) classpath. + 200 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + The credentials to use for updating and publishing. + 31 + + + + Cache of scala.tools.nsc.Global instances. This should typically be cached so that it isn't recreated every task run. + 20000 + + + preferScala2 + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + reboot + + + < + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [uses|tree|definitions] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + load-failed + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + write-sbt-version + + + notify-users-about-shell + + + iflast + + + shell + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + eval + + + alias + + + append + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + apply + + + exit + + exit + Terminates the build. + + + + initialize + + + -- + + + --- + + $BASE/foo/src/test + $BASE/foo/src/main + + + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.10.1.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.1-sources.jar + + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.9.2.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.9.2-sources.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/optional/build.sbt b/extractor/src/test/data/0.13/prod_test_sources_separated/optional/build.sbt new file mode 100644 index 00000000..32595f2c --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/optional/build.sbt @@ -0,0 +1,2 @@ + +libraryDependencies += "io.netty" % "netty" % "3.6.6.Final" % "optional" diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/optional/project/build.properties b/extractor/src/test/data/0.13/prod_test_sources_separated/optional/project/build.properties new file mode 100644 index 00000000..8e682c52 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/optional/project/build.properties @@ -0,0 +1 @@ +sbt.version=0.13.18 diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/optional/structure.xml b/extractor/src/test/data/0.13/prod_test_sources_separated/optional/structure.xml new file mode 100644 index 00000000..1cbebf2a --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/optional/structure.xml @@ -0,0 +1,1701 @@ + + + + $URI_BASE + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin + import sbt._, Keys._, dsl._ + $SBT_BOOT/scala-2.10.7/lib/jansi.jar + $SBT_BOOT/scala-2.10.7/lib/jline.jar + $SBT_BOOT/scala-2.10.7/lib/scala-compiler.jar + $SBT_BOOT/scala-2.10.7/lib/scala-library.jar + $SBT_BOOT/scala-2.10.7/lib/scala-reflect.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/actions-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/api-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/apply-macro-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/cache-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/classfile-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/classpath-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/collections-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/command-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compile-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-integration-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-interface-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-ivy-integration-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/completion-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/control-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/cross-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/incremental-compiler-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/io-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/ivy-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jawn-parser_2.10-0.6.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jline-2.14.5.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jsch-0.1.50.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-ast_2.10-3.2.10.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-core_2.10-3.2.10.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-support_2.10-0.6.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/launcher-interface-1.0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/logging-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/logic-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/main-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/main-settings-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/paranamer-2.6.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/persist-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/process-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/quasiquotes_2.10-2.0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/relation-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/run-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/sbinary_2.10-0.4.2.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/sbt-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/scala-pickling_2.10-0.10.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/scala-reflect-2.10.7.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/serialization_2.10-0.1.2.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/task-system-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/tasks-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/template-resolver-0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/test-agent-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/test-interface-1.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/testing-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/tracking-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/xsbti/interface-0.13.18.jar + $IVY2/cache/com.jcraft/jsch/srcs/jsch-0.1.50-sources.jar + $IVY2/cache/com.thoughtworks.paranamer/paranamer/srcs/paranamer-2.6-sources.jar + $IVY2/cache/jline/jline/srcs/jline-2.14.5-sources.jar + $IVY2/cache/org.json4s/json4s-ast_2.10/srcs/json4s-ast_2.10-3.2.10-sources.jar + $IVY2/cache/org.json4s/json4s-core_2.10/srcs/json4s-core_2.10-3.2.10-sources.jar + $IVY2/cache/org.scala-lang.modules/scala-pickling_2.10/srcs/scala-pickling_2.10-0.10.1-sources.jar + $IVY2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.10.7-sources.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.7-sources.jar + $IVY2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.7-sources.jar + $IVY2/cache/org.scala-sbt.ivy/ivy/srcs/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310-sources.jar + $IVY2/cache/org.scala-sbt/actions/srcs/actions-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/api/srcs/api-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/apply-macro/srcs/apply-macro-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/cache/srcs/cache-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/classfile/srcs/classfile-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/classpath/srcs/classpath-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/collections/srcs/collections-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/command/srcs/command-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compile/srcs/compile-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-integration/srcs/compiler-integration-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-interface/srcs/compiler-interface-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-ivy-integration/srcs/compiler-ivy-integration-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/completion/srcs/completion-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/control/srcs/control-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/cross/srcs/cross-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/incremental-compiler/srcs/incremental-compiler-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/interface/srcs/interface-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/io/srcs/io-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/ivy/srcs/ivy-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-1.0.1-sources.jar + $IVY2/cache/org.scala-sbt/logging/srcs/logging-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/logic/srcs/logic-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/main/srcs/main-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/persist/srcs/persist-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/process/srcs/process-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/relation/srcs/relation-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/run/srcs/run-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/sbt/srcs/sbt-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/serialization_2.10/srcs/serialization_2.10-0.1.2-sources.jar + $IVY2/cache/org.scala-sbt/task-system/srcs/task-system-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/tasks/srcs/tasks-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/template-resolver/srcs/template-resolver-0.1-sources.jar + $IVY2/cache/org.scala-sbt/test-agent/srcs/test-agent-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + $IVY2/cache/org.scala-sbt/testing/srcs/testing-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/tracking/srcs/tracking-0.13.18-sources.jar + $IVY2/cache/org.scala-tools.sbinary/sbinary_2.10/srcs/sbinary_2.10-0.4.2-sources.jar + $IVY2/cache/org.scalamacros/quasiquotes_2.10/srcs/quasiquotes_2.10-2.0.1-sources.jar + $IVY2/cache/org.spire-math/jawn-parser_2.10/srcs/jawn-parser_2.10-0.6.0-sources.jar + $IVY2/cache/org.spire-math/json4s-support_2.10/srcs/json4s-support_2.10-0.6.0-sources.jar + + + optional + $URI_BASE + optional + default + 0.1-SNAPSHOT + $BASE + $BASE/target + + 2.10.7 + + $SBT_BOOT/scala-2.10.7/lib/scala-library.jar + + + $SBT_BOOT/scala-2.10.7/lib/jansi.jar + $SBT_BOOT/scala-2.10.7/lib/jline.jar + $SBT_BOOT/scala-2.10.7/lib/scala-compiler.jar + $SBT_BOOT/scala-2.10.7/lib/scala-reflect.jar + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2.10 + $BASE/target/scala-2.10/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.10/resource_managed/main + $BASE/target/scala-2.10/classes + + + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2.10 + $BASE/target/scala-2.10/src_managed/test + $BASE/src/test/resources + $BASE/target/scala-2.10/resource_managed/test + $BASE/target/scala-2.10/test-classes + + + + + optional:main + + + + + + + + + + + + + + + + + + + + + + + Declares managed dependency overrides. + 40 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The maximum number of errors, such as compile errors, to list. + 10 + + + + Commands to execute before the Scala interpreter exits. + 41 + + + + Defines inline Ivy XML for configuring dependency management. + 40 + + + + If true, includes repositories used in module configurations in the pom repositories section. If false, only the common repositories are included. + 41 + + + + Project licenses as (name, url) pairs. + 41 + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Pattern used to retrieve managed dependencies to the current build. + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Organization/group ID. + 9 + + + + Provides a resolver for obtaining sbt as a dependency. + 41 + + + + Configures handling of Scala classpaths. + 10000 + + + + Logs results after a test task completes. + 20000 + + + + Provides access to the loaded project structure. This is the information available before settings are evaluated. + 10000 + + + + Project name. + 9 + + + + Use JCenter as the default repository. + 40 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Year in which the project started. + 41 + + + + Default Scala source directory. + 10 + + + + Configures the order in which Java and sources within a single compilation are compiled. Valid values are: JavaThenScala, ScalaThenJava, or Mixed. + 39 + + + + Selects the conflict manager to use for dependency management. + 100 + + + + Declares managed dependency exclusions. + 40 + + + + True if the the version of the project is a snapshot version. + 39 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Enables (true) or disables (false) parallel execution of tasks. + 41 + + + + Adds a dependency on scala-library if true. + 10 + + + + Configuration for generating a pom. + 10000 + + + + Sets the classifier used by the default artifact definition. + 40 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + If true, connects standard input when running a main class forked. + 100 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + Defines module configurations, which override resolvers on a per-module basis. + 41 + + + + Directory used for caching task data. + 41 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Filter for excluding sources and resources files from default directories. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The location where command line history is persisted. + 40 + + + + Transforms the generated POM. + 100 + + + + The amount of logging sent to the screen. + 10 + + + + Provides the version of sbt. This setting should be not be modified. + 11 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + A function that provides additional loggers for a given setting. + 10000 + + + + Automatically obtains Scala tools as managed dependencies if true. + 40 + + + + The message to show before triggered execution executes an action after sources change. + 10000 + + + + True if logging should be buffered until work completes. + 100 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + The level of tracking for this project by the internal callers. + 40 + + + + Basic SCM information for the project. + 41 + + + + Directory to which managed dependencies are retrieved. + 40 + + + + The default directory for manually managed libraries. + 10 + + + + Defines the binary compatibility version substring. + 39 + + + + The dependency management descriptor for the current module. + 41 + + + + An optional set of configurations from which to retrieve dependencies if retrieveManaged is set to true + 40 + + + + Project description. + 40 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + If Some, defines the local Scala installation to use for compilation, running, and testing. + 10 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Configures the module ID of the sources of the compiler bridge. + 100 + + + + The resolver to publish to. + 10 + + + + tags + 40 + + + + The location of a generated artifact. + 39 + + + + Default directory containing sources. + 11 + + + + Organization homepage. + 41 + + + + Selects repositories to include in the generated POM. + 100 + + + + Filter for including sources and resources files from default directories. + 100 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + If true, enables exit trapping and thread management for 'run'-like tasks. This is currently only suitable for serially-executed 'run'-like tasks. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + If true, enables retrieving dependencies to the current build. Otherwise, dependencies are used directly from the cache. + 40 + + + + Options for resolving managed dependencies. + 10000 + + + + Organization full/formal name. + 41 + + + + If true, enables automatically generating -Xplugin arguments to the compiler based on the classpath for the plugin configuration. + 11 + + + + Selects how to log output when running a main class. + 10000 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + Continuous execution configuration. + 1000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + The user-defined additional resolvers for automatically managed dependencies. + 31 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Extra XML to insert into the generated POM. + 40 + + + + Registered, although not necessarily present, test frameworks. + 200 + + + + Base URL for API documentation. + 41 + + + + Determines whether the exported classpath for this project contains classes (false) or a packaged jar (true). + 40 + + + + The version of Scala used for building. + 9 + + + + The name of the current module, used for dependency management. + 40 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + Maps configurations to the actual configuration used to define the classpath. + 100 + + + + The logging level for updating. + 40 + + + + If true, enables adding sbt as a dependency and auto-generation of the plugin descriptor file. + 41 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Enables/disables Ivy validation of module metadata. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Whether forked tests should be executed in parallel + 200 + + + + Provides access to the launched sbt configuration, including the ScalaProvider, Launcher, and GlobalLock. + 10000 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Function that produces the artifact name from its definition. + 100 + + + + If true, enables cross paths, which distinguish input and output directories for cross-building. + 10 + + + + If true, automatically manages mappings to the API doc URL. + 41 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + If true, enables synchronizing the dependencies retrieved to the current build by removed unneeded files. + 40 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + If true, forks a new JVM when running. If false, runs in the same JVM as the build. + 10 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + The level of tracking for the internal (inter-project) dependency. + 40 + + + + Definitive source of inter-project dependencies for compilation and dependency management. This is populated by default by the dependencies declared on Project instances, but may be modified. The main restriction is that new builds may not be introduced. + 10000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + If true, sources from the project's base directory are included as main sources. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Duration after which to force a full update to occur + 100 + + + + Default Java source directory. + 10 + + + + Defines the configuration used when none is specified for a dependency in ivyXML. + 100 + + + + Artifact types that are included on the classpath. + 40 + + + + The files to recursively delete during a clean. + 40 + + + + Directory for compiled classes and copied resources. + 11 + + + + Project homepage. + 40 + + + + Initial commands to execute when starting up the Scala interpreter. + 11 + + + + Directory used for temporary files for tasks that is deleted after each task execution. + 10000 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + The message to show when triggered execution waits for sources to change. + 10000 + + + + options for dumpStructure task + 10000 + + + + List of managed resource directories. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + List of developers implicated in the project + 41 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Selects the Java installation used for compiling and forking. If None, uses the Java installation running the build. + 10 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + Configures warnings around Maven incompatibility. + 100 + + + + Declares managed dependencies. + 9 + + + + The list of checksums to generate and to verify for dependencies. + 40 + + + + List of tasks that generate sources. + 100 + + + + Configures sbt to work without a network connection where possible. + 10 + + + + Interval between checks for modified sources by the continuous execution command. + 41 + + + + Describes an artifact. + 41 + + + + Copies resources to the output directory. + 6 + + + + Sources generated by the build. + 30 + + + + Source positions where the dependencies are defined. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + A hook to get the UpdateReport of the global plugin. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + + 200 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Defines the sources in this project for continuous execution to watch for changes. + 41 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + Provides access to the project data for the build. + 20000 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Provides the sbt interface to Ivy. + 200 + + + + The configuration used to define the classpath. + 200 + + + + Inter-project and library dependencies. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The base directory for cached dependencies. + 20000 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Configures aspects of incremental compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + Configuration for generating the finished Ivy file for publishing. + 20000 + + + + The files to recursively delete during a clean. + 40 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Current build state. + 20000 + + + + Provides access to the build structure, settings, and streams manager. + 20000 + + + + Auto-detects main classes. + 31 + + + + Provides the class loader used for testing. + 20000 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Options for the Scala compiler. + 29 + + + + Unmanaged sources, which are manually created. + 29 + + + + Options for the incremental compiler. + 30 + + + + Defines the main class for packaging or running. + 29 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Resources generated by the build. + 30 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + Options for the Java compiler. + 29 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + Streams manager, which provides streams for different contexts. + 20000 + + + + Options passed to a new JVM when forking. + 29 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Collects all inputs needed for compilation. + 20000 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + Configuration for unresolved dependency warning. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + The list of root tasks for this task execution. Roots are the top-level tasks that were directly requested to be run. + 20000 + + + + Options for packaging. + 30 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + Defines the filename used to store the incremental compiler analysis file (inside the streams cacheDirectory). + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Environment variables used when forking a new JVM + 30 + + + + Implementation used to run a main class. + 20000 + + + + For tasks that support it (currently only 'compile' and 'update'), setting skip to true will force the task to not to do its work. This exact semantics may vary by task. + 40 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Build products that get packaged. + 31 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Maps positions in generated source files to the original source it was generated from + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Configuration for publishing to a repository. + 20000 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Configuration for generating the finished Ivy file for local publishing. + 20000 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Display detailed eviction warnings. + 200 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Publishes artifacts to a repository. + 4 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Read the incremental compiler analysis from disk + 20000 + + + + Provides the list of defined tests. + 31 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + Selects the main class to run. + 31 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Defines test listeners. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + All resource files, both managed and unmanaged. + 30 + + + + The internal (inter-project) classpath. + 200 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + The credentials to use for updating and publishing. + 31 + + + + Cache of scala.tools.nsc.Global instances. This should typically be cached so that it isn't recreated every task run. + 20000 + + + preferScala2 + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + reboot + + + < + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [uses|tree|definitions] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + load-failed + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + write-sbt-version + + + notify-users-about-shell + + + iflast + + + shell + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + eval + + + alias + + + append + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + apply + + + exit + + exit + Terminates the build. + + + + initialize + + + -- + + + --- + + $BASE/src/test + $BASE/src/main + + + + $IVY2/cache/io.netty/netty/bundles/netty-3.6.6.Final.jar + $IVY2/cache/io.netty/netty/srcs/netty-3.6.6.Final-sources.jar + + + $SBT_BOOT/scala-2.10.7/lib/scala-library.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.7-sources.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/play/build.sbt b/extractor/src/test/data/0.13/prod_test_sources_separated/play/build.sbt new file mode 100644 index 00000000..c4c58efa --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/play/build.sbt @@ -0,0 +1,9 @@ +name := "my-first-app" + +version := "1.0.0-SNAPSHOT" + +libraryDependencies ++= Seq( + jdbc, + anorm + ) + diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/play/project/Build.scala b/extractor/src/test/data/0.13/prod_test_sources_separated/play/project/Build.scala new file mode 100644 index 00000000..50895fae --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/play/project/Build.scala @@ -0,0 +1,9 @@ + +import sbt._ +import _root_.play.PlayScala + +object MyBuild extends Build { + + lazy val root = (project in file("")).enablePlugins(PlayScala) + +} diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/play/project/build.properties b/extractor/src/test/data/0.13/prod_test_sources_separated/play/project/build.properties new file mode 100644 index 00000000..8e682c52 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/play/project/build.properties @@ -0,0 +1 @@ +sbt.version=0.13.18 diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/play/project/plugins.sbt b/extractor/src/test/data/0.13/prod_test_sources_separated/play/project/plugins.sbt new file mode 100644 index 00000000..bc493da4 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/play/project/plugins.sbt @@ -0,0 +1,5 @@ +// The Typesafe repository +resolvers += "Typesafe repository" at "https://repo.typesafe.com/typesafe/releases/" + +// Use the Play sbt plugin for Play projects +addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.3.7") diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/play/structure.xml b/extractor/src/test/data/0.13/prod_test_sources_separated/play/structure.xml new file mode 100644 index 00000000..c190280d --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/play/structure.xml @@ -0,0 +1,3355 @@ + + + + $URI_BASE + import _root_.com.typesafe.sbteclipse.plugin.EclipsePlugin._, _root_.org.sbtidea.SbtIdeaPlugin._, _root_.com.typesafe.sbt.SbtNativePackager._, MyBuild._ + import _root_.play.Play.autoImport._, _root_.play.twirl.sbt.SbtTwirl.autoImport._, _root_.com.typesafe.sbt.jse.SbtJsEngine.autoImport._, _root_.com.typesafe.sbt.jse.SbtJsTask.autoImport._, _root_.com.typesafe.sbt.web.SbtWeb.autoImport._, _root_.com.typesafe.sbt.webdriver.SbtWebDriver.autoImport._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin, _root_.play.Play, _root_.play.PlayJava, _root_.play.PlayScala, _root_.play.twirl.sbt.SbtTwirl, _root_.com.typesafe.sbt.jse.SbtJsEngine, _root_.com.typesafe.sbt.jse.SbtJsTask, _root_.com.typesafe.sbt.web.SbtWeb, _root_.com.typesafe.sbt.webdriver.SbtWebDriver + import sbt._, Keys._, dsl._ + $SBT_BOOT/scala-2.10.7/lib/jansi.jar + $SBT_BOOT/scala-2.10.7/lib/jline.jar + $SBT_BOOT/scala-2.10.7/lib/scala-compiler.jar + $SBT_BOOT/scala-2.10.7/lib/scala-library.jar + $SBT_BOOT/scala-2.10.7/lib/scala-reflect.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/actions-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/api-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/apply-macro-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/cache-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/classfile-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/classpath-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/collections-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/command-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compile-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-integration-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-interface-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-ivy-integration-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/completion-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/control-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/cross-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/incremental-compiler-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/io-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/ivy-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jawn-parser_2.10-0.6.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jline-2.14.5.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jsch-0.1.50.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-ast_2.10-3.2.10.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-core_2.10-3.2.10.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-support_2.10-0.6.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/launcher-interface-1.0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/logging-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/logic-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/main-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/main-settings-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/paranamer-2.6.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/persist-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/process-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/quasiquotes_2.10-2.0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/relation-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/run-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/sbinary_2.10-0.4.2.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/sbt-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/scala-pickling_2.10-0.10.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/scala-reflect-2.10.7.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/serialization_2.10-0.1.2.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/task-system-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/tasks-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/template-resolver-0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/test-agent-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/test-interface-1.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/testing-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/tracking-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/xsbti/interface-0.13.18.jar + $IVY2/cache/aopalliance/aopalliance/jars/aopalliance-1.0.jar + $IVY2/cache/com.fasterxml.jackson.core/jackson-annotations/bundles/jackson-annotations-2.3.0.jar + $IVY2/cache/com.fasterxml.jackson.core/jackson-core/bundles/jackson-core-2.3.3.jar + $IVY2/cache/com.fasterxml.jackson.core/jackson-databind/bundles/jackson-databind-2.3.3.jar + $IVY2/cache/com.google.guava/guava/bundles/guava-16.0.1.jar + $IVY2/cache/com.google.javascript/closure-compiler/jars/closure-compiler-v20130603.jar + $IVY2/cache/com.google.protobuf/protobuf-java/bundles/protobuf-java-2.5.0.jar + $IVY2/cache/com.h2database/h2/jars/h2-1.3.175.jar + $IVY2/cache/com.typesafe.akka/akka-actor_2.10/jars/akka-actor_2.10-2.3.2.jar + $IVY2/cache/com.typesafe.akka/akka-cluster_2.10/jars/akka-cluster_2.10-2.3.2.jar + $IVY2/cache/com.typesafe.akka/akka-contrib_2.10/jars/akka-contrib_2.10-2.3.2.jar + $IVY2/cache/com.typesafe.akka/akka-persistence-experimental_2.10/jars/akka-persistence-experimental_2.10-2.3.2.jar + $IVY2/cache/com.typesafe.akka/akka-remote_2.10/jars/akka-remote_2.10-2.3.2.jar + $IVY2/cache/com.typesafe.play/build-link/jars/build-link-2.3.7.jar + $IVY2/cache/com.typesafe.play/play-exceptions/jars/play-exceptions-2.3.7.jar + $IVY2/cache/com.typesafe.play/routes-compiler_2.10/jars/routes-compiler_2.10-2.3.7.jar + $IVY2/cache/com.typesafe.play/sbt-run-support_2.10/jars/sbt-run-support_2.10-2.3.7.jar + $IVY2/cache/com.typesafe.play/twirl-api_2.10/jars/twirl-api_2.10-1.0.2.jar + $IVY2/cache/com.typesafe.play/twirl-compiler_2.10/jars/twirl-compiler_2.10-1.0.2.jar + $IVY2/cache/com.typesafe.play/twirl-parser_2.10/jars/twirl-parser_2.10-1.0.2.jar + $IVY2/cache/com.typesafe/config/bundles/config-1.2.1.jar + $IVY2/cache/com.typesafe/jse_2.10/jars/jse_2.10-1.0.0.jar + $IVY2/cache/com.typesafe/npm_2.10/jars/npm_2.10-1.0.0.jar + $IVY2/cache/com.typesafe/webdriver_2.10/jars/webdriver_2.10-1.0.0.jar + $IVY2/cache/commons-codec/commons-codec/jars/commons-codec-1.9.jar + $IVY2/cache/commons-collections/commons-collections/jars/commons-collections-3.2.1.jar + $IVY2/cache/commons-io/commons-io/jars/commons-io-2.4.jar + $IVY2/cache/commons-logging/commons-logging/jars/commons-logging-1.1.3.jar + $IVY2/cache/io.apigee.trireme/trireme-core/jars/trireme-core-0.7.5.jar + $IVY2/cache/io.apigee.trireme/trireme-node10src/jars/trireme-node10src-0.7.5.jar + $IVY2/cache/io.netty/netty/bundles/netty-3.8.0.Final.jar + $IVY2/cache/io.spray/spray-can/bundles/spray-can-1.3.1.jar + $IVY2/cache/io.spray/spray-client/bundles/spray-client-1.3.1.jar + $IVY2/cache/io.spray/spray-http/bundles/spray-http-1.3.1.jar + $IVY2/cache/io.spray/spray-httpx/bundles/spray-httpx-1.3.1.jar + $IVY2/cache/io.spray/spray-io/bundles/spray-io-1.3.1.jar + $IVY2/cache/io.spray/spray-json_2.10/bundles/spray-json_2.10-1.2.6.jar + $IVY2/cache/io.spray/spray-util/bundles/spray-util-1.3.1.jar + $IVY2/cache/javax.annotation/jsr250-api/jars/jsr250-api-1.0.jar + $IVY2/cache/javax.enterprise/cdi-api/jars/cdi-api-1.0.jar + $IVY2/cache/javax.inject/javax.inject/jars/javax.inject-1.jar + $IVY2/cache/net.contentobjects.jnotify/jnotify/jars/jnotify-0.94.jar + $IVY2/cache/net.sourceforge.cssparser/cssparser/jars/cssparser-0.9.13.jar + $IVY2/cache/net.sourceforge.htmlunit/htmlunit-core-js/jars/htmlunit-core-js-2.14.jar + $IVY2/cache/net.sourceforge.htmlunit/htmlunit/jars/htmlunit-2.14.jar + $IVY2/cache/net.sourceforge.nekohtml/nekohtml/jars/nekohtml-1.9.20.jar + $IVY2/cache/org.apache.ant/ant-launcher/jars/ant-launcher-1.9.3.jar + $IVY2/cache/org.apache.ant/ant/jars/ant-1.9.3.jar + $IVY2/cache/org.apache.commons/commons-compress/jars/commons-compress-1.7.jar + $IVY2/cache/org.apache.commons/commons-lang3/jars/commons-lang3-3.2.1.jar + $IVY2/cache/org.apache.httpcomponents/httpclient/jars/httpclient-4.3.2.jar + $IVY2/cache/org.apache.httpcomponents/httpcore/jars/httpcore-4.3.1.jar + $IVY2/cache/org.apache.httpcomponents/httpmime/jars/httpmime-4.3.2.jar + $IVY2/cache/org.apache.maven/maven-aether-provider/jars/maven-aether-provider-3.2.2.jar + $IVY2/cache/org.apache.maven/maven-artifact/jars/maven-artifact-3.2.2.jar + $IVY2/cache/org.apache.maven/maven-core/jars/maven-core-3.2.2.jar + $IVY2/cache/org.apache.maven/maven-model-builder/jars/maven-model-builder-3.2.2.jar + $IVY2/cache/org.apache.maven/maven-model/jars/maven-model-3.2.2.jar + $IVY2/cache/org.apache.maven/maven-plugin-api/jars/maven-plugin-api-3.2.2.jar + $IVY2/cache/org.apache.maven/maven-repository-metadata/jars/maven-repository-metadata-3.2.2.jar + $IVY2/cache/org.apache.maven/maven-settings-builder/jars/maven-settings-builder-3.2.2.jar + $IVY2/cache/org.apache.maven/maven-settings/jars/maven-settings-3.2.2.jar + $IVY2/cache/org.avaje.ebeanorm/avaje-ebeanorm-agent/jars/avaje-ebeanorm-agent-3.2.2.jar + $IVY2/cache/org.bouncycastle/bcpg-jdk15on/jars/bcpg-jdk15on-1.51.jar + $IVY2/cache/org.bouncycastle/bcprov-jdk15on/jars/bcprov-jdk15on-1.51.jar + $IVY2/cache/org.codehaus.plexus/plexus-classworlds/bundles/plexus-classworlds-2.5.1.jar + $IVY2/cache/org.codehaus.plexus/plexus-component-annotations/jars/plexus-component-annotations-1.5.5.jar + $IVY2/cache/org.codehaus.plexus/plexus-interpolation/jars/plexus-interpolation-1.19.jar + $IVY2/cache/org.codehaus.plexus/plexus-utils/jars/plexus-utils-3.0.17.jar + $IVY2/cache/org.eclipse.aether/aether-api/jars/aether-api-0.9.0.M2.jar + $IVY2/cache/org.eclipse.aether/aether-impl/jars/aether-impl-0.9.0.M2.jar + $IVY2/cache/org.eclipse.aether/aether-spi/jars/aether-spi-0.9.0.M2.jar + $IVY2/cache/org.eclipse.aether/aether-util/jars/aether-util-0.9.0.M2.jar + $IVY2/cache/org.eclipse.jetty/jetty-http/jars/jetty-http-8.1.14.v20131031.jar + $IVY2/cache/org.eclipse.jetty/jetty-io/jars/jetty-io-8.1.14.v20131031.jar + $IVY2/cache/org.eclipse.jetty/jetty-util/jars/jetty-util-8.1.14.v20131031.jar + $IVY2/cache/org.eclipse.jetty/jetty-websocket/jars/jetty-websocket-8.1.14.v20131031.jar + $IVY2/cache/org.eclipse.sisu/org.eclipse.sisu.inject/eclipse-plugins/org.eclipse.sisu.inject-0.0.0.M5.jar + $IVY2/cache/org.eclipse.sisu/org.eclipse.sisu.plexus/eclipse-plugins/org.eclipse.sisu.plexus-0.0.0.M5.jar + $IVY2/cache/org.fusesource.hawtjni/hawtjni-runtime/jars/hawtjni-runtime-1.8.jar + $IVY2/cache/org.fusesource.leveldbjni/leveldbjni-all/bundles/leveldbjni-all-1.7.jar + $IVY2/cache/org.fusesource.leveldbjni/leveldbjni-linux32/jars/leveldbjni-linux32-1.5.jar + $IVY2/cache/org.fusesource.leveldbjni/leveldbjni-linux64/jars/leveldbjni-linux64-1.5.jar + $IVY2/cache/org.fusesource.leveldbjni/leveldbjni-osx/jars/leveldbjni-osx-1.5.jar + $IVY2/cache/org.fusesource.leveldbjni/leveldbjni-win32/jars/leveldbjni-win32-1.5.jar + $IVY2/cache/org.fusesource.leveldbjni/leveldbjni-win64/jars/leveldbjni-win64-1.5.jar + $IVY2/cache/org.fusesource.leveldbjni/leveldbjni/jars/leveldbjni-1.7.jar + $IVY2/cache/org.iq80.leveldb/leveldb-api/jars/leveldb-api-0.5.jar + $IVY2/cache/org.iq80.leveldb/leveldb/jars/leveldb-0.5.jar + $IVY2/cache/org.javassist/javassist/bundles/javassist-3.18.2-GA.jar + $IVY2/cache/org.json/json/jars/json-20090211.jar + $IVY2/cache/org.jvnet.mimepull/mimepull/jars/mimepull-1.9.4.jar + $IVY2/cache/org.mozilla/rhino/jars/rhino-1.7R4.jar + $IVY2/cache/org.parboiled/parboiled-core/bundles/parboiled-core-1.1.6.jar + $IVY2/cache/org.parboiled/parboiled-scala_2.10/bundles/parboiled-scala_2.10-1.1.6.jar + $IVY2/cache/org.scala-sbt/control/jars/control-0.13.5.jar + $IVY2/cache/org.scala-sbt/io/jars/io-0.13.5.jar + $IVY2/cache/org.scalaz/scalaz-core_2.10/bundles/scalaz-core_2.10-7.0.2.jar + $IVY2/cache/org.scalaz/scalaz-effect_2.10/bundles/scalaz-effect_2.10-7.0.2.jar + $IVY2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.7.7.jar + $IVY2/cache/org.slf4j/slf4j-simple/jars/slf4j-simple-1.7.7.jar + $IVY2/cache/org.sonatype.plexus/plexus-cipher/jars/plexus-cipher-1.4.jar + $IVY2/cache/org.sonatype.plexus/plexus-sec-dispatcher/jars/plexus-sec-dispatcher-1.3.jar + $IVY2/cache/org.sonatype.sisu/sisu-guice/jars/sisu-guice-3.1.0-no_aop.jar + $IVY2/cache/org.tukaani/xz/jars/xz-1.4.jar + $IVY2/cache/org.uncommons.maths/uncommons-maths/jars/uncommons-maths-1.2.2a.jar + $IVY2/cache/org.vafer/jdeb/jars/jdeb-1.3.jar + $IVY2/cache/org.w3c.css/sac/jars/sac-1.3.jar + $IVY2/cache/org.webjars/npm/jars/npm-1.3.26.jar + $IVY2/cache/org.webjars/webjars-locator/jars/webjars-locator-0.14.jar + $IVY2/cache/scala_2.10/sbt_0.13/com.github.mpeltonen/sbt-idea/jars/sbt-idea-1.5.1.jar + $IVY2/cache/scala_2.10/sbt_0.13/com.typesafe.play/sbt-plugin/jars/sbt-plugin-2.3.7.jar + $IVY2/cache/scala_2.10/sbt_0.13/com.typesafe.sbt/sbt-js-engine/jars/sbt-js-engine-1.0.1.jar + $IVY2/cache/scala_2.10/sbt_0.13/com.typesafe.sbt/sbt-native-packager/jars/sbt-native-packager-0.7.4.jar + $IVY2/cache/scala_2.10/sbt_0.13/com.typesafe.sbt/sbt-twirl/jars/sbt-twirl-1.0.2.jar + $IVY2/cache/scala_2.10/sbt_0.13/com.typesafe.sbt/sbt-web/jars/sbt-web-1.0.2.jar + $IVY2/cache/scala_2.10/sbt_0.13/com.typesafe.sbt/sbt-webdriver/jars/sbt-webdriver-1.0.0.jar + $IVY2/cache/scala_2.10/sbt_0.13/com.typesafe.sbteclipse/sbteclipse-core/jars/sbteclipse-core-2.4.0.jar + $IVY2/cache/scala_2.10/sbt_0.13/com.typesafe.sbteclipse/sbteclipse-plugin/jars/sbteclipse-plugin-2.4.0.jar + $IVY2/cache/xalan/serializer/jars/serializer-2.7.1.jar + $IVY2/cache/xalan/xalan/jars/xalan-2.7.1.jar + $IVY2/cache/xerces/xercesImpl/jars/xercesImpl-2.11.0.jar + $IVY2/cache/xml-apis/xml-apis/jars/xml-apis-1.4.01.jar + + + root + $URI_BASE + my-first-app + my-first-app + 1.0.0-SNAPSHOT + $BASE + $BASE/target + + + compile + + + + + + test + + + + + + + 2.10.7 + + $SBT_BOOT/scala-2.10.7/lib/scala-library.jar + + + $SBT_BOOT/scala-2.10.7/lib/jansi.jar + $SBT_BOOT/scala-2.10.7/lib/jline.jar + $SBT_BOOT/scala-2.10.7/lib/scala-compiler.jar + $SBT_BOOT/scala-2.10.7/lib/scala-reflect.jar + + + + compile + + + + + + + test + + + + + + + Mixed + + $BASE/app + $BASE/app-2.10 + $BASE/target/scala-2.10/src_managed/main + $BASE/target/scala-2.10/twirl/main + $BASE/conf + $BASE/target/scala-2.10/resource_managed/main + $BASE/target/scala-2.10/classes + + + $BASE/test + $BASE/test-2.10 + $BASE/target/scala-2.10/src_managed/test + $BASE/target/scala-2.10/twirl/test + $BASE/test/resources + $BASE/target/scala-2.10/resource_managed/test + $BASE/target/scala-2.10/test-classes + + + + + root:main + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2.3.7 + + play.api.templates.PlayMagic._ + models._ + controllers._ + play.api.i18n._ + play.api.mvc._ + play.api.data._ + views.xml._ + + + controllers.Assets.Asset + + $BASE/conf + $BASE/app + + + + Declares managed dependency overrides. + 40 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + The list of directories that node modules are to expand into. + 25 + + + + Default directory for sources generated by the build. + 39 + + + + + 25 + + + + The maximum number of errors, such as compile errors, to list. + 10 + + + + + 25 + + + + Commands to execute before the Scala interpreter exits. + 41 + + + + Defines inline Ivy XML for configuring dependency management. + 40 + + + + If true, includes repositories used in module configurations in the pom repositories section. If false, only the common repositories are included. + 41 + + + + Project licenses as (name, url) pairs. + 41 + + + + Group to associate with the RPM. + 25 + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Pattern used to retrieve managed dependencies to the current build. + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Organization/group ID. + 9 + + + + Provides a resolver for obtaining sbt as a dependency. + 41 + + + + Names of system services that should be provided at application start + 25 + + + + Configures handling of Scala classpaths. + 10000 + + + + %verifyscript scriptlet + 25 + + + + Packages this RPM provides. + 25 + + + + Whether the reverse router should be generated. Setting to false may reduce compile times if it's not needed. + 25 + + + + Group to start application daemon + 25 + + + + User to start application daemon + 25 + + + + enable/deactivating auto requiering. + 25 + + + + Person who packaged this rpm. + 25 + + + + Logs results after a test task completes. + 20000 + + + + Provides access to the loaded project structure. This is the information available before settings are evaluated. + 10000 + + + + Use the original Play template parser + 25 + + + + + 25 + + + + Repository for published Docker image + 25 + + + + The maximum number of seconds to wait per source file processed by the JS task. + 25 + + + + Project name. + 9 + + + + The path to extract WebJars to + 25 + + + + Use JCenter as the default repository. + 40 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Year in which the project started. + 41 + + + + Default Scala source directory. + 10 + + + + Configures the order in which Java and sources within a single compilation are compiled. Valid values are: JavaThenScala, ScalaThenJava, or Mixed. + 39 + + + + Sequence of runlevels on which application will stop + 25 + + + + The maximum number of seconds to for npm to do its thing. + 25 + + + + Selects the conflict manager to use for dependency management. + 100 + + + + The number of parallel tasks for the webdriver host. Defaults to the # of available processors + 1 to keep things busy. + 25 + + + + Declares managed dependency exclusions. + 40 + + + + True if the the version of the project is a snapshot version. + 39 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Packages this RPM makes obsolete. + 25 + + + + Packages that this debian package depends on. + 25 + + + + Enables (true) or disables (false) parallel execution of tasks. + 41 + + + + + 25 + + + + Adds a dependency on scala-library if true. + 10 + + + + Configuration for generating a pom. + 10000 + + + + The uuid associated with upgrades for this package. + 25 + + + + The section category for this deb file. + 25 + + + + + 25 + + + + Sets the classifier used by the default artifact definition. + 40 + + + + + 25 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + Information (name, version, etc.) about a debian package. + 25 + + + + The path to extract WebJar node modules to + 25 + + + + If true, connects standard input when running a main class forked. + 100 + + + + name of the icon to use with this RPM. + 25 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + The tasks to be evaluated prior to creating the Eclipse project definition. + 25 + + + + + 25 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + License of the code within the RPM. + 25 + + + + Defines module configurations, which override resolvers on a per-module basis. + 41 + + + + Directory used for caching task data. + 41 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Filter for excluding sources and resources files from default directories. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The location of files intended for publishing to the web. + 25 + + + + Default web modules directory, used for web browser based resources. + 25 + + + + The location where command line history is persisted. + 40 + + + + Transforms the generated POM. + 100 + + + + The amount of logging sent to the screen. + 10 + + + + Shell provided for the daemon user + 25 + + + + Determines whether assets from project dependencies are included. + 25 + + + + Provides the version of sbt. This setting should be not be modified. + 11 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + A function that provides additional loggers for a given setting. + 10000 + + + + Automatically obtains Scala tools as managed dependencies if true. + 40 + + + + The message to show before triggered execution executes an action after sources change. + 10000 + + + + True if logging should be buffered until work completes. + 100 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + The uuid of the windows package. + 25 + + + + The level of tracking for this project by the internal callers. + 40 + + + + Basic SCM information for the project. + 41 + + + + Packages recommended to use with the currently packaged one. + 25 + + + + Directory to which managed dependencies are retrieved. + 40 + + + + The default directory for manually managed libraries. + 10 + + + + Defines the binary compatibility version substring. + 39 + + + + The dependency management descriptor for the current module. + 41 + + + + An optional set of configurations from which to retrieve dependencies if retrieveManaged is set to true + 40 + + + + Metadata associated with the generated RPM. + 25 + + + + Packages this RPM conflicts with. + 25 + + + + Project description. + 40 + + + + The sub folder of the path to extract web browser modules to + 25 + + + + %post scriptlet + 25 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + If Some, defines the local Scala installation to use for compilation, running, and testing. + 10 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + The file extension of js files. + 25 + + + + List of tasks that generate node modules. + 25 + + + + %preun scriptlet + 25 + + + + Configures the module ID of the sources of the compiler bridge. + 100 + + + + The resolver to publish to. + 10 + + + + Packages this RPM requires. + 25 + + + + Name of the os for this RPM. + 25 + + + + Special release number for this rpm (vs. the software). + 25 + + + + tags + 40 + + + + + 25 + + + + Description of this rpm. + 25 + + + + The location of a generated artifact. + 39 + + + + Default directory containing sources. + 11 + + + + Organization homepage. + 41 + + + + Directory where all debian control scripts reside. Default is 'src/debian/DEBIAN' + 25 + + + + The number of parallel tasks for the JavaScript engine. Defaults to the # of available processors + 1 to keep things busy. + 25 + + + + + 25 + + + + Selects repositories to include in the generated POM. + 100 + + + + Filter for including sources and resources files from default directories. + 100 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + If true, enables exit trapping and thread management for 'run'-like tasks. This is currently only suitable for serially-executed 'run'-like tasks. + 100 + + + + %posttrans scriptlet + 25 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + If true, enables retrieving dependencies to the current build. Otherwise, dependencies are used directly from the cache. + 40 + + + + Options for resolving managed dependencies. + 10000 + + + + Organization full/formal name. + 41 + + + + The function that constructs the command prompt from the current build state. + 10000 + + + + Meta data used when constructing a debian package. + 25 + + + + Directory where all debian control scripts reside. Default is 'src/rpm/scriptlets' + 25 + + + + The configuration for this package. + 25 + + + + If true, enables automatically generating -Xplugin arguments to the compiler based on the classpath for the plugin configuration. + 11 + + + + + 25 + + + + The type of engine to use. + 25 + + + + The changelog for this deb file + 25 + + + + The role to use when signing a debian file (defaults to 'builder'). + 25 + + + + Selects how to log output when running a main class. + 10000 + + + + Extra imports for twirl templates + 25 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + The watch service Play uses to watch for file changes + 25 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + %pretrans scriptlet + 25 + + + + Continuous execution configuration. + 1000 + + + + Logger usable by settings during project loading. + 100 + + + + enable/deactivating auto provisioning. + 25 + + + + The package prefix for source directories. + 25 + + + + + 25 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + The user-defined additional resolvers for automatically managed dependencies. + 31 + + + + The name/email address of a maintainer for the native package. + 25 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Sequence of runlevels on which application will start up + 25 + + + + Names of system services that should be provided at application stop + 25 + + + + Responsible for loading the start scripts. Only used with archetype.java_server + 25 + + + + Extra XML to insert into the generated POM. + 40 + + + + Registered, although not necessarily present, test frameworks. + 200 + + + + Base URL for API documentation. + 41 + + + + The path for the webjars extraction cache file + 25 + + + + Determines whether the exported classpath for this project contains classes (false) or a packaged jar (true). + 40 + + + + Loading system to be used for application start script + 25 + + + + + 25 + + + + Factories for a rewrite rule for the .classpath file. + 25 + + + + The version of Scala used for building. + 9 + + + + + 25 + + + + The name of the current module, used for dependency management. + 40 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + Volumes exposed by Docker image + 25 + + + + Maps configurations to the actual configuration used to define the classpath. + 100 + + + + The logging level for updating. + 40 + + + + Options to pass to the candle.exe program. + 25 + + + + If true, enables adding sbt as a dependency and auto-generation of the plugin descriptor file. + 41 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Enables/disables Ivy validation of module metadata. + 40 + + + + Summary of the contents of a linux package. + 25 + + + + Whether forked tests should be executed in parallel + 200 + + + + The architecture used for this linux package. + 25 + + + + Provides access to the launched sbt configuration, including the ScalaProvider, Launcher, and GlobalLock. + 10000 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Function that produces the artifact name from its definition. + 100 + + + + Options to pass to the light.exe program. + 25 + + + + The flavor of project (Scala or Java) to build. + 25 + + + + If true, enables cross paths, which distinguish input and output directories for cross-building. + 10 + + + + + 25 + + + + If true, automatically manages mappings to the API doc URL. + 41 + + + + + 25 + + + + Base image for Dockerfile. + 25 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + + 25 + + + + Configuration of pre- and post-integration scripts. + 25 + + + + If true, enables synchronizing the dependencies retrieved to the current build by removed unneeded files. + 40 + + + + %postun scriptlet + 25 + + + + + 25 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + An optional path to the command used to invoke the engine. + 25 + + + + If true, forks a new JVM when running. If false, runs in the same JVM as the build. + 10 + + + + + 25 + + + + Whether the reverse router should be namespaced. Useful if you have many routers that use the same actions. + 25 + + + + The base package configured in the Scala Facet, used by IDEA to generated nested package clauses. For example, com.acme.wibble + 25 + + + + + 25 + + + + Whether the ref reverse router should be generated along with reverse router. Setting to false will make it easy to export routes to other projects and improve compile time. + 25 + + + + %pre scriptlet + 25 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The location where we will install generic linux packages. + 25 + + + + The version/revision of the current module. + 9 + + + + + 25 + + + + The level of tracking for the internal (inter-project) dependency. + 40 + + + + Ports exposed by Docker image + 25 + + + + Definitive source of inter-project dependencies for compilation and dependency management. This is populated by default by the dependencies declared on Project instances, but may be modified. The main restriction is that new builds may not be introduced. + 10000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + Name of the vendor for this RPM. + 25 + + + + If true, sources from the project's base directory are included as main sources. + 25 + + + + Directory where we stage distributions/releases. + 25 + + + + Default node modules directory, used for node based resources. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + The location where application logs will be stored. + 25 + + + + The list of directories that web browser modules are to expand into. + 25 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Overrides the __os_post_install scriplet http://swaeku.github.io/blog/2013/08/05/how-to-disable-brp-java-repack-jars-during-rpm-build/ for details + 25 + + + + Duration after which to force a full update to occur + 100 + + + + Default Java source directory. + 10 + + + + The location where application config files will be stored + 25 + + + + The target directory for assets + 25 + + + + Defines the configuration used when none is specified for a dependency in ivyXML. + 100 + + + + Artifact types that are included on the classpath. + 40 + + + + Directory where we stage distributions/releases. + 25 + + + + + 25 + + + + The name of the command. + 25 + + + + Url to include in the RPM. + 25 + + + + + 25 + + + + Twirl version used for twirl-api dependency + 25 + + + + The files to recursively delete during a clean. + 40 + + + + Directory for compiled classes and copied resources. + 11 + + + + Project homepage. + 40 + + + + Initial commands to execute when starting up the Scala interpreter. + 11 + + + + Directory used for temporary files for tasks that is deleted after each task execution. + 10000 + + + + Provides the current configuration of the referencing scope. + 100 + + + + The description of the package. Used when searching. + 25 + + + + Replacements of template parameters used in linux scripts. Default supported templates: execScript - name of the script in /usr/bin author - author of this project descr - short description chdir - execution path of the script retries - on fail, how often should a restart be tried retryTimeout - pause between retries appName - name of application appClasspath - application classpath appMainClass - main class to start daemonUser - daemon user + 25 + + + + File system prefix for relocatable package. + 25 + + + + Provides the current project for the referencing scope. + 100 + + + + The message to show when triggered execution waits for sources to change. + 10000 + + + + The location where start script for server application will be stored + 25 + + + + options for dumpStructure task + 10000 + + + + Configuration of dependency info for this RPM. + 25 + + + + List of managed resource directories. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + List of developers implicated in the project + 41 + + + + + 25 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Selects the Java installation used for compiling and forking. If None, uses the Java installation running the build. + 10 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + Sequence of tasks for the asset pipeline stages. + 25 + + + + Configures warnings around Maven incompatibility. + 100 + + + + + 25 + + + + Packages this RPM need *before* installation. + 25 + + + + + 25 + + + + Declares managed dependencies. + 9 + + + + The list of checksums to generate and to verify for dependencies. + 40 + + + + Defined twirl template formats + 25 + + + + List of tasks that generate sources. + 100 + + + + Defines commands to be registered when this project or build is the current selected one. + 100 + + + + List of tasks that generate web browser modules. + 25 + + + + + 25 + + + + Configures sbt to work without a network connection where possible. + 10 + + + + Interval between checks for modified sources by the continuous execution command. + 41 + + + + Describes an artifact. + 41 + + + + A list of relative filenames (to the lib/ folder in the distribution) of what to include on the classpath. + 17 + + + + Copies resources to the output directory. + 6 + + + + Creates a dmg package for OSX (only on osx). + 17 + + + + Sources generated by the build. + 30 + + + + Source positions where the dependencies are defined. + 20000 + + + + makes an exploded debian package + 17 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + A hook to get the UpdateReport of the global plugin. + 20000 + + + + Builds the debian package with jdeb (java-based) + 17 + + + + + 17 + + + + Manipulates generated bytecode + 30 + + + + + 17 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + + 17 + + + + + 200 + + + + The WIX XML configuration for this package. + 17 + + + + Executes all tests. + 4 + + + + Creates or discovers the prerm script used by this project + 17 + + + + + 17 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + The classloader to extract WebJars from + 17 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Defines the sources in this project for continuous execution to watch for changes. + 41 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + Provides access to the project data for the build. + 20000 + + + + Create a local directory with all the files laid out as they would be in the final distribution. + 17 + + + + An actor representing the webdriver browser. + 17 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Provides the sbt interface to Ivy. + 200 + + + + The configuration used to define the classpath. + 200 + + + + Inter-project and library dependencies. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The base directory for cached dependencies. + 20000 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Configures aspects of incremental compilation. + 20000 + + + + + 17 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + + 17 + + + + All of the web assets. + 17 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + All the configuration for an RPM .spec file. + 17 + + + + Generates context directory for Docker. + 17 + + + + Stop Play, if it has been started in non blocking mode + 17 + + + + Configuration for generating the finished Ivy file for publishing. + 20000 + + + + Run all stages of the asset pipeline. + 17 + + + + + 17 + + + + The location of the /etc/default/<pkg> template script. + 17 + + + + Shows all the man files in the current project + 17 + + + + The files to recursively delete during a clean. + 40 + + + + Generate a new application secret + 30 + + + + + 17 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + The WIX XML configuration for a product (nested in Wix/Product elements). + 17 + + + + Produce the WebJar based node modules. + 17 + + + + All asset pipeline stages chained together. + 17 + + + + Current build state. + 20000 + + + + Provides access to the build structure, settings, and streams manager. + 20000 + + + + Makes the debian package control file. + 17 + + + + Creates or discovers the bash script used by this project. + 17 + + + + The set of exported artifacts from our dependent projects. + 17 + + + + Auto-detects main classes. + 31 + + + + Defines target used when building and publishing Docker image + 17 + + + + Provides the class loader used for testing. + 20000 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + The location where the bash script will load default argument configuration from. + 17 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + + 17 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Options for the Scala compiler. + 29 + + + + Unmanaged sources, which are manually created. + 29 + + + + Options for the incremental compiler. + 30 + + + + All web browser module files. + 17 + + + + Compile twirl templates into scala source files + 17 + + + + + 17 + + + + Defines the main class for packaging or running. + 29 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Resources generated by the build. + 30 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + + 17 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + Update the application conf to generate an application secret + 30 + + + + The WIX XML file to package with. + 17 + + + + creates a new windows CAB file containing everything for the installation. + 17 + + + + Options for the Java compiler. + 29 + + + + Produce the WebJars + 17 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + runs the debian lintian tool on the current package. + 17 + + + + + 17 + + + + + 17 + + + + Functions that select from duplicate asset mappings + 17 + + + + Streams manager, which provides streams for different contexts. + 20000 + + + + Options passed to a new JVM when forking. + 29 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + A list of extra definitions that should be written to the bash file template. + 17 + + + + The JSON options to be passed to the task. + 17 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Configuration of the windows installable features for this package. + 17 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Collects all inputs needed for compilation. + 20000 + + + + Makes the debian package md5sums file. + 17 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + Configuration for unresolved dependency warning. + 20000 + + + + Source encoding for template files and generated scala files + 17 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + The list of root tasks for this task execution. Roots are the top-level tasks that were directly requested to be run. + 20000 + + + + Creates or discovers the postinst script used by this project + 17 + + + + Options for packaging. + 30 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + Defines the filename used to store the incremental compiler analysis file (inside the streams cacheDirectory). + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + The reporter to use for conveying processing results. + 17 + + + + Build products that go on the exported classpath. + 200 + + + + Environment variables used when forking a new JVM + 30 + + + + The RTF file to display with licensing. + 17 + + + + Implementation used to run a main class. + 20000 + + + + For tasks that support it (currently only 'compile' and 'update'), setting skip to true will force the task to not to do its work. This exact semantics may vary by task. + 40 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + File to install location mappings including owner and privileges. + 17 + + + + Build products that get packaged. + 31 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Maps positions in generated source files to the original source it was generated from + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + A list of extra definitions that should be written to the bat file template. + 17 + + + + Symlinks we should produce in the underlying package. + 17 + + + + + 17 + + + + + 17 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Configuration for publishing to a repository. + 20000 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + + 17 + + + + Configuration for generating the finished Ivy file for local publishing. + 20000 + + + + Creates a tgz package. + 17 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Node module files generated by NPM. + 17 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Generates location mappings for Docker build. + 17 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + + 17 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Generates configuration file for Docker. + 17 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Display detailed eviction warnings. + 200 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + + 17 + + + + + 17 + + + + Publishes artifacts to a repository. + 4 + + + + Creates the distribution packages. + 17 + + + + runs the dpkg-genchanges command to generate the .changes file. + 17 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Read the incremental compiler analysis from disk + 20000 + + + + Provides the list of defined tests. + 31 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + Selects the main class to run. + 31 + + + + All node module files. + 17 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + Makes the debian maintainer scripts. + 17 + + + + Creates or discovers the start script used by this project + 17 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + A list of definitions that should be written to the bash file template. + 17 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Runs rpmlint program against the genreated RPM, if available. + 17 + + + + Defines test listeners. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + + 17 + + + + Create a local directory with all the files laid out as they would be in the final distribution. + 17 + + + + Creates or discovers the /etc/default/ script + 17 + + + + All resource files, both managed and unmanaged. + 30 + + + + The internal (inter-project) classpath. + 200 + + + + Makes the debian package conffiles file. + 17 + + + + Creates or discovers the preinst script used by this project + 17 + + + + Creates or discovers the postrm script used by this project + 17 + + + + runs the dpkg-sig command to sign the generated deb file. + 17 + + + + The order of the classpath used at runtime for the bat/bash scripts. + 17 + + + + + 17 + + + + The resolvers used by the sbt launcher. + 41 + + + + Builds the debian package with native cli tools + 17 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + Replacements of template parameters used in the windows bat script. Default supported templates: APP_ENV_NAME - the name of the application for defining <name>_HOME variables APP_NAME - the name of the app APP_DEFINES - the defines to go into the app + 17 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + The location of the template start script file we use for debian (upstart or init.d + 17 + + + + The credentials to use for updating and publishing. + 31 + + + + Cache of scala.tools.nsc.Global instances. This should typically be cached so that it isn't recreated every task run. + 20000 + + + + Creates or discovers the bat script used by this project. + 17 + + + + Creates a txz package. + 17 + + + preferScala2 + + + sh + + + start + + + h2-browser + + + classpath + + + license + + + dependencies + + + gen-idea + + + idea + + + eclipse + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + reboot + + + < + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [uses|tree|definitions] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + load-failed + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + write-sbt-version + + + notify-users-about-shell + + + iflast + + + shell + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + eval + + + alias + + + append + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + apply + + + exit + + exit + Terminates the build. + + + + initialize + + + -- + + + --- + + $BASE/test + $BASE/app + + + + $IVY2/cache/cglib/cglib-nodep/jars/cglib-nodep-2.1_3.jar + + + $IVY2/cache/ch.qos.logback/logback-classic/jars/logback-classic-1.1.1.jar + + + $IVY2/cache/ch.qos.logback/logback-core/jars/logback-core-1.1.1.jar + + + $IVY2/cache/com.fasterxml.jackson.core/jackson-annotations/bundles/jackson-annotations-2.3.2.jar + + + $IVY2/cache/com.fasterxml.jackson.core/jackson-core/bundles/jackson-core-2.3.2.jar + + + $IVY2/cache/com.fasterxml.jackson.core/jackson-databind/bundles/jackson-databind-2.3.2.jar + + + $IVY2/cache/com.google.code.findbugs/jsr305/jars/jsr305-2.0.3.jar + + + $IVY2/cache/com.google.guava/guava/bundles/guava-15.0.jar + + + $IVY2/cache/com.google.guava/guava/bundles/guava-16.0.1.jar + + + $IVY2/cache/com.h2database/h2/jars/h2-1.3.175.jar + + + $IVY2/cache/com.jolbox/bonecp/bundles/bonecp-0.8.0.RELEASE.jar + + + $IVY2/cache/com.jsuereth/scala-arm_2.10/jars/scala-arm_2.10-1.4.jar + + + $IVY2/cache/com.novocode/junit-interface/jars/junit-interface-0.11-RC1.jar + + + $IVY2/cache/com.typesafe/config/bundles/config-1.2.1.jar + + + $IVY2/cache/com.typesafe.akka/akka-actor_2.10/jars/akka-actor_2.10-2.3.4.jar + + + $IVY2/cache/com.typesafe.akka/akka-slf4j_2.10/jars/akka-slf4j_2.10-2.3.4.jar + + + $IVY2/cache/com.typesafe.netty/netty-http-pipelining/jars/netty-http-pipelining-1.1.2.jar + + + $IVY2/cache/com.typesafe.play/anorm_2.10/jars/anorm_2.10-2.3.7.jar + + + $IVY2/cache/com.typesafe.play/build-link/jars/build-link-2.3.7.jar + + + $IVY2/cache/com.typesafe.play/play-datacommons_2.10/jars/play-datacommons_2.10-2.3.7.jar + + + $IVY2/cache/com.typesafe.play/play-exceptions/jars/play-exceptions-2.3.7.jar + + + $IVY2/cache/com.typesafe.play/play-functional_2.10/jars/play-functional_2.10-2.3.7.jar + + + $IVY2/cache/com.typesafe.play/play-iteratees_2.10/jars/play-iteratees_2.10-2.3.7.jar + + + $IVY2/cache/com.typesafe.play/play-jdbc_2.10/jars/play-jdbc_2.10-2.3.7.jar + + + $IVY2/cache/com.typesafe.play/play-json_2.10/jars/play-json_2.10-2.3.7.jar + + + $IVY2/cache/com.typesafe.play/play-test_2.10/jars/play-test_2.10-2.3.7.jar + + + $IVY2/cache/com.typesafe.play/play_2.10/jars/play_2.10-2.3.7.jar + + + $IVY2/cache/com.typesafe.play/twirl-api_2.10/jars/twirl-api_2.10-1.0.2.jar + + + $IVY2/cache/commons-codec/commons-codec/jars/commons-codec-1.9.jar + + + $IVY2/cache/commons-collections/commons-collections/jars/commons-collections-3.2.1.jar + + + $IVY2/cache/commons-io/commons-io/jars/commons-io-2.4.jar + + + $IVY2/cache/commons-logging/commons-logging/jars/commons-logging-1.1.3.jar + + + $IVY2/cache/io.netty/netty/bundles/netty-3.9.3.Final.jar + + + $IVY2/cache/javax.transaction/jta/jars/jta-1.1.jar + + + $IVY2/cache/joda-time/joda-time/jars/joda-time-2.3.jar + + + $IVY2/cache/junit/junit/jars/junit-4.11.jar + + + $IVY2/cache/net.java.dev.jna/jna/jars/jna-3.4.0.jar + + + $IVY2/cache/net.java.dev.jna/platform/jars/platform-3.4.0.jar + + + $IVY2/cache/net.sourceforge.cssparser/cssparser/jars/cssparser-0.9.11.jar + + + $IVY2/cache/net.sourceforge.htmlunit/htmlunit/jars/htmlunit-2.13.jar + + + $IVY2/cache/net.sourceforge.htmlunit/htmlunit-core-js/jars/htmlunit-core-js-2.13.jar + + + $IVY2/cache/net.sourceforge.nekohtml/nekohtml/jars/nekohtml-1.9.19.jar + + + $IVY2/cache/org.apache.commons/commons-exec/jars/commons-exec-1.1.jar + + + $IVY2/cache/org.apache.commons/commons-lang3/jars/commons-lang3-3.1.jar + + + $IVY2/cache/org.apache.httpcomponents/httpclient/jars/httpclient-4.3.1.jar + + + $IVY2/cache/org.apache.httpcomponents/httpcore/jars/httpcore-4.3.jar + + + $IVY2/cache/org.apache.httpcomponents/httpmime/jars/httpmime-4.3.1.jar + + + $IVY2/cache/org.easytesting/fest-assert/jars/fest-assert-1.4.jar + + + $IVY2/cache/org.easytesting/fest-util/jars/fest-util-1.1.6.jar + + + $IVY2/cache/org.eclipse.jetty/jetty-http/jars/jetty-http-8.1.12.v20130726.jar + + + $IVY2/cache/org.eclipse.jetty/jetty-io/jars/jetty-io-8.1.12.v20130726.jar + + + $IVY2/cache/org.eclipse.jetty/jetty-util/jars/jetty-util-8.1.12.v20130726.jar + + + $IVY2/cache/org.eclipse.jetty/jetty-websocket/jars/jetty-websocket-8.1.12.v20130726.jar + + + $IVY2/cache/org.fluentlenium/fluentlenium-core/jars/fluentlenium-core-0.9.2.jar + + + $IVY2/cache/org.fluentlenium/fluentlenium-festassert/jars/fluentlenium-festassert-0.9.2.jar + + + $IVY2/cache/org.hamcrest/hamcrest-core/jars/hamcrest-core-1.3.jar + + + $IVY2/cache/org.javassist/javassist/bundles/javassist-3.18.2-GA.jar + + + $IVY2/cache/org.joda/joda-convert/jars/joda-convert-1.6.jar + + + $IVY2/cache/org.json/json/jars/json-20080701.jar + + + $IVY2/cache/org.mockito/mockito-core/jars/mockito-core-1.9.5.jar + + + $IVY2/cache/org.objenesis/objenesis/jars/objenesis-1.0.jar + + + $SBT_BOOT/scala-2.10.7/lib/scala-compiler.jar + + + $SBT_BOOT/scala-2.10.7/lib/scala-library.jar + + + $SBT_BOOT/scala-2.10.7/lib/scala-reflect.jar + + + $IVY2/cache/org.scala-sbt/test-interface/jars/test-interface-1.0.jar + + + $IVY2/cache/org.scala-stm/scala-stm_2.10/jars/scala-stm_2.10-0.7.jar + + + $IVY2/cache/org.scalamacros/quasiquotes_2.10/jars/quasiquotes_2.10-2.0.0-M7.jar + + + $IVY2/cache/org.scalaz/scalaz-concurrent_2.10/bundles/scalaz-concurrent_2.10-7.0.6.jar + + + $IVY2/cache/org.scalaz/scalaz-core_2.10/bundles/scalaz-core_2.10-7.0.6.jar + + + $IVY2/cache/org.scalaz/scalaz-effect_2.10/bundles/scalaz-effect_2.10-7.0.6.jar + + + $IVY2/cache/org.seleniumhq.selenium/selenium-android-driver/jars/selenium-android-driver-2.39.0.jar + + + $IVY2/cache/org.seleniumhq.selenium/selenium-api/jars/selenium-api-2.39.0.jar + + + $IVY2/cache/org.seleniumhq.selenium/selenium-chrome-driver/jars/selenium-chrome-driver-2.39.0.jar + + + $IVY2/cache/org.seleniumhq.selenium/selenium-firefox-driver/jars/selenium-firefox-driver-2.39.0.jar + + + $IVY2/cache/org.seleniumhq.selenium/selenium-htmlunit-driver/jars/selenium-htmlunit-driver-2.39.0.jar + + + $IVY2/cache/org.seleniumhq.selenium/selenium-ie-driver/jars/selenium-ie-driver-2.39.0.jar + + + $IVY2/cache/org.seleniumhq.selenium/selenium-iphone-driver/jars/selenium-iphone-driver-2.39.0.jar + + + $IVY2/cache/org.seleniumhq.selenium/selenium-java/jars/selenium-java-2.39.0.jar + + + $IVY2/cache/org.seleniumhq.selenium/selenium-remote-driver/jars/selenium-remote-driver-2.39.0.jar + + + $IVY2/cache/org.seleniumhq.selenium/selenium-safari-driver/jars/selenium-safari-driver-2.39.0.jar + + + $IVY2/cache/org.seleniumhq.selenium/selenium-support/jars/selenium-support-2.39.0.jar + + + $IVY2/cache/org.slf4j/jcl-over-slf4j/jars/jcl-over-slf4j-1.7.6.jar + + + $IVY2/cache/org.slf4j/jul-to-slf4j/jars/jul-to-slf4j-1.7.6.jar + + + $IVY2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.7.6.jar + + + $IVY2/cache/org.specs2/classycle/jars/classycle-1.4.3.jar + + + $IVY2/cache/org.specs2/specs2-analysis_2.10/jars/specs2-analysis_2.10-2.3.12.jar + + + $IVY2/cache/org.specs2/specs2-common_2.10/jars/specs2-common_2.10-2.3.12.jar + + + $IVY2/cache/org.specs2/specs2-core_2.10/jars/specs2-core_2.10-2.3.12.jar + + + $IVY2/cache/org.specs2/specs2-junit_2.10/jars/specs2-junit_2.10-2.3.12.jar + + + $IVY2/cache/org.specs2/specs2-matcher-extra_2.10/jars/specs2-matcher-extra_2.10-2.3.12.jar + + + $IVY2/cache/org.specs2/specs2-matcher_2.10/jars/specs2-matcher_2.10-2.3.12.jar + + + $IVY2/cache/org.specs2/specs2-mock_2.10/jars/specs2-mock_2.10-2.3.12.jar + + + $IVY2/cache/org.w3c.css/sac/jars/sac-1.3.jar + + + $IVY2/cache/org.webbitserver/webbit/jars/webbit-0.4.14.jar + + + $IVY2/cache/tyrex/tyrex/jars/tyrex-1.0.1.jar + + + $IVY2/cache/xalan/serializer/jars/serializer-2.7.1.jar + + + $IVY2/cache/xalan/xalan/jars/xalan-2.7.1.jar + + + $IVY2/cache/xerces/xercesImpl/jars/xercesImpl-2.11.0.jar + + + $IVY2/cache/xml-apis/xml-apis/jars/xml-apis-1.4.01.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/simple/build.sbt b/extractor/src/test/data/0.13/prod_test_sources_separated/simple/build.sbt new file mode 100644 index 00000000..ebe2fcb1 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/simple/build.sbt @@ -0,0 +1,13 @@ +name := "some-name" + +organization := "some-organization" + +version := "1.2.3" + +javaHome := Some(new File("some/home")) + +javacOptions := Seq("-javacOption1", "-javacOption2") + +scalaVersion := "2.13.6" + +scalacOptions := Seq("-scalaсOption1", "-scalaсOption2") \ No newline at end of file diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/simple/project/build.properties b/extractor/src/test/data/0.13/prod_test_sources_separated/simple/project/build.properties new file mode 100644 index 00000000..8e682c52 --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/simple/project/build.properties @@ -0,0 +1 @@ +sbt.version=0.13.18 diff --git a/extractor/src/test/data/0.13/prod_test_sources_separated/simple/structure.xml b/extractor/src/test/data/0.13/prod_test_sources_separated/simple/structure.xml new file mode 100644 index 00000000..a4a4f24c --- /dev/null +++ b/extractor/src/test/data/0.13/prod_test_sources_separated/simple/structure.xml @@ -0,0 +1,1718 @@ + + + + $URI_BASE + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin + import sbt._, Keys._, dsl._ + $SBT_BOOT/scala-2.10.7/lib/jansi.jar + $SBT_BOOT/scala-2.10.7/lib/jline.jar + $SBT_BOOT/scala-2.10.7/lib/scala-compiler.jar + $SBT_BOOT/scala-2.10.7/lib/scala-library.jar + $SBT_BOOT/scala-2.10.7/lib/scala-reflect.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/actions-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/api-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/apply-macro-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/cache-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/classfile-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/classpath-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/collections-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/command-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compile-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-integration-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-interface-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/compiler-ivy-integration-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/completion-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/control-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/cross-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/incremental-compiler-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/io-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/ivy-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jawn-parser_2.10-0.6.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jline-2.14.5.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/jsch-0.1.50.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-ast_2.10-3.2.10.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-core_2.10-3.2.10.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/json4s-support_2.10-0.6.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/launcher-interface-1.0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/logging-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/logic-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/main-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/main-settings-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/paranamer-2.6.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/persist-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/process-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/quasiquotes_2.10-2.0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/relation-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/run-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/sbinary_2.10-0.4.2.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/sbt-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/scala-pickling_2.10-0.10.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/scala-reflect-2.10.7.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/serialization_2.10-0.1.2.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/task-system-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/tasks-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/template-resolver-0.1.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/test-agent-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/test-interface-1.0.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/testing-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/tracking-0.13.18.jar + $SBT_BOOT/scala-2.10.7/org.scala-sbt/sbt/0.13.18/xsbti/interface-0.13.18.jar + $IVY2/cache/com.jcraft/jsch/srcs/jsch-0.1.50-sources.jar + $IVY2/cache/com.thoughtworks.paranamer/paranamer/srcs/paranamer-2.6-sources.jar + $IVY2/cache/jline/jline/srcs/jline-2.14.5-sources.jar + $IVY2/cache/org.json4s/json4s-ast_2.10/srcs/json4s-ast_2.10-3.2.10-sources.jar + $IVY2/cache/org.json4s/json4s-core_2.10/srcs/json4s-core_2.10-3.2.10-sources.jar + $IVY2/cache/org.scala-lang.modules/scala-pickling_2.10/srcs/scala-pickling_2.10-0.10.1-sources.jar + $IVY2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.10.7-sources.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.7-sources.jar + $IVY2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.7-sources.jar + $IVY2/cache/org.scala-sbt.ivy/ivy/srcs/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310-sources.jar + $IVY2/cache/org.scala-sbt/actions/srcs/actions-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/api/srcs/api-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/apply-macro/srcs/apply-macro-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/cache/srcs/cache-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/classfile/srcs/classfile-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/classpath/srcs/classpath-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/collections/srcs/collections-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/command/srcs/command-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compile/srcs/compile-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-integration/srcs/compiler-integration-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-interface/srcs/compiler-interface-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/compiler-ivy-integration/srcs/compiler-ivy-integration-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/completion/srcs/completion-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/control/srcs/control-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/cross/srcs/cross-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/incremental-compiler/srcs/incremental-compiler-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/interface/srcs/interface-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/io/srcs/io-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/ivy/srcs/ivy-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-1.0.1-sources.jar + $IVY2/cache/org.scala-sbt/logging/srcs/logging-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/logic/srcs/logic-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/main/srcs/main-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/persist/srcs/persist-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/process/srcs/process-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/relation/srcs/relation-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/run/srcs/run-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/sbt/srcs/sbt-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/serialization_2.10/srcs/serialization_2.10-0.1.2-sources.jar + $IVY2/cache/org.scala-sbt/task-system/srcs/task-system-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/tasks/srcs/tasks-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/template-resolver/srcs/template-resolver-0.1-sources.jar + $IVY2/cache/org.scala-sbt/test-agent/srcs/test-agent-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + $IVY2/cache/org.scala-sbt/testing/srcs/testing-0.13.18-sources.jar + $IVY2/cache/org.scala-sbt/tracking/srcs/tracking-0.13.18-sources.jar + $IVY2/cache/org.scala-tools.sbinary/sbinary_2.10/srcs/sbinary_2.10-0.4.2-sources.jar + $IVY2/cache/org.scalamacros/quasiquotes_2.10/srcs/quasiquotes_2.10-2.0.1-sources.jar + $IVY2/cache/org.spire-math/jawn-parser_2.10/srcs/jawn-parser_2.10-0.6.0-sources.jar + $IVY2/cache/org.spire-math/json4s-support_2.10/srcs/json4s-support_2.10-0.6.0-sources.jar + + + simple + $URI_BASE + some-name + some-organization + 1.2.3 + $BASE + $BASE/target + + $BASE/some/home + + compile + + + + + test + + + + + + 2.13.6 + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.13.6.jar + + + $IVY2/cache/net.java.dev.jna/jna/jars/jna-5.3.1.jar + $IVY2/cache/org.jline/jline/jars/jline-3.19.0.jar + $IVY2/cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.13.6.jar + $IVY2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.13.6.jar + + + + compile + + + + + test + + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2.13 + $BASE/target/scala-2.13/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.13/resource_managed/main + $BASE/target/scala-2.13/classes + + + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2.13 + $BASE/target/scala-2.13/src_managed/test + $BASE/src/test/resources + $BASE/target/scala-2.13/resource_managed/test + $BASE/target/scala-2.13/test-classes + + + + + simple:main + + + + + + + + + + + + + + + + + + + + + Declares managed dependency overrides. + 40 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The maximum number of errors, such as compile errors, to list. + 10 + + + + Commands to execute before the Scala interpreter exits. + 41 + + + + Defines inline Ivy XML for configuring dependency management. + 40 + + + + If true, includes repositories used in module configurations in the pom repositories section. If false, only the common repositories are included. + 41 + + + + Project licenses as (name, url) pairs. + 41 + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Pattern used to retrieve managed dependencies to the current build. + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Organization/group ID. + 9 + + + + Provides a resolver for obtaining sbt as a dependency. + 41 + + + + Configures handling of Scala classpaths. + 10000 + + + + Logs results after a test task completes. + 20000 + + + + Provides access to the loaded project structure. This is the information available before settings are evaluated. + 10000 + + + + Project name. + 9 + + + + Use JCenter as the default repository. + 40 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Year in which the project started. + 41 + + + + Default Scala source directory. + 10 + + + + Configures the order in which Java and sources within a single compilation are compiled. Valid values are: JavaThenScala, ScalaThenJava, or Mixed. + 39 + + + + Selects the conflict manager to use for dependency management. + 100 + + + + Declares managed dependency exclusions. + 40 + + + + True if the the version of the project is a snapshot version. + 39 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Enables (true) or disables (false) parallel execution of tasks. + 41 + + + + Adds a dependency on scala-library if true. + 10 + + + + Configuration for generating a pom. + 10000 + + + + Sets the classifier used by the default artifact definition. + 40 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + If true, connects standard input when running a main class forked. + 100 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + Defines module configurations, which override resolvers on a per-module basis. + 41 + + + + Directory used for caching task data. + 41 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Filter for excluding sources and resources files from default directories. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The location where command line history is persisted. + 40 + + + + Transforms the generated POM. + 100 + + + + The amount of logging sent to the screen. + 10 + + + + Provides the version of sbt. This setting should be not be modified. + 11 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + A function that provides additional loggers for a given setting. + 10000 + + + + Automatically obtains Scala tools as managed dependencies if true. + 40 + + + + The message to show before triggered execution executes an action after sources change. + 10000 + + + + True if logging should be buffered until work completes. + 100 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + The level of tracking for this project by the internal callers. + 40 + + + + Basic SCM information for the project. + 41 + + + + Directory to which managed dependencies are retrieved. + 40 + + + + The default directory for manually managed libraries. + 10 + + + + Defines the binary compatibility version substring. + 39 + + + + The dependency management descriptor for the current module. + 41 + + + + An optional set of configurations from which to retrieve dependencies if retrieveManaged is set to true + 40 + + + + Project description. + 40 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + If Some, defines the local Scala installation to use for compilation, running, and testing. + 10 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Configures the module ID of the sources of the compiler bridge. + 100 + + + + The resolver to publish to. + 10 + + + + tags + 40 + + + + The location of a generated artifact. + 39 + + + + Default directory containing sources. + 11 + + + + Organization homepage. + 41 + + + + Selects repositories to include in the generated POM. + 100 + + + + Filter for including sources and resources files from default directories. + 100 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + If true, enables exit trapping and thread management for 'run'-like tasks. This is currently only suitable for serially-executed 'run'-like tasks. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + If true, enables retrieving dependencies to the current build. Otherwise, dependencies are used directly from the cache. + 40 + + + + Options for resolving managed dependencies. + 10000 + + + + Organization full/formal name. + 41 + + + + If true, enables automatically generating -Xplugin arguments to the compiler based on the classpath for the plugin configuration. + 11 + + + + Selects how to log output when running a main class. + 10000 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + Continuous execution configuration. + 1000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + The user-defined additional resolvers for automatically managed dependencies. + 31 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Extra XML to insert into the generated POM. + 40 + + + + Registered, although not necessarily present, test frameworks. + 200 + + + + Base URL for API documentation. + 41 + + + + Determines whether the exported classpath for this project contains classes (false) or a packaged jar (true). + 40 + + + + The version of Scala used for building. + 9 + + + + The name of the current module, used for dependency management. + 40 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + Maps configurations to the actual configuration used to define the classpath. + 100 + + + + The logging level for updating. + 40 + + + + If true, enables adding sbt as a dependency and auto-generation of the plugin descriptor file. + 41 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Enables/disables Ivy validation of module metadata. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Whether forked tests should be executed in parallel + 200 + + + + Provides access to the launched sbt configuration, including the ScalaProvider, Launcher, and GlobalLock. + 10000 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Function that produces the artifact name from its definition. + 100 + + + + If true, enables cross paths, which distinguish input and output directories for cross-building. + 10 + + + + If true, automatically manages mappings to the API doc URL. + 41 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + If true, enables synchronizing the dependencies retrieved to the current build by removed unneeded files. + 40 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + If true, forks a new JVM when running. If false, runs in the same JVM as the build. + 10 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + The level of tracking for the internal (inter-project) dependency. + 40 + + + + Definitive source of inter-project dependencies for compilation and dependency management. This is populated by default by the dependencies declared on Project instances, but may be modified. The main restriction is that new builds may not be introduced. + 10000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + If true, sources from the project's base directory are included as main sources. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Duration after which to force a full update to occur + 100 + + + + Default Java source directory. + 10 + + + + Defines the configuration used when none is specified for a dependency in ivyXML. + 100 + + + + Artifact types that are included on the classpath. + 40 + + + + The files to recursively delete during a clean. + 40 + + + + Directory for compiled classes and copied resources. + 11 + + + + Project homepage. + 40 + + + + Initial commands to execute when starting up the Scala interpreter. + 11 + + + + Directory used for temporary files for tasks that is deleted after each task execution. + 10000 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + The message to show when triggered execution waits for sources to change. + 10000 + + + + options for dumpStructure task + 10000 + + + + List of managed resource directories. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + List of developers implicated in the project + 41 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Selects the Java installation used for compiling and forking. If None, uses the Java installation running the build. + 10 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + Configures warnings around Maven incompatibility. + 100 + + + + Declares managed dependencies. + 9 + + + + The list of checksums to generate and to verify for dependencies. + 40 + + + + List of tasks that generate sources. + 100 + + + + Configures sbt to work without a network connection where possible. + 10 + + + + Interval between checks for modified sources by the continuous execution command. + 41 + + + + Describes an artifact. + 41 + + + + Copies resources to the output directory. + 6 + + + + Sources generated by the build. + 30 + + + + Source positions where the dependencies are defined. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + A hook to get the UpdateReport of the global plugin. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + + 200 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Defines the sources in this project for continuous execution to watch for changes. + 41 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + Provides access to the project data for the build. + 20000 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Provides the sbt interface to Ivy. + 200 + + + + The configuration used to define the classpath. + 200 + + + + Inter-project and library dependencies. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The base directory for cached dependencies. + 20000 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Configures aspects of incremental compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + Configuration for generating the finished Ivy file for publishing. + 20000 + + + + The files to recursively delete during a clean. + 40 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Current build state. + 20000 + + + + Provides access to the build structure, settings, and streams manager. + 20000 + + + + Auto-detects main classes. + 31 + + + + Provides the class loader used for testing. + 20000 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Options for the Scala compiler. + 29 + + + + Unmanaged sources, which are manually created. + 29 + + + + Options for the incremental compiler. + 30 + + + + Defines the main class for packaging or running. + 29 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Resources generated by the build. + 30 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + Options for the Java compiler. + 29 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + Streams manager, which provides streams for different contexts. + 20000 + + + + Options passed to a new JVM when forking. + 29 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Collects all inputs needed for compilation. + 20000 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + Configuration for unresolved dependency warning. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + The list of root tasks for this task execution. Roots are the top-level tasks that were directly requested to be run. + 20000 + + + + Options for packaging. + 30 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + Defines the filename used to store the incremental compiler analysis file (inside the streams cacheDirectory). + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Environment variables used when forking a new JVM + 30 + + + + Implementation used to run a main class. + 20000 + + + + For tasks that support it (currently only 'compile' and 'update'), setting skip to true will force the task to not to do its work. This exact semantics may vary by task. + 40 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Build products that get packaged. + 31 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Maps positions in generated source files to the original source it was generated from + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Configuration for publishing to a repository. + 20000 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Configuration for generating the finished Ivy file for local publishing. + 20000 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Display detailed eviction warnings. + 200 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Publishes artifacts to a repository. + 4 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Read the incremental compiler analysis from disk + 20000 + + + + Provides the list of defined tests. + 31 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + Selects the main class to run. + 31 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Defines test listeners. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + All resource files, both managed and unmanaged. + 30 + + + + The internal (inter-project) classpath. + 200 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + The credentials to use for updating and publishing. + 31 + + + + Cache of scala.tools.nsc.Global instances. This should typically be cached so that it isn't recreated every task run. + 20000 + + + preferScala2 + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + reboot + + + < + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [uses|tree|definitions] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + load-failed + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + write-sbt-version + + + notify-users-about-shell + + + iflast + + + shell + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + eval + + + alias + + + append + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + apply + + + exit + + exit + Terminates the build. + + + + initialize + + + -- + + + --- + + $BASE/src/test + $BASE/src/main + + + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.13.6.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.13.6-sources.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/0.13/sbt-idea/structure.xml b/extractor/src/test/data/0.13/sbt-idea/structure.xml index 9429dc86..02b5258c 100644 --- a/extractor/src/test/data/0.13/sbt-idea/structure.xml +++ b/extractor/src/test/data/0.13/sbt-idea/structure.xml @@ -126,8 +126,16 @@ $BASE/target $BASE/some/home - - + + compile + + + + + test + + + 2.10.1 @@ -141,8 +149,16 @@ $IVY2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.10.1.jar - - + + compile + + + + + test + + + Mixed @@ -166,7 +182,20 @@ $BASE/target/scala-2.10/test-classes - + + + + + + + + + + + + + + @@ -1723,6 +1752,8 @@ --- + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/0.13/simple/structure.xml b/extractor/src/test/data/0.13/simple/structure.xml index 690c70a0..3e8f82bd 100644 --- a/extractor/src/test/data/0.13/simple/structure.xml +++ b/extractor/src/test/data/0.13/simple/structure.xml @@ -120,8 +120,16 @@ $BASE/target $BASE/some/home - - + + compile + + + + + test + + + 2.13.6 @@ -135,8 +143,16 @@ $IVY2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.13.6.jar - - + + compile + + + + + test + + + Mixed @@ -158,7 +174,20 @@ $BASE/target/scala-2.13/test-classes - + + + + + + + + + + + + + + @@ -1672,6 +1701,8 @@ --- + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.0/prod_test_sources_separated/build.sbt b/extractor/src/test/data/1.0/prod_test_sources_separated/build.sbt new file mode 100644 index 00000000..7a64234d --- /dev/null +++ b/extractor/src/test/data/1.0/prod_test_sources_separated/build.sbt @@ -0,0 +1,4 @@ +name := "some-name" +organization := "some-organization" +version := "1.2.3" +scalaVersion := "2.13.6" diff --git a/extractor/src/test/data/1.0/prod_test_sources_separated/project/build.properties b/extractor/src/test/data/1.0/prod_test_sources_separated/project/build.properties new file mode 100644 index 00000000..394cb75c --- /dev/null +++ b/extractor/src/test/data/1.0/prod_test_sources_separated/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.0.4 diff --git a/extractor/src/test/data/1.0/prod_test_sources_separated/structure.xml b/extractor/src/test/data/1.0/prod_test_sources_separated/structure.xml new file mode 100644 index 00000000..0642278e --- /dev/null +++ b/extractor/src/test/data/1.0/prod_test_sources_separated/structure.xml @@ -0,0 +1,1836 @@ + + + + $URI_BASE + import _root_.sbt.Keys._ + import _root_.sbt._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin + import _root_.scala.xml.{TopScope=>$scope} + $SBT_BOOT/scala-2.12.4/lib/jline.jar + $SBT_BOOT/scala-2.12.4/lib/scala-compiler.jar + $SBT_BOOT/scala-2.12.4/lib/scala-library.jar + $SBT_BOOT/scala-2.12.4/lib/scala-reflect.jar + $SBT_BOOT/scala-2.12.4/lib/scala-xml_2.12.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/actions_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/collections_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/command_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/compiler-interface-1.0.5.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/completion_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/config-1.2.0.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/core-macros_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/disruptor-3.3.6.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/fastparse-utils_2.12-0.4.2.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/fastparse_2.12-0.4.2.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/gigahorse-core_2.12-0.3.0.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/gigahorse-okhttp_2.12-0.3.0.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/io_2.12-1.0.2.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/jawn-parser_2.12-0.10.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/jline-2.14.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/jsch-0.1.46.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/launcher-interface-1.0.2.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/lenses_2.12-0.4.12.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/librarymanagement-core_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/librarymanagement-ivy_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/log4j-api-2.8.1.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/log4j-core-2.8.1.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/log4j-slf4j-impl-2.8.1.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/logic_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/main-settings_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/main_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/okhttp-3.7.0.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/okhttp-urlconnection-3.7.0.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/okio-1.12.0.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/protobuf-java-3.3.1.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/protocol_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/reactive-streams-1.0.0.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/run_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/sbinary_2.12-0.4.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/sbt-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/scala-parser-combinators_2.12-1.0.5.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/scala-reflect-2.12.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/scala-xml_2.12-1.0.6.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/scalapb-runtime_2.12-0.6.0.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/shaded-scalajson_2.12-1.0.0-M4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/sjson-new-core_2.12-0.8.0.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/sjson-new-murmurhash_2.12-0.8.0.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/sjson-new-scalajson_2.12-0.8.0.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/slf4j-api-1.7.25.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/sourcecode_2.12-0.1.3.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/ssl-config-core_2.12-0.2.2.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/task-system_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/tasks_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/template-resolver-0.1.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/test-agent-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/test-interface-1.0.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/testing_2.12-1.0.4.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/util-cache_2.12-1.0.3.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/util-control_2.12-1.0.3.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/util-interface-1.0.3.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/util-logging_2.12-1.0.3.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/util-position_2.12-1.0.3.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/util-relation_2.12-1.0.3.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/util-tracking_2.12-1.0.3.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/zinc-apiinfo_2.12-1.0.5.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/zinc-classfile_2.12-1.0.5.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/zinc-classpath_2.12-1.0.5.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/zinc-compile-core_2.12-1.0.5.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/zinc-compile_2.12-1.0.5.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/zinc-core_2.12-1.0.5.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/zinc-ivy-integration_2.12-1.0.5.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/zinc-persist_2.12-1.0.5.jar + $SBT_BOOT/scala-2.12.4/org.scala-sbt/sbt/1.0.4/zinc_2.12-1.0.5.jar + $IVY2/cache/com.eed3si9n/gigahorse-core_2.12/srcs/gigahorse-core_2.12-0.3.0-sources.jar + $IVY2/cache/com.eed3si9n/gigahorse-okhttp_2.12/srcs/gigahorse-okhttp_2.12-0.3.0-sources.jar + $IVY2/cache/com.eed3si9n/shaded-scalajson_2.12/srcs/shaded-scalajson_2.12-1.0.0-M4-sources.jar + $IVY2/cache/com.eed3si9n/sjson-new-core_2.12/srcs/sjson-new-core_2.12-0.8.0-sources.jar + $IVY2/cache/com.eed3si9n/sjson-new-murmurhash_2.12/srcs/sjson-new-murmurhash_2.12-0.8.0-sources.jar + $IVY2/cache/com.eed3si9n/sjson-new-scalajson_2.12/srcs/sjson-new-scalajson_2.12-0.8.0-sources.jar + $IVY2/cache/com.google.protobuf/protobuf-java/srcs/protobuf-java-3.3.1-sources.jar + $IVY2/cache/com.jcraft/jsch/srcs/jsch-0.1.46-sources.jar + $IVY2/cache/com.lihaoyi/fastparse-utils_2.12/srcs/fastparse-utils_2.12-0.4.2-sources.jar + $IVY2/cache/com.lihaoyi/fastparse_2.12/srcs/fastparse_2.12-0.4.2-sources.jar + $IVY2/cache/com.lihaoyi/sourcecode_2.12/srcs/sourcecode_2.12-0.1.3-sources.jar + $IVY2/cache/com.lmax/disruptor/srcs/disruptor-3.3.6-sources.jar + $IVY2/cache/com.squareup.okhttp3/okhttp-urlconnection/srcs/okhttp-urlconnection-3.7.0-sources.jar + $IVY2/cache/com.squareup.okhttp3/okhttp/srcs/okhttp-3.7.0-sources.jar + $IVY2/cache/com.squareup.okio/okio/srcs/okio-1.12.0-sources.jar + $IVY2/cache/com.trueaccord.lenses/lenses_2.12/srcs/lenses_2.12-0.4.12-sources.jar + $IVY2/cache/com.trueaccord.scalapb/scalapb-runtime_2.12/srcs/scalapb-runtime_2.12-0.6.0-sources.jar + $IVY2/cache/com.typesafe/config/srcs/config-1.2.0-sources.jar + $IVY2/cache/com.typesafe/ssl-config-core_2.12/srcs/ssl-config-core_2.12-0.2.2-sources.jar + $IVY2/cache/jline/jline/srcs/jline-2.14.4-sources.jar + $IVY2/cache/org.apache.logging.log4j/log4j-api/srcs/log4j-api-2.8.1-sources.jar + $IVY2/cache/org.apache.logging.log4j/log4j-core/srcs/log4j-core-2.8.1-sources.jar + $IVY2/cache/org.apache.logging.log4j/log4j-slf4j-impl/srcs/log4j-slf4j-impl-2.8.1-sources.jar + $IVY2/cache/org.reactivestreams/reactive-streams/srcs/reactive-streams-1.0.0-sources.jar + $IVY2/cache/org.scala-lang.modules/scala-parser-combinators_2.12/srcs/scala-parser-combinators_2.12-1.0.5-sources.jar + $IVY2/cache/org.scala-lang.modules/scala-xml_2.12/srcs/scala-xml_2.12-1.0.6-sources.jar + $IVY2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.12.4-sources.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.12.4-sources.jar + $IVY2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.12.4-sources.jar + $IVY2/cache/org.scala-sbt.ivy/ivy/srcs/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310-sources.jar + $IVY2/cache/org.scala-sbt/actions_2.12/srcs/actions_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/collections_2.12/srcs/collections_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/command_2.12/srcs/command_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/compiler-interface/srcs/compiler-interface-1.0.5-sources.jar + $IVY2/cache/org.scala-sbt/completion_2.12/srcs/completion_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/core-macros_2.12/srcs/core-macros_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/io_2.12/srcs/io_2.12-1.0.2-sources.jar + $IVY2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-1.0.2-sources.jar + $IVY2/cache/org.scala-sbt/librarymanagement-core_2.12/srcs/librarymanagement-core_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/librarymanagement-ivy_2.12/srcs/librarymanagement-ivy_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/logic_2.12/srcs/logic_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/main-settings_2.12/srcs/main-settings_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/main_2.12/srcs/main_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/protocol_2.12/srcs/protocol_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/run_2.12/srcs/run_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/sbinary_2.12/srcs/sbinary_2.12-0.4.4-sources.jar + $IVY2/cache/org.scala-sbt/sbt/srcs/sbt-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/task-system_2.12/srcs/task-system_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/tasks_2.12/srcs/tasks_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/template-resolver/srcs/template-resolver-0.1-sources.jar + $IVY2/cache/org.scala-sbt/test-agent/srcs/test-agent-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + $IVY2/cache/org.scala-sbt/testing_2.12/srcs/testing_2.12-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/util-cache_2.12/srcs/util-cache_2.12-1.0.3-sources.jar + $IVY2/cache/org.scala-sbt/util-control_2.12/srcs/util-control_2.12-1.0.3-sources.jar + $IVY2/cache/org.scala-sbt/util-interface/srcs/util-interface-1.0.3-sources.jar + $IVY2/cache/org.scala-sbt/util-logging_2.12/srcs/util-logging_2.12-1.0.3-sources.jar + $IVY2/cache/org.scala-sbt/util-position_2.12/srcs/util-position_2.12-1.0.3-sources.jar + $IVY2/cache/org.scala-sbt/util-relation_2.12/srcs/util-relation_2.12-1.0.3-sources.jar + $IVY2/cache/org.scala-sbt/util-tracking_2.12/srcs/util-tracking_2.12-1.0.3-sources.jar + $IVY2/cache/org.scala-sbt/zinc-apiinfo_2.12/srcs/zinc-apiinfo_2.12-1.0.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc-classfile_2.12/srcs/zinc-classfile_2.12-1.0.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc-classpath_2.12/srcs/zinc-classpath_2.12-1.0.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc-compile-core_2.12/srcs/zinc-compile-core_2.12-1.0.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc-compile_2.12/srcs/zinc-compile_2.12-1.0.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc-core_2.12/srcs/zinc-core_2.12-1.0.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc-ivy-integration_2.12/srcs/zinc-ivy-integration_2.12-1.0.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc-persist_2.12/srcs/zinc-persist_2.12-1.0.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc_2.12/srcs/zinc_2.12-1.0.5-sources.jar + $IVY2/cache/org.slf4j/slf4j-api/srcs/slf4j-api-1.7.25-sources.jar + $IVY2/cache/org.spire-math/jawn-parser_2.12/srcs/jawn-parser_2.12-0.10.4-sources.jar + + + prod_test_sources_separated + $URI_BASE + some-name + some-organization + 1.2.3 + $BASE + $BASE/target + + 2.13.6 + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.13.6.jar + + + $IVY2/cache/net.java.dev.jna/jna/jars/jna-5.3.1.jar + $IVY2/cache/org.jline/jline/jars/jline-3.19.0.jar + $IVY2/cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.13.6.jar + $IVY2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.13.6.jar + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2.13 + $BASE/target/scala-2.13/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.13/resource_managed/main + $BASE/target/scala-2.13/classes + + + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2.13 + $BASE/target/scala-2.13/src_managed/test + $BASE/src/test/resources + $BASE/target/scala-2.13/resource_managed/test + $BASE/target/scala-2.13/test-classes + + + + + prod_test_sources_separated:main + + + + + + + + + + + + + + + + + + + + + Commands to execute before the Scala interpreter exits. + 41 + + + + Project licenses as (name, url) pairs. + 41 + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Pattern used to retrieve managed dependencies to the current build. + 10000 + + + + Organization/group ID. + 9 + + + + Provides a resolver for obtaining sbt as a dependency. + 41 + + + + Job manager used to run background jobs. + 25 + + + + If true, automatically manages mappings to the API doc URL. + 41 + + + + Provides access to the loaded project structure. This is the information available before settings are evaluated. + 10000 + + + + Project name. + 9 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Configures the order in which Java and sources within a single compilation are compiled. Valid values are: JavaThenScala, ScalaThenJava, or Mixed. + 39 + + + + Selects the conflict manager to use for dependency management. + 100 + + + + Declares managed dependency exclusions. + 40 + + + + Enables (true) or disables (false) parallel execution of tasks. + 41 + + + + Configuration for generating a pom. + 10000 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + If true, connects standard input when running a main class forked. + 100 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + The Scala version substring describing binary compatibility. + 39 + + + + The location where command line history is persisted. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + A function that provides additional loggers for a given setting. + 10000 + + + + Defines module configurations, which override resolvers on a per-module basis. + 41 + + + + The level of tracking for this project by the internal callers. + 40 + + + + Default Scala source directory. + 10 + + + + Project description. + 40 + + + + If Some, defines the local Scala installation to use for compilation, running, and testing. + 10 + + + + Base URL for API documentation. + 41 + + + + Configures warnings around Maven incompatibility. + 100 + + + + Configures the module ID of the sources of the compiler bridge. + 100 + + + + Attributes restricting concurrent execution of tasks. + 40 + + + + Ivy artifact types that correspond to source artifacts. Used by IDEs to resolve these resources. + 40 + + + + The default directory for manually managed libraries. + 10 + + + + Organization homepage. + 41 + + + + Selects repositories to include in the generated POM. + 100 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + If true, enables exit trapping and thread management for 'run'-like tasks. This is currently only suitable for serially-executed 'run'-like tasks. + 100 + + + + Defines the binary compatibility version substring. + 39 + + + + If true, enables retrieving dependencies to the current build. Otherwise, dependencies are used directly from the cache. + 40 + + + + If true, enables automatically generating -Xplugin arguments to the compiler based on the classpath for the plugin configuration. + 11 + + + + Selects how to log output when running a main class. + 10000 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Continuous execution configuration. + 1000 + + + + The user-defined additional resolvers for automatically managed dependencies. + 31 + + + + Determines whether the exported classpath for this project contains classes (false) or a packaged jar (true). + 40 + + + + Default directory for sources generated by the build. + 39 + + + + The name of the current module, used for dependency management. + 40 + + + + Organization full/formal name. + 41 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + Maps configurations to the actual configuration used to define the classpath. + 100 + + + + The logging level for updating. + 40 + + + + If true, enables adding sbt as a dependency and auto-generation of the plugin descriptor file. + 41 + + + + Configures the list of artifacts which should match the Scala binary version + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + Directory to which managed dependencies are retrieved. + 40 + + + + Whether forked tests should be executed in parallel + 200 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Function that produces the artifact name from its definition. + 100 + + + + The version of Scala used for building. + 9 + + + + If true, enables cross paths, which distinguish input and output directories for cross-building. + 10 + + + + Year in which the project started. + 41 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + Service to use to monitor file system changes. + 41 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + If true, forks a new JVM when running. If false, runs in the same JVM as the build. + 10 + + + + If true, includes repositories used in module configurations in the pom repositories section. If false, only the common repositories are included. + 41 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + Definitive source of inter-project dependencies for compilation and dependency management. This is populated by default by the dependencies declared on Project instances, but may be modified. The main restriction is that new builds may not be introduced. + 10000 + + + + Logs results after a test task completes. + 20000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + If true, sources from the project's base directory are included as main sources. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + The maximum number of errors, such as compile errors, to list. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Filter for excluding sources and resources files from default directories. + 100 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + Enables/disables Ivy validation of module metadata. + 40 + + + + True if logging should be buffered until work completes. + 100 + + + + Default Java source directory. + 10 + + + + Writes the analysis file in binary format + 25 + + + + Defines the configuration used when none is specified for a dependency in ivyXML. + 100 + + + + Configures handling of Scala classpaths. + 10000 + + + + Adds a dependency on scala-library if true. + 10 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + Artifact types that are included on the classpath. + 40 + + + + Provides the version of sbt. This setting should not be modified. + 11 + + + + Directory for compiled classes and copied resources. + 11 + + + + Project homepage. + 40 + + + + The location of a generated artifact. + 39 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Initial commands to execute when starting up the Scala interpreter. + 11 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + Provides the current project for the referencing scope. + 100 + + + + The message to show when triggered execution waits for sources to change. + 10000 + + + + options for dumpStructure task + 10000 + + + + Duration after which to force a full update to occur + 100 + + + + Default directory containing sources. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + List of developers implicated in the project + 41 + + + + True if the version of the project is a snapshot version. + 39 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + List of managed resource directories. + 11 + + + + Directory used for temporary files for tasks that is deleted after each task execution. + 10000 + + + + Ivy artifact types that correspond to javadoc artifacts. Used by IDEs to resolve these resources. + 40 + + + + The versions of Scala used when cross-building. + 39 + + + + An optional set of configurations from which to retrieve dependencies if retrieveManaged is set to true + 40 + + + + Declares managed dependencies. + 9 + + + + The list of checksums to generate and to verify for dependencies. + 40 + + + + The dependency management descriptor for the current module. + 41 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Registered, although not necessarily present, test frameworks. + 200 + + + + Copies classpath on bgRun to prevent conflict. + 25 + + + + Provides access to the launched sbt configuration, including the ScalaProvider, Launcher, and GlobalLock. + 10000 + + + + Basic SCM information for the project. + 41 + + + + The level of tracking for the internal (inter-project) dependency. + 40 + + + + Filter for including sources and resources files from default directories. + 100 + + + + Declares managed dependency overrides. + 40 + + + + Selects the Java installation used for compiling and forking. If None, uses the Java installation running the build. + 10 + + + + Transforms the generated POM. + 100 + + + + The message to show before triggered execution executes an action after sources change. + 10000 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Sets the classifier used by the default artifact definition. + 40 + + + + Configures sbt to work without a network connection where possible. + 10 + + + + Options for resolving managed dependencies. + 10000 + + + + The amount of logging sent to the screen. + 10 + + + + Describes an artifact. + 41 + + + + Automatically obtains Scala tools as managed dependencies if true. + 40 + + + + Extra XML to insert into the generated POM. + 40 + + + + List of tasks that generate sources. + 100 + + + + If true, enables synchronizing the dependencies retrieved to the current build by removed unneeded files. + 40 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Use JCenter as the default repository. + 40 + + + + Interval between checks for modified sources by the continuous execution command. + 41 + + + + Defines inline Ivy XML for configuring dependency management. + 40 + + + + Source positions where the dependencies are defined. + 20000 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies, all as JARs. + 17 + + + + A hook to get the UpdateReport of the global plugin. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Provides access to the project data for the build. + 20000 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + The configuration used to define the classpath. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + Configures aspects of incremental compilation. + 20000 + + + + Start a provided main class as a background job + 5 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Inter-project and library dependencies. + 200 + + + + Current build state. + 20000 + + + + Auto-detects main classes. + 31 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + classifiers-module + 200 + + + + Provides the sbt interface to Ivy. + 200 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + The resolver to publish to. + 10 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + Just the exported classpath as JARs without triggering the compilation. + 17 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Defines the sources in this project for continuous execution to watch for changes. + 41 + + + + Options for the Java compiler. + 29 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + The base directory for cached dependencies. + 20000 + + + + Configures JVM forking. + 10000 + + + + Options passed to a new JVM when forking. + 29 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies, all as JARs. + 17 + + + + Configuration for unresolved dependency warning. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + Streams manager, which provides streams for different contexts. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + The list of root tasks for this task execution. Roots are the top-level tasks that were directly requested to be run. + 20000 + + + + Options for packaging. + 30 + + + + Defines the filename used to store the incremental compiler analysis file (inside the streams cacheDirectory). + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Environment variables used when forking a new JVM + 30 + + + + Implementation used to run a main class. + 20000 + + + + For tasks that support it (currently only 'compile' and 'update'), setting skip to true will force the task to not to do its work. This exact semantics may vary by task. + 40 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Collects all inputs needed for compilation. + 20000 + + + + Build products that get packaged. + 31 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Maps positions in generated source files to the original source it was generated from + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Defines the main class for packaging or running. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Options for the Scala compiler. + 29 + + + + Configuration for generating ivy.xml. + 10000 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Options for the incremental compiler. + 30 + + + + Display detailed eviction warnings. + 200 + + + + Publishes artifacts to a repository. + 4 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + Start an application's default main class as a background job + 5 + + + + Build products that go on the exported classpath as JARs. + 17 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + Selects the main class to run. + 31 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + Resources generated by the build. + 30 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Provides the sbt interface to publisher + 17 + + + + Sources generated by the build. + 30 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Defines test listeners. + 20000 + + + + The internal (inter-project) classpath as JARs. + 17 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + The files to recursively delete during a clean. + 40 + + + + Configuration for publishing to a repository. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + Build products that go on the exported classpath as JARs if missing. + 17 + + + + All resource files, both managed and unmanaged. + 30 + + + + Collects basic options to configure compilers + 20000 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + Provides access to the build structure, settings, and streams manager. + 20000 + + + + Provides the class loader used for testing. + 20000 + + + + Provides the sbt interface to dependency resolution. + 200 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + Configuration for generating ivy.xml. + 10000 + + + + The internal (inter-project) classpath. + 200 + + + + Read the incremental compiler analysis from disk + 20000 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Unmanaged sources, which are manually created. + 29 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + Copies resources to the output directory. + 6 + + + + The credentials to use for updating and publishing. + 31 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + Cache of scala.tools.nsc.Global instances. This should typically be cached so that it isn't recreated every task run. + 20000 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + Provides the list of defined tests. + 31 + + + preferScala2 + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + reboot + + + < + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [tree|uses|definitions|actual] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + load-failed + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + write-sbt-version + + + notify-users-about-shell + + + iflast + + + shell + + + oldshell + + + startServer + + + client + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + eval + + + alias + + + append + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + apply + + + exit + + exit + Terminates the build. + + + + initialize + + + -- + + + --- + + $BASE/src/test + $BASE/src/main + + + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.13.6.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.13.6-sources.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/1.0/simple/structure.xml b/extractor/src/test/data/1.0/simple/structure.xml index 77d9a2a4..a8578f2c 100644 --- a/extractor/src/test/data/1.0/simple/structure.xml +++ b/extractor/src/test/data/1.0/simple/structure.xml @@ -193,7 +193,20 @@ $BASE/target/scala-2.13/test-classes - + + + + + + + + + + + + + + @@ -1806,6 +1819,8 @@ --- + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.1/prod_test_sources_separated/build.sbt b/extractor/src/test/data/1.1/prod_test_sources_separated/build.sbt new file mode 100644 index 00000000..7a64234d --- /dev/null +++ b/extractor/src/test/data/1.1/prod_test_sources_separated/build.sbt @@ -0,0 +1,4 @@ +name := "some-name" +organization := "some-organization" +version := "1.2.3" +scalaVersion := "2.13.6" diff --git a/extractor/src/test/data/1.1/prod_test_sources_separated/project/build.properties b/extractor/src/test/data/1.1/prod_test_sources_separated/project/build.properties new file mode 100644 index 00000000..d6e35076 --- /dev/null +++ b/extractor/src/test/data/1.1/prod_test_sources_separated/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.1.6 diff --git a/extractor/src/test/data/1.1/prod_test_sources_separated/structure.xml b/extractor/src/test/data/1.1/prod_test_sources_separated/structure.xml new file mode 100644 index 00000000..b86ae033 --- /dev/null +++ b/extractor/src/test/data/1.1/prod_test_sources_separated/structure.xml @@ -0,0 +1,1860 @@ + + + + $URI_BASE + import _root_.sbt.Keys._ + import _root_.sbt._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin + import _root_.scala.xml.{TopScope=>$scope} + $SBT_BOOT/scala-2.12.6/lib/jline.jar + $SBT_BOOT/scala-2.12.6/lib/scala-compiler.jar + $SBT_BOOT/scala-2.12.6/lib/scala-library.jar + $SBT_BOOT/scala-2.12.6/lib/scala-reflect.jar + $SBT_BOOT/scala-2.12.6/lib/scala-xml_2.12.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/actions_2.12-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/apple-file-events-1.3.2.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/caffeine-2.5.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/collections_2.12-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/command_2.12-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/compiler-interface-1.1.7.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/completion_2.12-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/config-1.2.0.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/core-macros_2.12-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/disruptor-3.3.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/fastparse-utils_2.12-0.4.2.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/fastparse_2.12-0.4.2.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/gigahorse-core_2.12-0.3.0.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/gigahorse-okhttp_2.12-0.3.0.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/io_2.12-1.1.10.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/ipcsocket-1.0.0.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/jawn-parser_2.12-0.10.4.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/jline-2.14.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/jna-4.5.0.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/jna-platform-4.5.0.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/jsch-0.1.54.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/launcher-interface-1.0.4.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/lenses_2.12-0.4.12.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/librarymanagement-core_2.12-1.1.5.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/librarymanagement-ivy_2.12-1.1.5.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/log4j-api-2.8.1.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/log4j-core-2.8.1.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/log4j-slf4j-impl-2.8.1.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/logic_2.12-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/main-settings_2.12-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/main_2.12-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/okhttp-3.7.0.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/okhttp-urlconnection-3.7.0.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/okio-1.12.0.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/protobuf-java-3.3.1.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/protocol_2.12-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/reactive-streams-1.0.0.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/run_2.12-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/sbinary_2.12-0.4.4.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/sbt-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/scala-parser-combinators_2.12-1.0.5.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/scala-reflect-2.12.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/scala-xml_2.12-1.0.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/scalacache-caffeine_2.12-0.20.0.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/scalacache-core_2.12-0.20.0.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/scalapb-runtime_2.12-0.6.0.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/shaded-scalajson_2.12-1.0.0-M4.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/sjson-new-core_2.12-0.8.2.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/sjson-new-murmurhash_2.12-0.8.2.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/sjson-new-scalajson_2.12-0.8.2.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/slf4j-api-1.7.25.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/sourcecode_2.12-0.1.3.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/ssl-config-core_2.12-0.2.2.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/task-system_2.12-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/tasks_2.12-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/template-resolver-0.1.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/test-agent-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/test-interface-1.0.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/testing_2.12-1.1.6.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/util-cache_2.12-1.1.3.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/util-control_2.12-1.1.3.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/util-interface-1.1.3.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/util-logging_2.12-1.1.3.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/util-position_2.12-1.1.3.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/util-relation_2.12-1.1.3.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/util-tracking_2.12-1.1.3.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/zinc-apiinfo_2.12-1.1.7.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/zinc-classfile_2.12-1.1.7.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/zinc-classpath_2.12-1.1.7.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/zinc-compile-core_2.12-1.1.7.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/zinc-compile_2.12-1.1.7.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/zinc-core_2.12-1.1.7.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/zinc-ivy-integration_2.12-1.1.7.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/zinc-persist_2.12-1.1.7.jar + $SBT_BOOT/scala-2.12.6/org.scala-sbt/sbt/1.1.6/zinc_2.12-1.1.7.jar + $IVY2/cache/com.eed3si9n/gigahorse-core_2.12/srcs/gigahorse-core_2.12-0.3.0-sources.jar + $IVY2/cache/com.eed3si9n/gigahorse-okhttp_2.12/srcs/gigahorse-okhttp_2.12-0.3.0-sources.jar + $IVY2/cache/com.eed3si9n/shaded-scalajson_2.12/srcs/shaded-scalajson_2.12-1.0.0-M4-sources.jar + $IVY2/cache/com.eed3si9n/sjson-new-core_2.12/srcs/sjson-new-core_2.12-0.8.2-sources.jar + $IVY2/cache/com.eed3si9n/sjson-new-murmurhash_2.12/srcs/sjson-new-murmurhash_2.12-0.8.2-sources.jar + $IVY2/cache/com.eed3si9n/sjson-new-scalajson_2.12/srcs/sjson-new-scalajson_2.12-0.8.2-sources.jar + $IVY2/cache/com.github.ben-manes.caffeine/caffeine/srcs/caffeine-2.5.6-sources.jar + $IVY2/cache/com.github.cb372/scalacache-caffeine_2.12/srcs/scalacache-caffeine_2.12-0.20.0-sources.jar + $IVY2/cache/com.github.cb372/scalacache-core_2.12/srcs/scalacache-core_2.12-0.20.0-sources.jar + $IVY2/cache/com.google.protobuf/protobuf-java/srcs/protobuf-java-3.3.1-sources.jar + $IVY2/cache/com.jcraft/jsch/srcs/jsch-0.1.54-sources.jar + $IVY2/cache/com.lihaoyi/fastparse-utils_2.12/srcs/fastparse-utils_2.12-0.4.2-sources.jar + $IVY2/cache/com.lihaoyi/fastparse_2.12/srcs/fastparse_2.12-0.4.2-sources.jar + $IVY2/cache/com.lihaoyi/sourcecode_2.12/srcs/sourcecode_2.12-0.1.3-sources.jar + $IVY2/cache/com.lmax/disruptor/srcs/disruptor-3.3.6-sources.jar + $IVY2/cache/com.squareup.okhttp3/okhttp-urlconnection/srcs/okhttp-urlconnection-3.7.0-sources.jar + $IVY2/cache/com.squareup.okhttp3/okhttp/srcs/okhttp-3.7.0-sources.jar + $IVY2/cache/com.squareup.okio/okio/srcs/okio-1.12.0-sources.jar + $IVY2/cache/com.swoval/apple-file-events/srcs/apple-file-events-1.3.2-sources.jar + $IVY2/cache/com.trueaccord.lenses/lenses_2.12/srcs/lenses_2.12-0.4.12-sources.jar + $IVY2/cache/com.trueaccord.scalapb/scalapb-runtime_2.12/srcs/scalapb-runtime_2.12-0.6.0-sources.jar + $IVY2/cache/com.typesafe/config/srcs/config-1.2.0-sources.jar + $IVY2/cache/com.typesafe/ssl-config-core_2.12/srcs/ssl-config-core_2.12-0.2.2-sources.jar + $IVY2/cache/jline/jline/srcs/jline-2.14.6-sources.jar + $IVY2/cache/net.java.dev.jna/jna-platform/srcs/jna-platform-4.5.0-sources.jar + $IVY2/cache/net.java.dev.jna/jna/srcs/jna-4.5.0-sources.jar + $IVY2/cache/org.apache.logging.log4j/log4j-api/srcs/log4j-api-2.8.1-sources.jar + $IVY2/cache/org.apache.logging.log4j/log4j-core/srcs/log4j-core-2.8.1-sources.jar + $IVY2/cache/org.apache.logging.log4j/log4j-slf4j-impl/srcs/log4j-slf4j-impl-2.8.1-sources.jar + $IVY2/cache/org.reactivestreams/reactive-streams/srcs/reactive-streams-1.0.0-sources.jar + $IVY2/cache/org.scala-lang.modules/scala-parser-combinators_2.12/srcs/scala-parser-combinators_2.12-1.0.5-sources.jar + $IVY2/cache/org.scala-lang.modules/scala-xml_2.12/srcs/scala-xml_2.12-1.0.6-sources.jar + $IVY2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.12.6-sources.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.12.6-sources.jar + $IVY2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.12.6-sources.jar + $IVY2/cache/org.scala-sbt.ipcsocket/ipcsocket/srcs/ipcsocket-1.0.0-sources.jar + $IVY2/cache/org.scala-sbt.ivy/ivy/srcs/ivy-2.3.0-sbt-b18f59ea3bc914a297bb6f1a4f7fb0ace399e310-sources.jar + $IVY2/cache/org.scala-sbt/actions_2.12/srcs/actions_2.12-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/collections_2.12/srcs/collections_2.12-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/command_2.12/srcs/command_2.12-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/compiler-interface/srcs/compiler-interface-1.1.7-sources.jar + $IVY2/cache/org.scala-sbt/completion_2.12/srcs/completion_2.12-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/core-macros_2.12/srcs/core-macros_2.12-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/io_2.12/srcs/io_2.12-1.1.10-sources.jar + $IVY2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/librarymanagement-core_2.12/srcs/librarymanagement-core_2.12-1.1.5-sources.jar + $IVY2/cache/org.scala-sbt/librarymanagement-ivy_2.12/srcs/librarymanagement-ivy_2.12-1.1.5-sources.jar + $IVY2/cache/org.scala-sbt/logic_2.12/srcs/logic_2.12-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/main-settings_2.12/srcs/main-settings_2.12-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/main_2.12/srcs/main_2.12-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/protocol_2.12/srcs/protocol_2.12-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/run_2.12/srcs/run_2.12-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/sbinary_2.12/srcs/sbinary_2.12-0.4.4-sources.jar + $IVY2/cache/org.scala-sbt/sbt/srcs/sbt-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/task-system_2.12/srcs/task-system_2.12-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/tasks_2.12/srcs/tasks_2.12-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/template-resolver/srcs/template-resolver-0.1-sources.jar + $IVY2/cache/org.scala-sbt/test-agent/srcs/test-agent-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + $IVY2/cache/org.scala-sbt/testing_2.12/srcs/testing_2.12-1.1.6-sources.jar + $IVY2/cache/org.scala-sbt/util-cache_2.12/srcs/util-cache_2.12-1.1.3-sources.jar + $IVY2/cache/org.scala-sbt/util-control_2.12/srcs/util-control_2.12-1.1.3-sources.jar + $IVY2/cache/org.scala-sbt/util-interface/srcs/util-interface-1.1.3-sources.jar + $IVY2/cache/org.scala-sbt/util-logging_2.12/srcs/util-logging_2.12-1.1.3-sources.jar + $IVY2/cache/org.scala-sbt/util-position_2.12/srcs/util-position_2.12-1.1.3-sources.jar + $IVY2/cache/org.scala-sbt/util-relation_2.12/srcs/util-relation_2.12-1.1.3-sources.jar + $IVY2/cache/org.scala-sbt/util-tracking_2.12/srcs/util-tracking_2.12-1.1.3-sources.jar + $IVY2/cache/org.scala-sbt/zinc-apiinfo_2.12/srcs/zinc-apiinfo_2.12-1.1.7-sources.jar + $IVY2/cache/org.scala-sbt/zinc-classfile_2.12/srcs/zinc-classfile_2.12-1.1.7-sources.jar + $IVY2/cache/org.scala-sbt/zinc-classpath_2.12/srcs/zinc-classpath_2.12-1.1.7-sources.jar + $IVY2/cache/org.scala-sbt/zinc-compile-core_2.12/srcs/zinc-compile-core_2.12-1.1.7-sources.jar + $IVY2/cache/org.scala-sbt/zinc-compile_2.12/srcs/zinc-compile_2.12-1.1.7-sources.jar + $IVY2/cache/org.scala-sbt/zinc-core_2.12/srcs/zinc-core_2.12-1.1.7-sources.jar + $IVY2/cache/org.scala-sbt/zinc-ivy-integration_2.12/srcs/zinc-ivy-integration_2.12-1.1.7-sources.jar + $IVY2/cache/org.scala-sbt/zinc-persist_2.12/srcs/zinc-persist_2.12-1.1.7-sources.jar + $IVY2/cache/org.scala-sbt/zinc_2.12/srcs/zinc_2.12-1.1.7-sources.jar + $IVY2/cache/org.slf4j/slf4j-api/srcs/slf4j-api-1.7.25-sources.jar + $IVY2/cache/org.spire-math/jawn-parser_2.12/srcs/jawn-parser_2.12-0.10.4-sources.jar + + + prod_test_sources_separated + $URI_BASE + some-name + some-organization + 1.2.3 + $BASE + $BASE/target + + 2.13.6 + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.13.6.jar + + + $IVY2/cache/net.java.dev.jna/jna/jars/jna-5.3.1.jar + $IVY2/cache/org.jline/jline/jars/jline-3.19.0.jar + $IVY2/cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.13.6.jar + $IVY2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.13.6.jar + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2.13 + $BASE/target/scala-2.13/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.13/resource_managed/main + $BASE/target/scala-2.13/classes + + + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2.13 + $BASE/target/scala-2.13/src_managed/test + $BASE/src/test/resources + $BASE/target/scala-2.13/resource_managed/test + $BASE/target/scala-2.13/test-classes + + + + + prod_test_sources_separated:main + + + + + + + + + + + + + + + + + + + + + Commands to execute before the Scala interpreter exits. + 41 + + + + Project licenses as (name, url) pairs. + 41 + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Pattern used to retrieve managed dependencies to the current build. + 10000 + + + + Duration for which the watch EventMonitor will ignore events for a file after that file has triggered a build. + 41 + + + + Organization/group ID. + 9 + + + + Provides a resolver for obtaining sbt as a dependency. + 41 + + + + Job manager used to run background jobs. + 25 + + + + If true, automatically manages mappings to the API doc URL. + 41 + + + + Provides access to the loaded project structure. This is the information available before settings are evaluated. + 10000 + + + + Project name. + 9 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Configures the order in which Java and sources within a single compilation are compiled. Valid values are: JavaThenScala, ScalaThenJava, or Mixed. + 39 + + + + Selects the conflict manager to use for dependency management. + 100 + + + + Declares managed dependency exclusions. + 40 + + + + Enables (true) or disables (false) parallel execution of tasks. + 41 + + + + Configuration for generating a pom. + 10000 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + If true, connects standard input when running a main class forked. + 100 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + The Scala version substring describing binary compatibility. + 39 + + + + The location where command line history is persisted. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + A function that provides additional loggers for a given setting. + 10000 + + + + Defines module configurations, which override resolvers on a per-module basis. + 41 + + + + The level of tracking for this project by the internal callers. + 40 + + + + Default Scala source directory. + 10 + + + + Project description. + 40 + + + + If Some, defines the local Scala installation to use for compilation, running, and testing. + 10 + + + + Base URL for API documentation. + 41 + + + + Configures warnings around Maven incompatibility. + 100 + + + + Configures the module ID of the sources of the compiler bridge. + 100 + + + + Attributes restricting concurrent execution of tasks. + 40 + + + + Ivy artifact types that correspond to source artifacts. Used by IDEs to resolve these resources. + 40 + + + + The default directory for manually managed libraries. + 10 + + + + Organization homepage. + 41 + + + + Selects repositories to include in the generated POM. + 100 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + If true, enables exit trapping and thread management for 'run'-like tasks. This is currently only suitable for serially-executed 'run'-like tasks. + 100 + + + + Defines the binary compatibility version substring. + 39 + + + + If true, enables retrieving dependencies to the current build. Otherwise, dependencies are used directly from the cache. + 40 + + + + If true, enables automatically generating -Xplugin arguments to the compiler based on the classpath for the plugin configuration. + 11 + + + + Selects how to log output when running a main class. + 10000 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Continuous execution configuration. + 1000 + + + + The user-defined additional resolvers for automatically managed dependencies. + 31 + + + + Determines whether the exported classpath for this project contains classes (false) or a packaged jar (true). + 40 + + + + Default directory for sources generated by the build. + 39 + + + + The name of the current module, used for dependency management. + 40 + + + + Organization full/formal name. + 41 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + Maps configurations to the actual configuration used to define the classpath. + 100 + + + + The logging level for updating. + 40 + + + + If true, enables adding sbt as a dependency and auto-generation of the plugin descriptor file. + 41 + + + + Configures the list of artifacts which should match the Scala binary version + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + Directory to which managed dependencies are retrieved. + 40 + + + + Whether forked tests should be executed in parallel + 200 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Function that produces the artifact name from its definition. + 100 + + + + The version of Scala used for building. + 9 + + + + If true, enables cross paths, which distinguish input and output directories for cross-building. + 10 + + + + Year in which the project started. + 41 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + Service to use to monitor file system changes. + 41 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + If true, forks a new JVM when running. If false, runs in the same JVM as the build. + 10 + + + + If true, includes repositories used in module configurations in the pom repositories section. If false, only the common repositories are included. + 41 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + Definitive source of inter-project dependencies for compilation and dependency management. This is populated by default by the dependencies declared on Project instances, but may be modified. The main restriction is that new builds may not be introduced. + 10000 + + + + Logs results after a test task completes. + 20000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + If true, sources from the project's base directory are included as main sources. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + The maximum number of errors, such as compile errors, to list. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Filter for excluding sources and resources files from default directories. + 100 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + Enables/disables Ivy validation of module metadata. + 40 + + + + True if logging should be buffered until work completes. + 100 + + + + Default Java source directory. + 10 + + + + Writes the analysis file in binary format + 25 + + + + Defines the configuration used when none is specified for a dependency in ivyXML. + 100 + + + + Configures handling of Scala classpaths. + 10000 + + + + Adds a dependency on scala-library if true. + 10 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + Artifact types that are included on the classpath. + 40 + + + + Provides the version of sbt. This setting should not be modified. + 11 + + + + Directory for compiled classes and copied resources. + 11 + + + + Project homepage. + 40 + + + + The location of a generated artifact. + 39 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Initial commands to execute when starting up the Scala interpreter. + 11 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + Provides the current project for the referencing scope. + 100 + + + + The message to show when triggered execution waits for sources to change. + 10000 + + + + options for dumpStructure task + 10000 + + + + Duration after which to force a full update to occur + 100 + + + + Default directory containing sources. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + List of developers implicated in the project + 41 + + + + True if the version of the project is a snapshot version. + 39 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + List of managed resource directories. + 11 + + + + Directory used for temporary files for tasks that is deleted after each task execution. + 10000 + + + + Ivy artifact types that correspond to javadoc artifacts. Used by IDEs to resolve these resources. + 40 + + + + The versions of Scala used when cross-building. + 39 + + + + An optional set of configurations from which to retrieve dependencies if retrieveManaged is set to true + 40 + + + + Declares managed dependencies. + 9 + + + + The list of checksums to generate and to verify for dependencies. + 40 + + + + The dependency management descriptor for the current module. + 41 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Registered, although not necessarily present, test frameworks. + 200 + + + + Copies classpath on bgRun to prevent conflict. + 25 + + + + Provides access to the launched sbt configuration, including the ScalaProvider, Launcher, and GlobalLock. + 10000 + + + + Basic SCM information for the project. + 41 + + + + The level of tracking for the internal (inter-project) dependency. + 40 + + + + Filter for including sources and resources files from default directories. + 100 + + + + Declares managed dependency overrides. + 40 + + + + Selects the Java installation used for compiling and forking. If None, uses the Java installation running the build. + 10 + + + + Transforms the generated POM. + 100 + + + + The message to show before triggered execution executes an action after sources change. + 10000 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Sets the classifier used by the default artifact definition. + 40 + + + + Configures sbt to work without a network connection where possible. + 10 + + + + Options for resolving managed dependencies. + 10000 + + + + The amount of logging sent to the screen. + 10 + + + + Describes an artifact. + 41 + + + + Automatically obtains Scala tools as managed dependencies if true. + 40 + + + + Extra XML to insert into the generated POM. + 40 + + + + List of tasks that generate sources. + 100 + + + + If true, enables synchronizing the dependencies retrieved to the current build by removed unneeded files. + 40 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Use JCenter as the default repository. + 40 + + + + Interval between checks for modified sources by the continuous execution command. + 41 + + + + Defines inline Ivy XML for configuring dependency management. + 40 + + + + Source positions where the dependencies are defined. + 20000 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies, all as JARs. + 17 + + + + A hook to get the UpdateReport of the global plugin. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Provides access to the project data for the build. + 20000 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + The configuration used to define the classpath. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + Configures aspects of incremental compilation. + 20000 + + + + Start a provided main class as a background job + 5 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Inter-project and library dependencies. + 200 + + + + Current build state. + 20000 + + + + Auto-detects main classes. + 31 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + classifiers-module + 200 + + + + Provides the sbt interface to Ivy. + 200 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + The resolver to publish to. + 10 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + Just the exported classpath as JARs without triggering the compilation. + 17 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Defines the sources in this project for continuous execution to watch for changes. + 41 + + + + Options for the Java compiler. + 29 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + The base directory for cached dependencies. + 20000 + + + + Configures JVM forking. + 10000 + + + + Options passed to a new JVM when forking. + 29 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies, all as JARs. + 17 + + + + Configuration for unresolved dependency warning. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + Streams manager, which provides streams for different contexts. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + The list of root tasks for this task execution. Roots are the top-level tasks that were directly requested to be run. + 20000 + + + + Options for packaging. + 30 + + + + Defines the filename used to store the incremental compiler analysis file (inside the streams cacheDirectory). + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Environment variables used when forking a new JVM + 30 + + + + Implementation used to run a main class. + 20000 + + + + For tasks that support it (currently only 'compile' and 'update'), setting skip to true will force the task to not to do its work. This exact semantics may vary by task. + 40 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Collects all inputs needed for compilation. + 20000 + + + + Build products that get packaged. + 31 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Maps positions in generated source files to the original source it was generated from + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Defines the main class for packaging or running. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Options for the Scala compiler. + 29 + + + + Configuration for generating ivy.xml. + 10000 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Options for the incremental compiler. + 30 + + + + Display detailed eviction warnings. + 200 + + + + Publishes artifacts to a repository. + 4 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + Collect analysis file locations for later use. + 17 + + + + Start an application's default main class as a background job + 5 + + + + Build products that go on the exported classpath as JARs. + 17 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + Selects the main class to run. + 31 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + Resources generated by the build. + 30 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Provides the sbt interface to publisher + 17 + + + + Sources generated by the build. + 30 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Defines test listeners. + 20000 + + + + The internal (inter-project) classpath as JARs. + 17 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + The files to recursively delete during a clean. + 40 + + + + Configuration for publishing to a repository. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + Build products that go on the exported classpath as JARs if missing. + 17 + + + + All resource files, both managed and unmanaged. + 30 + + + + Collects basic options to configure compilers + 20000 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + Provides access to the build structure, settings, and streams manager. + 20000 + + + + Provides the class loader used for testing. + 20000 + + + + Provides the sbt interface to dependency resolution. + 200 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + Configuration for generating ivy.xml. + 10000 + + + + The internal (inter-project) classpath. + 200 + + + + Read the incremental compiler analysis from disk + 20000 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Unmanaged sources, which are manually created. + 29 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + Copies resources to the output directory. + 6 + + + + The credentials to use for updating and publishing. + 31 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + Cache of scala.tools.nsc.Global instances. This should typically be cached so that it isn't recreated every task run. + 20000 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + Provides the list of defined tests. + 31 + + + preferScala2 + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [tree|uses|definitions|actual] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + load-failed + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + write-sbt-version + + + notify-users-about-shell + + + shell + + + startServer + + + eval + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + initialize + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + iflast + + + append + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + reboot + + + apply + + + exit + + exit + Terminates the build. + + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + oldshell + + + client + + + < + + + alias + + + -- + + + --- + + $BASE/src/test + $BASE/src/main + + + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.13.6.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.13.6-sources.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/1.1/simple/structure.xml b/extractor/src/test/data/1.1/simple/structure.xml index 08822677..273481f7 100644 --- a/extractor/src/test/data/1.1/simple/structure.xml +++ b/extractor/src/test/data/1.1/simple/structure.xml @@ -207,7 +207,20 @@ $BASE/target/scala-2.13/test-classes - + + + + + + + + + + + + + + @@ -1830,6 +1843,8 @@ --- + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.2/prod_test_sources_separated/build.sbt b/extractor/src/test/data/1.2/prod_test_sources_separated/build.sbt new file mode 100644 index 00000000..7a64234d --- /dev/null +++ b/extractor/src/test/data/1.2/prod_test_sources_separated/build.sbt @@ -0,0 +1,4 @@ +name := "some-name" +organization := "some-organization" +version := "1.2.3" +scalaVersion := "2.13.6" diff --git a/extractor/src/test/data/1.2/prod_test_sources_separated/project/build.properties b/extractor/src/test/data/1.2/prod_test_sources_separated/project/build.properties new file mode 100644 index 00000000..c0bab049 --- /dev/null +++ b/extractor/src/test/data/1.2/prod_test_sources_separated/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.2.8 diff --git a/extractor/src/test/data/1.2/prod_test_sources_separated/structure.xml b/extractor/src/test/data/1.2/prod_test_sources_separated/structure.xml new file mode 100644 index 00000000..06aeb06e --- /dev/null +++ b/extractor/src/test/data/1.2/prod_test_sources_separated/structure.xml @@ -0,0 +1,1888 @@ + + + + $URI_BASE + import _root_.sbt.Keys._ + import _root_.sbt.ScriptedPlugin.autoImport._ + import _root_.sbt._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.ScriptedPlugin, _root_.sbt.plugins.SbtPlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin + import _root_.scala.xml.{TopScope=>$scope} + $SBT_BOOT/scala-2.12.7/lib/jline.jar + $SBT_BOOT/scala-2.12.7/lib/scala-compiler.jar + $SBT_BOOT/scala-2.12.7/lib/scala-library.jar + $SBT_BOOT/scala-2.12.7/lib/scala-reflect.jar + $SBT_BOOT/scala-2.12.7/lib/scala-xml_2.12.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/actions_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/apple-file-events-1.3.2.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/caffeine-2.5.6.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/collections_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/command_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/compiler-bridge_2.12-1.2.5.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/compiler-interface-1.2.5.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/completion_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/config-1.2.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/core-macros_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/disruptor-3.4.2.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/fastparse-utils_2.12-0.4.2.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/fastparse_2.12-0.4.2.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/gigahorse-core_2.12-0.3.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/gigahorse-okhttp_2.12-0.3.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/io_2.12-1.2.2.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/ipcsocket-1.0.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/ivy-2.3.0-sbt-cb9cc189e9f3af519f9f102e6c5d446488ff6832.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/jawn-parser_2.12-0.10.4.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/jline-2.14.6.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/jna-4.5.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/jna-platform-4.5.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/jsch-0.1.54.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/launcher-interface-1.0.4.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/lenses_2.12-0.4.12.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/librarymanagement-core_2.12-1.2.4.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/librarymanagement-ivy_2.12-1.2.4.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/log4j-api-2.11.1.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/log4j-core-2.11.1.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/log4j-slf4j-impl-2.11.1.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/logic_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/main-settings_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/main_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/okhttp-3.7.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/okhttp-urlconnection-3.7.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/okio-1.12.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/protobuf-java-3.3.1.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/protocol_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/reactive-streams-1.0.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/run_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/sbinary_2.12-0.5.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/sbt-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/scala-parser-combinators_2.12-1.0.5.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/scala-reflect-2.12.7.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/scala-xml_2.12-1.0.6.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/scalacache-caffeine_2.12-0.20.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/scalacache-core_2.12-0.20.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/scalapb-runtime_2.12-0.6.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/scripted-plugin_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/scripted-sbt-redux_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/shaded-scalajson_2.12-1.0.0-M4.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/sjson-new-core_2.12-0.8.2.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/sjson-new-murmurhash_2.12-0.8.2.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/sjson-new-scalajson_2.12-0.8.2.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/slf4j-api-1.7.25.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/sourcecode_2.12-0.1.3.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/ssl-config-core_2.12-0.2.2.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/task-system_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/tasks_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/template-resolver-0.1.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/test-agent-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/test-interface-1.0.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/testing_2.12-1.2.8.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/util-cache_2.12-1.2.4.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/util-control_2.12-1.2.4.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/util-interface-1.2.4.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/util-logging_2.12-1.2.4.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/util-position_2.12-1.2.4.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/util-relation_2.12-1.2.4.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/util-scripted_2.12-1.2.4.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/util-tracking_2.12-1.2.4.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/zinc-apiinfo_2.12-1.2.5.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/zinc-classfile_2.12-1.2.5.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/zinc-classpath_2.12-1.2.5.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/zinc-compile-core_2.12-1.2.5.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/zinc-compile_2.12-1.2.5.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/zinc-core_2.12-1.2.5.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/zinc-ivy-integration_2.12-1.2.5.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/zinc-persist_2.12-1.2.5.jar + $SBT_BOOT/scala-2.12.7/org.scala-sbt/sbt/1.2.8/zinc_2.12-1.2.5.jar + $IVY2/cache/com.eed3si9n/gigahorse-core_2.12/srcs/gigahorse-core_2.12-0.3.0-sources.jar + $IVY2/cache/com.eed3si9n/gigahorse-okhttp_2.12/srcs/gigahorse-okhttp_2.12-0.3.0-sources.jar + $IVY2/cache/com.eed3si9n/shaded-scalajson_2.12/srcs/shaded-scalajson_2.12-1.0.0-M4-sources.jar + $IVY2/cache/com.eed3si9n/sjson-new-core_2.12/srcs/sjson-new-core_2.12-0.8.2-sources.jar + $IVY2/cache/com.eed3si9n/sjson-new-murmurhash_2.12/srcs/sjson-new-murmurhash_2.12-0.8.2-sources.jar + $IVY2/cache/com.eed3si9n/sjson-new-scalajson_2.12/srcs/sjson-new-scalajson_2.12-0.8.2-sources.jar + $IVY2/cache/com.github.ben-manes.caffeine/caffeine/srcs/caffeine-2.5.6-sources.jar + $IVY2/cache/com.github.cb372/scalacache-caffeine_2.12/srcs/scalacache-caffeine_2.12-0.20.0-sources.jar + $IVY2/cache/com.github.cb372/scalacache-core_2.12/srcs/scalacache-core_2.12-0.20.0-sources.jar + $IVY2/cache/com.google.protobuf/protobuf-java/srcs/protobuf-java-3.3.1-sources.jar + $IVY2/cache/com.jcraft/jsch/srcs/jsch-0.1.54-sources.jar + $IVY2/cache/com.lihaoyi/fastparse-utils_2.12/srcs/fastparse-utils_2.12-0.4.2-sources.jar + $IVY2/cache/com.lihaoyi/fastparse_2.12/srcs/fastparse_2.12-0.4.2-sources.jar + $IVY2/cache/com.lihaoyi/sourcecode_2.12/srcs/sourcecode_2.12-0.1.3-sources.jar + $IVY2/cache/com.lmax/disruptor/srcs/disruptor-3.4.2-sources.jar + $IVY2/cache/com.squareup.okhttp3/okhttp-urlconnection/srcs/okhttp-urlconnection-3.7.0-sources.jar + $IVY2/cache/com.squareup.okhttp3/okhttp/srcs/okhttp-3.7.0-sources.jar + $IVY2/cache/com.squareup.okio/okio/srcs/okio-1.12.0-sources.jar + $IVY2/cache/com.swoval/apple-file-events/srcs/apple-file-events-1.3.2-sources.jar + $IVY2/cache/com.trueaccord.lenses/lenses_2.12/srcs/lenses_2.12-0.4.12-sources.jar + $IVY2/cache/com.trueaccord.scalapb/scalapb-runtime_2.12/srcs/scalapb-runtime_2.12-0.6.0-sources.jar + $IVY2/cache/com.typesafe/config/srcs/config-1.2.0-sources.jar + $IVY2/cache/com.typesafe/ssl-config-core_2.12/srcs/ssl-config-core_2.12-0.2.2-sources.jar + $IVY2/cache/jline/jline/srcs/jline-2.14.6-sources.jar + $IVY2/cache/net.java.dev.jna/jna-platform/srcs/jna-platform-4.5.0-sources.jar + $IVY2/cache/net.java.dev.jna/jna/srcs/jna-4.5.0-sources.jar + $IVY2/cache/org.apache.logging.log4j/log4j-api/srcs/log4j-api-2.11.1-sources.jar + $IVY2/cache/org.apache.logging.log4j/log4j-core/srcs/log4j-core-2.11.1-sources.jar + $IVY2/cache/org.apache.logging.log4j/log4j-slf4j-impl/srcs/log4j-slf4j-impl-2.11.1-sources.jar + $IVY2/cache/org.reactivestreams/reactive-streams/srcs/reactive-streams-1.0.0-sources.jar + $IVY2/cache/org.scala-lang.modules/scala-parser-combinators_2.12/srcs/scala-parser-combinators_2.12-1.0.5-sources.jar + $IVY2/cache/org.scala-lang.modules/scala-xml_2.12/srcs/scala-xml_2.12-1.0.6-sources.jar + $IVY2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.12.7-sources.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.12.7-sources.jar + $IVY2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.12.7-sources.jar + $IVY2/cache/org.scala-sbt.ipcsocket/ipcsocket/srcs/ipcsocket-1.0.0-sources.jar + $IVY2/cache/org.scala-sbt.ivy/ivy/srcs/ivy-2.3.0-sbt-cb9cc189e9f3af519f9f102e6c5d446488ff6832-sources.jar + $IVY2/cache/org.scala-sbt/actions_2.12/srcs/actions_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/collections_2.12/srcs/collections_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/command_2.12/srcs/command_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/compiler-bridge_2.12/srcs/compiler-bridge_2.12-1.2.5-sources.jar + $IVY2/cache/org.scala-sbt/compiler-interface/srcs/compiler-interface-1.2.5-sources.jar + $IVY2/cache/org.scala-sbt/completion_2.12/srcs/completion_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/core-macros_2.12/srcs/core-macros_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/io_2.12/srcs/io_2.12-1.2.2-sources.jar + $IVY2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-1.0.4-sources.jar + $IVY2/cache/org.scala-sbt/librarymanagement-core_2.12/srcs/librarymanagement-core_2.12-1.2.4-sources.jar + $IVY2/cache/org.scala-sbt/librarymanagement-ivy_2.12/srcs/librarymanagement-ivy_2.12-1.2.4-sources.jar + $IVY2/cache/org.scala-sbt/logic_2.12/srcs/logic_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/main-settings_2.12/srcs/main-settings_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/main_2.12/srcs/main_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/protocol_2.12/srcs/protocol_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/run_2.12/srcs/run_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/sbinary_2.12/srcs/sbinary_2.12-0.5.0-sources.jar + $IVY2/cache/org.scala-sbt/sbt/srcs/sbt-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/scripted-plugin_2.12/srcs/scripted-plugin_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/scripted-sbt-redux_2.12/srcs/scripted-sbt-redux_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/task-system_2.12/srcs/task-system_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/tasks_2.12/srcs/tasks_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/template-resolver/srcs/template-resolver-0.1-sources.jar + $IVY2/cache/org.scala-sbt/test-agent/srcs/test-agent-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + $IVY2/cache/org.scala-sbt/testing_2.12/srcs/testing_2.12-1.2.8-sources.jar + $IVY2/cache/org.scala-sbt/util-cache_2.12/srcs/util-cache_2.12-1.2.4-sources.jar + $IVY2/cache/org.scala-sbt/util-control_2.12/srcs/util-control_2.12-1.2.4-sources.jar + $IVY2/cache/org.scala-sbt/util-interface/srcs/util-interface-1.2.4-sources.jar + $IVY2/cache/org.scala-sbt/util-logging_2.12/srcs/util-logging_2.12-1.2.4-sources.jar + $IVY2/cache/org.scala-sbt/util-position_2.12/srcs/util-position_2.12-1.2.4-sources.jar + $IVY2/cache/org.scala-sbt/util-relation_2.12/srcs/util-relation_2.12-1.2.4-sources.jar + $IVY2/cache/org.scala-sbt/util-scripted_2.12/srcs/util-scripted_2.12-1.2.4-sources.jar + $IVY2/cache/org.scala-sbt/util-tracking_2.12/srcs/util-tracking_2.12-1.2.4-sources.jar + $IVY2/cache/org.scala-sbt/zinc-apiinfo_2.12/srcs/zinc-apiinfo_2.12-1.2.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc-classfile_2.12/srcs/zinc-classfile_2.12-1.2.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc-classpath_2.12/srcs/zinc-classpath_2.12-1.2.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc-compile-core_2.12/srcs/zinc-compile-core_2.12-1.2.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc-compile_2.12/srcs/zinc-compile_2.12-1.2.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc-core_2.12/srcs/zinc-core_2.12-1.2.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc-ivy-integration_2.12/srcs/zinc-ivy-integration_2.12-1.2.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc-persist_2.12/srcs/zinc-persist_2.12-1.2.5-sources.jar + $IVY2/cache/org.scala-sbt/zinc_2.12/srcs/zinc_2.12-1.2.5-sources.jar + $IVY2/cache/org.slf4j/slf4j-api/srcs/slf4j-api-1.7.25-sources.jar + $IVY2/cache/org.spire-math/jawn-parser_2.12/srcs/jawn-parser_2.12-0.10.4-sources.jar + + + prod_test_sources_separated + $URI_BASE + some-name + some-organization + 1.2.3 + $BASE + $BASE/target + + 2.13.6 + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.13.6.jar + + + $IVY2/cache/net.java.dev.jna/jna/jars/jna-5.3.1.jar + $IVY2/cache/org.jline/jline/jars/jline-3.19.0.jar + $IVY2/cache/org.scala-lang/scala-compiler/jars/scala-compiler-2.13.6.jar + $IVY2/cache/org.scala-lang/scala-reflect/jars/scala-reflect-2.13.6.jar + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2.13 + $BASE/target/scala-2.13/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.13/resource_managed/main + $BASE/target/scala-2.13/classes + + + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2.13 + $BASE/target/scala-2.13/src_managed/test + $BASE/src/test/resources + $BASE/target/scala-2.13/resource_managed/test + $BASE/target/scala-2.13/test-classes + + + + + prod_test_sources_separated:main + + + + + + + + + + + + + + + + + + + + + Commands to execute before the Scala interpreter exits. + 41 + + + + Project licenses as (name, url) pairs. + 41 + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Pattern used to retrieve managed dependencies to the current build. + 10000 + + + + Duration for which the watch EventMonitor will ignore events for a file after that file has triggered a build. + 41 + + + + Organization/group ID. + 9 + + + + Provides a resolver for obtaining sbt as a dependency. + 41 + + + + Job manager used to run background jobs. + 25 + + + + If true, automatically manages mappings to the API doc URL. + 41 + + + + Provides access to the loaded project structure. This is the information available before settings are evaluated. + 10000 + + + + Project name. + 9 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Configures the order in which Java and sources within a single compilation are compiled. Valid values are: JavaThenScala, ScalaThenJava, or Mixed. + 39 + + + + Selects the conflict manager to use for dependency management. + 100 + + + + Declares managed dependency exclusions. + 40 + + + + Enables (true) or disables (false) parallel execution of tasks. + 41 + + + + Configuration for generating a pom. + 10000 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + If true, connects standard input when running a main class forked. + 100 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + The Scala version substring describing binary compatibility. + 39 + + + + The location where command line history is persisted. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + A function that provides additional loggers for a given setting. + 10000 + + + + Defines module configurations, which override resolvers on a per-module basis. + 41 + + + + The level of tracking for this project by the internal callers. + 40 + + + + Default Scala source directory. + 10 + + + + Project description. + 40 + + + + If Some, defines the local Scala installation to use for compilation, running, and testing. + 10 + + + + Base URL for API documentation. + 41 + + + + Configures warnings around Maven incompatibility. + 100 + + + + Configures the module ID of the sources of the compiler bridge when scalaCompilerBridgeBinaryJar is None + 100 + + + + Attributes restricting concurrent execution of tasks. + 40 + + + + Ivy artifact types that correspond to source artifacts. Used by IDEs to resolve these resources. + 40 + + + + The default directory for manually managed libraries. + 10 + + + + Organization homepage. + 41 + + + + Selects repositories to include in the generated POM. + 100 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + If true, enables exit trapping and thread management for 'run'-like tasks. This is currently only suitable for serially-executed 'run'-like tasks. + 100 + + + + Defines the binary compatibility version substring. + 39 + + + + If true, enables retrieving dependencies to the current build. Otherwise, dependencies are used directly from the cache. + 40 + + + + If true, enables automatically generating -Xplugin arguments to the compiler based on the classpath for the plugin configuration. + 11 + + + + Selects how to log output when running a main class. + 10000 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Continuous execution configuration. + 1000 + + + + The user-defined additional resolvers for automatically managed dependencies. + 31 + + + + Determines whether the exported classpath for this project contains classes (false) or a packaged jar (true). + 40 + + + + Default directory for sources generated by the build. + 39 + + + + The name of the current module, used for dependency management. + 40 + + + + Organization full/formal name. + 41 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + Maps configurations to the actual configuration used to define the classpath. + 100 + + + + The logging level for updating. + 40 + + + + If true, enables adding sbt as a dependency and auto-generation of the plugin descriptor file. + 41 + + + + Configures the list of artifacts which should match the Scala binary version + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + Directory to which managed dependencies are retrieved. + 40 + + + + Whether forked tests should be executed in parallel + 200 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Function that produces the artifact name from its definition. + 100 + + + + The version of Scala used for building. + 9 + + + + If true, enables cross paths, which distinguish input and output directories for cross-building. + 10 + + + + Year in which the project started. + 41 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + Service to use to monitor file system changes. + 41 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + If true, forks a new JVM when running. If false, runs in the same JVM as the build. + 10 + + + + If true, includes repositories used in module configurations in the pom repositories section. If false, only the common repositories are included. + 41 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + Definitive source of inter-project dependencies for compilation and dependency management. This is populated by default by the dependencies declared on Project instances, but may be modified. The main restriction is that new builds may not be introduced. + 10000 + + + + Logs results after a test task completes. + 20000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + If true, sources from the project's base directory are included as main sources. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + The maximum number of errors, such as compile errors, to list. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Filter for excluding sources and resources files from default directories. + 100 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + Enables/disables Ivy validation of module metadata. + 40 + + + + True if logging should be buffered until work completes. + 100 + + + + Default Java source directory. + 10 + + + + Writes the analysis file in binary format + 25 + + + + Defines the configuration used when none is specified for a dependency in ivyXML. + 100 + + + + Configures handling of Scala classpaths. + 10000 + + + + Adds a dependency on scala-library if true. + 10 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + Artifact types that are included on the classpath. + 40 + + + + Provides the version of sbt. This setting should not be modified. + 11 + + + + Directory for compiled classes and copied resources. + 11 + + + + Project homepage. + 40 + + + + The location of a generated artifact. + 39 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Initial commands to execute when starting up the Scala interpreter. + 11 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + Provides the current project for the referencing scope. + 100 + + + + The message to show when triggered execution waits for sources to change. + 10000 + + + + options for dumpStructure task + 10000 + + + + Duration after which to force a full update to occur + 100 + + + + Default directory containing sources. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + List of developers implicated in the project + 41 + + + + True if the version of the project is a snapshot version. + 39 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + List of managed resource directories. + 11 + + + + Directory used for temporary files for tasks that is deleted after each task execution. + 10000 + + + + Ivy artifact types that correspond to javadoc artifacts. Used by IDEs to resolve these resources. + 40 + + + + The versions of Scala used when cross-building. + 39 + + + + An optional set of configurations from which to retrieve dependencies if retrieveManaged is set to true + 40 + + + + Declares managed dependencies. + 9 + + + + The list of checksums to generate and to verify for dependencies. + 40 + + + + The dependency management descriptor for the current module. + 41 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Registered, although not necessarily present, test frameworks. + 200 + + + + Copies classpath on bgRun to prevent conflict. + 25 + + + + Provides access to the launched sbt configuration, including the ScalaProvider, Launcher, and GlobalLock. + 10000 + + + + Basic SCM information for the project. + 41 + + + + The level of tracking for the internal (inter-project) dependency. + 40 + + + + Filter for including sources and resources files from default directories. + 100 + + + + Declares managed dependency overrides. + 40 + + + + Selects the Java installation used for compiling and forking. If None, uses the Java installation running the build. + 10 + + + + Transforms the generated POM. + 100 + + + + The message to show before triggered execution executes an action after sources change. + 10000 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Sets the classifier used by the default artifact definition. + 40 + + + + Configures sbt to work without a network connection where possible. + 10 + + + + Options for resolving managed dependencies. + 10000 + + + + The amount of logging sent to the screen. + 10 + + + + Describes an artifact. + 41 + + + + Automatically obtains Scala tools as managed dependencies if true. + 40 + + + + Extra XML to insert into the generated POM. + 40 + + + + List of tasks that generate sources. + 100 + + + + If true, enables synchronizing the dependencies retrieved to the current build by removed unneeded files. + 40 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Use JCenter as the default repository. + 40 + + + + Interval between checks for modified sources by the continuous execution command. + 41 + + + + Defines inline Ivy XML for configuring dependency management. + 40 + + + + Source positions where the dependencies are defined. + 20000 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies, all as JARs. + 17 + + + + A hook to get the UpdateReport of the global plugin. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Provides access to the project data for the build. + 20000 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + The configuration used to define the classpath. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + Configures aspects of incremental compilation. + 20000 + + + + Start a provided main class as a background job + 5 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Inter-project and library dependencies. + 200 + + + + Current build state. + 20000 + + + + Auto-detects main classes. + 31 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + classifiers-module + 200 + + + + Provides the sbt interface to Ivy. + 200 + + + + Start a provided main class as a foreground job + 5 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + The resolver to publish to. + 10 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + Just the exported classpath as JARs without triggering the compilation. + 17 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Optionally, the jar of the compiler bridge. When not None, this takes precedence over scalaCompilerBridgeSource + 100 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Defines the sources in this project for continuous execution to watch for changes. + 41 + + + + Options for the Java compiler. + 29 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + The base directory for cached dependencies. + 20000 + + + + Configures JVM forking. + 10000 + + + + Options passed to a new JVM when forking. + 29 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies, all as JARs. + 17 + + + + Configuration for unresolved dependency warning. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + Streams manager, which provides streams for different contexts. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + The list of root tasks for this task execution. Roots are the top-level tasks that were directly requested to be run. + 20000 + + + + Options for packaging. + 30 + + + + Defines the filename used to store the incremental compiler analysis file (inside the streams cacheDirectory). + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Environment variables used when forking a new JVM + 30 + + + + Implementation used to run a main class. + 20000 + + + + For tasks that support it (currently only 'compile', 'update', and 'publish'), setting skip to true will force the task to not to do its work. This exact semantics may vary by task. + 40 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Collects all inputs needed for compilation. + 20000 + + + + Build products that get packaged. + 31 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Maps positions in generated source files to the original source it was generated from + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Defines the main class for packaging or running. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Options for the Scala compiler. + 29 + + + + Configuration for generating ivy.xml. + 10000 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Options for the incremental compiler. + 30 + + + + Display detailed eviction warnings. + 200 + + + + Publishes artifacts to a repository. + 4 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + Collect analysis file locations for later use. + 17 + + + + Start an application's default main class as a background job + 5 + + + + Build products that go on the exported classpath as JARs. + 17 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + Selects the main class to run. + 31 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + Resources generated by the build. + 30 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Provides the sbt interface to publisher + 17 + + + + Sources generated by the build. + 30 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Defines test listeners. + 20000 + + + + The internal (inter-project) classpath as JARs. + 17 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + The files to recursively delete during a clean. + 40 + + + + Configuration for publishing to a repository. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + Build products that go on the exported classpath as JARs if missing. + 17 + + + + All resource files, both managed and unmanaged. + 30 + + + + Collects basic options to configure compilers + 20000 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + Provides access to the build structure, settings, and streams manager. + 20000 + + + + Start an application's default main class as a foreground job + 5 + + + + Provides the class loader used for testing. + 20000 + + + + Provides the sbt interface to dependency resolution. + 200 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + Configuration for generating ivy.xml. + 10000 + + + + The internal (inter-project) classpath. + 200 + + + + Read the incremental compiler analysis from disk + 20000 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Unmanaged sources, which are manually created. + 29 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + Copies resources to the output directory. + 6 + + + + The credentials to use for updating and publishing. + 31 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + Cache of scala.tools.nsc.Global instances. This should typically be cached so that it isn't recreated every task run. + 20000 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + Provides the list of defined tests. + 31 + + + preferScala2 + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [tree|uses|definitions|actual] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + loadFailed + + + load-failed + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + writeSbtVersion + + + notifyUsersAboutShell + + + shell + + + startServer + + + eval + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + lastGrep + + lastGrep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + initialize + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + iflast + + + append + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + reboot + + + apply + + + exit + + exit + Terminates the build. + + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + oldshell + + + client + + + < + + + alias + + $BASE/src/test + $BASE/src/main + + + + $IVY2/cache/org.scala-lang/scala-library/jars/scala-library-2.13.6.jar + $IVY2/cache/org.scala-lang/scala-library/srcs/scala-library-2.13.6-sources.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/1.2/simple/structure.xml b/extractor/src/test/data/1.2/simple/structure.xml index bc9b6c3a..539c81e7 100644 --- a/extractor/src/test/data/1.2/simple/structure.xml +++ b/extractor/src/test/data/1.2/simple/structure.xml @@ -216,7 +216,20 @@ $BASE/target/scala-2.13/test-classes - + + + + + + + + + + + + + + @@ -1858,6 +1871,8 @@ alias + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.3/prod_test_sources_separated/build.sbt b/extractor/src/test/data/1.3/prod_test_sources_separated/build.sbt new file mode 100644 index 00000000..e4756656 --- /dev/null +++ b/extractor/src/test/data/1.3/prod_test_sources_separated/build.sbt @@ -0,0 +1,8 @@ +name := "some-name" +organization := "some-organization" +version := "1.2.3" +scalaVersion := "2.13.6" +// +//// To avoid this issue: https://github.com/sbt/sbt/issues/5386 +//// (looks like fixed in sbt > 1.3) +//useCoursier := false \ No newline at end of file diff --git a/extractor/src/test/data/1.3/prod_test_sources_separated/project/build.properties b/extractor/src/test/data/1.3/prod_test_sources_separated/project/build.properties new file mode 100644 index 00000000..0837f7a1 --- /dev/null +++ b/extractor/src/test/data/1.3/prod_test_sources_separated/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.3.13 diff --git a/extractor/src/test/data/1.3/prod_test_sources_separated/structure.xml b/extractor/src/test/data/1.3/prod_test_sources_separated/structure.xml new file mode 100644 index 00000000..d644ee59 --- /dev/null +++ b/extractor/src/test/data/1.3/prod_test_sources_separated/structure.xml @@ -0,0 +1,1573 @@ + + + + $URI_BASE + import _root_.sbt.Keys._ + import _root_.sbt.ScriptedPlugin.autoImport._ + import _root_.sbt._ + import _root_.sbt.nio.Keys._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.ScriptedPlugin, _root_.sbt.plugins.SbtPlugin, _root_.sbt.plugins.SemanticdbPlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin + import _root_.scala.xml.{TopScope=>$scope} + $SBT_BOOT/scala-2.12.10/lib/jansi.jar + $SBT_BOOT/scala-2.12.10/lib/jline.jar + $SBT_BOOT/scala-2.12.10/lib/scala-compiler.jar + $SBT_BOOT/scala-2.12.10/lib/scala-library.jar + $SBT_BOOT/scala-2.12.10/lib/scala-reflect.jar + $SBT_BOOT/scala-2.12.10/lib/scala-xml_2.12.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/actions_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/caffeine-2.5.6.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/collections_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/command_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/compiler-bridge_2.12-1.3.5.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/compiler-interface-1.3.5.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/completion_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/config-1.3.3.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/core-macros_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/disruptor-3.4.2.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/fastparse-utils_2.12-0.4.2.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/fastparse_2.12-0.4.2.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/file-tree-views-2.1.3.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/gigahorse-core_2.12-0.5.0.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/gigahorse-okhttp_2.12-0.5.0.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/io_2.12-1.3.4.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/ipcsocket-1.0.1.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/ivy-2.3.0-sbt-839fad1cdc07cf6fc81364d74c323867230432ad.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/jawn-parser_2.12-0.10.4.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/jline-2.14.6.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/jna-5.5.0.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/jna-platform-5.5.0.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/jsch-0.1.54.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/launcher-interface-1.1.4.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/lenses_2.12-0.4.12.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/librarymanagement-core_2.12-1.3.4.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/librarymanagement-ivy_2.12-1.3.4.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/lm-coursier-shaded_2.12-2.0.0-RC6-4.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/log4j-api-2.11.2.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/log4j-core-2.11.2.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/log4j-slf4j-impl-2.11.2.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/logic_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/main-settings_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/main_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/okhttp-3.14.2.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/okhttp-urlconnection-3.7.0.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/okio-1.17.2.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/protobuf-java-3.7.0.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/protocol_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/reactive-streams-1.0.2.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/run_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/sbinary_2.12-0.5.0.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/sbt-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/scala-parser-combinators_2.12-1.1.2.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/scala-reflect-2.12.10.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/scala-xml_2.12-1.3.0.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/scalacache-caffeine_2.12-0.20.0.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/scalacache-core_2.12-0.20.0.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/scalapb-runtime_2.12-0.6.0.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/scripted-plugin_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/scripted-sbt-redux_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/shaded-scalajson_2.12-1.0.0-M4.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/sjson-new-core_2.12-0.8.3.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/sjson-new-murmurhash_2.12-0.8.3.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/sjson-new-scalajson_2.12-0.8.3.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/slf4j-api-1.7.26.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/sourcecode_2.12-0.1.3.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/ssl-config-core_2.12-0.4.0.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/task-system_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/tasks_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/template-resolver-0.1.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/test-agent-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/test-interface-1.0.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/testing_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/util-cache_2.12-1.3.3.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/util-control_2.12-1.3.3.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/util-interface-1.3.3.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/util-logging_2.12-1.3.3.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/util-position_2.12-1.3.3.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/util-relation_2.12-1.3.3.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/util-scripted_2.12-1.3.3.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/util-tracking_2.12-1.3.3.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/zinc-apiinfo_2.12-1.3.5.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/zinc-classfile_2.12-1.3.5.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/zinc-classpath_2.12-1.3.5.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/zinc-compile-core_2.12-1.3.5.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/zinc-compile_2.12-1.3.5.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/zinc-core_2.12-1.3.5.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/zinc-lm-integration_2.12-1.3.13.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/zinc-persist_2.12-1.3.5.jar + $SBT_BOOT/scala-2.12.10/org.scala-sbt/sbt/1.3.13/zinc_2.12-1.3.5.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-core_2.12/0.5.0/gigahorse-core_2.12-0.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-okhttp_2.12/0.5.0/gigahorse-okhttp_2.12-0.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-scalajson_2.12/1.0.0-M4/shaded-scalajson_2.12-1.0.0-M4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-core_2.12/0.8.3/sjson-new-core_2.12-0.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-murmurhash_2.12/0.8.3/sjson-new-murmurhash_2.12-0.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-scalajson_2.12/0.8.3/sjson-new-scalajson_2.12-0.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/github/ben-manes/caffeine/caffeine/2.5.6/caffeine-2.5.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/github/cb372/scalacache-caffeine_2.12/0.20.0/scalacache-caffeine_2.12-0.20.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/github/cb372/scalacache-core_2.12/0.20.0/scalacache-core_2.12-0.20.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.7.0/protobuf-java-3.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/jcraft/jsch/0.1.54/jsch-0.1.54-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/lihaoyi/fastparse-utils_2.12/0.4.2/fastparse-utils_2.12-0.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/lihaoyi/fastparse_2.12/0.4.2/fastparse_2.12-0.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/lihaoyi/sourcecode_2.12/0.1.3/sourcecode_2.12-0.1.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/lmax/disruptor/3.4.2/disruptor-3.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/squareup/okhttp3/okhttp-urlconnection/3.7.0/okhttp-urlconnection-3.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/squareup/okhttp3/okhttp/3.14.2/okhttp-3.14.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/squareup/okio/okio/1.17.2/okio-1.17.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/swoval/file-tree-views/2.1.3/file-tree-views-2.1.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/trueaccord/lenses/lenses_2.12/0.4.12/lenses_2.12-0.4.12-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/trueaccord/scalapb/scalapb-runtime_2.12/0.6.0/scalapb-runtime_2.12-0.6.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/config/1.3.3/config-1.3.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.0/ssl-config-core_2.12-0.4.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/io/get-coursier/lm-coursier-shaded_2.12/2.0.0-RC6-4/lm-coursier-shaded_2.12-2.0.0-RC6-4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/jline/jline/2.14.6/jline-2.14.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna-platform/5.5.0/jna-platform-5.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.5.0/jna-5.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.11.2/log4j-core-2.11.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.11.2/log4j-slf4j-impl-2.11.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.2/reactive-streams-1.0.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-parser-combinators_2.12/1.1.2/scala-parser-combinators_2.12-1.1.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.3.0/scala-xml_2.12-1.3.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.10/scala-compiler-2.12.10-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.10/scala-library-2.12.10-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.10/scala-reflect-2.12.10-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/actions_2.12/1.3.13/actions_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/collections_2.12/1.3.13/collections_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/command_2.12/1.3.13/command_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-bridge_2.12/1.3.5/compiler-bridge_2.12-1.3.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-interface/1.3.5/compiler-interface-1.3.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/completion_2.12/1.3.13/completion_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/core-macros_2.12/1.3.13/core-macros_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/io_2.12/1.3.4/io_2.12-1.3.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ipcsocket/ipcsocket/1.0.1/ipcsocket-1.0.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ivy/ivy/2.3.0-sbt-839fad1cdc07cf6fc81364d74c323867230432ad/ivy-2.3.0-sbt-839fad1cdc07cf6fc81364d74c323867230432ad-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/launcher-interface/1.1.4/launcher-interface-1.1.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-core_2.12/1.3.4/librarymanagement-core_2.12-1.3.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-ivy_2.12/1.3.4/librarymanagement-ivy_2.12-1.3.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/logic_2.12/1.3.13/logic_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main-settings_2.12/1.3.13/main-settings_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main_2.12/1.3.13/main_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/protocol_2.12/1.3.13/protocol_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/run_2.12/1.3.13/run_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbinary_2.12/0.5.0/sbinary_2.12-0.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbt/1.3.13/sbt-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/scripted-plugin_2.12/1.3.13/scripted-plugin_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/scripted-sbt-redux_2.12/1.3.13/scripted-sbt-redux_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/task-system_2.12/1.3.13/task-system_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/tasks_2.12/1.3.13/tasks_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/template-resolver/0.1/template-resolver-0.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-agent/1.3.13/test-agent-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-interface/1.0/test-interface-1.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/testing_2.12/1.3.13/testing_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-cache_2.12/1.3.3/util-cache_2.12-1.3.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-control_2.12/1.3.3/util-control_2.12-1.3.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-interface/1.3.3/util-interface-1.3.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-logging_2.12/1.3.3/util-logging_2.12-1.3.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-position_2.12/1.3.3/util-position_2.12-1.3.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-relation_2.12/1.3.3/util-relation_2.12-1.3.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-scripted_2.12/1.3.3/util-scripted_2.12-1.3.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-tracking_2.12/1.3.3/util-tracking_2.12-1.3.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-apiinfo_2.12/1.3.5/zinc-apiinfo_2.12-1.3.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classfile_2.12/1.3.5/zinc-classfile_2.12-1.3.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classpath_2.12/1.3.5/zinc-classpath_2.12-1.3.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile-core_2.12/1.3.5/zinc-compile-core_2.12-1.3.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile_2.12/1.3.5/zinc-compile_2.12-1.3.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-core_2.12/1.3.5/zinc-core_2.12-1.3.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-lm-integration_2.12/1.3.13/zinc-lm-integration_2.12-1.3.13-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist_2.12/1.3.5/zinc-persist_2.12-1.3.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc_2.12/1.3.5/zinc_2.12-1.3.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/spire-math/jawn-parser_2.12/0.10.4/jawn-parser_2.12-0.10.4-sources.jar + + + prod_test_sources_separated + $URI_BASE + some-name + some-organization + 1.2.3 + $BASE + $BASE/target + + 2.13.6 + + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6.jar + + + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.3.1/jna-5.3.1.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline/3.19.0/jline-3.19.0.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.6/scala-compiler-2.13.6.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.6/scala-reflect-2.13.6.jar + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2.13 + $BASE/target/scala-2.13/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.13/resource_managed/main + $BASE/target/scala-2.13/classes + + + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2.13 + $BASE/target/scala-2.13/src_managed/test + $BASE/src/test/resources + $BASE/target/scala-2.13/resource_managed/test + $BASE/target/scala-2.13/test-classes + + + + + prod_test_sources_separated:main + + + + + + + + + + + + + + + + + + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Organization/group ID. + 9 + + + + Creates the classloader layering strategy for the particular configuration. + 25 + + + + Project name. + 9 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Configuration for generating a pom. + 10000 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Coursier cache directory. Uses -Dsbt.coursier.home or Coursier's default. + 100 + + + + The project configurations that this configuration depends on + 25 + + + + The location where command line history is persisted. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + Default Scala source directory. + 10 + + + + Project description. + 40 + + + + Configures the module ID of the sources of the compiler bridge when scalaCompilerBridgeBinaryJar is None + 100 + + + + The default directory for manually managed libraries. + 10 + + + + Organization homepage. + 41 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + Defines the binary compatibility version substring. + 39 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Toggles the file stamping implementation used to determine whether or not a file has been modified. + 25 + + + + SemanticDB Scalac plugin + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The name of the current module, used for dependency management. + 40 + + + + Organization full/formal name. + 41 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + The version of Scala used for building. + 9 + + + + User-defined dependency exclusions and sbt itself in the case of metabuild. + 200 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + Toggles whether to use a hash or the last modified time to stamp the classpath jars + 25 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + Logs results after a test task completes. + 20000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + The file globs that are used by a task. This setting will generally be scoped per task. It will also be used to determine the sources to watch during continuous execution. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + Default Java source directory. + 10 + + + + Force the watch process to rerun the current task(s) if any relevant source change is detected regardless of whether or not the underlying file has actually changed. + 10000 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + Directory for compiled classes and copied resources. + 11 + + + + The location of a generated artifact. + 39 + + + + Globs to keep during a clean. Must be direct children of target. + 100 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The output directory to produce META-INF/semanticdb/**/*.semanticdb files + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + Default directory containing sources. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + True if the version of the project is a snapshot version. + 39 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + List of managed resource directories. + 11 + + + + The versions of Scala used when cross-building. + 39 + + + + Declares managed dependencies. + 9 + + + + The dependency management descriptor for the current module. + 41 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Declares managed dependency overrides. + 40 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Continuous execution configuration. + 1000 + + + + Describes an artifact. + 41 + + + + The Scalac options introduced for SemanticDB + 100 + + + + List of tasks that generate sources. + 100 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Source positions where the dependencies are defined. + 20000 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies, all as JARs. + 17 + + + + + 17 + + + + Aggregated credentials across current and root subprojects. Do not rewire this task. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + The configuration used to define the classpath. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + Configures aspects of incremental compilation. + 20000 + + + + Start a provided main class as a background job + 5 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Deletes the ivy cached resolution + 17 + + + + Inter-project and library dependencies. + 200 + + + + Auto-detects main classes. + 31 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + classifiers-module + 200 + + + + Provides the sbt interface to Ivy. + 200 + + + + Start a provided main class as a foreground job + 5 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + Just the exported classpath as JARs without triggering the compilation. + 17 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Optionally, the jar of the compiler bridge. When not None, this takes precedence over scalaCompilerBridgeSource + 100 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Dependency resolution to retrieve sbt's components. + 200 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + The base directory for cached dependencies. + 20000 + + + + General dependency management (Coursier) settings, such as the resolvers and options to use. + 20000 + + + + Configures JVM forking. + 10000 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies, all as JARs. + 17 + + + + Configuration for unresolved dependency warning. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + Options for packaging. + 30 + + + + Defines the filename used to store the incremental compiler analysis file (inside the streams cacheDirectory). + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Implementation used to run a main class. + 20000 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Collects all inputs needed for compilation. + 20000 + + + + Build products that get packaged. + 31 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Defines the main class for packaging or running. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Options for the Scala compiler. + 29 + + + + Configuration for generating ivy.xml. + 10000 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Options for the incremental compiler. + 30 + + + + Display detailed eviction warnings. + 200 + + + + Publishes artifacts to a repository. + 4 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + The external hooks used by zinc. + 17 + + + + Collect analysis file locations for later use. + 17 + + + + Start an application's default main class as a background job + 5 + + + + Build products that go on the exported classpath as JARs. + 17 + + + + All of the file inputs for a task excluding directories and hidden files. + 17 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + The changed files for a task + 17 + + + + Selects the main class to run. + 31 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + + 17 + + + + Resources generated by the build. + 30 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Provides the sbt interface to publisher + 17 + + + + Sources generated by the build. + 30 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Defines test listeners. + 20000 + + + + The internal (inter-project) classpath as JARs. + 17 + + + + + 17 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + + 200 + + + + The files to recursively delete during a clean. + 40 + + + + Configuration for publishing to a repository. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + Build products that go on the exported classpath as JARs if missing. + 17 + + + + All resource files, both managed and unmanaged. + 30 + + + + + 17 + + + + Collects basic options to configure compilers + 20000 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + Resolvers used to resolve compiler bridges. + 100 + + + + Start an application's default main class as a foreground job + 5 + + + + Provides the class loader used for testing. + 20000 + + + + Resolvers used for sbt artifacts. + 17 + + + + Provides the sbt interface to dependency resolution. + 200 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a full report with callers. + 200 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + The files that have changed since the last task run. + 17 + + + + Configuration for generating ivy.xml. + 10000 + + + + All of the file outputs for a task excluding directories and hidden files. + 17 + + + + The internal (inter-project) classpath. + 200 + + + + Read the incremental compiler analysis from disk + 20000 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Unmanaged sources, which are manually created. + 29 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + Copies resources to the output directory. + 6 + + + + Resolvers of the current project, plus those of all from its inter-dependency projects + 17 + + + + Dependency resolution to retrieve the compiler bridge. + 200 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Projects the current project depends on, possibly transitively + 17 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + Provides the list of defined tests. + 31 + + + preferScala2 + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [tree|uses|definitions|actual] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + loadFailed + + + load-failed + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + writeSbtVersion + + + skipBanner + + + notifyUsersAboutShell + + + shell + + + startServer + + + eval + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + lastGrep + + lastGrep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + initialize + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + clearCaches + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + iflast + + + append + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + reboot + + + apply + + + exit + + exit + Terminates the build. + + + + oldshell + + + client + + + < + + + alias + + $BASE/src/test + $BASE/src/main + + + + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6-sources.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/1.3/simple/structure.xml b/extractor/src/test/data/1.3/simple/structure.xml index fead59a0..061038fc 100644 --- a/extractor/src/test/data/1.3/simple/structure.xml +++ b/extractor/src/test/data/1.3/simple/structure.xml @@ -220,7 +220,20 @@ $BASE/target/scala-2.13/test-classes - + + + + + + + + + + + + + + @@ -1543,6 +1556,8 @@ alias + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.4/prod_test_sources_separated/build.sbt b/extractor/src/test/data/1.4/prod_test_sources_separated/build.sbt new file mode 100644 index 00000000..7a64234d --- /dev/null +++ b/extractor/src/test/data/1.4/prod_test_sources_separated/build.sbt @@ -0,0 +1,4 @@ +name := "some-name" +organization := "some-organization" +version := "1.2.3" +scalaVersion := "2.13.6" diff --git a/extractor/src/test/data/1.4/prod_test_sources_separated/project/build.properties b/extractor/src/test/data/1.4/prod_test_sources_separated/project/build.properties new file mode 100644 index 00000000..dbae93bc --- /dev/null +++ b/extractor/src/test/data/1.4/prod_test_sources_separated/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.4.9 diff --git a/extractor/src/test/data/1.4/prod_test_sources_separated/structure.xml b/extractor/src/test/data/1.4/prod_test_sources_separated/structure.xml new file mode 100644 index 00000000..f5668220 --- /dev/null +++ b/extractor/src/test/data/1.4/prod_test_sources_separated/structure.xml @@ -0,0 +1,1825 @@ + + + + $URI_BASE + import _root_.sbt.Keys._ + import _root_.sbt.ScriptedPlugin.autoImport._, _root_.sbt.plugins.MiniDependencyTreePlugin.autoImport._ + import _root_.sbt._ + import _root_.sbt.nio.Keys._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.ScriptedPlugin, _root_.sbt.plugins.SbtPlugin, _root_.sbt.plugins.SemanticdbPlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin, _root_.sbt.plugins.MiniDependencyTreePlugin + import _root_.scala.xml.{TopScope=>$scope} + $SBT_BOOT/scala-2.12.12/lib/jansi.jar + $SBT_BOOT/scala-2.12.12/lib/jline.jar + $SBT_BOOT/scala-2.12.12/lib/scala-compiler.jar + $SBT_BOOT/scala-2.12.12/lib/scala-library.jar + $SBT_BOOT/scala-2.12.12/lib/scala-reflect.jar + $SBT_BOOT/scala-2.12.12/lib/scala-xml_2.12.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/actions_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/caffeine-2.8.5.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/checker-qual-3.4.1.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/collections_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/command_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/compiler-bridge_2.12-1.4.4.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/compiler-interface-1.4.4.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/completion_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/config-1.3.3.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/core-macros_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/disruptor-3.4.2.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/error_prone_annotations-2.4.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/file-tree-views-2.1.6.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/gigahorse-core_2.12-0.5.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/gigahorse-okhttp_2.12-0.5.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/io_2.12-1.4.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/ipcsocket-1.3.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/ivy-2.3.0-sbt-fbc4f586aeeb1591710b14eb4f41b94880dcd745.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/jansi-2.1.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/jline-2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/jline-builtins-3.19.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/jline-reader-3.19.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/jline-style-3.19.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/jline-terminal-3.19.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/jline-terminal-jansi-3.19.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/jline-terminal-jna-3.19.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/jna-5.5.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/jna-platform-5.5.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/jsch-0.1.54.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/launcher-interface-1.1.6.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/librarymanagement-core_2.12-1.4.3.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/librarymanagement-ivy_2.12-1.4.3.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/lm-coursier-shaded_2.12-2.0.6.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/log4j-api-2.11.2.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/log4j-core-2.11.2.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/log4j-slf4j-impl-2.11.2.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/logic_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/main-settings_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/main_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/okhttp-3.14.2.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/okhttp-urlconnection-3.7.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/okio-1.17.2.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/protocol_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/reactive-streams-1.0.2.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/run_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/sbinary_2.12-0.5.1.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/sbt-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/scala-collection-compat_2.12-2.3.2.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/scala-parser-combinators_2.12-1.1.2.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/scala-reflect-2.12.12.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/scala-xml_2.12-1.3.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/scripted-plugin_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/shaded-jawn-parser_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/shaded-scalajson_2.12-1.0.0-M4.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/sjson-new-core_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/sjson-new-murmurhash_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/sjson-new-scalajson_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/slf4j-api-1.7.26.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/ssl-config-core_2.12-0.4.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/task-system_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/tasks_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/template-resolver-0.1.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/test-agent-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/test-interface-1.0.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/testing_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/util-cache_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/util-control_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/util-interface-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/util-logging_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/util-position_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/util-relation_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/util-tracking_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/zero-allocation-hashing-0.10.1.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/zinc-apiinfo_2.12-1.4.4.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/zinc-classfile_2.12-1.4.4.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/zinc-classpath_2.12-1.4.4.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/zinc-compile-core_2.12-1.4.4.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/zinc-compile_2.12-1.4.4.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/zinc-core_2.12-1.4.4.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/zinc-lm-integration_2.12-1.4.9.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/zinc-persist-core-assembly-1.4.4.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/zinc-persist_2.12-1.4.4.jar + $SBT_BOOT/scala-2.12.12/org.scala-sbt/sbt/1.4.9/zinc_2.12-1.4.4.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-core_2.12/0.5.0/gigahorse-core_2.12-0.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-okhttp_2.12/0.5.0/gigahorse-okhttp_2.12-0.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-jawn-parser_2.12/0.9.1/shaded-jawn-parser_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-scalajson_2.12/1.0.0-M4/shaded-scalajson_2.12-1.0.0-M4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-core_2.12/0.9.1/sjson-new-core_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-murmurhash_2.12/0.9.1/sjson-new-murmurhash_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-scalajson_2.12/0.9.1/sjson-new-scalajson_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/github/ben-manes/caffeine/caffeine/2.8.5/caffeine-2.8.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/jcraft/jsch/0.1.54/jsch-0.1.54-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/lmax/disruptor/3.4.2/disruptor-3.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/squareup/okhttp3/okhttp-urlconnection/3.7.0/okhttp-urlconnection-3.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/squareup/okhttp3/okhttp/3.14.2/okhttp-3.14.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/squareup/okio/okio/1.17.2/okio-1.17.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/swoval/file-tree-views/2.1.6/file-tree-views-2.1.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/config/1.3.3/config-1.3.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.0/ssl-config-core_2.12-0.4.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/io/get-coursier/lm-coursier-shaded_2.12/2.0.6/lm-coursier-shaded_2.12-2.0.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna-platform/5.5.0/jna-platform-5.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.5.0/jna-5.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/openhft/zero-allocation-hashing/0.10.1/zero-allocation-hashing-0.10.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.11.2/log4j-core-2.11.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.11.2/log4j-slf4j-impl-2.11.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/checkerframework/checker-qual/3.4.1/checker-qual-3.4.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/fusesource/jansi/jansi/2.1.0/jansi-2.1.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-builtins/3.19.0/jline-builtins-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-reader/3.19.0/jline-reader-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-style/3.19.0/jline-style-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal-jansi/3.19.0/jline-terminal-jansi-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal-jna/3.19.0/jline-terminal-jna-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal/3.19.0/jline-terminal-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.2/reactive-streams-1.0.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.12/2.3.2/scala-collection-compat_2.12-2.3.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-parser-combinators_2.12/1.1.2/scala-parser-combinators_2.12-1.1.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.3.0/scala-xml_2.12-1.3.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.12/scala-compiler-2.12.12-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.12/scala-library-2.12.12-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.12/scala-reflect-2.12.12-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/actions_2.12/1.4.9/actions_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/collections_2.12/1.4.9/collections_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/command_2.12/1.4.9/command_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-bridge_2.12/1.4.4/compiler-bridge_2.12-1.4.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-interface/1.4.4/compiler-interface-1.4.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/completion_2.12/1.4.9/completion_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/core-macros_2.12/1.4.9/core-macros_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/io_2.12/1.4.0/io_2.12-1.4.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ipcsocket/ipcsocket/1.3.0/ipcsocket-1.3.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ivy/ivy/2.3.0-sbt-fbc4f586aeeb1591710b14eb4f41b94880dcd745/ivy-2.3.0-sbt-fbc4f586aeeb1591710b14eb4f41b94880dcd745-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/jline/jline/2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493/jline-2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/launcher-interface/1.1.6/launcher-interface-1.1.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-core_2.12/1.4.3/librarymanagement-core_2.12-1.4.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-ivy_2.12/1.4.3/librarymanagement-ivy_2.12-1.4.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/logic_2.12/1.4.9/logic_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main-settings_2.12/1.4.9/main-settings_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main_2.12/1.4.9/main_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/protocol_2.12/1.4.9/protocol_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/run_2.12/1.4.9/run_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbinary_2.12/0.5.1/sbinary_2.12-0.5.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbt/1.4.9/sbt-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/scripted-plugin_2.12/1.4.9/scripted-plugin_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/task-system_2.12/1.4.9/task-system_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/tasks_2.12/1.4.9/tasks_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/template-resolver/0.1/template-resolver-0.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-agent/1.4.9/test-agent-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-interface/1.0/test-interface-1.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/testing_2.12/1.4.9/testing_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-cache_2.12/1.4.9/util-cache_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-control_2.12/1.4.9/util-control_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-interface/1.4.9/util-interface-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-logging_2.12/1.4.9/util-logging_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-position_2.12/1.4.9/util-position_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-relation_2.12/1.4.9/util-relation_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-tracking_2.12/1.4.9/util-tracking_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-apiinfo_2.12/1.4.4/zinc-apiinfo_2.12-1.4.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classfile_2.12/1.4.4/zinc-classfile_2.12-1.4.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classpath_2.12/1.4.4/zinc-classpath_2.12-1.4.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile-core_2.12/1.4.4/zinc-compile-core_2.12-1.4.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile_2.12/1.4.4/zinc-compile_2.12-1.4.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-core_2.12/1.4.4/zinc-core_2.12-1.4.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-lm-integration_2.12/1.4.9/zinc-lm-integration_2.12-1.4.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist-core-assembly/1.4.4/zinc-persist-core-assembly-1.4.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist_2.12/1.4.4/zinc-persist_2.12-1.4.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc_2.12/1.4.4/zinc_2.12-1.4.4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26-sources.jar + + + prod_test_sources_separated + $URI_BASE + some-name + some-organization + 1.2.3 + $BASE + $BASE/target + + 2.13.6 + + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6.jar + + + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.3.1/jna-5.3.1.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline/3.19.0/jline-3.19.0.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.6/scala-compiler-2.13.6.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.6/scala-reflect-2.13.6.jar + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2 + $BASE/src/main/scala-2.13 + $BASE/target/scala-2.13/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.13/resource_managed/main + $BASE/target/scala-2.13/classes + + + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2 + $BASE/src/test/scala-2.13 + $BASE/target/scala-2.13/src_managed/test + $BASE/src/test/resources + $BASE/target/scala-2.13/resource_managed/test + $BASE/target/scala-2.13/test-classes + + + + + prod_test_sources_separated:main + + + + + + + + + + + + + + + + + + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Organization/group ID. + 9 + + + + Creates the classloader layering strategy for the particular configuration. + 25 + + + + The output directory to produce Zinc Analysis files + 10000 + + + + Project name. + 9 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Enables publishing an artifact to remote cache. + 25 + + + + Configuration for generating a pom. + 10000 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Coursier cache directory. Uses -Dsbt.coursier.home or Coursier's default. + 100 + + + + The project configurations that this configuration depends on + 25 + + + + The location where command line history is persisted. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + Default Scala source directory. + 10 + + + + + 25 + + + + Project description. + 40 + + + + Configures the module ID of the sources of the compiler bridge when scalaCompilerBridgeBinaryJar is None + 100 + + + + The default directory for manually managed libraries. + 10 + + + + Organization homepage. + 41 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + Defines the binary compatibility version substring. + 39 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Toggles the file stamping implementation used to determine whether or not a file has been modified. + 25 + + + + SemanticDB Scalac plugin + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The name of the current module, used for dependency management. + 40 + + + + Organization full/formal name. + 41 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Toggles whether or not to cache jar classpath entries between command evaluations + 25 + + + + The version of Scala used for building. + 9 + + + + User-defined dependency exclusions and sbt itself in the case of metabuild. + 200 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + JAR file for pickles used for build pipelining + 25 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + The output directory to produce Zinc Analysis files + 10000 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + Toggles whether to use a hash or the last modified time to stamp the classpath jars + 25 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + Logs results after a test task completes. + 20000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + The file globs that are used by a task. This setting will generally be scoped per task. It will also be used to determine the sources to watch during continuous execution. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + Default Java source directory. + 10 + + + + Resolvers for remote cache. + 25 + + + + Force the watch process to rerun the current task(s) if any relevant source change is detected regardless of whether or not the underlying file has actually changed. + 10000 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + Directory for compiled classes and copied resources. + 11 + + + + The location of a generated artifact. + 39 + + + + Globs to keep during a clean. Must be direct children of target. + 100 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The output directory to produce META-INF/semanticdb/**/*.semanticdb files + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + Default directory containing sources. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + True if the version of the project is a snapshot version. + 39 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + List of managed resource directories. + 11 + + + + Directory or JAR file for compiled classes and copied resources + 25 + + + + The project configurations that this configuration depends on, possibly transitivly + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Declares managed dependencies. + 9 + + + + The dependency management descriptor for the current module. + 41 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Build target identifier of a project and configuration. + 10000 + + + + Declares managed dependency overrides. + 40 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Continuous execution configuration. + 1000 + + + + Options for resolving managed dependencies. + 10000 + + + + Describes an artifact. + 41 + + + + The Scalac options introduced for SemanticDB + 100 + + + + List of tasks that generate sources. + 100 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Source positions where the dependencies are defined. + 20000 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies, all as JARs. + 17 + + + + + 17 + + + + Aggregated credentials across current and root subprojects. Do not rewire this task. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Remote cache ids to pull. + 17 + + + + Retrieve remote cache. + 17 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Callback used by the compiler to report phase progress + 17 + + + + The configuration used to define the classpath. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + The internal (inter-project) pickles. This task is promise-blocked. + 17 + + + + Generates a pom for publishing when publishing Maven-style. + 17 + + + + Configures aspects of incremental compilation. + 20000 + + + + Start a provided main class as a background job + 5 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Deletes the ivy cached resolution + 17 + + + + Inter-project and library dependencies. + 200 + + + + Auto-detects main classes. + 31 + + + + The dependency graph for a project + 17 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + classifiers-module + 200 + + + + Provides the sbt interface to Ivy. + 200 + + + + Start a provided main class as a foreground job + 5 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + + 20000 + + + + Just the exported classpath as JARs without triggering the compilation. + 17 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Optionally, the jar of the compiler bridge. When not None, this takes precedence over scalaCompilerBridgeSource + 100 + + + + Zinc analysis storage for early compilation + 10000 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Dependency resolution to retrieve sbt's components. + 200 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + The base directory for cached dependencies. + 20000 + + + + General dependency management (Coursier) settings, such as the resolvers and options to use. + 20000 + + + + Configures JVM forking. + 10000 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Watch a task (or multiple tasks) and rebuild when its file inputs change or user input is received. The semantics are more or less the same as the `~` command except that it cannot transform the state on exit. This means that it cannot be used to reload the build. + 10000 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies, all as JARs. + 17 + + + + Configuration for unresolved dependency warning. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + Produces the main artifact for caching. + 17 + + + + Options for packaging. + 30 + + + + Defines the filename used for compileAnalysisFile. + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Implementation used to run a main class. + 20000 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Remote cache artifact definitions. + 17 + + + + Collects all inputs needed for compilation. + 20000 + + + + Build products that get packaged. + 31 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Defines the main class for packaging or running. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Options for the Scala compiler. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 200 + + + + Configuration for generating ivy.xml. + 10000 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Options for the incremental compiler. + 30 + + + + Display detailed eviction warnings. + 200 + + + + Publishes artifacts to a repository. + 4 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + The external hooks used by zinc. + 17 + + + + Collect analysis file locations for later use. + 17 + + + + + 20000 + + + + Start an application's default main class as a background job + 5 + + + + Build products that go on the exported classpath as JARs. + 17 + + + + All of the file inputs for a task excluding directories and hidden files. + 17 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + The changed files for a task + 17 + + + + Selects the main class to run. + 31 + + + + Provides the string value for the task it is scoped for + 17 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + + 17 + + + + Resources generated by the build. + 30 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + + 17 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Provides the sbt interface to publisher + 17 + + + + Sources generated by the build. + 30 + + + + Prints an ascii tree of all the dependencies to the console + 17 + + + + The classpath consisting of internal pickles and external, managed and unmanaged dependencies. This task is promise-blocked. + 17 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Defines test listeners. + 20000 + + + + The internal (inter-project) classpath as JARs. + 17 + + + + + 17 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + + 200 + + + + The files to recursively delete during a clean. + 40 + + + + Configuration for publishing to a repository. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + Build products that go on the exported classpath as JARs if missing. + 17 + + + + All resource files, both managed and unmanaged. + 30 + + + + + 17 + + + + Collects basic options to configure compilers + 20000 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + + 20000 + + + + Resolvers used to resolve compiler bridges. + 100 + + + + Start an application's default main class as a foreground job + 5 + + + + + 20000 + + + + Zinc analysis storage. + 10000 + + + + Provides the class loader used for testing. + 20000 + + + + Pickle JARs + 20000 + + + + Resolvers used for sbt artifacts. + 17 + + + + Provides the sbt interface to dependency resolution. + 200 + + + + The stored module-graph from the last run + 17 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a full report with callers. + 200 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + The files that have changed since the last task run. + 17 + + + + Configuration for generating ivy.xml. + 10000 + + + + All of the file outputs for a task excluding directories and hidden files. + 17 + + + + Build products that go on the exported compilation classpath as JARs. Note this is promise-blocked. + 20000 + + + + update used for dependencyTree task + 17 + + + + Push remote cache to the cache server. + 17 + + + + The internal (inter-project) classpath. + 200 + + + + Read the incremental compiler analysis from disk + 20000 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Unique identifier for the remote cache. + 17 + + + + Unmanaged sources, which are manually created. + 29 + + + + ModuleID used for remote cache JARs. + 17 + + + + Corresponds to buildTarget/run request + 20000 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + + 20000 + + + + Copies resources to the output directory. + 6 + + + + Description of the BSP build targets + 20000 + + + + Resolvers of the current project, plus those of all from its inter-dependency projects + 17 + + + + Dependency resolution to retrieve the compiler bridge. + 200 + + + + + 20000 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + Writes the task value to the given file + 5 + + + + The remote cache artifact definition. + 17 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Projects the current project depends on, possibly transitively + 17 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + Provides the list of defined tests. + 31 + + + preferScala2 + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [tree|uses|definitions|actual] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + loadFailed + + + load-failed + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + writeSbtVersion + + + skipBanner + + + notifyUsersAboutShell + + + shell + + + startServer + + + eval + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + lastGrep + + lastGrep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + initialize + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + clearCaches + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + iflast + + + append + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + reboot + + + apply + + + exit + + exit + Terminates the remote client or the build when called from the console. + + + + shutdown + + shutdown + Terminates the build. + + + + oldshell + + + client + + + < + + + alias + + + bspReload + + + bspReloadFailed + + + bspReloadSucceed + + $BASE/src/test + $BASE/src/main + + + + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6-sources.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/1.4/simple/structure.xml b/extractor/src/test/data/1.4/simple/structure.xml index 96aa331f..a2db72b9 100644 --- a/extractor/src/test/data/1.4/simple/structure.xml +++ b/extractor/src/test/data/1.4/simple/structure.xml @@ -226,7 +226,20 @@ $BASE/target/scala-2.13/test-classes - + + + + + + + + + + + + + + @@ -1795,6 +1808,8 @@ bspReloadSucceed + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.5/prod_test_sources_separated/build.sbt b/extractor/src/test/data/1.5/prod_test_sources_separated/build.sbt new file mode 100644 index 00000000..7a64234d --- /dev/null +++ b/extractor/src/test/data/1.5/prod_test_sources_separated/build.sbt @@ -0,0 +1,4 @@ +name := "some-name" +organization := "some-organization" +version := "1.2.3" +scalaVersion := "2.13.6" diff --git a/extractor/src/test/data/1.5/prod_test_sources_separated/project/build.properties b/extractor/src/test/data/1.5/prod_test_sources_separated/project/build.properties new file mode 100644 index 00000000..10fd9eee --- /dev/null +++ b/extractor/src/test/data/1.5/prod_test_sources_separated/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.5.5 diff --git a/extractor/src/test/data/1.5/prod_test_sources_separated/structure.xml b/extractor/src/test/data/1.5/prod_test_sources_separated/structure.xml new file mode 100644 index 00000000..29ce1ba7 --- /dev/null +++ b/extractor/src/test/data/1.5/prod_test_sources_separated/structure.xml @@ -0,0 +1,1845 @@ + + + + $URI_BASE + import _root_.sbt.Keys._ + import _root_.sbt.ScriptedPlugin.autoImport._, _root_.sbt.plugins.JUnitXmlReportPlugin.autoImport._, _root_.sbt.plugins.MiniDependencyTreePlugin.autoImport._ + import _root_.sbt._ + import _root_.sbt.nio.Keys._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.ScriptedPlugin, _root_.sbt.plugins.SbtPlugin, _root_.sbt.plugins.SemanticdbPlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin, _root_.sbt.plugins.MiniDependencyTreePlugin + import _root_.scala.xml.{TopScope=>$scope} + $SBT_BOOT/scala-2.12.14/lib/jansi.jar + $SBT_BOOT/scala-2.12.14/lib/jline.jar + $SBT_BOOT/scala-2.12.14/lib/scala-compiler.jar + $SBT_BOOT/scala-2.12.14/lib/scala-library.jar + $SBT_BOOT/scala-2.12.14/lib/scala-reflect.jar + $SBT_BOOT/scala-2.12.14/lib/scala-xml_2.12.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/actions_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/caffeine-2.8.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/checker-qual-3.4.1.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/collections_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/command_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/compiler-bridge_2.12-1.5.7.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/compiler-interface-1.5.7.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/completion_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/config-1.3.3.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/core-macros_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/disruptor-3.4.2.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/error_prone_annotations-2.4.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/file-tree-views-2.1.6.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/gigahorse-core_2.12-0.5.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/gigahorse-okhttp_2.12-0.5.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/io_2.12-1.5.1.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/ipcsocket-1.3.1.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/ivy-2.3.0-sbt-fbc4f586aeeb1591710b14eb4f41b94880dcd745.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/jansi-2.1.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/jline-2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/jline-builtins-3.19.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/jline-reader-3.19.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/jline-style-3.19.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/jline-terminal-3.19.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/jline-terminal-jansi-3.19.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/jline-terminal-jna-3.19.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/jna-5.5.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/jna-platform-5.5.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/jsch-0.1.54.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/launcher-interface-1.3.3.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/librarymanagement-core_2.12-1.5.3.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/librarymanagement-ivy_2.12-1.5.3.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/lm-coursier-shaded_2.12-2.0.8.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/log4j-api-2.11.2.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/log4j-core-2.11.2.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/log4j-slf4j-impl-2.11.2.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/logic_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/main-settings_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/main_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/okhttp-3.14.2.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/okhttp-urlconnection-3.7.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/okio-1.17.2.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/protocol_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/reactive-streams-1.0.2.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/run_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/sbinary_2.12-0.5.1.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/sbt-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/scala-collection-compat_2.12-2.4.2.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/scala-parser-combinators_2.12-1.1.2.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/scala-reflect-2.12.14.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/scala-xml_2.12-1.3.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/scripted-plugin_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/shaded-jawn-parser_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/shaded-scalajson_2.12-1.0.0-M4.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/sjson-new-core_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/sjson-new-murmurhash_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/sjson-new-scalajson_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/slf4j-api-1.7.26.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/ssl-config-core_2.12-0.4.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/task-system_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/tasks_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/template-resolver-0.1.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/test-agent-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/test-interface-1.0.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/testing_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/util-cache_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/util-control_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/util-interface-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/util-logging_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/util-position_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/util-relation_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/util-tracking_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/zero-allocation-hashing-0.10.1.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/zinc-apiinfo_2.12-1.5.7.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/zinc-classfile_2.12-1.5.7.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/zinc-classpath_2.12-1.5.7.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/zinc-compile-core_2.12-1.5.7.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/zinc-compile_2.12-1.5.7.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/zinc-core_2.12-1.5.7.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/zinc-lm-integration_2.12-1.5.5.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/zinc-persist-core-assembly-1.5.7.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/zinc-persist_2.12-1.5.7.jar + $SBT_BOOT/scala-2.12.14/org.scala-sbt/sbt/1.5.5/zinc_2.12-1.5.7.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-core_2.12/0.5.0/gigahorse-core_2.12-0.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-okhttp_2.12/0.5.0/gigahorse-okhttp_2.12-0.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-jawn-parser_2.12/0.9.1/shaded-jawn-parser_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-scalajson_2.12/1.0.0-M4/shaded-scalajson_2.12-1.0.0-M4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-core_2.12/0.9.1/sjson-new-core_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-murmurhash_2.12/0.9.1/sjson-new-murmurhash_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-scalajson_2.12/0.9.1/sjson-new-scalajson_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/github/ben-manes/caffeine/caffeine/2.8.5/caffeine-2.8.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/jcraft/jsch/0.1.54/jsch-0.1.54-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/lmax/disruptor/3.4.2/disruptor-3.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/squareup/okhttp3/okhttp-urlconnection/3.7.0/okhttp-urlconnection-3.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/squareup/okhttp3/okhttp/3.14.2/okhttp-3.14.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/squareup/okio/okio/1.17.2/okio-1.17.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/swoval/file-tree-views/2.1.6/file-tree-views-2.1.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/config/1.3.3/config-1.3.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.0/ssl-config-core_2.12-0.4.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/io/get-coursier/lm-coursier-shaded_2.12/2.0.8/lm-coursier-shaded_2.12-2.0.8-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna-platform/5.5.0/jna-platform-5.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.5.0/jna-5.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/openhft/zero-allocation-hashing/0.10.1/zero-allocation-hashing-0.10.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.11.2/log4j-core-2.11.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.11.2/log4j-slf4j-impl-2.11.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/checkerframework/checker-qual/3.4.1/checker-qual-3.4.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/fusesource/jansi/jansi/2.1.0/jansi-2.1.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-builtins/3.19.0/jline-builtins-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-reader/3.19.0/jline-reader-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-style/3.19.0/jline-style-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal-jansi/3.19.0/jline-terminal-jansi-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal-jna/3.19.0/jline-terminal-jna-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal/3.19.0/jline-terminal-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.2/reactive-streams-1.0.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.12/2.4.2/scala-collection-compat_2.12-2.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-parser-combinators_2.12/1.1.2/scala-parser-combinators_2.12-1.1.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.3.0/scala-xml_2.12-1.3.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.14/scala-compiler-2.12.14-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.14/scala-library-2.12.14-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.14/scala-reflect-2.12.14-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/actions_2.12/1.5.5/actions_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/collections_2.12/1.5.5/collections_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/command_2.12/1.5.5/command_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-bridge_2.12/1.5.7/compiler-bridge_2.12-1.5.7-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-interface/1.5.7/compiler-interface-1.5.7-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/completion_2.12/1.5.5/completion_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/core-macros_2.12/1.5.5/core-macros_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/io_2.12/1.5.1/io_2.12-1.5.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ipcsocket/ipcsocket/1.3.1/ipcsocket-1.3.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ivy/ivy/2.3.0-sbt-fbc4f586aeeb1591710b14eb4f41b94880dcd745/ivy-2.3.0-sbt-fbc4f586aeeb1591710b14eb4f41b94880dcd745-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/jline/jline/2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493/jline-2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/launcher-interface/1.3.3/launcher-interface-1.3.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-core_2.12/1.5.3/librarymanagement-core_2.12-1.5.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-ivy_2.12/1.5.3/librarymanagement-ivy_2.12-1.5.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/logic_2.12/1.5.5/logic_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main-settings_2.12/1.5.5/main-settings_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main_2.12/1.5.5/main_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/protocol_2.12/1.5.5/protocol_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/run_2.12/1.5.5/run_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbinary_2.12/0.5.1/sbinary_2.12-0.5.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbt/1.5.5/sbt-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/scripted-plugin_2.12/1.5.5/scripted-plugin_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/task-system_2.12/1.5.5/task-system_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/tasks_2.12/1.5.5/tasks_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/template-resolver/0.1/template-resolver-0.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-agent/1.5.5/test-agent-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-interface/1.0/test-interface-1.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/testing_2.12/1.5.5/testing_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-cache_2.12/1.5.5/util-cache_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-control_2.12/1.5.5/util-control_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-interface/1.5.5/util-interface-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-logging_2.12/1.5.5/util-logging_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-position_2.12/1.5.5/util-position_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-relation_2.12/1.5.5/util-relation_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-tracking_2.12/1.5.5/util-tracking_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-apiinfo_2.12/1.5.7/zinc-apiinfo_2.12-1.5.7-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classfile_2.12/1.5.7/zinc-classfile_2.12-1.5.7-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classpath_2.12/1.5.7/zinc-classpath_2.12-1.5.7-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile-core_2.12/1.5.7/zinc-compile-core_2.12-1.5.7-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile_2.12/1.5.7/zinc-compile_2.12-1.5.7-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-core_2.12/1.5.7/zinc-core_2.12-1.5.7-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-lm-integration_2.12/1.5.5/zinc-lm-integration_2.12-1.5.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist-core-assembly/1.5.7/zinc-persist-core-assembly-1.5.7-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist_2.12/1.5.7/zinc-persist_2.12-1.5.7-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc_2.12/1.5.7/zinc_2.12-1.5.7-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26-sources.jar + + + prod_test_sources_separated + $URI_BASE + some-name + some-organization + 1.2.3 + $BASE + $BASE/target + + 2.13.6 + + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6.jar + + + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.3.1/jna-5.3.1.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline/3.19.0/jline-3.19.0.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.6/scala-compiler-2.13.6.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.6/scala-reflect-2.13.6.jar + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2 + $BASE/src/main/scala-2.13 + $BASE/target/scala-2.13/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.13/resource_managed/main + $BASE/target/scala-2.13/classes + + + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2 + $BASE/src/test/scala-2.13 + $BASE/target/scala-2.13/src_managed/test + $BASE/src/test/resources + $BASE/target/scala-2.13/resource_managed/test + $BASE/target/scala-2.13/test-classes + + + + + prod_test_sources_separated:main + + + + + + + + + + + + + + + + + + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Organization/group ID. + 9 + + + + Directory for outputting junit test reports. + 11 + + + + Creates the classloader layering strategy for the particular configuration. + 25 + + + + The output directory to produce Zinc Analysis files + 10000 + + + + Project name. + 9 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Enables publishing an artifact to remote cache. + 25 + + + + Configuration for generating a pom. + 10000 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Coursier cache directory. Uses -Dsbt.coursier.home or Coursier's default. + 100 + + + + The project configurations that this configuration depends on + 25 + + + + The location where command line history is persisted. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + Default Scala source directory. + 10 + + + + + 25 + + + + Project description. + 40 + + + + Configures the module ID of the sources of the compiler bridge when scalaCompilerBridgeBinaryJar is None + 100 + + + + The default directory for manually managed libraries. + 10 + + + + Organization homepage. + 41 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + Defines the binary compatibility version substring. + 39 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Toggles the file stamping implementation used to determine whether or not a file has been modified. + 25 + + + + SemanticDB Scalac plugin + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The name of the current module, used for dependency management. + 40 + + + + Organization full/formal name. + 41 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Toggles whether or not to cache jar classpath entries between command evaluations + 25 + + + + The version of Scala used for building. + 9 + + + + User-defined dependency exclusions and sbt itself in the case of metabuild. + 200 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + JAR file for pickles used for build pipelining + 25 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + The output directory to produce Zinc Analysis files + 10000 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + Toggles whether to use a hash or the last modified time to stamp the classpath jars + 25 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + Logs results after a test task completes. + 20000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + The file globs that are used by a task. This setting will generally be scoped per task. It will also be used to determine the sources to watch during continuous execution. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + Default Java source directory. + 10 + + + + Resolvers for remote cache. + 25 + + + + Force the watch process to rerun the current task(s) if any relevant source change is detected regardless of whether or not the underlying file has actually changed. + 10000 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + Directory for compiled classes and copied resources. + 11 + + + + The location of a generated artifact. + 39 + + + + Globs to keep during a clean. Must be direct children of target. + 100 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The output directory to produce META-INF/semanticdb/**/*.semanticdb files + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + Default directory containing sources. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + True if the version of the project is a snapshot version. + 39 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + List of managed resource directories. + 11 + + + + Directory or JAR file for compiled classes and copied resources + 25 + + + + The project configurations that this configuration depends on, possibly transitivly + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Declares managed dependencies. + 9 + + + + The dependency management descriptor for the current module. + 41 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Build target identifier of a project and configuration. + 10000 + + + + Declares managed dependency overrides. + 40 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Continuous execution configuration. + 1000 + + + + Options for resolving managed dependencies. + 10000 + + + + Describes an artifact. + 41 + + + + The Scalac options introduced for SemanticDB + 100 + + + + List of tasks that generate sources. + 100 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Source positions where the dependencies are defined. + 20000 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies, all as JARs. + 17 + + + + + 17 + + + + Aggregated credentials across current and root subprojects. Do not rewire this task. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Remote cache ids to pull. + 17 + + + + Retrieve remote cache. + 17 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Callback used by the compiler to report phase progress + 17 + + + + The configuration used to define the classpath. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + The internal (inter-project) pickles. This task is promise-blocked. + 17 + + + + Generates a pom for publishing when publishing Maven-style. + 17 + + + + Configures aspects of incremental compilation. + 20000 + + + + Start a provided main class as a background job + 5 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Deletes the ivy cached resolution + 17 + + + + Inter-project and library dependencies. + 200 + + + + Auto-detects main classes. + 31 + + + + The dependency graph for a project + 17 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + classifiers-module + 200 + + + + Provides the sbt interface to Ivy. + 200 + + + + Start a provided main class as a foreground job + 5 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + + 20000 + + + + Just the exported classpath as JARs without triggering the compilation. + 17 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Optionally, the jar of the compiler bridge. When not None, this takes precedence over scalaCompilerBridgeSource + 100 + + + + Zinc analysis storage for early compilation + 10000 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Dependency resolution to retrieve sbt's components. + 200 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + The base directory for cached dependencies. + 20000 + + + + General dependency management (Coursier) settings, such as the resolvers and options to use. + 20000 + + + + Configures JVM forking. + 10000 + + + + The auxiliary class files that must be managed by Zinc (for instance the TASTy files) + 17 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Watch a task (or multiple tasks) and rebuild when its file inputs change or user input is received. The semantics are more or less the same as the `~` command except that it cannot transform the state on exit. This means that it cannot be used to reload the build. + 10000 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + + 20000 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies, all as JARs. + 17 + + + + Configuration for unresolved dependency warning. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + Produces the main artifact for caching. + 17 + + + + Options for packaging. + 30 + + + + Defines the filename used for compileAnalysisFile. + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Implementation used to run a main class. + 20000 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Remote cache artifact definitions. + 17 + + + + Collects all inputs needed for compilation. + 20000 + + + + Build products that get packaged. + 31 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Defines the main class for packaging or running. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Options for the Scala compiler. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 200 + + + + Configuration for generating ivy.xml. + 10000 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Options for the incremental compiler. + 30 + + + + Display detailed eviction warnings. + 200 + + + + Publishes artifacts to a repository. + 4 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + The external hooks used by zinc. + 17 + + + + Collect analysis file locations for later use. + 17 + + + + + 20000 + + + + Start an application's default main class as a background job + 5 + + + + Build products that go on the exported classpath as JARs. + 17 + + + + All of the file inputs for a task excluding directories and hidden files. + 17 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + The changed files for a task + 17 + + + + Selects the main class to run. + 31 + + + + Provides the string value for the task it is scoped for + 17 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + + 17 + + + + Resources generated by the build. + 30 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + + 17 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Provides the sbt interface to publisher + 17 + + + + Sources generated by the build. + 30 + + + + Prints an ascii tree of all the dependencies to the console + 17 + + + + The classpath consisting of internal pickles and external, managed and unmanaged dependencies. This task is promise-blocked. + 17 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Defines test listeners. + 20000 + + + + The internal (inter-project) classpath as JARs. + 17 + + + + + 17 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + + 200 + + + + The files to recursively delete during a clean. + 40 + + + + Configuration for publishing to a repository. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + Build products that go on the exported classpath as JARs if missing. + 17 + + + + All resource files, both managed and unmanaged. + 30 + + + + + 17 + + + + Collects basic options to configure compilers + 20000 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + + 20000 + + + + Resolvers used to resolve compiler bridges. + 100 + + + + Start an application's default main class as a foreground job + 5 + + + + + 20000 + + + + Zinc analysis storage. + 10000 + + + + Provides the class loader used for testing. + 20000 + + + + Pickle JARs + 20000 + + + + Resolvers used for sbt artifacts. + 17 + + + + Provides the sbt interface to dependency resolution. + 200 + + + + The stored module-graph from the last run + 17 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a full report with callers. + 200 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + The files that have changed since the last task run. + 17 + + + + Configuration for generating ivy.xml. + 10000 + + + + All of the file outputs for a task excluding directories and hidden files. + 17 + + + + Build products that go on the exported compilation classpath as JARs. Note this is promise-blocked. + 20000 + + + + update used for dependencyTree task + 17 + + + + Push remote cache to the cache server. + 17 + + + + The internal (inter-project) classpath. + 200 + + + + Read the incremental compiler analysis from disk + 20000 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Unique identifier for the remote cache. + 17 + + + + Unmanaged sources, which are manually created. + 29 + + + + ModuleID used for remote cache JARs. + 17 + + + + Corresponds to buildTarget/run request + 20000 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + + 20000 + + + + Copies resources to the output directory. + 6 + + + + Returns the TASTy files produced by compilation + 20000 + + + + Description of the BSP build targets + 20000 + + + + Resolvers of the current project, plus those of all from its inter-dependency projects + 17 + + + + Dependency resolution to retrieve the compiler bridge. + 200 + + + + + 20000 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + Writes the task value to the given file + 5 + + + + The remote cache artifact definition. + 17 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Projects the current project depends on, possibly transitively + 17 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + Provides the list of defined tests. + 31 + + + preferScala2 + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [tree|uses|definitions|actual] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + loadFailed + + + load-failed + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + writeSbtVersion + + + skipBanner + + + notifyUsersAboutShell + + + shell + + + startServer + + + eval + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + lastGrep + + lastGrep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + initialize + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + clearCaches + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + iflast + + + append + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + reboot + + + apply + + + exit + + exit + Terminates the remote client or the build when called from the console. + + + + shutdown + + shutdown + Terminates the build. + + + + oldshell + + + client + + + < + + + alias + + + bspReload + + + bspReloadFailed + + + bspReloadSucceed + + $BASE/src/test + $BASE/src/main + + + + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6-sources.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/1.5/simple/structure.xml b/extractor/src/test/data/1.5/simple/structure.xml index f32d1207..4f4ea006 100644 --- a/extractor/src/test/data/1.5/simple/structure.xml +++ b/extractor/src/test/data/1.5/simple/structure.xml @@ -226,7 +226,20 @@ $BASE/target/scala-2.13/test-classes - + + + + + + + + + + + + + + @@ -1815,6 +1828,8 @@ bspReloadSucceed + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.5/simple_scala3/structure.xml b/extractor/src/test/data/1.5/simple_scala3/structure.xml index c192dc74..4370af73 100644 --- a/extractor/src/test/data/1.5/simple_scala3/structure.xml +++ b/extractor/src/test/data/1.5/simple_scala3/structure.xml @@ -263,8 +263,21 @@ $BASE/target/scala-3.0.2/test-classes - - + + + + + + + + + + + + + + + @@ -1853,6 +1866,8 @@ bspReloadSucceed + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.6/prod_test_sources_separated/build.sbt b/extractor/src/test/data/1.6/prod_test_sources_separated/build.sbt new file mode 100644 index 00000000..597ef76e --- /dev/null +++ b/extractor/src/test/data/1.6/prod_test_sources_separated/build.sbt @@ -0,0 +1,4 @@ +name := "some-name" +organization := "some-organization" +version := "1.2.3" +scalaVersion := "2.13.10" diff --git a/extractor/src/test/data/1.6/prod_test_sources_separated/project/build.properties b/extractor/src/test/data/1.6/prod_test_sources_separated/project/build.properties new file mode 100644 index 00000000..c8fcab54 --- /dev/null +++ b/extractor/src/test/data/1.6/prod_test_sources_separated/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.6.2 diff --git a/extractor/src/test/data/1.6/prod_test_sources_separated/structure.xml b/extractor/src/test/data/1.6/prod_test_sources_separated/structure.xml new file mode 100644 index 00000000..0c9c6fc8 --- /dev/null +++ b/extractor/src/test/data/1.6/prod_test_sources_separated/structure.xml @@ -0,0 +1,1839 @@ + + + + $URI_BASE + import _root_.sbt.Keys._ + import _root_.sbt.ScriptedPlugin.autoImport._, _root_.sbt.plugins.JUnitXmlReportPlugin.autoImport._, _root_.sbt.plugins.MiniDependencyTreePlugin.autoImport._ + import _root_.sbt._ + import _root_.sbt.nio.Keys._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.ScriptedPlugin, _root_.sbt.plugins.SbtPlugin, _root_.sbt.plugins.SemanticdbPlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin, _root_.sbt.plugins.MiniDependencyTreePlugin + import _root_.scala.xml.{TopScope=>$scope} + $SBT_BOOT/scala-2.12.15/lib/jline.jar + $SBT_BOOT/scala-2.12.15/lib/scala-compiler.jar + $SBT_BOOT/scala-2.12.15/lib/scala-library.jar + $SBT_BOOT/scala-2.12.15/lib/scala-reflect.jar + $SBT_BOOT/scala-2.12.15/lib/scala-xml_2.12.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/actions_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/caffeine-2.8.5.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/checker-qual-3.4.1.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/collections_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/command_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/compiler-bridge_2.12-1.6.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/compiler-interface-1.6.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/completion_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/config-1.3.3.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/core-macros_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/disruptor-3.4.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/error_prone_annotations-2.4.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/file-tree-views-2.1.7.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/gigahorse-core_2.12-0.5.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/gigahorse-okhttp_2.12-0.5.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/io_2.12-1.6.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/ipcsocket-1.3.1.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/ivy-2.3.0-sbt-fbc4f586aeeb1591710b14eb4f41b94880dcd745.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/jansi-2.1.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/jline-2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/jline-builtins-3.19.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/jline-reader-3.19.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/jline-style-3.19.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/jline-terminal-3.19.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/jline-terminal-jansi-3.19.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/jline-terminal-jna-3.19.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/jna-5.8.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/jna-platform-5.8.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/jsch-0.1.54.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/launcher-interface-1.3.3.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/librarymanagement-core_2.12-1.6.1.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/librarymanagement-ivy_2.12-1.6.1.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/lm-coursier-shaded_2.12-2.0.10.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/log4j-api-2.17.1.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/log4j-core-2.17.1.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/log4j-slf4j-impl-2.17.1.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/logic_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/main-settings_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/main_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/okhttp-3.14.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/okhttp-urlconnection-3.7.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/okio-1.17.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/protocol_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/reactive-streams-1.0.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/run_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/sbinary_2.12-0.5.1.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/sbt-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/scala-collection-compat_2.12-2.6.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/scala-parser-combinators_2.12-1.1.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/scala-reflect-2.12.15.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/scala-xml_2.12-1.3.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/scripted-plugin_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/shaded-jawn-parser_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/shaded-scalajson_2.12-1.0.0-M4.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/sjson-new-core_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/sjson-new-murmurhash_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/sjson-new-scalajson_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/slf4j-api-1.7.26.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/ssl-config-core_2.12-0.4.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/task-system_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/tasks_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/template-resolver-0.1.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/test-agent-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/test-interface-1.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/testing_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/util-cache_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/util-control_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/util-interface-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/util-logging_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/util-position_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/util-relation_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/util-tracking_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/zero-allocation-hashing-0.10.1.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/zinc-apiinfo_2.12-1.6.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/zinc-classfile_2.12-1.6.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/zinc-classpath_2.12-1.6.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/zinc-compile-core_2.12-1.6.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/zinc-compile_2.12-1.6.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/zinc-core_2.12-1.6.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/zinc-lm-integration_2.12-1.6.2.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/zinc-persist-core-assembly-1.6.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/zinc-persist_2.12-1.6.0.jar + $SBT_BOOT/scala-2.12.15/org.scala-sbt/sbt/1.6.2/zinc_2.12-1.6.0.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-core_2.12/0.5.0/gigahorse-core_2.12-0.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-okhttp_2.12/0.5.0/gigahorse-okhttp_2.12-0.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-jawn-parser_2.12/0.9.1/shaded-jawn-parser_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-scalajson_2.12/1.0.0-M4/shaded-scalajson_2.12-1.0.0-M4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-core_2.12/0.9.1/sjson-new-core_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-murmurhash_2.12/0.9.1/sjson-new-murmurhash_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-scalajson_2.12/0.9.1/sjson-new-scalajson_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/github/ben-manes/caffeine/caffeine/2.8.5/caffeine-2.8.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/jcraft/jsch/0.1.54/jsch-0.1.54-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/lmax/disruptor/3.4.2/disruptor-3.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/squareup/okhttp3/okhttp-urlconnection/3.7.0/okhttp-urlconnection-3.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/squareup/okhttp3/okhttp/3.14.2/okhttp-3.14.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/squareup/okio/okio/1.17.2/okio-1.17.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/swoval/file-tree-views/2.1.7/file-tree-views-2.1.7-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/config/1.3.3/config-1.3.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.4.0/ssl-config-core_2.12-0.4.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/io/get-coursier/lm-coursier-shaded_2.12/2.0.10/lm-coursier-shaded_2.12-2.0.10-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna-platform/5.8.0/jna-platform-5.8.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.8.0/jna-5.8.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/openhft/zero-allocation-hashing/0.10.1/zero-allocation-hashing-0.10.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.17.1/log4j-api-2.17.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.17.1/log4j-core-2.17.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.17.1/log4j-slf4j-impl-2.17.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/checkerframework/checker-qual/3.4.1/checker-qual-3.4.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/fusesource/jansi/jansi/2.1.0/jansi-2.1.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-builtins/3.19.0/jline-builtins-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-reader/3.19.0/jline-reader-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-style/3.19.0/jline-style-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal-jansi/3.19.0/jline-terminal-jansi-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal-jna/3.19.0/jline-terminal-jna-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal/3.19.0/jline-terminal-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.2/reactive-streams-1.0.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.12/2.6.0/scala-collection-compat_2.12-2.6.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-parser-combinators_2.12/1.1.2/scala-parser-combinators_2.12-1.1.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.3.0/scala-xml_2.12-1.3.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.15/scala-compiler-2.12.15-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.15/scala-library-2.12.15-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.15/scala-reflect-2.12.15-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/actions_2.12/1.6.2/actions_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/collections_2.12/1.6.2/collections_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/command_2.12/1.6.2/command_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-bridge_2.12/1.6.0/compiler-bridge_2.12-1.6.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-interface/1.6.0/compiler-interface-1.6.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/completion_2.12/1.6.2/completion_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/core-macros_2.12/1.6.2/core-macros_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/io_2.12/1.6.0/io_2.12-1.6.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ipcsocket/ipcsocket/1.3.1/ipcsocket-1.3.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ivy/ivy/2.3.0-sbt-fbc4f586aeeb1591710b14eb4f41b94880dcd745/ivy-2.3.0-sbt-fbc4f586aeeb1591710b14eb4f41b94880dcd745-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/jline/jline/2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493/jline-2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/launcher-interface/1.3.3/launcher-interface-1.3.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-core_2.12/1.6.1/librarymanagement-core_2.12-1.6.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-ivy_2.12/1.6.1/librarymanagement-ivy_2.12-1.6.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/logic_2.12/1.6.2/logic_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main-settings_2.12/1.6.2/main-settings_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main_2.12/1.6.2/main_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/protocol_2.12/1.6.2/protocol_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/run_2.12/1.6.2/run_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbinary_2.12/0.5.1/sbinary_2.12-0.5.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbt/1.6.2/sbt-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/scripted-plugin_2.12/1.6.2/scripted-plugin_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/task-system_2.12/1.6.2/task-system_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/tasks_2.12/1.6.2/tasks_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/template-resolver/0.1/template-resolver-0.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-agent/1.6.2/test-agent-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-interface/1.0/test-interface-1.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/testing_2.12/1.6.2/testing_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-cache_2.12/1.6.2/util-cache_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-control_2.12/1.6.2/util-control_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-interface/1.6.2/util-interface-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-logging_2.12/1.6.2/util-logging_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-position_2.12/1.6.2/util-position_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-relation_2.12/1.6.2/util-relation_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-tracking_2.12/1.6.2/util-tracking_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-apiinfo_2.12/1.6.0/zinc-apiinfo_2.12-1.6.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classfile_2.12/1.6.0/zinc-classfile_2.12-1.6.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classpath_2.12/1.6.0/zinc-classpath_2.12-1.6.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile-core_2.12/1.6.0/zinc-compile-core_2.12-1.6.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile_2.12/1.6.0/zinc-compile_2.12-1.6.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-core_2.12/1.6.0/zinc-core_2.12-1.6.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-lm-integration_2.12/1.6.2/zinc-lm-integration_2.12-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist-core-assembly/1.6.0/zinc-persist-core-assembly-1.6.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist_2.12/1.6.0/zinc-persist_2.12-1.6.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc_2.12/1.6.0/zinc_2.12-1.6.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26-sources.jar + + + prod_test_sources_separated + $URI_BASE + some-name + some-organization + 1.2.3 + $BASE + $BASE/target + + 2.13.10 + + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10.jar + + + $COURSIER/cache/https/repo1.maven.org/maven2/io/github/java-diff-utils/java-diff-utils/4.12/java-diff-utils-4.12.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.9.0/jna-5.9.0.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline/3.21.0/jline-3.21.0.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.10/scala-compiler-2.13.10.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.10/scala-reflect-2.13.10.jar + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2 + $BASE/src/main/scala-2.13 + $BASE/target/scala-2.13/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.13/resource_managed/main + $BASE/target/scala-2.13/classes + + + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2 + $BASE/src/test/scala-2.13 + $BASE/target/scala-2.13/src_managed/test + $BASE/src/test/resources + $BASE/target/scala-2.13/resource_managed/test + $BASE/target/scala-2.13/test-classes + + + + + prod_test_sources_separated:main + + + + + + + + + + + + + + + + + + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Organization/group ID. + 9 + + + + Directory for outputting junit test reports. + 11 + + + + Creates the classloader layering strategy for the particular configuration. + 25 + + + + The output directory to produce Zinc Analysis files + 10000 + + + + Project name. + 9 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Enables publishing an artifact to remote cache. + 25 + + + + Configuration for generating a pom. + 10000 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Coursier cache directory. Uses -Dsbt.coursier.home or Coursier's default. + 100 + + + + The project configurations that this configuration depends on + 25 + + + + The location where command line history is persisted. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + Default Scala source directory. + 10 + + + + + 25 + + + + Project description. + 40 + + + + Configures the module ID of the sources of the compiler bridge when scalaCompilerBridgeBinaryJar is None + 100 + + + + The default directory for manually managed libraries. + 10 + + + + Organization homepage. + 41 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + Defines the binary compatibility version substring. + 39 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Toggles the file stamping implementation used to determine whether or not a file has been modified. + 25 + + + + SemanticDB Scalac plugin + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The name of the current module, used for dependency management. + 40 + + + + Organization full/formal name. + 41 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Toggles whether or not to cache jar classpath entries between command evaluations + 25 + + + + The version of Scala used for building. + 9 + + + + User-defined dependency exclusions and sbt itself in the case of metabuild. + 200 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + JAR file for pickles used for build pipelining + 25 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + The output directory to produce Zinc Analysis files + 10000 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + Toggles whether to use a hash or the last modified time to stamp the classpath jars + 25 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + Logs results after a test task completes. + 20000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + The file globs that are used by a task. This setting will generally be scoped per task. It will also be used to determine the sources to watch during continuous execution. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + Default Java source directory. + 10 + + + + Resolvers for remote cache. + 25 + + + + Force the watch process to rerun the current task(s) if any relevant source change is detected regardless of whether or not the underlying file has actually changed. + 10000 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + Directory for compiled classes and copied resources. + 11 + + + + The location of a generated artifact. + 39 + + + + Globs to keep during a clean. Must be direct children of target. + 100 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The output directory to produce META-INF/semanticdb/**/*.semanticdb files + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + Default directory containing sources. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + True if the version of the project is a snapshot version. + 39 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + List of managed resource directories. + 11 + + + + Directory or JAR file for compiled classes and copied resources + 25 + + + + The project configurations that this configuration depends on, possibly transitively + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Declares managed dependencies. + 9 + + + + The dependency management descriptor for the current module. + 41 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Build target identifier of a project and configuration. + 10000 + + + + Declares managed dependency overrides. + 40 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Continuous execution configuration. + 1000 + + + + Options for resolving managed dependencies. + 10000 + + + + Describes an artifact. + 41 + + + + The Scalac options introduced for SemanticDB + 100 + + + + List of tasks that generate sources. + 100 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Source positions where the dependencies are defined. + 20000 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies, all as JARs. + 17 + + + + + 17 + + + + Aggregated credentials across current and root subprojects. Do not rewire this task. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Remote cache ids to pull. + 17 + + + + Retrieve remote cache. + 17 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Callback used by the compiler to report phase progress + 17 + + + + The configuration used to define the classpath. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + The internal (inter-project) pickles. This task is promise-blocked. + 17 + + + + Generates a pom for publishing when publishing Maven-style. + 17 + + + + Configures aspects of incremental compilation. + 20000 + + + + Start a provided main class as a background job + 5 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Deletes the ivy cached resolution + 17 + + + + Inter-project and library dependencies. + 200 + + + + Auto-detects main classes. + 31 + + + + The dependency graph for a project + 17 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + classifiers-module + 200 + + + + Provides the sbt interface to Ivy. + 200 + + + + Start a provided main class as a foreground job + 5 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + + 20000 + + + + Just the exported classpath as JARs without triggering the compilation. + 17 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Optionally, the jar of the compiler bridge. When not None, this takes precedence over scalaCompilerBridgeSource + 100 + + + + Zinc analysis storage for early compilation + 10000 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Dependency resolution to retrieve sbt's components. + 200 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + The base directory for cached dependencies. + 20000 + + + + General dependency management (Coursier) settings, such as the resolvers and options to use. + 20000 + + + + Configures JVM forking. + 10000 + + + + The auxiliary class files that must be managed by Zinc (for instance the TASTy files) + 17 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Watch a task (or multiple tasks) and rebuild when its file inputs change or user input is received. The semantics are more or less the same as the `~` command except that it cannot transform the state on exit. This means that it cannot be used to reload the build. + 10000 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + + 20000 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies, all as JARs. + 17 + + + + Configuration for unresolved dependency warning. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + Produces the main artifact for caching. + 17 + + + + Options for packaging. + 30 + + + + Defines the filename used for compileAnalysisFile. + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Implementation used to run a main class. + 20000 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Remote cache artifact definitions. + 17 + + + + Collects all inputs needed for compilation. + 20000 + + + + Build products that get packaged. + 31 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Defines the main class for packaging or running. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Options for the Scala compiler. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 200 + + + + Configuration for generating ivy.xml. + 10000 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Options for the incremental compiler. + 30 + + + + Display detailed eviction warnings. + 200 + + + + Publishes artifacts to a repository. + 4 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + The external hooks used by zinc. + 17 + + + + Collect analysis file locations for later use. + 17 + + + + + 20000 + + + + Start an application's default main class as a background job + 5 + + + + Build products that go on the exported classpath as JARs. + 17 + + + + All of the file inputs for a task excluding directories and hidden files. + 17 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + The changed files for a task + 17 + + + + Selects the main class to run. + 31 + + + + Provides the string value for the task it is scoped for + 17 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + + 17 + + + + Resources generated by the build. + 30 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + + 17 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Provides the sbt interface to publisher + 17 + + + + Sources generated by the build. + 30 + + + + Prints an ascii tree of all the dependencies to the console + 17 + + + + The classpath consisting of internal pickles and external, managed and unmanaged dependencies. This task is promise-blocked. + 17 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Defines test listeners. + 20000 + + + + The internal (inter-project) classpath as JARs. + 17 + + + + + 17 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + + 200 + + + + The files to recursively delete during a clean. + 40 + + + + Configuration for publishing to a repository. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + Build products that go on the exported classpath as JARs if missing. + 17 + + + + All resource files, both managed and unmanaged. + 30 + + + + + 17 + + + + Collects basic options to configure compilers + 20000 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + + 20000 + + + + Resolvers used to resolve compiler bridges. + 100 + + + + Start an application's default main class as a foreground job + 5 + + + + + 20000 + + + + Zinc analysis storage. + 10000 + + + + Provides the class loader used for testing. + 20000 + + + + Pickle JARs + 20000 + + + + Resolvers used for sbt artifacts. + 17 + + + + Provides the sbt interface to dependency resolution. + 200 + + + + The stored module-graph from the last run + 17 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a full report with callers. + 200 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + The files that have changed since the last task run. + 17 + + + + Configuration for generating ivy.xml. + 10000 + + + + All of the file outputs for a task excluding directories and hidden files. + 17 + + + + Build products that go on the exported compilation classpath as JARs. Note this is promise-blocked. + 20000 + + + + update used for dependencyTree task + 17 + + + + Push remote cache to the cache server. + 17 + + + + The internal (inter-project) classpath. + 200 + + + + Read the incremental compiler analysis from disk + 20000 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Unique identifier for the remote cache. + 17 + + + + Unmanaged sources, which are manually created. + 29 + + + + ModuleID used for remote cache JARs. + 17 + + + + Corresponds to buildTarget/run request + 20000 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + + 20000 + + + + Copies resources to the output directory. + 6 + + + + Returns the TASTy files produced by compilation + 20000 + + + + Description of the BSP build targets + 20000 + + + + Resolvers of the current project, plus those of all from its inter-dependency projects + 17 + + + + Dependency resolution to retrieve the compiler bridge. + 200 + + + + + 20000 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + Writes the task value to the given file + 5 + + + + The remote cache artifact definition. + 17 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Projects the current project depends on, possibly transitively + 17 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + Provides the list of defined tests. + 31 + + + preferScala2 + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [tree|uses|definitions|actual] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + loadFailed + + + load-failed + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + writeSbtVersion + + + skipBanner + + + notifyUsersAboutShell + + + shell + + + startServer + + + eval + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + lastGrep + + lastGrep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + initialize + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + clearCaches + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + iflast + + + append + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + reboot + + + apply + + + exit + + exit + Terminates the remote client or the build when called from the console. + + + + shutdown + + shutdown + Terminates the build. + + + + oldshell + + + client + + + < + + + alias + + + bspReload + + $BASE/src/test + $BASE/src/main + + + + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10-sources.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/1.6/simple/structure.xml b/extractor/src/test/data/1.6/simple/structure.xml index 108343bd..06d8edd8 100644 --- a/extractor/src/test/data/1.6/simple/structure.xml +++ b/extractor/src/test/data/1.6/simple/structure.xml @@ -226,7 +226,20 @@ $BASE/target/scala-2.13/test-classes - + + + + + + + + + + + + + + @@ -1809,6 +1822,8 @@ bspReload + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.7/compile-order/structure.xml b/extractor/src/test/data/1.7/compile-order/structure.xml index ecf3f385..a174e401 100644 --- a/extractor/src/test/data/1.7/compile-order/structure.xml +++ b/extractor/src/test/data/1.7/compile-order/structure.xml @@ -222,7 +222,20 @@ $BASE/target/scala-2.13/test-classes - + + + + + + + + + + + + + + @@ -1825,6 +1838,8 @@ bspReload + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.7/prod_test_sources_separated/build.sbt b/extractor/src/test/data/1.7/prod_test_sources_separated/build.sbt new file mode 100644 index 00000000..597ef76e --- /dev/null +++ b/extractor/src/test/data/1.7/prod_test_sources_separated/build.sbt @@ -0,0 +1,4 @@ +name := "some-name" +organization := "some-organization" +version := "1.2.3" +scalaVersion := "2.13.10" diff --git a/extractor/src/test/data/1.7/prod_test_sources_separated/project/build.properties b/extractor/src/test/data/1.7/prod_test_sources_separated/project/build.properties new file mode 100644 index 00000000..6a9f0388 --- /dev/null +++ b/extractor/src/test/data/1.7/prod_test_sources_separated/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.7.3 diff --git a/extractor/src/test/data/1.7/prod_test_sources_separated/structure.xml b/extractor/src/test/data/1.7/prod_test_sources_separated/structure.xml new file mode 100644 index 00000000..5986a635 --- /dev/null +++ b/extractor/src/test/data/1.7/prod_test_sources_separated/structure.xml @@ -0,0 +1,1850 @@ + + + + $URI_BASE + import _root_.sbt.Keys._ + import _root_.sbt.ScriptedPlugin.autoImport._, _root_.sbt.plugins.JUnitXmlReportPlugin.autoImport._, _root_.sbt.plugins.MiniDependencyTreePlugin.autoImport._ + import _root_.sbt._ + import _root_.sbt.nio.Keys._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.ScriptedPlugin, _root_.sbt.plugins.SbtPlugin, _root_.sbt.plugins.SemanticdbPlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin, _root_.sbt.plugins.MiniDependencyTreePlugin + import _root_.scala.xml.{TopScope=>$scope} + $SBT_BOOT/scala-2.12.16/lib/jline.jar + $SBT_BOOT/scala-2.12.16/lib/scala-compiler.jar + $SBT_BOOT/scala-2.12.16/lib/scala-library.jar + $SBT_BOOT/scala-2.12.16/lib/scala-reflect.jar + $SBT_BOOT/scala-2.12.16/lib/scala-xml_2.12.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/actions_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/caffeine-2.8.5.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/checker-qual-3.4.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/collections_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/command_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/compiler-bridge_2.12-1.7.2.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/compiler-interface-1.7.2.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/completion_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/config-1.4.2.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/core-macros_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/disruptor-3.4.2.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/error_prone_annotations-2.4.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/file-tree-views-2.1.9.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/gigahorse-apache-http_2.12-0.7.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/gigahorse-core_2.12-0.7.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/io_2.12-1.7.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/ipcsocket-1.5.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/ivy-2.3.0-sbt-fbc4f586aeeb1591710b14eb4f41b94880dcd745.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/jansi-2.1.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/jline-2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/jline-builtins-3.19.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/jline-reader-3.19.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/jline-style-3.19.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/jline-terminal-3.19.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/jline-terminal-jansi-3.19.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/jline-terminal-jna-3.19.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/jna-5.12.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/jna-platform-5.12.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/jsch-0.1.54.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/launcher-interface-1.4.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/librarymanagement-core_2.12-1.7.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/librarymanagement-ivy_2.12-1.7.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/lm-coursier-shaded_2.12-2.0.12.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/log4j-api-2.17.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/log4j-core-2.17.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/log4j-slf4j-impl-2.17.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/logic_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/main-settings_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/main_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/protocol_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/reactive-streams-1.0.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/run_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/sbinary_2.12-0.5.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/sbt-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/scala-collection-compat_2.12-2.8.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/scala-parser-combinators_2.12-1.1.2.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/scala-reflect-2.12.16.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/scala-xml_2.12-1.3.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/scripted-plugin_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/shaded-apache-httpasyncclient-0.7.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/shaded-jawn-parser_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/shaded-scalajson_2.12-1.0.0-M4.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/sjson-new-core_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/sjson-new-murmurhash_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/sjson-new-scalajson_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/slf4j-api-2.0.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/ssl-config-core_2.12-0.6.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/task-system_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/tasks_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/template-resolver-0.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/test-agent-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/test-interface-1.0.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/testing_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/util-cache_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/util-control_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/util-interface-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/util-logging_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/util-position_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/util-relation_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/util-tracking_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/zero-allocation-hashing-0.10.1.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/zinc-apiinfo_2.12-1.7.2.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/zinc-classfile_2.12-1.7.2.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/zinc-classpath_2.12-1.7.2.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/zinc-compile-core_2.12-1.7.2.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/zinc-compile_2.12-1.7.2.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/zinc-core_2.12-1.7.2.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/zinc-lm-integration_2.12-1.7.3.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/zinc-persist-core-assembly-1.7.2.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/zinc-persist_2.12-1.7.2.jar + $SBT_BOOT/scala-2.12.16/org.scala-sbt/sbt/1.7.3/zinc_2.12-1.7.2.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-apache-http_2.12/0.7.0/gigahorse-apache-http_2.12-0.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-core_2.12/0.7.0/gigahorse-core_2.12-0.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-apache-httpasyncclient/0.7.0/shaded-apache-httpasyncclient-0.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-jawn-parser_2.12/0.9.1/shaded-jawn-parser_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-scalajson_2.12/1.0.0-M4/shaded-scalajson_2.12-1.0.0-M4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-core_2.12/0.9.1/sjson-new-core_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-murmurhash_2.12/0.9.1/sjson-new-murmurhash_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-scalajson_2.12/0.9.1/sjson-new-scalajson_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/github/ben-manes/caffeine/caffeine/2.8.5/caffeine-2.8.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/jcraft/jsch/0.1.54/jsch-0.1.54-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/lmax/disruptor/3.4.2/disruptor-3.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/swoval/file-tree-views/2.1.9/file-tree-views-2.1.9-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.6.1/ssl-config-core_2.12-0.6.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/io/get-coursier/lm-coursier-shaded_2.12/2.0.12/lm-coursier-shaded_2.12-2.0.12-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna-platform/5.12.0/jna-platform-5.12.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.12.0/jna-5.12.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/openhft/zero-allocation-hashing/0.10.1/zero-allocation-hashing-0.10.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.17.1/log4j-api-2.17.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.17.1/log4j-core-2.17.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.17.1/log4j-slf4j-impl-2.17.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/checkerframework/checker-qual/3.4.1/checker-qual-3.4.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/fusesource/jansi/jansi/2.1.0/jansi-2.1.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-builtins/3.19.0/jline-builtins-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-reader/3.19.0/jline-reader-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-style/3.19.0/jline-style-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal-jansi/3.19.0/jline-terminal-jansi-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal-jna/3.19.0/jline-terminal-jna-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal/3.19.0/jline-terminal-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.12/2.8.1/scala-collection-compat_2.12-2.8.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-parser-combinators_2.12/1.1.2/scala-parser-combinators_2.12-1.1.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/1.3.0/scala-xml_2.12-1.3.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.16/scala-compiler-2.12.16-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.16/scala-library-2.12.16-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.16/scala-reflect-2.12.16-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/actions_2.12/1.7.3/actions_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/collections_2.12/1.7.3/collections_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/command_2.12/1.7.3/command_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-bridge_2.12/1.7.2/compiler-bridge_2.12-1.7.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-interface/1.7.2/compiler-interface-1.7.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/completion_2.12/1.7.3/completion_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/core-macros_2.12/1.7.3/core-macros_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/io_2.12/1.7.0/io_2.12-1.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ipcsocket/ipcsocket/1.5.0/ipcsocket-1.5.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ivy/ivy/2.3.0-sbt-fbc4f586aeeb1591710b14eb4f41b94880dcd745/ivy-2.3.0-sbt-fbc4f586aeeb1591710b14eb4f41b94880dcd745-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/jline/jline/2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493/jline-2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/launcher-interface/1.4.1/launcher-interface-1.4.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-core_2.12/1.7.1/librarymanagement-core_2.12-1.7.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-ivy_2.12/1.7.1/librarymanagement-ivy_2.12-1.7.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/logic_2.12/1.7.3/logic_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main-settings_2.12/1.7.3/main-settings_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main_2.12/1.7.3/main_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/protocol_2.12/1.7.3/protocol_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/run_2.12/1.7.3/run_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbinary_2.12/0.5.1/sbinary_2.12-0.5.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbt/1.7.3/sbt-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/scripted-plugin_2.12/1.7.3/scripted-plugin_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/task-system_2.12/1.7.3/task-system_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/tasks_2.12/1.7.3/tasks_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/template-resolver/0.1/template-resolver-0.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-agent/1.7.3/test-agent-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-interface/1.0/test-interface-1.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/testing_2.12/1.7.3/testing_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-cache_2.12/1.7.3/util-cache_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-control_2.12/1.7.3/util-control_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-interface/1.7.3/util-interface-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-logging_2.12/1.7.3/util-logging_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-position_2.12/1.7.3/util-position_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-relation_2.12/1.7.3/util-relation_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-tracking_2.12/1.7.3/util-tracking_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-apiinfo_2.12/1.7.2/zinc-apiinfo_2.12-1.7.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classfile_2.12/1.7.2/zinc-classfile_2.12-1.7.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classpath_2.12/1.7.2/zinc-classpath_2.12-1.7.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile-core_2.12/1.7.2/zinc-compile-core_2.12-1.7.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile_2.12/1.7.2/zinc-compile_2.12-1.7.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-core_2.12/1.7.2/zinc-core_2.12-1.7.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-lm-integration_2.12/1.7.3/zinc-lm-integration_2.12-1.7.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist-core-assembly/1.7.2/zinc-persist-core-assembly-1.7.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist_2.12/1.7.2/zinc-persist_2.12-1.7.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc_2.12/1.7.2/zinc_2.12-1.7.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/2.0.3/slf4j-api-2.0.3-sources.jar + + + prod_test_sources_separated + $URI_BASE + some-name + some-organization + 1.2.3 + $BASE + $BASE/target + + 2.13.10 + + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10.jar + + + $COURSIER/cache/https/repo1.maven.org/maven2/io/github/java-diff-utils/java-diff-utils/4.12/java-diff-utils-4.12.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.9.0/jna-5.9.0.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline/3.21.0/jline-3.21.0.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.10/scala-compiler-2.13.10.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.10/scala-reflect-2.13.10.jar + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2 + $BASE/src/main/scala-2.13 + $BASE/target/scala-2.13/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.13/resource_managed/main + $BASE/target/scala-2.13/classes + + + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2 + $BASE/src/test/scala-2.13 + $BASE/target/scala-2.13/src_managed/test + $BASE/src/test/resources + $BASE/target/scala-2.13/resource_managed/test + $BASE/target/scala-2.13/test-classes + + + + + prod_test_sources_separated:main + + + + + + + + + + + + + + + + + + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Organization/group ID. + 9 + + + + Directory for outputting junit test reports. + 11 + + + + Creates the classloader layering strategy for the particular configuration. + 25 + + + + The output directory to produce Zinc Analysis files + 10000 + + + + Project name. + 9 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Enables publishing an artifact to remote cache. + 25 + + + + Configuration for generating a pom. + 10000 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Coursier cache directory. Uses -Dsbt.coursier.home or Coursier's default. + 100 + + + + The project configurations that this configuration depends on + 25 + + + + The location where command line history is persisted. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + Default Scala source directory. + 10 + + + + + 25 + + + + Project description. + 40 + + + + Configures the module ID of the sources of the compiler bridge when scalaCompilerBridgeBinaryJar is None + 100 + + + + The default directory for manually managed libraries. + 10 + + + + Organization homepage. + 41 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + Defines the binary compatibility version substring. + 39 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Toggles the file stamping implementation used to determine whether or not a file has been modified. + 25 + + + + SemanticDB Scalac plugin + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The name of the current module, used for dependency management. + 40 + + + + Organization full/formal name. + 41 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Toggles whether or not to cache jar classpath entries between command evaluations + 25 + + + + The version of Scala used for building. + 9 + + + + User-defined dependency exclusions and sbt itself in the case of metabuild. + 200 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + JAR file for pickles used for build pipelining + 25 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + The output directory to produce Zinc Analysis files + 10000 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + Toggles whether to use a hash or the last modified time to stamp the classpath jars + 25 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + Logs results after a test task completes. + 20000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + The file globs that are used by a task. This setting will generally be scoped per task. It will also be used to determine the sources to watch during continuous execution. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + Default Java source directory. + 10 + + + + Resolvers for remote cache. + 25 + + + + Force the watch process to rerun the current task(s) if any relevant source change is detected regardless of whether or not the underlying file has actually changed. + 10000 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + Directory for compiled classes and copied resources. + 11 + + + + The location of a generated artifact. + 39 + + + + Globs to keep during a clean. Must be direct children of target. + 100 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The output directory to produce META-INF/semanticdb/**/*.semanticdb files + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + Default directory containing sources. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + True if the version of the project is a snapshot version. + 39 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + List of managed resource directories. + 11 + + + + Directory or JAR file for compiled classes and copied resources + 25 + + + + The project configurations that this configuration depends on, possibly transitively + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Declares managed dependencies. + 9 + + + + The dependency management descriptor for the current module. + 41 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Build target identifier of a project and configuration. + 10000 + + + + Declares managed dependency overrides. + 40 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Continuous execution configuration. + 1000 + + + + Options for resolving managed dependencies. + 10000 + + + + Describes an artifact. + 41 + + + + The Scalac options introduced for SemanticDB + 100 + + + + List of tasks that generate sources. + 100 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Corresponds to the buildTarget/jvmTestEnvironment request + 20000 + + + + Source positions where the dependencies are defined. + 20000 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies, all as JARs. + 17 + + + + + 17 + + + + Aggregated credentials across current and root subprojects. Do not rewire this task. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Remote cache ids to pull. + 17 + + + + Retrieve remote cache. + 17 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Callback used by the compiler to report phase progress + 17 + + + + The configuration used to define the classpath. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + The internal (inter-project) pickles. This task is promise-blocked. + 17 + + + + Generates a pom for publishing when publishing Maven-style. + 17 + + + + Configures aspects of incremental compilation. + 20000 + + + + Start a provided main class as a background job + 5 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Deletes the ivy cached resolution + 17 + + + + Inter-project and library dependencies. + 200 + + + + Auto-detects main classes. + 31 + + + + The dependency graph for a project + 17 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + classifiers-module + 200 + + + + Provides the sbt interface to Ivy. + 200 + + + + Start a provided main class as a foreground job + 5 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + + 20000 + + + + Just the exported classpath as JARs without triggering the compilation. + 17 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Optionally, the jar of the compiler bridge. When not None, this takes precedence over scalaCompilerBridgeSource + 100 + + + + Zinc analysis storage for early compilation + 10000 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Dependency resolution to retrieve sbt's components. + 200 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + The base directory for cached dependencies. + 20000 + + + + General dependency management (Coursier) settings, such as the resolvers and options to use. + 20000 + + + + Configures JVM forking. + 10000 + + + + The auxiliary class files that must be managed by Zinc (for instance the TASTy files) + 17 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Watch a task (or multiple tasks) and rebuild when its file inputs change or user input is received. The semantics are more or less the same as the `~` command except that it cannot transform the state on exit. This means that it cannot be used to reload the build. + 10000 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + + 20000 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies, all as JARs. + 17 + + + + Configuration for unresolved dependency warning. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + Produces the main artifact for caching. + 17 + + + + Corresponds to the buildTarget/jvmRunEnvironment request + 20000 + + + + Options for packaging. + 30 + + + + Defines the filename used for compileAnalysisFile. + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Implementation used to run a main class. + 20000 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Remote cache artifact definitions. + 17 + + + + Collects all inputs needed for compilation. + 20000 + + + + Build products that get packaged. + 31 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Defines the main class for packaging or running. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Options for the Scala compiler. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 200 + + + + Configuration for generating ivy.xml. + 10000 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Options for the incremental compiler. + 30 + + + + Display detailed eviction warnings. + 200 + + + + Publishes artifacts to a repository. + 4 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + The external hooks used by zinc. + 17 + + + + Collect analysis file locations for later use. + 17 + + + + + 20000 + + + + Start an application's default main class as a background job + 5 + + + + Build products that go on the exported classpath as JARs. + 17 + + + + All of the file inputs for a task excluding directories and hidden files. + 17 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + The changed files for a task + 17 + + + + Selects the main class to run. + 31 + + + + Provides the string value for the task it is scoped for + 17 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + + 17 + + + + Resources generated by the build. + 30 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + + 17 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Provides the sbt interface to publisher + 17 + + + + Sources generated by the build. + 30 + + + + Prints an ascii tree of all the dependencies to the console + 17 + + + + The classpath consisting of internal pickles and external, managed and unmanaged dependencies. This task is promise-blocked. + 17 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Defines test listeners. + 20000 + + + + The internal (inter-project) classpath as JARs. + 17 + + + + + 17 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + + 200 + + + + The files to recursively delete during a clean. + 40 + + + + Configuration for publishing to a repository. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + Build products that go on the exported classpath as JARs if missing. + 17 + + + + All resource files, both managed and unmanaged. + 30 + + + + + 17 + + + + Collects basic options to configure compilers + 20000 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + + 20000 + + + + Resolvers used to resolve compiler bridges. + 100 + + + + Start an application's default main class as a foreground job + 5 + + + + + 20000 + + + + Zinc analysis storage. + 10000 + + + + Provides the class loader used for testing. + 20000 + + + + Pickle JARs + 20000 + + + + Resolvers used for sbt artifacts. + 17 + + + + Provides the sbt interface to dependency resolution. + 200 + + + + The stored module-graph from the last run + 17 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a full report with callers. + 200 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + The files that have changed since the last task run. + 17 + + + + Configuration for generating ivy.xml. + 10000 + + + + All of the file outputs for a task excluding directories and hidden files. + 17 + + + + Build products that go on the exported compilation classpath as JARs. Note this is promise-blocked. + 20000 + + + + update used for dependencyTree task + 17 + + + + Push remote cache to the cache server. + 17 + + + + Computes JVM environment item + 20000 + + + + The internal (inter-project) classpath. + 200 + + + + Read the incremental compiler analysis from disk + 20000 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Unique identifier for the remote cache. + 17 + + + + Unmanaged sources, which are manually created. + 29 + + + + ModuleID used for remote cache JARs. + 17 + + + + Corresponds to buildTarget/run request + 20000 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + + 20000 + + + + Copies resources to the output directory. + 6 + + + + Returns the TASTy files produced by compilation + 20000 + + + + Description of the BSP build targets + 20000 + + + + Resolvers of the current project, plus those of all from its inter-dependency projects + 17 + + + + Dependency resolution to retrieve the compiler bridge. + 200 + + + + + 20000 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + Writes the task value to the given file + 5 + + + + The remote cache artifact definition. + 17 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Projects the current project depends on, possibly transitively + 17 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + Provides the list of defined tests. + 31 + + + preferScala2 + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [tree|uses|definitions|actual] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + loadFailed + + + load-failed + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + writeSbtVersion + + + skipBanner + + + notifyUsersAboutShell + + + shell + + + startServer + + + eval + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + lastGrep + + lastGrep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + initialize + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + clearCaches + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + iflast + + + append + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + reboot + + + apply + + + exit + + exit + Terminates the remote client or the build when called from the console. + + + + shutdown + + shutdown + Terminates the build. + + + + oldshell + + + client + + + < + + + alias + + + bspReload + + $BASE/src/test + $BASE/src/main + + + + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10-sources.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/1.7/simple/structure.xml b/extractor/src/test/data/1.7/simple/structure.xml index 61d174e9..29ed3d59 100644 --- a/extractor/src/test/data/1.7/simple/structure.xml +++ b/extractor/src/test/data/1.7/simple/structure.xml @@ -222,7 +222,20 @@ $BASE/target/scala-2.13/test-classes - + + + + + + + + + + + + + + @@ -1820,6 +1833,8 @@ bspReload + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.8/prod_test_sources_separated/build.sbt b/extractor/src/test/data/1.8/prod_test_sources_separated/build.sbt new file mode 100644 index 00000000..597ef76e --- /dev/null +++ b/extractor/src/test/data/1.8/prod_test_sources_separated/build.sbt @@ -0,0 +1,4 @@ +name := "some-name" +organization := "some-organization" +version := "1.2.3" +scalaVersion := "2.13.10" diff --git a/extractor/src/test/data/1.8/prod_test_sources_separated/project/build.properties b/extractor/src/test/data/1.8/prod_test_sources_separated/project/build.properties new file mode 100644 index 00000000..72413de1 --- /dev/null +++ b/extractor/src/test/data/1.8/prod_test_sources_separated/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.8.3 diff --git a/extractor/src/test/data/1.8/prod_test_sources_separated/structure.xml b/extractor/src/test/data/1.8/prod_test_sources_separated/structure.xml new file mode 100644 index 00000000..a17cb9f9 --- /dev/null +++ b/extractor/src/test/data/1.8/prod_test_sources_separated/structure.xml @@ -0,0 +1,1855 @@ + + + + $URI_BASE + import _root_.sbt.Keys._ + import _root_.sbt.ScriptedPlugin.autoImport._, _root_.sbt.plugins.JUnitXmlReportPlugin.autoImport._, _root_.sbt.plugins.MiniDependencyTreePlugin.autoImport._ + import _root_.sbt._ + import _root_.sbt.nio.Keys._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.ScriptedPlugin, _root_.sbt.plugins.SbtPlugin, _root_.sbt.plugins.SemanticdbPlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin, _root_.sbt.plugins.MiniDependencyTreePlugin + import _root_.scala.xml.{TopScope=>$scope} + $SBT_BOOT/scala-2.12.17/lib/jline.jar + $SBT_BOOT/scala-2.12.17/lib/scala-compiler.jar + $SBT_BOOT/scala-2.12.17/lib/scala-library.jar + $SBT_BOOT/scala-2.12.17/lib/scala-reflect.jar + $SBT_BOOT/scala-2.12.17/lib/scala-xml_2.12.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/actions_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/caffeine-2.8.5.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/checker-qual-3.4.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/collections_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/command_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/compiler-bridge_2.12-1.8.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/compiler-interface-1.8.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/completion_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/config-1.4.2.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/core-macros_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/disruptor-3.4.2.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/error_prone_annotations-2.4.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/file-tree-views-2.1.10.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/gigahorse-apache-http_2.12-0.7.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/gigahorse-core_2.12-0.7.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/io_2.12-1.8.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/ipcsocket-1.6.2.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/ivy-2.3.0-sbt-a8f9eb5bf09d0539ea3658a2c2d4e09755b5133e.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/jansi-2.1.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/jline-2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/jline-builtins-3.19.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/jline-reader-3.19.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/jline-style-3.19.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/jline-terminal-3.19.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/jline-terminal-jansi-3.19.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/jline-terminal-jna-3.19.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/jna-5.12.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/jna-platform-5.12.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/jsch-0.1.54.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/launcher-interface-1.4.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/librarymanagement-core_2.12-1.8.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/librarymanagement-ivy_2.12-1.8.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/lm-coursier-shaded_2.12-2.0.15.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/log4j-api-2.17.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/log4j-core-2.17.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/log4j-slf4j-impl-2.17.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/logic_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/main-settings_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/main_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/protocol_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/reactive-streams-1.0.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/run_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/sbinary_2.12-0.5.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/sbt-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/scala-collection-compat_2.12-2.9.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/scala-parser-combinators_2.12-1.1.2.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/scala-reflect-2.12.17.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/scala-xml_2.12-2.1.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/scripted-plugin_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/shaded-apache-httpasyncclient-0.7.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/shaded-jawn-parser_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/shaded-scalajson_2.12-1.0.0-M4.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/sjson-new-core_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/sjson-new-murmurhash_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/sjson-new-scalajson_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/slf4j-api-1.7.36.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/ssl-config-core_2.12-0.6.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/task-system_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/tasks_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/template-resolver-0.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/test-agent-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/test-interface-1.0.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/testing_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/util-cache_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/util-control_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/util-interface-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/util-logging_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/util-position_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/util-relation_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/util-tracking_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/zero-allocation-hashing-0.10.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/zinc-apiinfo_2.12-1.8.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/zinc-classfile_2.12-1.8.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/zinc-classpath_2.12-1.8.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/zinc-compile-core_2.12-1.8.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/zinc-compile_2.12-1.8.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/zinc-core_2.12-1.8.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/zinc-lm-integration_2.12-1.8.3.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/zinc-persist-core-assembly-1.8.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/zinc-persist_2.12-1.8.1.jar + $SBT_BOOT/scala-2.12.17/org.scala-sbt/sbt/1.8.3/zinc_2.12-1.8.1.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-apache-http_2.12/0.7.0/gigahorse-apache-http_2.12-0.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-core_2.12/0.7.0/gigahorse-core_2.12-0.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-apache-httpasyncclient/0.7.0/shaded-apache-httpasyncclient-0.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-jawn-parser_2.12/0.9.1/shaded-jawn-parser_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-scalajson_2.12/1.0.0-M4/shaded-scalajson_2.12-1.0.0-M4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-core_2.12/0.9.1/sjson-new-core_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-murmurhash_2.12/0.9.1/sjson-new-murmurhash_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-scalajson_2.12/0.9.1/sjson-new-scalajson_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/github/ben-manes/caffeine/caffeine/2.8.5/caffeine-2.8.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/jcraft/jsch/0.1.54/jsch-0.1.54-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/lmax/disruptor/3.4.2/disruptor-3.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/swoval/file-tree-views/2.1.10/file-tree-views-2.1.10-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.6.1/ssl-config-core_2.12-0.6.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/io/get-coursier/lm-coursier-shaded_2.12/2.0.15/lm-coursier-shaded_2.12-2.0.15-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna-platform/5.12.0/jna-platform-5.12.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.12.0/jna-5.12.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/openhft/zero-allocation-hashing/0.10.1/zero-allocation-hashing-0.10.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.17.1/log4j-api-2.17.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.17.1/log4j-core-2.17.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.17.1/log4j-slf4j-impl-2.17.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/checkerframework/checker-qual/3.4.1/checker-qual-3.4.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/fusesource/jansi/jansi/2.1.0/jansi-2.1.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-builtins/3.19.0/jline-builtins-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-reader/3.19.0/jline-reader-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-style/3.19.0/jline-style-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal-jansi/3.19.0/jline-terminal-jansi-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal-jna/3.19.0/jline-terminal-jna-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal/3.19.0/jline-terminal-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.12/2.9.0/scala-collection-compat_2.12-2.9.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-parser-combinators_2.12/1.1.2/scala-parser-combinators_2.12-1.1.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/2.1.0/scala-xml_2.12-2.1.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.17/scala-compiler-2.12.17-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.17/scala-library-2.12.17-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.17/scala-reflect-2.12.17-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/actions_2.12/1.8.3/actions_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/collections_2.12/1.8.3/collections_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/command_2.12/1.8.3/command_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-bridge_2.12/1.8.1/compiler-bridge_2.12-1.8.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-interface/1.8.1/compiler-interface-1.8.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/completion_2.12/1.8.3/completion_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/core-macros_2.12/1.8.3/core-macros_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/io_2.12/1.8.1/io_2.12-1.8.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ipcsocket/ipcsocket/1.6.2/ipcsocket-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ivy/ivy/2.3.0-sbt-a8f9eb5bf09d0539ea3658a2c2d4e09755b5133e/ivy-2.3.0-sbt-a8f9eb5bf09d0539ea3658a2c2d4e09755b5133e-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/jline/jline/2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493/jline-2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/launcher-interface/1.4.2/launcher-interface-1.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-core_2.12/1.8.0/librarymanagement-core_2.12-1.8.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-ivy_2.12/1.8.0/librarymanagement-ivy_2.12-1.8.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/logic_2.12/1.8.3/logic_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main-settings_2.12/1.8.3/main-settings_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main_2.12/1.8.3/main_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/protocol_2.12/1.8.3/protocol_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/run_2.12/1.8.3/run_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbinary_2.12/0.5.1/sbinary_2.12-0.5.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbt/1.8.3/sbt-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/scripted-plugin_2.12/1.8.3/scripted-plugin_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/task-system_2.12/1.8.3/task-system_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/tasks_2.12/1.8.3/tasks_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/template-resolver/0.1/template-resolver-0.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-agent/1.8.3/test-agent-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-interface/1.0/test-interface-1.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/testing_2.12/1.8.3/testing_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-cache_2.12/1.8.3/util-cache_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-control_2.12/1.8.3/util-control_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-interface/1.8.3/util-interface-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-logging_2.12/1.8.3/util-logging_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-position_2.12/1.8.3/util-position_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-relation_2.12/1.8.3/util-relation_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-tracking_2.12/1.8.3/util-tracking_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-apiinfo_2.12/1.8.1/zinc-apiinfo_2.12-1.8.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classfile_2.12/1.8.1/zinc-classfile_2.12-1.8.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classpath_2.12/1.8.1/zinc-classpath_2.12-1.8.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile-core_2.12/1.8.1/zinc-compile-core_2.12-1.8.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile_2.12/1.8.1/zinc-compile_2.12-1.8.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-core_2.12/1.8.1/zinc-core_2.12-1.8.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-lm-integration_2.12/1.8.3/zinc-lm-integration_2.12-1.8.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist-core-assembly/1.8.1/zinc-persist-core-assembly-1.8.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist_2.12/1.8.1/zinc-persist_2.12-1.8.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc_2.12/1.8.1/zinc_2.12-1.8.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36-sources.jar + + + prod_test_sources_separated + $URI_BASE + some-name + some-organization + 1.2.3 + $BASE + $BASE/target + + 2.13.10 + + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10.jar + + + $COURSIER/cache/https/repo1.maven.org/maven2/io/github/java-diff-utils/java-diff-utils/4.12/java-diff-utils-4.12.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.9.0/jna-5.9.0.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline/3.21.0/jline-3.21.0.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.13.10/scala-compiler-2.13.10.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.13.10/scala-reflect-2.13.10.jar + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2 + $BASE/src/main/scala-2.13 + $BASE/target/scala-2.13/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.13/resource_managed/main + $BASE/target/scala-2.13/classes + + + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2 + $BASE/src/test/scala-2.13 + $BASE/target/scala-2.13/src_managed/test + $BASE/src/test/resources + $BASE/target/scala-2.13/resource_managed/test + $BASE/target/scala-2.13/test-classes + + + + + prod_test_sources_separated:main + + + + + + + + + + + + + + + + + + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Organization/group ID. + 9 + + + + Directory for outputting junit test reports. + 11 + + + + Creates the classloader layering strategy for the particular configuration. + 25 + + + + The output directory to produce Zinc Analysis files + 10000 + + + + Project name. + 9 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Enables publishing an artifact to remote cache. + 25 + + + + Configuration for generating a pom. + 10000 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Coursier cache directory. Uses -Dsbt.coursier.home or Coursier's default. + 100 + + + + The project configurations that this configuration depends on + 25 + + + + The location where command line history is persisted. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + Default Scala source directory. + 10 + + + + + 25 + + + + Project description. + 40 + + + + Configures the module ID of the sources of the compiler bridge when scalaCompilerBridgeBinaryJar is None + 100 + + + + The default directory for manually managed libraries. + 10 + + + + Organization homepage. + 41 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + Defines the binary compatibility version substring. + 39 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Toggles the file stamping implementation used to determine whether or not a file has been modified. + 25 + + + + SemanticDB Scalac plugin + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The name of the current module, used for dependency management. + 40 + + + + Organization full/formal name. + 41 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Toggles whether or not to cache jar classpath entries between command evaluations + 25 + + + + The version of Scala used for building. + 9 + + + + User-defined dependency exclusions and sbt itself in the case of metabuild. + 200 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + JAR file for pickles used for build pipelining + 25 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + The output directory to produce Zinc Analysis files + 10000 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + Toggles whether to use a hash or the last modified time to stamp the classpath jars + 25 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + Logs results after a test task completes. + 20000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + The file globs that are used by a task. This setting will generally be scoped per task. It will also be used to determine the sources to watch during continuous execution. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + Default Java source directory. + 10 + + + + Resolvers for remote cache. + 25 + + + + Force the watch process to rerun the current task(s) if any relevant source change is detected regardless of whether or not the underlying file has actually changed. + 10000 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + Directory for compiled classes and copied resources. + 11 + + + + The location of a generated artifact. + 39 + + + + Globs to keep during a clean. Must be direct children of target. + 100 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The output directory to produce META-INF/semanticdb/**/*.semanticdb files + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + Default directory containing sources. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + True if the version of the project is a snapshot version. + 39 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + List of managed resource directories. + 11 + + + + Directory or JAR file for compiled classes and copied resources + 25 + + + + The project configurations that this configuration depends on, possibly transitively + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Declares managed dependencies. + 9 + + + + The dependency management descriptor for the current module. + 41 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Build target identifier of a project and configuration. + 10000 + + + + Declares managed dependency overrides. + 40 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Continuous execution configuration. + 1000 + + + + Options for resolving managed dependencies. + 10000 + + + + Describes an artifact. + 41 + + + + The Scalac options introduced for SemanticDB + 100 + + + + List of tasks that generate sources. + 100 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Corresponds to the buildTarget/jvmTestEnvironment request + 20000 + + + + Source positions where the dependencies are defined. + 20000 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies, all as JARs. + 17 + + + + + 17 + + + + Aggregated credentials across current and root subprojects. Do not rewire this task. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Remote cache ids to pull. + 17 + + + + Retrieve remote cache. + 17 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Callback used by the compiler to report phase progress + 17 + + + + The configuration used to define the classpath. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + The internal (inter-project) pickles. This task is promise-blocked. + 17 + + + + Generates a pom for publishing when publishing Maven-style. + 17 + + + + Configures aspects of incremental compilation. + 20000 + + + + Start a provided main class as a background job + 5 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Deletes the ivy cached resolution + 17 + + + + Inter-project and library dependencies. + 200 + + + + Auto-detects main classes. + 31 + + + + The dependency graph for a project + 17 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + classifiers-module + 200 + + + + Provides the sbt interface to Ivy. + 200 + + + + Start a provided main class as a foreground job + 5 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + + 20000 + + + + Just the exported classpath as JARs without triggering the compilation. + 17 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Optionally, the jar of the compiler bridge. When not None, this takes precedence over scalaCompilerBridgeSource + 100 + + + + Zinc analysis storage for early compilation + 10000 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Dependency resolution to retrieve sbt's components. + 200 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + The base directory for cached dependencies. + 20000 + + + + General dependency management (Coursier) settings, such as the resolvers and options to use. + 20000 + + + + Configures JVM forking. + 10000 + + + + The auxiliary class files that must be managed by Zinc (for instance the TASTy files) + 17 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Watch a task (or multiple tasks) and rebuild when its file inputs change or user input is received. The semantics are more or less the same as the `~` command except that it cannot transform the state on exit. This means that it cannot be used to reload the build. + 10000 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + + 20000 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies, all as JARs. + 17 + + + + Configuration for unresolved dependency warning. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + Produces the main artifact for caching. + 17 + + + + Corresponds to the buildTarget/jvmRunEnvironment request + 20000 + + + + Options for packaging. + 30 + + + + Defines the filename used for compileAnalysisFile. + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Implementation used to run a main class. + 20000 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Remote cache artifact definitions. + 17 + + + + Collects all inputs needed for compilation. + 20000 + + + + Build products that get packaged. + 31 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Defines the main class for packaging or running. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Options for the Scala compiler. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 200 + + + + Configuration for generating ivy.xml. + 10000 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Options for the incremental compiler. + 30 + + + + Display detailed eviction warnings. + 200 + + + + Publishes artifacts to a repository. + 4 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + The external hooks used by zinc. + 17 + + + + Collect analysis file locations for later use. + 17 + + + + + 20000 + + + + Start an application's default main class as a background job + 5 + + + + Build products that go on the exported classpath as JARs. + 17 + + + + All of the file inputs for a task excluding directories and hidden files. + 17 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + The changed files for a task + 17 + + + + Selects the main class to run. + 31 + + + + Provides the string value for the task it is scoped for + 17 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + + 17 + + + + Resources generated by the build. + 30 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + + 17 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Provides the sbt interface to publisher + 17 + + + + Sources generated by the build. + 30 + + + + Prints an ascii tree of all the dependencies to the console + 17 + + + + + 20000 + + + + The classpath consisting of internal pickles and external, managed and unmanaged dependencies. This task is promise-blocked. + 17 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Defines test listeners. + 20000 + + + + The internal (inter-project) classpath as JARs. + 17 + + + + + 17 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + + 200 + + + + The files to recursively delete during a clean. + 40 + + + + Configuration for publishing to a repository. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + Build products that go on the exported classpath as JARs if missing. + 17 + + + + All resource files, both managed and unmanaged. + 30 + + + + + 17 + + + + Collects basic options to configure compilers + 20000 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + + 20000 + + + + Resolvers used to resolve compiler bridges. + 100 + + + + Start an application's default main class as a foreground job + 5 + + + + + 20000 + + + + Zinc analysis storage. + 10000 + + + + Provides the class loader used for testing. + 20000 + + + + Pickle JARs + 20000 + + + + Resolvers used for sbt artifacts. + 17 + + + + Provides the sbt interface to dependency resolution. + 200 + + + + The stored module-graph from the last run + 17 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a full report with callers. + 200 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + The files that have changed since the last task run. + 17 + + + + Configuration for generating ivy.xml. + 10000 + + + + All of the file outputs for a task excluding directories and hidden files. + 17 + + + + Build products that go on the exported compilation classpath as JARs. Note this is promise-blocked. + 20000 + + + + update used for dependencyTree task + 17 + + + + Push remote cache to the cache server. + 17 + + + + Computes JVM environment item + 20000 + + + + The internal (inter-project) classpath. + 200 + + + + Read the incremental compiler analysis from disk + 20000 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Unique identifier for the remote cache. + 17 + + + + Unmanaged sources, which are manually created. + 29 + + + + ModuleID used for remote cache JARs. + 17 + + + + Corresponds to buildTarget/run request + 20000 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + + 20000 + + + + Copies resources to the output directory. + 6 + + + + Returns the TASTy files produced by compilation + 20000 + + + + Description of the BSP build targets + 20000 + + + + Resolvers of the current project, plus those of all from its inter-dependency projects + 17 + + + + Dependency resolution to retrieve the compiler bridge. + 200 + + + + + 20000 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + Writes the task value to the given file + 5 + + + + The remote cache artifact definition. + 17 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Projects the current project depends on, possibly transitively + 17 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + Provides the list of defined tests. + 31 + + + preferScala2 + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [tree|uses|definitions|actual] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + loadFailed + + + load-failed + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + writeSbtVersion + + + skipBanner + + + notifyUsersAboutShell + + + shell + + + startServer + + + eval + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + lastGrep + + lastGrep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + initialize + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + clearCaches + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + iflast + + + append + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + reboot + + + apply + + + exit + + exit + Terminates the remote client or the build when called from the console. + + + + shutdown + + shutdown + Terminates the build. + + + + oldshell + + + client + + + < + + + alias + + + bspReload + + $BASE/src/test + $BASE/src/main + + + + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10-sources.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/1.8/simple/structure.xml b/extractor/src/test/data/1.8/simple/structure.xml index 54cef04c..1d8a3845 100644 --- a/extractor/src/test/data/1.8/simple/structure.xml +++ b/extractor/src/test/data/1.8/simple/structure.xml @@ -222,7 +222,20 @@ $BASE/target/scala-2.13/test-classes - + + + + + + + + + + + + + + @@ -1825,6 +1838,8 @@ bspReload + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.9/dependency_resolve_javadocs/structure.xml b/extractor/src/test/data/1.9/dependency_resolve_javadocs/structure.xml index db737eaf..0056f624 100644 --- a/extractor/src/test/data/1.9/dependency_resolve_javadocs/structure.xml +++ b/extractor/src/test/data/1.9/dependency_resolve_javadocs/structure.xml @@ -138,9 +138,21 @@ $BASE/target/scala-2.10/test-classes - - - + + + + + + + + + + + + + + + @@ -1760,6 +1772,8 @@ bspReload + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.9/dependency_resolve_none/structure.xml b/extractor/src/test/data/1.9/dependency_resolve_none/structure.xml index 84444148..e965948b 100644 --- a/extractor/src/test/data/1.9/dependency_resolve_none/structure.xml +++ b/extractor/src/test/data/1.9/dependency_resolve_none/structure.xml @@ -138,9 +138,21 @@ $BASE/target/scala-2.10/test-classes - - - + + + + + + + + + + + + + + + @@ -1760,6 +1772,8 @@ bspReload + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.9/dependency_resolve_none_with_explicit_classifiers/structure.xml b/extractor/src/test/data/1.9/dependency_resolve_none_with_explicit_classifiers/structure.xml index 9e9445ec..de913144 100644 --- a/extractor/src/test/data/1.9/dependency_resolve_none_with_explicit_classifiers/structure.xml +++ b/extractor/src/test/data/1.9/dependency_resolve_none_with_explicit_classifiers/structure.xml @@ -138,9 +138,21 @@ $BASE/target/scala-2.10/test-classes - - - + + + + + + + + + + + + + + + @@ -1760,6 +1772,8 @@ bspReload + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.9/dependency_resolve_sbt_classifiers/structure.xml b/extractor/src/test/data/1.9/dependency_resolve_sbt_classifiers/structure.xml index 2127f3d7..dff379c4 100644 --- a/extractor/src/test/data/1.9/dependency_resolve_sbt_classifiers/structure.xml +++ b/extractor/src/test/data/1.9/dependency_resolve_sbt_classifiers/structure.xml @@ -304,9 +304,21 @@ $BASE/target/scala-2.10/test-classes - - - + + + + + + + + + + + + + + + @@ -1926,6 +1938,8 @@ bspReload + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.9/dependency_resolve_sbt_classifiers_prod_test_sources_separated/build.sbt b/extractor/src/test/data/1.9/dependency_resolve_sbt_classifiers_prod_test_sources_separated/build.sbt new file mode 100644 index 00000000..f9247fff --- /dev/null +++ b/extractor/src/test/data/1.9/dependency_resolve_sbt_classifiers_prod_test_sources_separated/build.sbt @@ -0,0 +1,9 @@ +name := "some-name" + +organization := "some-organization" + +version := "1.2.3" + +scalaVersion := "2.10.1" + +libraryDependencies += "junit" % "junit" % "4.13.2" % Test \ No newline at end of file diff --git a/extractor/src/test/data/1.9/dependency_resolve_sbt_classifiers_prod_test_sources_separated/project/build.properties b/extractor/src/test/data/1.9/dependency_resolve_sbt_classifiers_prod_test_sources_separated/project/build.properties new file mode 100644 index 00000000..27430827 --- /dev/null +++ b/extractor/src/test/data/1.9/dependency_resolve_sbt_classifiers_prod_test_sources_separated/project/build.properties @@ -0,0 +1 @@ +sbt.version=1.9.6 diff --git a/extractor/src/test/data/1.9/dependency_resolve_sbt_classifiers_prod_test_sources_separated/structure.xml b/extractor/src/test/data/1.9/dependency_resolve_sbt_classifiers_prod_test_sources_separated/structure.xml new file mode 100644 index 00000000..520d3c06 --- /dev/null +++ b/extractor/src/test/data/1.9/dependency_resolve_sbt_classifiers_prod_test_sources_separated/structure.xml @@ -0,0 +1,1961 @@ + + + + $URI_BASE + import _root_.sbt.Keys._ + import _root_.sbt.ScriptedPlugin.autoImport._, _root_.sbt.plugins.JUnitXmlReportPlugin.autoImport._, _root_.sbt.plugins.MiniDependencyTreePlugin.autoImport._ + import _root_.sbt._ + import _root_.sbt.nio.Keys._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.ScriptedPlugin, _root_.sbt.plugins.SbtPlugin, _root_.sbt.plugins.SemanticdbPlugin, _root_.sbt.plugins.JUnitXmlReportPlugin, _root_.sbt.plugins.Giter8TemplatePlugin, _root_.sbt.plugins.MiniDependencyTreePlugin + import _root_.scala.xml.{TopScope=>$scope} + $SBT_BOOT/scala-2.12.18/lib/jline.jar + $SBT_BOOT/scala-2.12.18/lib/scala-compiler.jar + $SBT_BOOT/scala-2.12.18/lib/scala-library.jar + $SBT_BOOT/scala-2.12.18/lib/scala-reflect.jar + $SBT_BOOT/scala-2.12.18/lib/scala-xml_2.12.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/actions_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/caffeine-2.8.5.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/checker-qual-3.4.1.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/collections_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/command_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/compiler-bridge_2.12-1.9.5.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/compiler-interface-1.9.5.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/completion_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/config-1.4.2.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/core-macros_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/disruptor-3.4.2.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/error_prone_annotations-2.4.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/file-tree-views-2.1.10.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/gigahorse-apache-http_2.12-0.7.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/gigahorse-core_2.12-0.7.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/io_2.12-1.9.1.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/ipcsocket-1.6.2.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/ivy-2.3.0-sbt-396a783bba347016e7fe30dacc60d355be607fe2.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/jansi-2.1.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/jline-2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/jline-builtins-3.19.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/jline-reader-3.19.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/jline-style-3.19.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/jline-terminal-3.19.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/jline-terminal-jansi-3.19.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/jline-terminal-jna-3.19.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/jna-5.13.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/jna-platform-5.13.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/jsch-0.1.54.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/launcher-interface-1.4.2.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/librarymanagement-core_2.12-1.9.3.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/librarymanagement-ivy_2.12-1.9.3.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/lm-coursier-shaded_2.12-2.1.1.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/log4j-api-2.17.1.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/log4j-core-2.17.1.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/log4j-slf4j-impl-2.17.1.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/logic_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/main-settings_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/main_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/protocol_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/reactive-streams-1.0.3.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/run_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/sbinary_2.12-0.5.1.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/sbt-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/scala-collection-compat_2.12-2.10.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/scala-parser-combinators_2.12-1.1.2.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/scala-reflect-2.12.18.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/scala-xml_2.12-2.1.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/scripted-plugin_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/shaded-apache-httpasyncclient-0.7.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/shaded-jawn-parser_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/shaded-scalajson_2.12-1.0.0-M4.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/sjson-new-core_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/sjson-new-murmurhash_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/sjson-new-scalajson_2.12-0.9.1.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/slf4j-api-1.7.36.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/ssl-config-core_2.12-0.6.1.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/task-system_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/tasks_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/template-resolver-0.1.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/test-agent-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/test-interface-1.0.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/testing_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/util-cache_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/util-control_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/util-interface-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/util-logging_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/util-position_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/util-relation_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/util-tracking_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/zero-allocation-hashing-0.10.1.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/zinc-apiinfo_2.12-1.9.5.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/zinc-classfile_2.12-1.9.5.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/zinc-classpath_2.12-1.9.5.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/zinc-compile-core_2.12-1.9.5.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/zinc-compile_2.12-1.9.5.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/zinc-core_2.12-1.9.5.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/zinc-lm-integration_2.12-1.9.6.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/zinc-persist-core-assembly-1.9.5.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/zinc-persist_2.12-1.9.5.jar + $SBT_BOOT/scala-2.12.18/org.scala-sbt/sbt/1.9.6/zinc_2.12-1.9.5.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-apache-http_2.12/0.7.0/gigahorse-apache-http_2.12-0.7.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-core_2.12/0.7.0/gigahorse-core_2.12-0.7.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-apache-httpasyncclient/0.7.0/shaded-apache-httpasyncclient-0.7.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-jawn-parser_2.12/0.9.1/shaded-jawn-parser_2.12-0.9.1-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-scalajson_2.12/1.0.0-M4/shaded-scalajson_2.12-1.0.0-M4-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-core_2.12/0.9.1/sjson-new-core_2.12-0.9.1-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-murmurhash_2.12/0.9.1/sjson-new-murmurhash_2.12-0.9.1-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-scalajson_2.12/0.9.1/sjson-new-scalajson_2.12-0.9.1-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/github/ben-manes/caffeine/caffeine/2.8.5/caffeine-2.8.5-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/jcraft/jsch/0.1.54/jsch-0.1.54-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/lmax/disruptor/3.4.2/disruptor-3.4.2-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/swoval/file-tree-views/2.1.10/file-tree-views-2.1.10-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.6.1/ssl-config-core_2.12-0.6.1-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/io/get-coursier/lm-coursier-shaded_2.12/2.1.1/lm-coursier-shaded_2.12-2.1.1-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.13.0/jna-5.13.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/openhft/zero-allocation-hashing/0.10.1/zero-allocation-hashing-0.10.1-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.17.1/log4j-api-2.17.1-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.17.1/log4j-core-2.17.1-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.17.1/log4j-slf4j-impl-2.17.1-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/checkerframework/checker-qual/3.4.1/checker-qual-3.4.1-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/fusesource/jansi/jansi/2.1.0/jansi-2.1.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-builtins/3.19.0/jline-builtins-3.19.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-reader/3.19.0/jline-reader-3.19.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-style/3.19.0/jline-style-3.19.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal-jansi/3.19.0/jline-terminal-jansi-3.19.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal-jna/3.19.0/jline-terminal-jna-3.19.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal/3.19.0/jline-terminal-3.19.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.12/2.10.0/scala-collection-compat_2.12-2.10.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-parser-combinators_2.12/1.1.2/scala-parser-combinators_2.12-1.1.2-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/2.2.0/scala-xml_2.12-2.2.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.18/scala-compiler-2.12.18-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.18/scala-library-2.12.18-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.18/scala-reflect-2.12.18-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/actions_2.12/1.9.6/actions_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/collections_2.12/1.9.6/collections_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/command_2.12/1.9.6/command_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-bridge_2.12/1.9.5/compiler-bridge_2.12-1.9.5-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-interface/1.9.5/compiler-interface-1.9.5-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/completion_2.12/1.9.6/completion_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/core-macros_2.12/1.9.6/core-macros_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/io_2.12/1.9.1/io_2.12-1.9.1-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ipcsocket/ipcsocket/1.6.2/ipcsocket-1.6.2-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ivy/ivy/2.3.0-sbt-396a783bba347016e7fe30dacc60d355be607fe2/ivy-2.3.0-sbt-396a783bba347016e7fe30dacc60d355be607fe2-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/jline/jline/2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493/jline-2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/launcher-interface/1.4.2/launcher-interface-1.4.2-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-core_2.12/1.9.3/librarymanagement-core_2.12-1.9.3-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-ivy_2.12/1.9.3/librarymanagement-ivy_2.12-1.9.3-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/logic_2.12/1.9.6/logic_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main-settings_2.12/1.9.6/main-settings_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main_2.12/1.9.6/main_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/protocol_2.12/1.9.6/protocol_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/run_2.12/1.9.6/run_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbinary_2.12/0.5.1/sbinary_2.12-0.5.1-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbt/1.9.6/sbt-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/scripted-plugin_2.12/1.9.6/scripted-plugin_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/task-system_2.12/1.9.6/task-system_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/tasks_2.12/1.9.6/tasks_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/template-resolver/0.1/template-resolver-0.1-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-agent/1.9.6/test-agent-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-interface/1.0/test-interface-1.0-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/testing_2.12/1.9.6/testing_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-cache_2.12/1.9.6/util-cache_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-control_2.12/1.9.6/util-control_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-interface/1.9.6/util-interface-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-logging_2.12/1.9.6/util-logging_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-position_2.12/1.9.6/util-position_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-relation_2.12/1.9.6/util-relation_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-tracking_2.12/1.9.6/util-tracking_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-apiinfo_2.12/1.9.5/zinc-apiinfo_2.12-1.9.5-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classfile_2.12/1.9.5/zinc-classfile_2.12-1.9.5-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classpath_2.12/1.9.5/zinc-classpath_2.12-1.9.5-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile-core_2.12/1.9.5/zinc-compile-core_2.12-1.9.5-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile_2.12/1.9.5/zinc-compile_2.12-1.9.5-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-core_2.12/1.9.5/zinc-core_2.12-1.9.5-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-lm-integration_2.12/1.9.6/zinc-lm-integration_2.12-1.9.6-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist-core-assembly/1.9.5/zinc-persist-core-assembly-1.9.5-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist_2.12/1.9.5/zinc-persist_2.12-1.9.5-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc_2.12/1.9.5/zinc_2.12-1.9.5-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36-javadoc.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-apache-http_2.12/0.7.0/gigahorse-apache-http_2.12-0.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/gigahorse-core_2.12/0.7.0/gigahorse-core_2.12-0.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-apache-httpasyncclient/0.7.0/shaded-apache-httpasyncclient-0.7.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-jawn-parser_2.12/0.9.1/shaded-jawn-parser_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/shaded-scalajson_2.12/1.0.0-M4/shaded-scalajson_2.12-1.0.0-M4-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-core_2.12/0.9.1/sjson-new-core_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-murmurhash_2.12/0.9.1/sjson-new-murmurhash_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/eed3si9n/sjson-new-scalajson_2.12/0.9.1/sjson-new-scalajson_2.12-0.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/github/ben-manes/caffeine/caffeine/2.8.5/caffeine-2.8.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.4.0/error_prone_annotations-2.4.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/jcraft/jsch/0.1.54/jsch-0.1.54-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/lmax/disruptor/3.4.2/disruptor-3.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/swoval/file-tree-views/2.1.10/file-tree-views-2.1.10-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/config/1.4.2/config-1.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/com/typesafe/ssl-config-core_2.12/0.6.1/ssl-config-core_2.12-0.6.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/io/get-coursier/lm-coursier-shaded_2.12/2.1.1/lm-coursier-shaded_2.12-2.1.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna-platform/5.13.0/jna-platform-5.13.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/java/dev/jna/jna/5.13.0/jna-5.13.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/net/openhft/zero-allocation-hashing/0.10.1/zero-allocation-hashing-0.10.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.17.1/log4j-api-2.17.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.17.1/log4j-core-2.17.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.17.1/log4j-slf4j-impl-2.17.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/checkerframework/checker-qual/3.4.1/checker-qual-3.4.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/fusesource/jansi/jansi/2.1.0/jansi-2.1.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-builtins/3.19.0/jline-builtins-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-reader/3.19.0/jline-reader-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-style/3.19.0/jline-style-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal-jansi/3.19.0/jline-terminal-jansi-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal-jna/3.19.0/jline-terminal-jna-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/jline/jline-terminal/3.19.0/jline-terminal-3.19.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/reactivestreams/reactive-streams/1.0.3/reactive-streams-1.0.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-collection-compat_2.12/2.10.0/scala-collection-compat_2.12-2.10.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-parser-combinators_2.12/1.1.2/scala-parser-combinators_2.12-1.1.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/modules/scala-xml_2.12/2.2.0/scala-xml_2.12-2.2.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.12.18/scala-compiler-2.12.18-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.12.18/scala-library-2.12.18-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.12.18/scala-reflect-2.12.18-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/actions_2.12/1.9.6/actions_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/collections_2.12/1.9.6/collections_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/command_2.12/1.9.6/command_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-bridge_2.12/1.9.5/compiler-bridge_2.12-1.9.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/compiler-interface/1.9.5/compiler-interface-1.9.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/completion_2.12/1.9.6/completion_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/core-macros_2.12/1.9.6/core-macros_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/io_2.12/1.9.1/io_2.12-1.9.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ipcsocket/ipcsocket/1.6.2/ipcsocket-1.6.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/ivy/ivy/2.3.0-sbt-396a783bba347016e7fe30dacc60d355be607fe2/ivy-2.3.0-sbt-396a783bba347016e7fe30dacc60d355be607fe2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/jline/jline/2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493/jline-2.14.7-sbt-a1b0ffbb8f64bb820f4f84a0c07a0c0964507493-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/launcher-interface/1.4.2/launcher-interface-1.4.2-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-core_2.12/1.9.3/librarymanagement-core_2.12-1.9.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/librarymanagement-ivy_2.12/1.9.3/librarymanagement-ivy_2.12-1.9.3-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/logic_2.12/1.9.6/logic_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main-settings_2.12/1.9.6/main-settings_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/main_2.12/1.9.6/main_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/protocol_2.12/1.9.6/protocol_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/run_2.12/1.9.6/run_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbinary_2.12/0.5.1/sbinary_2.12-0.5.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/sbt/1.9.6/sbt-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/scripted-plugin_2.12/1.9.6/scripted-plugin_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/task-system_2.12/1.9.6/task-system_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/tasks_2.12/1.9.6/tasks_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/template-resolver/0.1/template-resolver-0.1-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-agent/1.9.6/test-agent-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/test-interface/1.0/test-interface-1.0-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/testing_2.12/1.9.6/testing_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-cache_2.12/1.9.6/util-cache_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-control_2.12/1.9.6/util-control_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-interface/1.9.6/util-interface-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-logging_2.12/1.9.6/util-logging_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-position_2.12/1.9.6/util-position_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-relation_2.12/1.9.6/util-relation_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/util-tracking_2.12/1.9.6/util-tracking_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-apiinfo_2.12/1.9.5/zinc-apiinfo_2.12-1.9.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classfile_2.12/1.9.5/zinc-classfile_2.12-1.9.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-classpath_2.12/1.9.5/zinc-classpath_2.12-1.9.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile-core_2.12/1.9.5/zinc-compile-core_2.12-1.9.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-compile_2.12/1.9.5/zinc-compile_2.12-1.9.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-core_2.12/1.9.5/zinc-core_2.12-1.9.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-lm-integration_2.12/1.9.6/zinc-lm-integration_2.12-1.9.6-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist-core-assembly/1.9.5/zinc-persist-core-assembly-1.9.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc-persist_2.12/1.9.5/zinc-persist_2.12-1.9.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-sbt/zinc_2.12/1.9.5/zinc_2.12-1.9.5-sources.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36-sources.jar + + + dependency_resolve_sbt_classifiers_prod_test_sources_separated + $URI_BASE + some-name + some-organization + 1.2.3 + $BASE + $BASE/target + + 2.10.1 + + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.10.1/scala-library-2.10.1.jar + + + $COURSIER/cache/https/repo1.maven.org/maven2/org/fusesource/jansi/jansi/1.4/jansi-1.4.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/jline/2.10.1/jline-2.10.1.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.10.1/scala-compiler-2.10.1.jar + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-reflect/2.10.1/scala-reflect-2.10.1.jar + + + + Mixed + + $BASE/src/main/java + $BASE/src/main/scala + $BASE/src/main/scala-2 + $BASE/src/main/scala-2.10 + $BASE/target/scala-2.10/src_managed/main + $BASE/src/main/resources + $BASE/target/scala-2.10/resource_managed/main + $BASE/target/scala-2.10/classes + + + $BASE/src/test/java + $BASE/src/test/scala + $BASE/src/test/scala-2 + $BASE/src/test/scala-2.10 + $BASE/target/scala-2.10/src_managed/test + $BASE/src/test/resources + $BASE/target/scala-2.10/resource_managed/test + $BASE/target/scala-2.10/test-classes + + + + + dependency_resolve_sbt_classifiers_prod_test_sources_separated:main + + + + + + + + + + + + + + + + + + + + + + + The artifact definitions for the current module. Must be consistent with packagedArtifacts. + 40 + + + + Organization/group ID. + 9 + + + + Directory for outputting junit test reports. + 11 + + + + Creates the classloader layering strategy for the particular configuration. + 25 + + + + The output directory to produce Zinc Analysis files + 10000 + + + + Project name. + 9 + + + + Configures retrieving dependencies to the current build. + 10000 + + + + Enables publishing an artifact to remote cache. + 25 + + + + Configuration for generating a pom. + 10000 + + + + Configures paths used by Ivy for dependency management. + 10000 + + + + Addition project information like formal name, homepage, licenses etc. + 100 + + + + List of all resource directories, both managed and unmanaged. + 39 + + + + The Scala version substring describing binary compatibility. + 39 + + + + Coursier cache directory. Uses -Dsbt.coursier.home or Coursier's default. + 100 + + + + The project configurations that this configuration depends on + 25 + + + + The location where command line history is persisted. + 40 + + + + If it exists, represents that the project (and name) were automatically created, rather than user specified. + 10000 + + + + Project name transformed from mixed case and spaces to lowercase and dash-separated. + 40 + + + + Default Scala source directory. + 10 + + + + + 25 + + + + Project description. + 40 + + + + Configures the module ID of the sources of the compiler bridge when scalaCompilerBridgeBinaryJar is None + 100 + + + + The default directory for manually managed libraries. + 10 + + + + Organization homepage. + 41 + + + + List of all source directories, both managed and unmanaged. + 11 + + + + Defines the binary compatibility version substring. + 39 + + + + Provides a fully-resolved reference to the current project for the referencing scope. + 100 + + + + Toggles the file stamping implementation used to determine whether or not a file has been modified. + 25 + + + + SemanticDB Scalac plugin + 100 + + + + Default directory for sources generated by the build. + 39 + + + + The name of the current module, used for dependency management. + 40 + + + + Organization full/formal name. + 41 + + + + Configures warnings for conflicts in dependency management. + 100 + + + + The resolvers configured for this application by the sbt launcher. + 41 + + + + Enables (true) or disables (false) publishing an artifact. + 11 + + + + Toggles whether or not to cache jar classpath entries between command evaluations + 25 + + + + The version of Scala used for building. + 9 + + + + User-defined dependency exclusions and sbt itself in the case of metabuild. + 200 + + + + The defined configurations for dependency management. This may be different from the configurations for Project settings. + 40 + + + + JAR file for pickles used for build pipelining + 25 + + + + Provides a definition for declaring the current version of sbt. + 41 + + + + Configures handling of the Scala version when cross-building. + 100 + + + + The output directory to produce Zinc Analysis files + 10000 + + + + List of classifiers used for transitively obtaining extra artifacts for sbt or declared dependencies. + 40 + + + + Toggles whether to use a hash or the last modified time to stamp the classpath jars + 25 + + + + Configuration for resolving and retrieving managed dependencies. + 10000 + + + + Main directory for files generated by the build that are cross-built. + 40 + + + + The version/revision of the current module. + 9 + + + + Logs results after a test task completes. + 20000 + + + + Default managed resource directory, used when generating resources. + 40 + + + + List of tasks that generate resources. + 100 + + + + The file globs that are used by a task. This setting will generally be scoped per task. It will also be used to determine the sources to watch during continuous execution. + 25 + + + + Default unmanaged resource directory, used for user-defined resources. + 10 + + + + Unmanaged source directories, which contain manually created sources. + 10 + + + + The log manager, which creates Loggers for different contexts. + 10000 + + + + Whether or not all the build resolvers should be overridden with what's defined from the launcher. + 41 + + + + Default Java source directory. + 10 + + + + Listeners that receive information about incremental compiler decisions. + 10000 + + + + Resolvers for remote cache. + 25 + + + + Force the watch process to rerun the current task(s) if any relevant source change is detected regardless of whether or not the underlying file has actually changed. + 10000 + + + + The base directory. Depending on the scope, this is the base directory for the build, project, configuration, or task. + 11 + + + + Directory for compiled classes and copied resources. + 11 + + + + The location of a generated artifact. + 39 + + + + Globs to keep during a clean. Must be direct children of target. + 100 + + + + Files or directories to keep during a clean. Must be direct children of target. + 100 + + + + Provides the current configuration of the referencing scope. + 100 + + + + Message to display when the project is loaded. + 10000 + + + + The output directory to produce META-INF/semanticdb/**/*.semanticdb files + 100 + + + + Provides the current project for the referencing scope. + 100 + + + + Default directory containing sources. + 11 + + + + Managed source directories, which contain sources generated by the build. + 40 + + + + True if the version of the project is a snapshot version. + 39 + + + + Main directory for files generated by the build. + 11 + + + + The versions of Sbt used when cross-building an sbt plugin. + 25 + + + + Options on eviction warnings after resolving managed dependencies. + 10000 + + + + List of managed resource directories. + 11 + + + + Directory or JAR file for compiled classes and copied resources + 25 + + + + The project configurations that this configuration depends on, possibly transitively + 10000 + + + + The versions of Scala used when cross-building. + 39 + + + + Declares managed dependencies. + 9 + + + + The dependency management descriptor for the current module. + 41 + + + + Options that take file input, which may invalidate the cache. + 100 + + + + Build target identifier of a project and configuration. + 10000 + + + + Declares managed dependency overrides. + 40 + + + + Configures whether to generate and publish a pom (true) or Ivy file (false). + 40 + + + + Configures how Scala dependencies are checked, filtered, and injected. + 100 + + + + Organization/group ID of the Scala used in the project. Default value is 'org.scala-lang'. This is an advanced setting used for clones of the Scala Language. It should be disregarded in standard use cases. + 100 + + + + Continuous execution configuration. + 1000 + + + + Options for resolving managed dependencies. + 10000 + + + + Describes an artifact. + 41 + + + + The Scalac options introduced for SemanticDB + 100 + + + + List of tasks that generate sources. + 100 + + + + Unmanaged resource directories, containing resources manually created by the user. + 11 + + + + Corresponds to the buildTarget/jvmTestEnvironment request + 20000 + + + + Source positions where the dependencies are defined. + 20000 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies, all as JARs. + 17 + + + + + 17 + + + + Aggregated credentials across current and root subprojects. Do not rewire this task. + 20000 + + + + Manipulates generated bytecode + 30 + + + + Remote cache ids to pull. + 17 + + + + Retrieve remote cache. + 17 + + + + Executes all tests. + 4 + + + + Defines the mappings from a file to a path, used by packaging, for example. + 30 + + + + Produces the main artifact, such as a binary jar. This is typically an alias for the task that actually does the packaging. + 4 + + + + Generates the Ivy file for publishing to the local repository. + 30 + + + + Callback used by the compiler to report phase progress + 17 + + + + The configuration used to define the classpath. + 200 + + + + Filter controlling whether the test is executed + 20000 + + + + Base directories of build products. + 200 + + + + The classpath consisting of library dependencies, both managed and unmanaged. + 31 + + + + Loads Framework definitions from the test loader. + 20000 + + + + Classpath entries (deep) that are manually managed. + 29 + + + + Module settings, which configure dependency management for a specific module, such as a project. + 20000 + + + + The internal (inter-project) pickles. This task is promise-blocked. + 17 + + + + Generates a pom for publishing when publishing Maven-style. + 17 + + + + Configures aspects of incremental compilation. + 20000 + + + + Start a provided main class as a background job + 5 + + + + Starts the Scala interpreter with the sbt and the build definition on the classpath and useful imports. + 6 + + + + Deletes the ivy cached resolution + 17 + + + + Inter-project and library dependencies. + 200 + + + + Auto-detects main classes. + 31 + + + + The dependency graph for a project + 17 + + + + The external resolvers for automatically managed dependencies. + 41 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + classifiers-module + 200 + + + + Provides the sbt interface to Ivy. + 200 + + + + Start a provided main class as a foreground job + 5 + + + + Mappings from classpath entry to API documentation base URL. + 41 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 29 + + + + + 20000 + + + + Just the exported classpath as JARs without triggering the compilation. + 17 + + + + Produces a documentation artifact, such as a jar containing API documentation. + 6 + + + + Optionally, the jar of the compiler bridge. When not None, this takes precedence over scalaCompilerBridgeSource + 100 + + + + Zinc analysis storage for early compilation + 10000 + + + + Runs a main class, passing along arguments provided on the command line. + 4 + + + + Dependency resolution to retrieve sbt's components. + 200 + + + + Deletes files produced by the build, such as generated sources, compiled classes, and task caches. + 4 + + + + The base directory for cached dependencies. + 20000 + + + + General dependency management (Coursier) settings, such as the resolvers and options to use. + 20000 + + + + Configures JVM forking. + 10000 + + + + The auxiliary class files that must be managed by Zinc (for instance the TASTy files) + 17 + + + + Shows warnings from compilation, including ones that weren't printed initially. + 29 + + + + Watch a task (or multiple tasks) and rebuild when its file inputs change or user input is received. The semantics are more or less the same as the `~` command except that it cannot transform the state on exit. This means that it cannot be used to reload the build. + 10000 + + + + Build products that go on the exported classpath if missing. + 200 + + + + Resolver that handles inter-project dependencies. + 20000 + + + + + 20000 + + + + Inter-project dependencies. + 20000 + + + + Executes the tests provided as arguments or all tests if no arguments are provided. + 5 + + + + Publishes artifacts to the local Ivy repository. + 4 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies, all as JARs. + 17 + + + + Configuration for unresolved dependency warning. + 20000 + + + + General dependency management (Ivy) settings, such as the resolvers and paths to use. + 20000 + + + + Configuration for publishing to the local Ivy repository. + 20000 + + + + Collects all inputs needed for packaging. + 20000 + + + + Produces the main artifact for caching. + 17 + + + + Corresponds to the buildTarget/jvmRunEnvironment request + 20000 + + + + Options for packaging. + 30 + + + + Defines the filename used for compileAnalysisFile. + 20000 + + + + Combines the project resolver, default resolvers, and user-defined resolvers. + 200 + + + + Build products that go on the exported classpath. + 200 + + + + Implementation used to run a main class. + 20000 + + + + For tasks that support it (currently only 'compile', 'update', 'publish' and 'publishLocal'), setting skip to true will force the task to not to do its work. The exact semantics may vary depending on the task. + 40 + + + + Defines the Scala instance to use for compilation, running, and testing. + 20000 + + + + Remote cache artifact definitions. + 17 + + + + Collects all inputs needed for compilation. + 20000 + + + + Build products that get packaged. + 31 + + + + Resolvers not included in the main resolver chain, such as those in module configurations. + 100 + + + + Settings controlling test execution + 20000 + + + + Experimental hook to listen (or send) compilation failure messages. + 20000 + + + + Defines the Scala and Java compilers to use for compilation. + 20000 + + + + Generates a packaged artifact, returning the Artifact and the produced File. + 200 + + + + Resolves and optionally retrieves classifiers, such as javadocs and sources, for sbt, transitively. + 29 + + + + Compiles sources. + 4 + + + + Publishes artifacts to the local Maven repository. + 5 + + + + Unmanaged resources, which are manually created. + 29 + + + + Defines the main class for packaging or running. + 29 + + + + Generates a pom for publishing when publishing Maven-style. + 29 + + + + Provides the set of defined test names. + 31 + + + + Generates API documentation. + 6 + + + + Options for the Scala compiler. + 29 + + + + The classpath consisting of internal and external, managed and unmanaged dependencies. + 200 + + + + Configuration for generating ivy.xml. + 10000 + + + + Produces a source artifact, such as a jar containing sources and resources. + 6 + + + + Classpath entries for the current project (shallow) that are manually managed. + 29 + + + + Runs the main class selected by the first argument, passing the remaining arguments to the main method. + 5 + + + + Options for the incremental compiler. + 30 + + + + Display detailed eviction warnings. + 200 + + + + Publishes artifacts to a repository. + 4 + + + + Project dependency map for the inter-project resolver. + 20000 + + + + The external hooks used by zinc. + 17 + + + + Collect analysis file locations for later use. + 17 + + + + + 20000 + + + + Start an application's default main class as a background job + 5 + + + + Build products that go on the exported classpath as JARs. + 17 + + + + All of the file inputs for a task excluding directories and hidden files. + 17 + + + + Configuration for publishing to the local Maven repository. + 20000 + + + + Collects discovered tests into groups. Whether to fork and the options for forking are configurable on a per-group basis. + 31 + + + + The changed files for a task + 17 + + + + Selects the main class to run. + 31 + + + + Provides the string value for the task it is scoped for + 17 + + + + Actually runs the incremental compilation + 20000 + + + + Provides streams for logging and persisting data. + 20000 + + + + + 17 + + + + Resources generated by the build. + 30 + + + + Defines the sources in all projects for continuous execution to watch. + 100 + + + + Just the exported classpath without triggering the compilation. + 200 + + + + Options for running tests. + 29 + + + + + 17 + + + + Packages all artifacts for publishing and maps the Artifact definition to the generated file. + 200 + + + + + 20000 + + + + Defines the directory name used to store the update cache files (inside the streams cacheDirectory). + 20000 + + + + Provides the sbt interface to publisher + 17 + + + + Sources generated by the build. + 30 + + + + Prints an ascii tree of all the dependencies to the console + 17 + + + + + 20000 + + + + The classpath consisting of internal pickles and external, managed and unmanaged dependencies. This task is promise-blocked. + 17 + + + + UpdateReports for the internal dependencies of this project. + 20000 + + + + Defines test listeners. + 20000 + + + + The internal (inter-project) classpath as JARs. + 17 + + + + + 17 + + + + Starts the Scala interpreter with the project dependencies on the classpath. + 5 + + + + + 200 + + + + The files to recursively delete during a clean. + 40 + + + + Configuration for publishing to a repository. + 20000 + + + + Executes all tests, producing a report. + 200 + + + + Build products that go on the exported classpath as JARs if missing. + 17 + + + + All resource files, both managed and unmanaged. + 30 + + + + + 17 + + + + Collects basic options to configure compilers + 20000 + + + + The names of sbt plugin-related modules (modules that extend Build, Plugin, AutoPlugin) defined by this project. + 200 + + + + + 20000 + + + + Resolvers used to resolve compiler bridges. + 100 + + + + Start an application's default main class as a foreground job + 5 + + + + + 20000 + + + + Zinc analysis storage. + 10000 + + + + Provides the class loader used for testing. + 20000 + + + + Pickle JARs + 20000 + + + + Resolvers used for sbt artifacts. + 17 + + + + Provides the sbt interface to dependency resolution. + 200 + + + + The stored module-graph from the last run + 17 + + + + The resolvers used by the sbt launcher. + 41 + + + + Resolves and optionally retrieves dependencies, producing a full report with callers. + 200 + + + + Resolves and optionally retrieves dependencies, producing a report. + 5 + + + + Produces a main artifact, such as a binary jar. + 5 + + + + The files that have changed since the last task run. + 17 + + + + Configuration for generating ivy.xml. + 10000 + + + + All of the file outputs for a task excluding directories and hidden files. + 17 + + + + Build products that go on the exported compilation classpath as JARs. Note this is promise-blocked. + 20000 + + + + update used for dependencyTree task + 17 + + + + Push remote cache to the cache server. + 17 + + + + Computes JVM environment item + 20000 + + + + The internal (inter-project) classpath. + 200 + + + + Read the incremental compiler analysis from disk + 20000 + + + + All sources, both managed and unmanaged. + 30 + + + + Starts the Scala interpreter with the project classes on the classpath. + 4 + + + + Unique identifier for the remote cache. + 17 + + + + Unmanaged sources, which are manually created. + 29 + + + + ModuleID used for remote cache JARs. + 17 + + + + Corresponds to buildTarget/run request + 20000 + + + + Provides the sbt interface to a configured Ivy module. + 200 + + + + + 20000 + + + + Copies resources to the output directory. + 6 + + + + Returns the TASTy files produced by compilation + 20000 + + + + Description of the BSP build targets + 20000 + + + + Resolvers of the current project, plus those of all from its inter-dependency projects + 17 + + + + Dependency resolution to retrieve the compiler bridge. + 200 + + + + + 20000 + + + + The classpath consisting of external, managed library dependencies. + 31 + + + + Generates the Ivy file for publishing to a repository. + 30 + + + + Executes the tests that either failed before, were not run or whose transitive dependencies changed, among those provided as arguments. + 5 + + + + Writes the task value to the given file + 5 + + + + The remote cache artifact definition. + 17 + + + + Resolves and optionally retrieves classified artifacts, such as javadocs and sources, for dependency definitions, transitively. + 29 + + + + General dependency management (Ivy) settings, configured to retrieve sbt's components. + 20000 + + + + Projects the current project depends on, possibly transitively + 17 + + + + The exported classpath, consisting of build products and unmanaged and managed, internal and external dependencies. + 29 + + + + Provides the list of defined tests. + 31 + + + preferScala2 + + + about + + about + Displays basic information about sbt and the build. + + + + tasks + + tasks + Lists the tasks defined for the current project. + + + + settings + + settings + Lists the settings defined for the current project. + + + + reload + + reload + (Re)loads the current project or changes to plugins project or returns from it. + + + + new + + new + Creates a new sbt build. + + + + init + + new + Creates a new sbt build. + + + + projects + + projects + Lists the names of available projects or temporarily adds/removes extra builds to the session. + + + + project + + project + Displays the current project or changes to the provided `project`. + + + + set + + set [every] <setting> + Evaluates a Setting and applies it to the current project. + + + + session + + session + Manipulates session settings. For details, run 'help session'. + + + + inspect + + inspect [tree|uses|definitions|actual] <key> + Prints the value for 'key', the defining scope, delegates, related definitions, and dependencies. + + + + loadp + + + loadFailed + + + load-failed + + + plugin + + + plugins + + plugins + Lists currently available plugins. + + + + writeSbtVersion + + + skipBanner + + + notifyUsersAboutShell + + + shell + + + startServer + + + eval + + + last + + last + Displays output from a previous command or the output from a specific task. + + + + last-grep + + last-grep + Shows lines from the last output for 'key' that match 'pattern'. + + + + lastGrep + + lastGrep + Shows lines from the last output for 'key' that match 'pattern'. + + + + export + + export <tasks>+ + Executes tasks and displays the equivalent command lines. + + + + boot + + + initialize + + + ~ + + ~ <command> + Executes the specified command whenever source files change. + + + + clearCaches + + + resumeFromFailure + + + help + + help + Displays this help message or prints detailed help on requested commands (run 'help <command>'). + + + + completions + + completions + Displays a list of completions for the given argument string (run 'completions <string>'). + + + + iflast + + + append + + + onFailure + + + sbtClearOnFailure + + + sbtStashOnFailure + + + sbtPopOnFailure + + + reboot + + + apply + + + exit + + exit + Terminates the remote client or the build when called from the console. + + + + shutdown + + shutdown + Terminates the build. + + + + oldshell + + + client + + + < + + + alias + + + bspReload + + $BASE/src/test + $BASE/src/main + + + + $COURSIER/cache/https/repo1.maven.org/maven2/junit/junit/4.13.2/junit-4.13.2.jar + + + $COURSIER/cache/https/repo1.maven.org/maven2/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar + + + $COURSIER/cache/https/repo1.maven.org/maven2/org/scala-lang/scala-library/2.10.1/scala-library-2.10.1.jar + + + $IVY2 + \ No newline at end of file diff --git a/extractor/src/test/data/1.9/dependency_resolve_sources/structure.xml b/extractor/src/test/data/1.9/dependency_resolve_sources/structure.xml index 61fc89c4..8a83c974 100644 --- a/extractor/src/test/data/1.9/dependency_resolve_sources/structure.xml +++ b/extractor/src/test/data/1.9/dependency_resolve_sources/structure.xml @@ -138,9 +138,21 @@ $BASE/target/scala-2.10/test-classes - - - + + + + + + + + + + + + + + + @@ -1760,6 +1772,8 @@ bspReload + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.9/dependency_resolve_sources_and_javadocs_and_sbt_classifiers/structure.xml b/extractor/src/test/data/1.9/dependency_resolve_sources_and_javadocs_and_sbt_classifiers/structure.xml index ec609fd2..db95e93d 100644 --- a/extractor/src/test/data/1.9/dependency_resolve_sources_and_javadocs_and_sbt_classifiers/structure.xml +++ b/extractor/src/test/data/1.9/dependency_resolve_sources_and_javadocs_and_sbt_classifiers/structure.xml @@ -304,9 +304,21 @@ $BASE/target/scala-2.10/test-classes - - - + + + + + + + + + + + + + + + @@ -1926,6 +1938,8 @@ bspReload + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.9/dependency_resolve_sources_and_sbt_classifiers/structure.xml b/extractor/src/test/data/1.9/dependency_resolve_sources_and_sbt_classifiers/structure.xml index 401b668c..6522738d 100644 --- a/extractor/src/test/data/1.9/dependency_resolve_sources_and_sbt_classifiers/structure.xml +++ b/extractor/src/test/data/1.9/dependency_resolve_sources_and_sbt_classifiers/structure.xml @@ -151,9 +151,21 @@ $BASE/target/scala-2.10/test-classes - - - $BASE/lib/unmanaged.jar + + + + + + + + + + + + + + + @@ -1667,6 +1679,8 @@ --- + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/data/1.9/simple/structure.xml b/extractor/src/test/data/1.9/simple/structure.xml index 9391f773..f375b588 100644 --- a/extractor/src/test/data/1.9/simple/structure.xml +++ b/extractor/src/test/data/1.9/simple/structure.xml @@ -222,7 +222,20 @@ $BASE/target/scala-2.13/test-classes - + + + + + + + + + + + + + + @@ -1837,6 +1850,8 @@ bspReload + $BASE/src/test + $BASE/src/main diff --git a/extractor/src/test/scala/org/jetbrains/sbt/ImportSpec.scala b/extractor/src/test/scala/org/jetbrains/sbt/ImportSpec.scala index c8f4204f..489f285b 100644 --- a/extractor/src/test/scala/org/jetbrains/sbt/ImportSpec.scala +++ b/extractor/src/test/scala/org/jetbrains/sbt/ImportSpec.scala @@ -33,10 +33,14 @@ class ImportSpec extends AnyFreeSpecLike { import Options.Keys private val ResolveNone = "" + private val ResolveNoneAndSeparateProdTestSources = Keys.SeparateProdAndTestSources private val ResolveSources = s"${Keys.ResolveSourceClassifiers}" private val ResolveJavadocs = s"${Keys.ResolveJavadocClassifiers}" private val ResolveSbtClassifiers = s"${Keys.ResolveSbtClassifiers}" + private val ResolveSbtClassifiersAndSeparateProdTestSources = s"${Keys.ResolveSbtClassifiers} ${Keys.SeparateProdAndTestSources}" private val ResolveSourcesAndSbtClassifiers = s"${Keys.ResolveSourceClassifiers} ${Keys.ResolveSbtClassifiers}" + private val ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources = + s"${Keys.ResolveSourceClassifiers} ${Keys.ResolveSbtClassifiers} ${Keys.SeparateProdAndTestSources}" private val ResolveSourcesAndJavaDocsAndSbtClassifiers = s"${Keys.ResolveSourceClassifiers}, ${Keys.ResolveJavadocClassifiers}, ${Keys.ResolveSbtClassifiers}" "extracted structure should equal to expected structure" - { @@ -55,19 +59,55 @@ class ImportSpec extends AnyFreeSpecLike { "dependency_resolve_none_with_explicit_classifiers" in { testProject_013("dependency_resolve_none_with_explicit_classifiers", options = ResolveNone) } "dependency_resolve_sources" in { testProject_013("dependency_resolve_sources", options = ResolveSources) } "dependency_resolve_javadocs" in { testProject_013("dependency_resolve_javadocs", options = ResolveJavadocs) } + + "prod_test_sources_separated" - { + "multiple" in { testProject_013("prod_test_sources_separated/multiple", options = ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources) } + "simple" in { testProject_013("prod_test_sources_separated/simple", options = ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources) } + "classifiers" in { testProject_013("prod_test_sources_separated/classifiers", options = ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources) } + "optional" in { testProject_013("prod_test_sources_separated/optional", options = ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources) } + "play" in { testProject_013("prod_test_sources_separated/play", options = ResolveNoneAndSeparateProdTestSources) } + "custom-test-config" in { testProject_013("prod_test_sources_separated/custom-test-config", options = ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources)} + } } - "1.0 simple" in { testProject("simple", "1.0.4", ResolveSourcesAndSbtClassifiers) } - "1.1 simple" in { testProject("simple", "1.1.6", ResolveSourcesAndSbtClassifiers) } - "1.2 simple" in { testProject("simple", "1.2.8", ResolveSourcesAndSbtClassifiers) } - "1.3 simple" in { testProject("simple", "1.3.13", ResolveSourcesAndSbtClassifiers) } - "1.4 simple" in { testProject("simple", "1.4.9", ResolveSourcesAndSbtClassifiers) } - "1.5 simple" in { testProject("simple", "1.5.5", ResolveSourcesAndSbtClassifiers) } - "1.5 scala3 simple" in { testProject("simple_scala3", "1.5.5", ResolveSourcesAndSbtClassifiers) } - "1.6 simple" in { testProject("simple", "1.6.2", ResolveSourcesAndSbtClassifiers) } - "1.7 simple" in { testProject("simple", "1.7.3", ResolveSourcesAndSbtClassifiers) } - "1.7 compile-order" in { testProject("compile-order", "1.7.3", ResolveSourcesAndSbtClassifiers) } - "1.8 simple " in { testProject("simple", "1.8.3", ResolveSourcesAndSbtClassifiers) } + "1.0" - { + "simple" in { testProject("simple", "1.0.4", ResolveSourcesAndSbtClassifiers) } + "prod_test_sources_separated" in { testProject("prod_test_sources_separated", "1.0.4", ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources) } + } + "1.1" - { + "simple" in { testProject("simple", "1.1.6", ResolveSourcesAndSbtClassifiers) } + "prod_test_sources_separated" in { testProject("prod_test_sources_separated", "1.1.6", ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources) } + } + "1.2" - { + "simple" in { testProject("simple", "1.2.8", ResolveSourcesAndSbtClassifiers) } + "prod_test_sources_separated" in { testProject("prod_test_sources_separated", "1.2.8", ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources) } + } + "1.3" - { + "simple" in { testProject("simple", "1.3.13", ResolveSourcesAndSbtClassifiers) } + "prod_test_sources_separated" in { testProject("prod_test_sources_separated", "1.3.13", ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources) } + } + "1.4" - { + "simple" in { testProject("simple", "1.4.9", ResolveSourcesAndSbtClassifiers) } + "prod_test_sources_separated" in { testProject("prod_test_sources_separated", "1.4.9", ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources) } + } + "1.5" - { + "simple" in { testProject("simple", "1.5.5", ResolveSourcesAndSbtClassifiers) } + "scala3 simple" in { testProject("simple_scala3", "1.5.5", ResolveSourcesAndSbtClassifiers) } + "prod_test_sources_separated" in { testProject("prod_test_sources_separated", "1.5.5", ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources) } + } + "1.6" - { + "simple" in { testProject("simple", "1.6.2", ResolveSourcesAndSbtClassifiers) } + "prod_test_sources_separated" in { testProject("prod_test_sources_separated", "1.6.2", ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources) } + } + "1.7" - { + "simple" in { testProject("simple", "1.7.3", ResolveSourcesAndSbtClassifiers) } + "compile-order" in { testProject("compile-order", "1.7.3", ResolveSourcesAndSbtClassifiers) } + "prod_test_sources_separated" in { testProject("prod_test_sources_separated", "1.7.3", ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources) } + } + "1.8" - { + "simple" in { testProject("simple", "1.8.3", ResolveSourcesAndSbtClassifiers) } + "prod_test_sources_separated" in { testProject("prod_test_sources_separated", "1.8.3", ResolveSourcesAndSbtClassifiersAndSeparateProdTestSources) } + } "1.9" - { val SbtVersion_1_9 = "1.9.6" @@ -77,6 +117,8 @@ class ImportSpec extends AnyFreeSpecLike { "dependency_resolve_javadocs" in { testProject("dependency_resolve_javadocs", SbtVersion_1_9, options = ResolveJavadocs) } "dependency_resolve_sbt_classifiers" in { testProject("dependency_resolve_sbt_classifiers", SbtVersion_1_9, options = ResolveSbtClassifiers) } "dependency_resolve_sources_and_javadocs_and_sbt_classifiers" in { testProject("dependency_resolve_sources_and_javadocs_and_sbt_classifiers", SbtVersion_1_9, options = ResolveSourcesAndJavaDocsAndSbtClassifiers) } + + "dependency_resolve_sbt_classifiers_prod_test_sources_separated" in { testProject("dependency_resolve_sbt_classifiers_prod_test_sources_separated", SbtVersion_1_9, options = ResolveSbtClassifiersAndSeparateProdTestSources) } } } diff --git a/extractor/src/test/scala/org/jetbrains/sbt/extractors/DependenciesExtractorSpec.scala b/extractor/src/test/scala/org/jetbrains/sbt/extractors/DependenciesExtractorSpec.scala index 62607400..126ecbc0 100644 --- a/extractor/src/test/scala/org/jetbrains/sbt/extractors/DependenciesExtractorSpec.scala +++ b/extractor/src/test/scala/org/jetbrains/sbt/extractors/DependenciesExtractorSpec.scala @@ -1,6 +1,7 @@ package org.jetbrains.sbt package extractors +import org.jetbrains.sbt.extractors.DependenciesExtractor.ProductionType import org.jetbrains.sbt.structure._ import org.scalatest.freespec.AnyFreeSpecLike import org.scalatest.matchers.must.Matchers.{contain, convertToAnyMustWrapper} @@ -8,6 +9,7 @@ import sbt.{Configuration => SbtConfiguration, Attributed, globFilter => _, _} import sbt.jetbrains.apiAdapter import scala.collection.Seq + class DependenciesExtractorSpec extends AnyFreeSpecLike { val projects: Seq[ProjectRef] = @@ -42,24 +44,29 @@ class DependenciesExtractorSpec extends AnyFreeSpecLike { testConfigurations = Seq(sbt.Test), sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), insertProjectTransitiveDependencies = true, + separateProdTestSources = false, projectToConfigurations = Map( - projects(1) -> Seq(Configuration.Compile, Configuration.Runtime, Configuration.Test) + ProductionType(projects(1)) -> Seq(Configuration.Compile, Configuration.Runtime, Configuration.Test) ) ).extract val expected = DependencyData( - projects = Seq( - ProjectDependencyData( - projects(1).id, - Some(projects(1).build), - Seq(Configuration.Compile) - ) + projects = mapToProdDependencies( + Seq( + ProjectDependencyData( + projects(1).id, + Some(projects(1).build), + Seq(Configuration.Compile) + ) + ) ), - modules = Nil, - jars = Seq( - JarDependencyData(file("foo.jar"), Seq(Configuration.Compile)), - JarDependencyData(file("bar.jar"), Seq(Configuration.Compile)), - JarDependencyData(file("baz.jar"), Seq(Configuration.Test)) + modules = Dependencies(Seq.empty, Seq.empty), + jars = mapToProdDependencies( + Seq( + JarDependencyData(file("foo.jar"), Seq(Configuration.Compile)), + JarDependencyData(file("bar.jar"), Seq(Configuration.Compile)), + JarDependencyData(file("baz.jar"), Seq(Configuration.Test)) + ), ) ) assertIdentical(expected, actual) @@ -87,34 +94,39 @@ class DependenciesExtractorSpec extends AnyFreeSpecLike { testConfigurations = Seq(sbt.Test), sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), insertProjectTransitiveDependencies = true, + separateProdTestSources = false, projectToConfigurations = Map( - projects(1) -> Seq(Configuration.Compile, Configuration.Test, Configuration.Runtime) + ProductionType(projects(1)) -> Seq(Configuration.Compile, Configuration.Test, Configuration.Runtime) ) ).extract val expected = DependencyData( - projects = Seq( - ProjectDependencyData( - projects(1).id, - Some(projects(1).build), - Seq(Configuration.Compile) + projects = mapToProdDependencies( + Seq( + ProjectDependencyData( + projects(1).id, + Some(projects(1).build), + Seq(Configuration.Compile) + ) ) ), - modules = Seq( - ModuleDependencyData( - toIdentifier(moduleId("foo")), - Seq(Configuration.Compile) - ), - ModuleDependencyData( - toIdentifier(moduleId("bar")), - Seq(Configuration.Compile) - ), - ModuleDependencyData( - toIdentifier(moduleId("baz")), - Seq(Configuration.Test) + modules = mapToProdDependencies( + Seq( + ModuleDependencyData( + toIdentifier(moduleId("foo")), + Seq(Configuration.Compile) + ), + ModuleDependencyData( + toIdentifier(moduleId("bar")), + Seq(Configuration.Compile) + ), + ModuleDependencyData( + toIdentifier(moduleId("baz")), + Seq(Configuration.Test) + ) ) ), - jars = Nil + jars = Dependencies(Seq.empty, Seq.empty) ) assertIdentical(expected, actual) @@ -144,32 +156,39 @@ class DependenciesExtractorSpec extends AnyFreeSpecLike { testConfigurations = Seq(sbt.Test, CustomConf), sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), insertProjectTransitiveDependencies = true, + separateProdTestSources = false, projectToConfigurations = Map( - projects(1) -> Seq(Configuration.Compile, Configuration.Test, Configuration.Runtime) + ProductionType(projects(1)) -> Seq(Configuration.Compile, Configuration.Test, Configuration.Runtime) ) ).extract val expected = DependencyData( - projects = Seq( - ProjectDependencyData( - projects(1).id, - Some(projects(1).build), - Seq(Configuration.Compile) + projects = mapToProdDependencies( + Seq( + ProjectDependencyData( + projects(1).id, + Some(projects(1).build), + Seq(Configuration.Compile) + ) ) ), - modules = Seq( - ModuleDependencyData( - toIdentifier(moduleId("baz")), - Seq(Configuration.Test) - ), - ModuleDependencyData( - toIdentifier(moduleId("qux")), - Seq(Configuration.Test) + modules = mapToProdDependencies( + Seq( + ModuleDependencyData( + toIdentifier(moduleId("baz")), + Seq(Configuration.Test) + ), + ModuleDependencyData( + toIdentifier(moduleId("qux")), + Seq(Configuration.Test) + ) ) ), - jars = Seq( - JarDependencyData(file("foo.jar"), Seq(Configuration.Test)), - JarDependencyData(file("bar.jar"), Seq(Configuration.Test)) + jars = mapToProdDependencies( + Seq( + JarDependencyData(file("foo.jar"), Seq(Configuration.Test)), + JarDependencyData(file("bar.jar"), Seq(Configuration.Test)) + ) ) ) @@ -198,27 +217,27 @@ class DependenciesExtractorSpec extends AnyFreeSpecLike { testConfigurations = Seq.empty, sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), insertProjectTransitiveDependencies = true, + separateProdTestSources = false, projectToConfigurations = Map( - projects(1) -> Seq(Configuration.Compile, Configuration.Test, Configuration.Runtime) + ProductionType(projects(1)) -> Seq(Configuration.Compile, Configuration.Test, Configuration.Runtime) ) ).extract - val expectedModules = Seq( - toIdentifier(moduleId), - toIdentifier(moduleId).copy(classifier = "tests") - ) + val expectedModules = Seq(toIdentifier(moduleId), toIdentifier(moduleId).copy(classifier = "tests")).map { + it => ModuleDependencyData(it, Seq(Configuration.Compile)) + } val expected = DependencyData( - projects = Seq( - ProjectDependencyData( - projects(1).id, - Some(projects(1).build), - Seq(Configuration.Compile) + projects = mapToProdDependencies( + Seq( + ProjectDependencyData( + projects(1).id, + Some(projects(1).build), + Seq(Configuration.Compile) + ) ) ), - modules = expectedModules.map( - it => ModuleDependencyData(it, Seq(Configuration.Compile)) - ), - jars = Nil + modules = mapToProdDependencies(expectedModules), + jars = Dependencies(Seq.empty, Seq.empty) ) assertIdentical(expected, actual) } @@ -251,27 +270,31 @@ class DependenciesExtractorSpec extends AnyFreeSpecLike { testConfigurations = Seq.empty, sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), insertProjectTransitiveDependencies = true, + separateProdTestSources = false, projectToConfigurations = Map( - projects(1) -> Seq(Configuration.Compile, Configuration.Test, Configuration.Runtime) + ProductionType(projects(1)) -> Seq(Configuration.Compile, Configuration.Test, Configuration.Runtime) ) ).extract val expected = DependencyData( - projects = Seq( - ProjectDependencyData( - projects(1).id, - Some(projects(1).build), - Seq(Configuration.Compile) + projects = mapToProdDependencies( + Seq( + ProjectDependencyData( + projects(1).id, + Some(projects(1).build), + Seq(Configuration.Compile) + ) ) ), - modules = Seq( - ModuleDependencyData( - toIdentifier(moduleId), - Seq(Configuration.Compile) + modules = mapToProdDependencies( + Seq( + ModuleDependencyData( + toIdentifier(moduleId), + Seq(Configuration.Compile) + ) ) ), - jars = - Seq(JarDependencyData(file("bar.jar"), Seq(Configuration.Compile))) + jars = mapToProdDependencies(Seq(JarDependencyData(file("bar.jar"), Seq(Configuration.Compile)))) ) assertIdentical(expected, actual) } @@ -300,28 +323,31 @@ class DependenciesExtractorSpec extends AnyFreeSpecLike { testConfigurations = Seq.empty, sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), insertProjectTransitiveDependencies = true, + separateProdTestSources = false, projectToConfigurations = Map( - projects(1) -> Seq(Configuration.Compile, Configuration.Test, Configuration.Runtime) + ProductionType(projects(1)) -> Seq(Configuration.Compile, Configuration.Test, Configuration.Runtime) ) ).extract val expected = DependencyData( - projects = Seq( - ProjectDependencyData( - projects(1).id, - Some(projects(1).build), - Seq(Configuration.Compile) + projects = mapToProdDependencies( + Seq( + ProjectDependencyData( + projects(1).id, + Some(projects(1).build), + Seq(Configuration.Compile) + ) ) ), - modules = Seq( - ModuleDependencyData( - toIdentifier(moduleId), - Seq(Configuration.Provided) + modules = mapToProdDependencies( + Seq( + ModuleDependencyData( + toIdentifier(moduleId), + Seq(Configuration.Provided) + ) ) ), - jars = Seq( - JarDependencyData(file("bar.jar"), Seq(Configuration.Provided)) - ) + jars = mapToProdDependencies(Seq(JarDependencyData(file("bar.jar"), Seq(Configuration.Provided)))) ) assertIdentical(expected, actual) } @@ -338,9 +364,10 @@ class DependenciesExtractorSpec extends AnyFreeSpecLike { dependencyConfigurations = Seq(sbt.Compile, sbt.Test, sbt.Runtime), testConfigurations = Nil, sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), - true, + insertProjectTransitiveDependencies = true, + separateProdTestSources = false, projectToConfigurations = Map( - projects(1) -> Seq(Configuration.Compile, Configuration.Test, Configuration.Runtime) + ProductionType(projects(1)) -> Seq(Configuration.Compile, Configuration.Test, Configuration.Runtime) ) ).extract @@ -348,9 +375,9 @@ class DependenciesExtractorSpec extends AnyFreeSpecLike { ProjectDependencyData(projects(1).project, Some(projects(1).build), Seq(Configuration.Compile)) ) val expected = DependencyData( - projects = productionDependencies, - modules = Nil, - jars = Nil + projects = mapToProdDependencies(productionDependencies), + modules = Dependencies(Seq.empty, Seq.empty), + jars = Dependencies(Seq.empty, Seq.empty) ) assertIdentical(expected, actual) } @@ -364,18 +391,19 @@ class DependenciesExtractorSpec extends AnyFreeSpecLike { dependencyConfigurations = Seq(sbt.Compile, sbt.Test, sbt.Runtime), testConfigurations = Nil, sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), - true, + insertProjectTransitiveDependencies = true, + separateProdTestSources = false, projectToConfigurations = Map( - projects(1) -> Seq(Configuration.Compile, Configuration.Test) + ProductionType(projects(1)) -> Seq(Configuration.Compile, Configuration.Test) ) ).extract val expected = DependencyData( - projects = Seq( - ProjectDependencyData(projects(1).project, Some(projects(1).build), Seq(Configuration.Provided)) + projects = mapToProdDependencies( + Seq(ProjectDependencyData(projects(1).project, Some(projects(1).build), Seq(Configuration.Provided))) ), - modules = Nil, - jars = Nil + modules = Dependencies(Seq.empty, Seq.empty), + jars = Dependencies(Seq.empty, Seq.empty) ) assertIdentical(expected, actual) } @@ -389,29 +417,28 @@ class DependenciesExtractorSpec extends AnyFreeSpecLike { dependencyConfigurations = Seq(sbt.Compile, sbt.Test, sbt.Runtime, CustomConf), testConfigurations = Seq(sbt.Test, CustomConf), sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), - true, + insertProjectTransitiveDependencies = true, + separateProdTestSources = false, projectToConfigurations = Map( - projects(1) -> Seq(Configuration.Compile, Configuration(CustomConf.name)) + ProductionType(projects(1)) -> Seq(Configuration.Compile, Configuration(CustomConf.name)) ) ).extract val expected = DependencyData( - projects = Seq( - ProjectDependencyData(projects(1).project, Some(projects(1).build), Seq(Configuration.Provided)) + projects = mapToProdDependencies( + Seq(ProjectDependencyData(projects(1).project, Some(projects(1).build), Seq(Configuration.Provided))) ), - modules = Nil, - jars = Nil + modules = Dependencies(Seq.empty, Seq.empty), + jars = Dependencies(Seq.empty, Seq.empty) ) assertIdentical(expected, actual) } - } - def assertIdentical(expected: DependencyData, actual: DependencyData): Unit = { - actual.projects must contain theSameElementsAs expected.projects - actual.jars must contain theSameElementsAs expected.jars - actual.modules must contain theSameElementsAs expected.modules + actual.projects.forProduction must contain theSameElementsAs expected.projects.forProduction + actual.jars.forProduction must contain theSameElementsAs expected.jars.forProduction + actual.modules.forProduction must contain theSameElementsAs expected.modules.forProduction } def attributedWith(file: File)(moduleId: ModuleID, @@ -433,4 +460,10 @@ class DependenciesExtractorSpec extends AnyFreeSpecLike { Artifact.DefaultType, "" ) + + private def mapToProdDependencies[T](forProduction: Seq[T]): Dependencies[T] = + Dependencies( + forProduction = forProduction, + forTest = Seq.empty + ) } diff --git a/extractor/src/test/scala/org/jetbrains/sbt/extractors/DependenciesExtractorSpec_ProdTestSourcesSeparatedEnabled.scala b/extractor/src/test/scala/org/jetbrains/sbt/extractors/DependenciesExtractorSpec_ProdTestSourcesSeparatedEnabled.scala new file mode 100644 index 00000000..ccbb7a57 --- /dev/null +++ b/extractor/src/test/scala/org/jetbrains/sbt/extractors/DependenciesExtractorSpec_ProdTestSourcesSeparatedEnabled.scala @@ -0,0 +1,575 @@ +package org.jetbrains.sbt.extractors + +import org.jetbrains.sbt.`enrich ProjectRef` +import org.jetbrains.sbt.extractors.DependenciesExtractor.ProductionType +import org.jetbrains.sbt.structure.* +import org.scalatest.freespec.AnyFreeSpecLike +import org.scalatest.matchers.must.Matchers.{contain, convertToAnyMustWrapper} +import sbt.{Attributed, Configuration as SbtConfiguration, globFilter as _, *} +import sbt.jetbrains.apiAdapter + +import scala.collection.Seq + +class DependenciesExtractorSpec_ProdTestSourcesSeparatedEnabled extends AnyFreeSpecLike { + + val projects: Seq[ProjectRef] = Seq("project-1", "project-2", "project-3").map { projectName => + ProjectRef(file("/tmp/test-project"), projectName) + } + val emptyClasspath: sbt.Configuration => Keys.Classpath = _ => Nil + val CustomConf = config("custom-conf").extend(sbt.Test) + // note: when prod/test sources are enabled, then in DependenciesExtractor#extract + // buildDependencies are not used at all, so it can simply be empty + val buildDependencies = apiAdapter.buildDependencies( + Map.empty, + Map.empty + ) + + "DependenciesExtractor for managed and unmanaged dependencies" - { + + "always extract unmanaged dependencies" in { + val actual = new DependenciesExtractor( + projects.head, + buildDependencies = buildDependencies, + unmanagedClasspath = Map( + sbt.Compile -> Seq( + attributed(file("foo.jar")), + attributed(file("bar.jar")) + ), + sbt.Test -> Seq(attributed(file("foo.jar"))) + ).apply, + externalDependencyClasspath = None, + dependencyConfigurations = Seq(sbt.Compile, sbt.Test), + testConfigurations = Seq(sbt.Test), + sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), + insertProjectTransitiveDependencies = true, + separateProdTestSources = true, + projectToConfigurations = Map( + ProductionType(projects(1)) -> Seq(Configuration.Test), + ProductionType(projects.head) -> Seq(Configuration.Test), + ) + ).extract + + val expected = DependencyData( + projects = Dependencies( + forProduction = Seq.empty, + forTest = Seq( + ProjectDependencyData( + s"${projects(1).id}:main", + Some(projects(1).build), + Seq(Configuration.Compile) + ), + ProjectDependencyData( + s"${projects.head.id}:main", + Some(projects.head.build), + Seq(Configuration.Compile) + ) + ), + ), + modules = Dependencies(Seq.empty, Seq.empty), + jars = Dependencies( + forProduction = Seq( + JarDependencyData(file("foo.jar"), Seq(Configuration.Provided)), + JarDependencyData(file("bar.jar"), Seq(Configuration.Provided)), + ), + forTest = Seq( + JarDependencyData(file("foo.jar"), Seq(Configuration.Compile)) + ) + ) + ) + assertIdentical(expected, actual) + } + + "extract managed dependencies when supplied" in { + val moduleId = (name: String) => ModuleID("com.example", name, "SNAPSHOT") + + val actual = new DependenciesExtractor( + projects.head, + buildDependencies = buildDependencies, + unmanagedClasspath = emptyClasspath, + externalDependencyClasspath = Some( + Map( + sbt.Compile -> Seq( + attributedWith(file("foo.jar"))(moduleId("foo"), Artifact("foo")), + attributedWith(file("bar.jar"))(moduleId("bar"), Artifact("bar")) + ), + sbt.Test -> Seq( + attributedWith(file("baz.jar"))(moduleId("baz"), Artifact("baz")) + ) + ).apply + ), + dependencyConfigurations = Seq(sbt.Compile, sbt.Test), + testConfigurations = Seq(sbt.Test), + sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), + insertProjectTransitiveDependencies = true, + separateProdTestSources = true, + projectToConfigurations = Map( + ProductionType(projects(1)) -> Seq(Configuration.Test), + ProductionType(projects.head) -> Seq(Configuration.Test) + ) + ).extract + + val expected = DependencyData( + projects = Dependencies( + forProduction = Seq.empty, + forTest = Seq( + ProjectDependencyData( + s"${projects(1).id}:main", + Some(projects(1).build), + Seq(Configuration.Compile) + ), + ProjectDependencyData( + s"${projects.head.id}:main", + Some(projects.head.build), + Seq(Configuration.Compile) + ) + ), + ), + modules = Dependencies( + forProduction = Seq( + ModuleDependencyData( + toIdentifier(moduleId("foo")), + Seq(Configuration.Provided) + ), + ModuleDependencyData( + toIdentifier(moduleId("bar")), + Seq(Configuration.Provided) + ) + ), + forTest = Seq( + ModuleDependencyData( + toIdentifier(moduleId("baz")), + Seq(Configuration.Compile) + ) + ) + ), + jars = Dependencies(Seq.empty, Seq.empty) + ) + + assertIdentical(expected, actual) + } + + "merge custom test configurations in unmanaged and managed dependencies" in { + val moduleId = (name: String) => ModuleID("com.example", name, "SNAPSHOT") + + val actual = new DependenciesExtractor( + projects.head, + buildDependencies = buildDependencies, + unmanagedClasspath = Map( + sbt.Test -> Seq(attributed(file("foo.jar"))), + CustomConf -> Seq(attributed(file("bar.jar"))) + ).apply, + externalDependencyClasspath = Some( + Map( + sbt.Test -> Seq( + attributedWith(file("baz.jar"))(moduleId("baz"), Artifact("baz")) + ), + CustomConf -> Seq( + attributedWith(file("qux.jar"))(moduleId("qux"), Artifact("qux")) + ) + ).apply + ), + dependencyConfigurations = Seq(sbt.Test, CustomConf), + testConfigurations = Seq(sbt.Test, CustomConf), + sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), + insertProjectTransitiveDependencies = true, + separateProdTestSources = true, + projectToConfigurations = Map( + ProductionType(projects(1)) -> Seq(Configuration.Test), + ProductionType(projects.head) -> Seq(Configuration.Test) + ) + ).extract + + val expected = DependencyData( + projects = Dependencies( + forProduction = Seq.empty, + forTest = Seq( + ProjectDependencyData( + s"${projects(1).id}:main", + Some(projects(1).build), + Seq(Configuration.Compile) + ), + ProjectDependencyData( + s"${projects.head.id}:main", + Some(projects.head.build), + Seq(Configuration.Compile) + ) + ), + ), + modules = Dependencies( + forProduction = Seq.empty, + forTest = Seq( + ModuleDependencyData( + toIdentifier(moduleId("baz")), + Seq(Configuration.Compile) + ), + ModuleDependencyData( + toIdentifier(moduleId("qux")), + Seq(Configuration.Compile) + ) + ) + ), + jars = Dependencies( + forProduction = Seq.empty, + forTest = Seq( + JarDependencyData(file("foo.jar"), Seq(Configuration.Compile)), + JarDependencyData(file("bar.jar"), Seq(Configuration.Compile)) + ) + ) + ) + + assertIdentical(expected, actual) + } + + "extract managed dependency with classifier as different dependencies" in { + val moduleId = "com.example" % "foo" % "SNAPSHOT" + + val actual = new DependenciesExtractor( + projects.head, + buildDependencies = buildDependencies, + unmanagedClasspath = emptyClasspath, + externalDependencyClasspath = Some(Map( + sbt.Compile -> Seq( + attributedWith(file("foo.jar"))(moduleId, Artifact("foo")), + attributedWith(file("foo-tests.jar"))( + moduleId, + Artifact("foo", "tests") + ) + ), + )), + dependencyConfigurations = Seq(sbt.Compile), + testConfigurations = Seq.empty, + sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), + insertProjectTransitiveDependencies = true, + separateProdTestSources = true, + projectToConfigurations = Map( + ProductionType(projects(1)) -> Seq(Configuration.Test), + ProductionType(projects.head) -> Seq(Configuration.Test) + + ) + ).extract + + val expectedModules = Seq(toIdentifier(moduleId), toIdentifier(moduleId).copy(classifier = "tests")).map { + it => ModuleDependencyData(it, Seq(Configuration.Provided)) + } + val expected = DependencyData( + projects = Dependencies( + forProduction = Seq.empty, + forTest = Seq( + ProjectDependencyData( + s"${projects(1).id}:main", + Some(projects(1).build), + Seq(Configuration.Compile) + ), + ProjectDependencyData( + s"${projects.head.id}:main", + Some(projects.head.build), + Seq(Configuration.Compile) + ) + ), + ), + modules = Dependencies( + forProduction = expectedModules, forTest= Seq.empty + ), + jars = Dependencies(Seq.empty, Seq.empty) + ) + assertIdentical(expected, actual) + } + } + + "Validation of mapping configurations to prod and test modules in unmanaged deps, managed deps an project deps" - { + + "Convert (compile, test, runtime) -> to prod compile and test compile" in { + val moduleId = "com.example" % "foo" % "SNAPSHOT" + + val actual = new DependenciesExtractor( + projects.head, + buildDependencies = buildDependencies, + unmanagedClasspath = Map( + sbt.Compile -> Seq(attributed(file("bar.jar"))), + sbt.Test -> Seq(attributed(file("bar.jar"))), + sbt.Runtime -> Seq(attributed(file("bar.jar"))) + ).apply, + externalDependencyClasspath = Some( + Map( + sbt.Compile -> Seq( + attributedWith(file("foo.jar"))(moduleId, Artifact("foo")) + ), + sbt.Test -> Seq( + attributedWith(file("foo.jar"))(moduleId, Artifact("foo")) + ), + sbt.Runtime -> Seq( + attributedWith(file("foo.jar"))(moduleId, Artifact("foo")) + ) + ).apply + ), + dependencyConfigurations = Seq(sbt.Compile, sbt.Test, sbt.Runtime), + testConfigurations = Seq.empty, + sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), + insertProjectTransitiveDependencies = true, + separateProdTestSources = true, + projectToConfigurations = Map( + ProductionType(projects(1)) -> Seq(Configuration.Compile, Configuration.Test, Configuration.Runtime), + ProductionType(projects.head) -> Seq(Configuration.Test) + ) + ).extract + + val expected = DependencyData( + projects = Dependencies( + forProduction = Seq( + ProjectDependencyData( + s"${projects(1).id}:main", + Some(projects(1).build), + Seq(Configuration.Compile) + ) + ), + forTest = Seq( + ProjectDependencyData( + s"${projects.head.id}:main", + Some(projects.head.build), + Seq(Configuration.Compile) + ), + ProjectDependencyData( + s"${projects(1).id}:main", + Some(projects(1).build), + Seq(Configuration.Compile) + ) + ) + ), + modules = Dependencies( + forProduction = Seq( + ModuleDependencyData( + toIdentifier(moduleId), + Seq(Configuration.Compile) + ) + ), + forTest = Seq( + ModuleDependencyData( + toIdentifier(moduleId), + Seq(Configuration.Compile) + ) + ) + ), + jars = Dependencies( + forProduction = Seq( + JarDependencyData( + file("bar.jar"), + Seq(Configuration.Compile) + ) + ), + forTest = Seq( + JarDependencyData( + file("bar.jar"), + Seq(Configuration.Compile) + ) + ) + ), + ) + assertIdentical(expected, actual) + } + + "Convert (compile, test) -> to prod provided and test compile" in { + val moduleId = "com.example" % "foo" % "SNAPSHOT" + + val actual = new DependenciesExtractor( + projects.head, + buildDependencies = buildDependencies, + unmanagedClasspath = Map( + sbt.Compile -> Seq(attributed(file("bar.jar"))), + sbt.Test -> Seq(attributed(file("bar.jar"))), + sbt.Runtime -> Seq.empty + ).apply, + externalDependencyClasspath = Some( + Map( + sbt.Compile -> Seq( + attributedWith(file("foo.jar"))(moduleId, Artifact("foo")) + ), + sbt.Test -> Seq( + attributedWith(file("foo.jar"))(moduleId, Artifact("foo")) + ), + sbt.Runtime -> Seq.empty + ).apply + ), + dependencyConfigurations = Seq(sbt.Compile, sbt.Test, sbt.Runtime), + testConfigurations = Seq.empty, + sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), + insertProjectTransitiveDependencies = true, + separateProdTestSources = true, + projectToConfigurations = Map( + ProductionType(projects(1)) -> Seq(Configuration.Test, Configuration.Compile), + ProductionType(projects.head) -> Seq(Configuration.Test) + ) + ).extract + + val expected = DependencyData( + projects = Dependencies( + forProduction = Seq( + ProjectDependencyData( + s"${projects(1).id}:main", + Some(projects(1).build), + Seq(Configuration.Provided) + ) + ), + forTest = Seq( + ProjectDependencyData( + s"${projects.head.id}:main", + Some(projects.head.build), + Seq(Configuration.Compile) + ), + ProjectDependencyData( + s"${projects(1).id}:main", + Some(projects(1).build), + Seq(Configuration.Compile) + ) + ) + ), + modules = Dependencies( + forProduction = Seq( + ModuleDependencyData( + toIdentifier(moduleId), + Seq(Configuration.Provided) + ) + ), + forTest = Seq( + ModuleDependencyData( + toIdentifier(moduleId), + Seq(Configuration.Compile) + ) + ) + ), + jars = Dependencies( + forProduction = Seq( + JarDependencyData( + file("bar.jar"), + Seq(Configuration.Provided) + ) + ), + forTest = Seq( + JarDependencyData( + file("bar.jar"), + Seq(Configuration.Compile) + ) + ) + ) + ) + assertIdentical(expected, actual) + } + + "convert (custom test configurations, compile) -> prod provided and test compile" in { + val moduleId = "com.example" % "foo" % "SNAPSHOT" + + val actual = new DependenciesExtractor( + projects.head, + buildDependencies, + unmanagedClasspath = Map( + sbt.Compile -> Seq(attributed(file("bar.jar"))), + CustomConf -> Seq(attributed(file("bar.jar"))), + sbt.Runtime -> Seq.empty, + sbt.Test -> Seq.empty, + ).apply, + externalDependencyClasspath = Some( + Map( + sbt.Compile -> Seq( + attributedWith(file("foo.jar"))(moduleId, Artifact("foo")) + ), + CustomConf -> Seq( + attributedWith(file("foo.jar"))(moduleId, Artifact("foo")) + ), + sbt.Runtime -> Seq.empty, + sbt.Test -> Seq.empty, + ).apply + ), + dependencyConfigurations = Seq(sbt.Compile, sbt.Test, sbt.Runtime, CustomConf), + testConfigurations = Seq(sbt.Test, CustomConf), + sourceConfigurations = Seq(sbt.Compile, sbt.Runtime), + insertProjectTransitiveDependencies = true, + separateProdTestSources = true, + projectToConfigurations = Map( + ProductionType(projects(1)) -> Seq(Configuration.Compile, Configuration(CustomConf.name)), + ProductionType(projects.head) -> Seq(Configuration.Test) + ) + ).extract + + val expected = DependencyData( + projects = Dependencies( + forProduction = Seq( + ProjectDependencyData( + s"${projects(1).id}:main", + Some(projects(1).build), + Seq(Configuration.Provided) + ) + ), + forTest = Seq( + ProjectDependencyData( + s"${projects(1).id}:main", + Some(projects(1).build), + Seq(Configuration.Compile) + ), + ProjectDependencyData( + s"${projects.head.id}:main", + Some(projects.head.build), + Seq(Configuration.Compile) + ), + ) + ), + modules = Dependencies( + forProduction = Seq( + ModuleDependencyData( + toIdentifier(moduleId), + Seq(Configuration.Provided) + ) + ), + forTest = Seq( + ModuleDependencyData( + toIdentifier(moduleId), + Seq(Configuration.Compile) + ) + ) + ), + jars = Dependencies( + forProduction = Seq( + JarDependencyData( + file("bar.jar"), + Seq(Configuration.Provided) + ) + ), + forTest = Seq( + JarDependencyData( + file("bar.jar"), + Seq(Configuration.Compile) + ) + ) + ) + ) + assertIdentical(expected, actual) + } + } + + def assertIdentical(expected: DependencyData, actual: DependencyData): Unit = { + actual.projects.forProduction must contain theSameElementsAs expected.projects.forProduction + actual.projects.forTest must contain theSameElementsAs expected.projects.forTest + actual.jars.forProduction must contain theSameElementsAs expected.jars.forProduction + actual.jars.forTest must contain theSameElementsAs expected.jars.forTest + actual.modules.forProduction must contain theSameElementsAs expected.modules.forProduction + actual.modules.forTest must contain theSameElementsAs expected.modules.forTest + } + + def attributedWith(file: File)(moduleId: ModuleID, + artifact: Artifact): Attributed[File] = + Attributed(file)( + AttributeMap.empty + .put(sbt.Keys.moduleID.key, moduleId) + .put(sbt.Keys.artifact.key, artifact) + ) + + def attributed(file: File): Attributed[File] = + Attributed(file)(AttributeMap.empty) + + def toIdentifier(moduleId: ModuleID): ModuleIdentifier = + ModuleIdentifier( + moduleId.organization, + moduleId.name, + moduleId.revision, + Artifact.DefaultType, + "" + ) +} diff --git a/extractor/src/test/scala/org/jetbrains/sbt/structure/DataSerializersTest.scala b/extractor/src/test/scala/org/jetbrains/sbt/structure/DataSerializersTest.scala index 725db4dc..f4033f17 100644 --- a/extractor/src/test/scala/org/jetbrains/sbt/structure/DataSerializersTest.scala +++ b/extractor/src/test/scala/org/jetbrains/sbt/structure/DataSerializersTest.scala @@ -15,7 +15,9 @@ class DataSerializersTest extends AnyFunSuiteLike { Seq(new File("a/b/c").getAbsoluteFile), Seq(new File("a/b/c").getAbsoluteFile), Some(new File("a/b/c").getAbsoluteFile), - Seq("opt1", "opt2") + Seq( + CompilerOptions(Configuration.Compile, Seq("opt1", "opt2")), + CompilerOptions(Configuration.Test, Seq("opt1", "opt2"))) ) val elem = scalaDataSerializer.serialize(data) diff --git a/shared/src/main/scala/org/jetbrains/sbt/structure/data.scala b/shared/src/main/scala/org/jetbrains/sbt/structure/data.scala index 4eb4884f..49b43d65 100644 --- a/shared/src/main/scala/org/jetbrains/sbt/structure/data.scala +++ b/shared/src/main/scala/org/jetbrains/sbt/structure/data.scala @@ -27,6 +27,7 @@ object Configuration { /** * Represent specified build. Corresponds to IDEA project. + * * @param projects List of projects in build * @param repository List of libraries in build * @param localCachePath Path to a place where Ivy downloads artifacts. Usually ~/.ivy2/cache @@ -39,29 +40,46 @@ case class StructureData(sbtVersion: String, /** * Represents single project in build. Corresponds to IDEA module. + * * @param basePackages List of packages to use as base prefixes in chaining * @param target Compiler output directory (value of `target` key) + * @param mainSourceDirectories List of source directories in all available source configurations. + * Unlike [[org.jetbrains.sbt.structure.ConfigurationData#sources()]], which was obtained from managedSourceDirectories + * and unmanagedSourceDirectories keys, this value is sourced from the sourceDirectory key. + * In a simple sbt project in e.g. compile configuration [[org.jetbrains.sbt.structure.ConfigurationData#sources()]] will be + * (the project path at the beginning of these paths is skipped)
    + *
  • /target/scala-3.3.3/src_managed/main
  • + *
  • /src/main/scala
  • + *
  • /src/main/scala-3
  • + *
  • /src/main/java
  • + *
+ * But value of this field will be just /src/main. + * It is needed to identify ContentRootData#rootPath in the Scala plugin. + * */ -case class ProjectData(id: String, - buildURI: URI, - name: String, - organization: String, - version: String, - base: File, - packagePrefix: Option[String], - basePackages: Seq[String], - target: File, - configurations: Seq[ConfigurationData], - java: Option[JavaData], - scala: Option[ScalaData], - compileOrder: String, - dependencies: DependencyData, - resolvers: Set[ResolverData], - play2: Option[Play2Data], - settings: Seq[SettingData], - tasks: Seq[TaskData], - commands: Seq[CommandData] - ) +case class ProjectData( + id: String, + buildURI: URI, + name: String, + organization: String, + version: String, + base: File, + packagePrefix: Option[String], + basePackages: Seq[String], + target: File, + configurations: Seq[ConfigurationData], + java: Option[JavaData], + scala: Option[ScalaData], + compileOrder: String, + dependencies: DependencyData, + resolvers: Set[ResolverData], + play2: Option[Play2Data], + settings: Seq[SettingData], + tasks: Seq[TaskData], + commands: Seq[CommandData], + mainSourceDirectories: Seq[File], + testSourceDirectories: Seq[File] +) case class SettingData(label: String, description: Option[String], rank: Int, stringValue: Option[String]) case class TaskData(label: String, description: Option[String], rank: Int) @@ -94,6 +112,7 @@ object BuildData { /** * Lists of directories in specified configuration + * * @param id Name of configuration, usually "compile" or "test" * @param sources List of source directories * @param resources List of resource directories @@ -108,7 +127,9 @@ case class ConfigurationData(id: String, case class DirectoryData(file: File, managed: Boolean) -case class JavaData(home: Option[File], options: Seq[String]) +case class CompilerOptions(configuration: Configuration, options: Seq[String]) + +case class JavaData(home: Option[File], options: Seq[CompilerOptions]) /** * Analog of `sbt.internal.inc.ScalaInstance` @@ -126,36 +147,48 @@ case class ScalaData( compilerJars: Seq[File], extraJars: Seq[File], compilerBridgeBinaryJar: Option[File], - options: Seq[String] + options: Seq[CompilerOptions] ) { def allJars: Seq[File] = libraryJars ++ compilerJars ++ extraJars def allCompilerJars: Seq[File] = libraryJars ++ compilerJars } -case class DependencyData(projects: Seq[ProjectDependencyData], - modules: Seq[ModuleDependencyData], - jars: Seq[JarDependencyData]) +case class DependencyData(projects: Dependencies[ProjectDependencyData], + modules: Dependencies[ModuleDependencyData], + jars: Dependencies[JarDependencyData]) + +/** + * @param forProduction dependencies that should go to the main module. + * If separate modules for production/test sources are disabled, then all dependencies are put in this field. + * @param forTest dependencies that should go to the test module. + * If separate modules for production/test sources are disabled, then this field contains en empty Seq. + */ +case class Dependencies[T](forProduction: Seq[T], forTest: Seq[T]) /** * Inter-project dependency + * * @param project What project to depend on */ case class ProjectDependencyData(project: String, buildURI: Option[URI], configurations: Seq[Configuration]) /** * External library dependency + * * @param id Library identifier */ case class ModuleDependencyData(id: ModuleIdentifier, configurations: Seq[Configuration]) /** * Unmanaged dependency + * * @param file File to depend on */ case class JarDependencyData(file: File, configurations: Seq[Configuration]) /** * Library identifier + * * @param revision AKA version */ case class ModuleIdentifier(organization: String, @@ -168,6 +201,7 @@ case class ModuleIdentifier(organization: String, /** * External library data. Corresponds to a project-level library in IDEA. + * * @param id Library identifier * @param binaries List of binary jars * @param docs List of javadoc jars @@ -185,6 +219,7 @@ case class RepositoryData(modules: Seq[ModuleData]) /** * Repository used to resolve external library dependencies + * * @param root URL or local path to a repo */ case class ResolverData(name: String, root: String) diff --git a/shared/src/main/scala/org/jetbrains/sbt/structure/dataSerializers.scala b/shared/src/main/scala/org/jetbrains/sbt/structure/dataSerializers.scala index 0a493764..31f3a8b4 100644 --- a/shared/src/main/scala/org/jetbrains/sbt/structure/dataSerializers.scala +++ b/shared/src/main/scala/org/jetbrains/sbt/structure/dataSerializers.scala @@ -138,14 +138,12 @@ trait DataSerializers { {what.home.toSeq.map { file => {file.path} }} - {what.options.map { option => - - }} + { what.options.sortBy(_.configuration.name).map(_.serialize) } override def deserialize(what: Node): Either[Throwable,JavaData] = { val home = (what \ "home").headOption.map(e => e.text.file) - val options = (what \ "option").map(o => o.text.canonIfFile) + val options = (what \ "compilerOptions").deserialize[CompilerOptions] Right(JavaData(home, options)) } } @@ -164,7 +162,7 @@ trait DataSerializers { { what.compilerBridgeBinaryJar.toSeq.map { jar => {jar.path}} } - { what.options.map { option => }} + { what.options.sortBy(_.configuration.name).map(_.serialize) } override def deserialize(what: Node): Either[Throwable,ScalaData] = { @@ -176,7 +174,7 @@ trait DataSerializers { val extraJars = (what \ "extraJars"\ "jar").map(_.text.file) val compilerBridgeBinaryJar = (what \ "compilerBridgeBinaryJar").headOption.map(_.text.file) - val options = (what \ "option").map(o => o.text.canonIfFile) + val options = (what \ "compilerOptions").deserialize[CompilerOptions] Right(ScalaData( organization, version, @@ -189,6 +187,24 @@ trait DataSerializers { } } + implicit val projectDependenciesSerializer: XmlSerializer[Dependencies[ProjectDependencyData]] = new XmlSerializer[Dependencies[ProjectDependencyData]] { + override def serialize(what: Dependencies[ProjectDependencyData]): Elem = + + + {what.forTest.sortBy(_.project).map(_.serialize)} + + + {what.forProduction.sortBy(_.project).map(_.serialize)} + + + + override def deserialize(what: Node): Either[Throwable, Dependencies[ProjectDependencyData]] = { + val testDependencies = (what \ "forTest" \ "project").deserialize[ProjectDependencyData] + val compileDependencies = (what \ "forProduction" \ "project").deserialize[ProjectDependencyData] + Right(Dependencies(compileDependencies, testDependencies)) + } + } + implicit val projectDependencySerializer: XmlSerializer[ProjectDependencyData] = new XmlSerializer[ProjectDependencyData] { override def serialize(what: ProjectDependencyData): Elem = { val configurations = what.configurations.mkString(";") @@ -225,6 +241,24 @@ trait DataSerializers { } } + implicit val moduleDependenciesSerializer: XmlSerializer[Dependencies[ModuleDependencyData]] = new XmlSerializer[Dependencies[ModuleDependencyData]] { + override def serialize(what: Dependencies[ModuleDependencyData]): Elem = + + + {what.forTest.sortBy(_.id.name).map(_.serialize)} + + + {what.forProduction.sortBy(_.id.name).map(_.serialize)} + + + + override def deserialize(what: Node): Either[Throwable, Dependencies[ModuleDependencyData]] = { + val testDependencies = (what \ "forTest" \ "module").deserialize[ModuleDependencyData] + val compileDependencies = (what \ "forProduction" \ "module").deserialize[ModuleDependencyData] + Right(Dependencies(compileDependencies, testDependencies)) + } + } + implicit val moduleDependencyDataSerializer: XmlSerializer[ModuleDependencyData] = new XmlSerializer[ModuleDependencyData] { override def serialize(what: ModuleDependencyData): Elem = { val elem = what.id.serialize @@ -239,6 +273,24 @@ trait DataSerializers { } } + implicit val jarDependenciesSerializer: XmlSerializer[Dependencies[JarDependencyData]] = new XmlSerializer[Dependencies[JarDependencyData]] { + override def serialize(what: Dependencies[JarDependencyData]): Elem = + + + {what.forTest.sortBy(_.file).map(_.serialize)} + + + {what.forProduction.sortBy(_.file).map(_.serialize)} + + + + override def deserialize(what: Node): Either[Throwable, Dependencies[JarDependencyData]] = { + val testDependencies = (what \ "forTest" \ "jar").deserialize[JarDependencyData] + val compileDependencies = (what \ "forProduction" \ "jar").deserialize[JarDependencyData] + Right(Dependencies(compileDependencies, testDependencies)) + } + } + implicit val jarDependencyDataSerializer: XmlSerializer[JarDependencyData] = new XmlSerializer[JarDependencyData] { override def serialize(what: JarDependencyData): Elem = {what.file.path} @@ -253,16 +305,34 @@ trait DataSerializers { implicit val dependencyDataSerializer: XmlSerializer[DependencyData] = new XmlSerializer[DependencyData] { override def serialize(what: DependencyData): Elem = - {what.projects.sortBy(_.project).map(_.serialize)} - {what.modules.sortBy(_.id.key).map(_.serialize)} - {what.jars.sortBy(_.file).map(_.serialize)} + {what.projects.serialize} + {what.modules.serialize} + {what.jars.serialize} override def deserialize(what: Node): Either[Throwable,DependencyData] = { - val projects = (what \ "project").deserialize[ProjectDependencyData] - val modules = (what \ "module").deserialize[ModuleDependencyData] - val jars = (what \ "jar").deserialize[JarDependencyData] - Right(DependencyData(projects, modules, jars)) + for { + projects <- (what \ "projects").deserializeOne[Dependencies[ProjectDependencyData]].right + modules <- (what \ "modules").deserializeOne[Dependencies[ModuleDependencyData]].right + jars <- (what \ "jars").deserializeOne[Dependencies[JarDependencyData]].right + } yield { + DependencyData(projects, modules, jars) + } + } + } + + implicit val compilerOptionsSerializer: XmlSerializer[CompilerOptions] = new XmlSerializer[CompilerOptions] { + override def serialize(what: CompilerOptions): Elem = { + + {what.configuration} + {what.options.map(option => )} + + } + + override def deserialize(what: Node): Either[Throwable,CompilerOptions] = { + val configuration = (what \ "configuration").text + val options = (what \ "option").map(_.text) + Right(CompilerOptions(Configuration(configuration), options)) } } @@ -420,6 +490,8 @@ trait DataSerializers { {what.settings.map(_.serialize)} {what.tasks.map(_.serialize)} {what.commands.map(_.serialize)} + {what.testSourceDirectories.map(dir => {dir.path})} + {what.mainSourceDirectories.map(dir => {dir.path})} override def deserialize(what: Node): Either[Throwable,ProjectData] = { @@ -429,6 +501,8 @@ trait DataSerializers { val organization = (what \ "organization").text val version = (what \ "version").text val base = (what \ "base").text.file + val testSourceDirectories = (what \ "testSourceDir").map(_.text.file) + val mainSourceDirectories = (what \ "mainSourceDir").map(_.text.file) val packagePrefix = (what \ "packagePrefix").headOption.map(_.text) val basePackages = (what \ "basePackage").map(_.text) val target = (what \ "target").text.file @@ -448,7 +522,7 @@ trait DataSerializers { tryDeps.right.map { dependencies => ProjectData(id, buildURI, name, organization, version, base, packagePrefix, basePackages, target, configurations, java, scala, compileOrder, - dependencies, resolvers, play2, settings, tasks, commands) + dependencies, resolvers, play2, settings, tasks, commands, mainSourceDirectories, testSourceDirectories) } }