From d20829ca3a4a755968f564d3504fd087b0ae829b Mon Sep 17 00:00:00 2001 From: Nikolay Obedin Date: Tue, 15 Sep 2015 13:44:57 +0300 Subject: [PATCH 01/10] Fix project ID format to avoid collisions --- extractor/src/main/scala/org/jetbrains/sbt/Utilities.scala | 6 ++++++ .../jetbrains/sbt/extractors/DependenciesExtractor.scala | 3 ++- .../org/jetbrains/sbt/extractors/ProjectExtractor.scala | 3 ++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/extractor/src/main/scala/org/jetbrains/sbt/Utilities.scala b/extractor/src/main/scala/org/jetbrains/sbt/Utilities.scala index c75b44a7..532e9c03 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/Utilities.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/Utilities.scala @@ -1,5 +1,7 @@ package org.jetbrains.sbt +import sbt.ProjectRef + //import scala.language.implicitConversions /** @@ -26,4 +28,8 @@ object Utilities { implicit def fixOptionFlattenOnScala292[T](option: Option[Option[T]]) = new { def flatten: Option[T] = option.flatMap(identity) } + + implicit def toRichProjectRef(projectRef: ProjectRef) = new { + def id: String = String.format("%s[%s]", projectRef.project, Integer.toHexString(projectRef.build.hashCode())) + } } 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 cde25311..841d6b8a 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala @@ -3,6 +3,7 @@ package extractors import org.jetbrains.sbt.structure.{DependencyData, JarDependencyData, ModuleDependencyData, ProjectDependencyData} import org.jetbrains.sbt.{structure => jb} +import Utilities._ import sbt._ /** @@ -17,7 +18,7 @@ class DependenciesExtractor(implicit projectRef: ProjectRef) extends Extractor w projectSetting(Keys.buildDependencies).map { dep => dep.classpath.getOrElse(projectRef, Seq.empty).map { it => val configurations = it.configuration.map(jb.Configuration.fromString).getOrElse(Seq.empty) - ProjectDependencyData(it.project.project, configurations) + ProjectDependencyData(it.project.id, configurations) } }.getOrElse(Seq.empty) 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 3330c0dd..4a044b6a 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/extractors/ProjectExtractor.scala @@ -2,6 +2,7 @@ package org.jetbrains.sbt package extractors import org.jetbrains.sbt.structure._ +import Utilities._ import sbt._ import Utilities._ @@ -31,7 +32,7 @@ class ProjectExtractor(implicit projectRef: ProjectRef) extends Extractor with C val android = AndroidSdkPluginExtractor.apply val play2 = Play2Extractor.apply - ProjectData(projectRef.project, name, organization, version, base, + ProjectData(projectRef.id, name, organization, version, base, basePackages, target, build, configurations, extractJava, extractScala, android, dependencies, resolvers, play2) } From 6d75ce89c2bc96f8ff8f7e06ca0784d806c7a2fb Mon Sep 17 00:00:00 2001 From: Nikolay Obedin Date: Tue, 15 Sep 2015 17:49:51 +0300 Subject: [PATCH 02/10] Add first implementation of eviction processor --- .../sbt/extractors/EvictionsProcessor.scala | 106 ++++ .../sbt/extractors/StructureExtractor.scala | 8 +- .../data/0.13/eviction/project/Build.scala | 17 + .../data/0.13/eviction/structure-0.13.0.xml | 395 +++++++++++++++ .../data/0.13/eviction/structure-0.13.7.xml | 446 +++++++++++++++++ .../data/0.13/eviction/structure-0.13.9.xml | 458 ++++++++++++++++++ .../scala/org/jetbrains/sbt/ImportSpec.scala | 1 + 7 files changed, 1430 insertions(+), 1 deletion(-) create mode 100644 extractor/src/main/scala/org/jetbrains/sbt/extractors/EvictionsProcessor.scala create mode 100644 extractor/src/test/data/0.13/eviction/project/Build.scala create mode 100644 extractor/src/test/data/0.13/eviction/structure-0.13.0.xml create mode 100644 extractor/src/test/data/0.13/eviction/structure-0.13.7.xml create mode 100644 extractor/src/test/data/0.13/eviction/structure-0.13.9.xml diff --git a/extractor/src/main/scala/org/jetbrains/sbt/extractors/EvictionsProcessor.scala b/extractor/src/main/scala/org/jetbrains/sbt/extractors/EvictionsProcessor.scala new file mode 100644 index 00000000..55dcece7 --- /dev/null +++ b/extractor/src/main/scala/org/jetbrains/sbt/extractors/EvictionsProcessor.scala @@ -0,0 +1,106 @@ +package org.jetbrains.sbt +package extractors + +import org.jetbrains.sbt.structure.{ModuleDependencyData, ProjectData, ModuleIdentifier} +import org.jetbrains.sbt.{structure=>jb} +import sbt._ +import Utilities._ + +import scala.collection.mutable + +/** + * @author Nikolay Obedin + * @since 9/15/15. + */ +object EvictionsProcessor { + def apply(acceptedProjectRefs: Seq[ProjectRef], projectsData: Seq[ProjectData])(implicit state: State): Seq[ProjectData] = + new EvictionsProcessor(acceptedProjectRefs, projectsData).process() +} + +class EvictionsProcessor(acceptedProjectRefs: Seq[ProjectRef], projectsData: Seq[ProjectData]) extends Extractor with Configurations with Modules { + + private case class Eviction(configuration: jb.Configuration, from: ModuleIdentifier, to: ModuleIdentifier) + + private var evictions = Map.empty[String, Seq[Eviction]] + private var dependencies = Map.empty[String, Seq[ProjectData]] + private val evictionsApplied = mutable.HashSet.empty[String] + + private def process()(implicit state: State): Seq[ProjectData] = { + init() + sortByProjectDependencies(projectsData).flatMap { project => + if (!evictionsApplied(project.id)) + processProjectAndDeps(project, Set.empty) + else + Seq.empty + } + } + + private def processProjectAndDeps(project: ProjectData, currentEvictions: Set[Eviction]): Seq[ProjectData] = { + val updatedProject = applyEvictions(project, currentEvictions) + val updatedEvictions = currentEvictions ++ evictions(project.id) + val updatedDependencies = dependencies(project.id).flatMap(processProjectAndDeps(_, updatedEvictions)) + updatedProject +: updatedDependencies + } + + private def applyEvictions(project: ProjectData, currentEvictions: Set[Eviction]): ProjectData = { + evictionsApplied.add(project.id) + currentEvictions.foldLeft(project)(applyEviction) + } + + private def applyEviction(project: ProjectData, eviction: Eviction): ProjectData = { + val updatedModules = project.dependencies.modules.flatMap(applyEviction(_, eviction)) + project.copy(dependencies = project.dependencies.copy(modules = updatedModules)) + } + + private def applyEviction(module: ModuleDependencyData, eviction: Eviction): Seq[ModuleDependencyData] = + if (module.configurations.contains(eviction.configuration) && module.id == eviction.from) { + val unaffectedConfigurations = module.configurations.filterNot(_ == eviction.configuration) + val evictedDependency = ModuleDependencyData(eviction.to, Seq(eviction.configuration)) + if (unaffectedConfigurations.isEmpty) + Seq(evictedDependency) + else + Seq(evictedDependency, ModuleDependencyData(module.id, unaffectedConfigurations)) + } else { + Seq(module) + } + + private def sortByProjectDependencies(projects: Seq[ProjectData]): Seq[ProjectData] = + Dag.topologicalSort(projectsData)(p => dependencies(p.id)).reverse + + private def init()(implicit state: State): Unit = { + dependencies = projectsData.map(p => (p.id, getDependencies(p))).toMap + evictions = acceptedProjectRefs.map(p => (p.id, getEvictions(p))).toMap + evictionsApplied.clear() + } + + private def getDependencies(project: ProjectData): Seq[ProjectData] = { + val ids = project.dependencies.projects.map(_.project) + projectsData.filter(p => ids.contains(p.id)) + } + + private def getEvictions(projectRef: ProjectRef)(implicit state: State): Seq[Eviction] = { + implicit val projectRefImplicit = projectRef + projectTask(Keys.update).map { updateReport => + for { + confReport <- updateReport.configurations + if getDependencyConfigurations(state, projectRef).contains(config(confReport.configuration)) + conf = jb.Configuration(confReport.configuration) + from <- confReport.evicted + fromId <- toModuleIdentifiers(from) + to <- confReport.allModules + toId <- toModuleIdentifiers(to) + if compareModulesWithoutVersion(fromId, toId) + } yield { + Eviction(jb.Configuration(confReport.configuration), fromId, toId) + } + }.getOrElse(Seq.empty) + } + + private def toModuleIdentifiers(moduleId: ModuleID): Seq[ModuleIdentifier] = { + val artifacts = if (moduleId.explicitArtifacts.nonEmpty) moduleId.explicitArtifacts else Seq(Artifact("", "")) + createModuleIdentifiers(moduleId, artifacts) + } + + private def compareModulesWithoutVersion(fst: ModuleIdentifier, snd: ModuleIdentifier): Boolean = + fst.name == snd.name && fst.organization == snd.organization && fst.artifactType == snd.artifactType && fst.classifier == snd.classifier +} diff --git a/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala b/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala index 94b1c3a5..9afbd747 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala @@ -23,8 +23,14 @@ object StructureExtractor extends Extractor { } private def extract(acceptedProjectRefs: Seq[ProjectRef])(implicit state: State, options: Options): StructureData = { + val nonEvictedProjectsData = acceptedProjectRefs.flatMap(ProjectExtractor.apply(_)) + val projectsData = + if (options.download) + EvictionsProcessor(acceptedProjectRefs, nonEvictedProjectsData) + else + nonEvictedProjectsData + val sbtVersion = setting(Keys.sbtVersion).get - val projectsData = acceptedProjectRefs.flatMap(ProjectExtractor.apply(_)) val repositoryData = RepositoryExtractor.apply(acceptedProjectRefs) val localCachePath = Option(System.getProperty("sbt.ivy.home", System.getProperty("ivy.home"))) StructureData(sbtVersion, projectsData, repositoryData, localCachePath) diff --git a/extractor/src/test/data/0.13/eviction/project/Build.scala b/extractor/src/test/data/0.13/eviction/project/Build.scala new file mode 100644 index 00000000..2508eea7 --- /dev/null +++ b/extractor/src/test/data/0.13/eviction/project/Build.scala @@ -0,0 +1,17 @@ +import sbt._ +import Keys._ + +object MyBuild extends Build { + lazy val childOne = project + .settings( + libraryDependencies += "com.google.protobuf" % "protobuf-java" % "2.3.0" + ) + + lazy val childTwo = project + .dependsOn(childOne) + .settings( + libraryDependencies += "com.google.protobuf" % "protobuf-java" % "2.5.0" + ) + + lazy val eviction = project.in(file(".")).aggregate(childOne, childTwo) +} \ No newline at end of file diff --git a/extractor/src/test/data/0.13/eviction/structure-0.13.0.xml b/extractor/src/test/data/0.13/eviction/structure-0.13.0.xml new file mode 100644 index 00000000..27450d78 --- /dev/null +++ b/extractor/src/test/data/0.13/eviction/structure-0.13.0.xml @@ -0,0 +1,395 @@ + + + + eviction + eviction + eviction + 0.1-SNAPSHOT + $BASE + $BASE/target + + import sbt._, Keys._ + import MyBuild._ + ~/.sbt/boot/scala-2.10.2/lib/jansi.jar + ~/.sbt/boot/scala-2.10.2/lib/jline.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-reflect.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/actions-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/api-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/apply-macro-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/cache-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/classfile-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/classpath-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/collections-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/command-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/compile-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/compiler-integration-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/compiler-ivy-integration-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/completion-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/control-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/cross-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/incremental-compiler-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/io-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/ivy-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/ivy-2.3.0-rc1.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/jline-2.11.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/jsch-0.1.46.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/launcher-interface-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/logging-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/main-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/main-settings-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/persist-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/process-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/relation-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/run-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/sbinary_2.10-0.4.2.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/sbt-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/scala-reflect-2.10.2.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/task-system-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/tasks-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/test-agent-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/test-interface-1.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/testing-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/tracking-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/xsbti/interface-0.13.0.jar + ~/.ivy2/cache/org.scala-sbt/sbt/srcs/sbt-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/main/srcs/main-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/actions/srcs/actions-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/classpath/srcs/classpath-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/interface/srcs/interface-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/io/srcs/io-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/control/srcs/control-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.10.2-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/completion/srcs/completion-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/collections/srcs/collections-0.13.0-sources.jar + ~/.ivy2/cache/jline/jline/srcs/jline-2.11-sources.jar + ~/.ivy2/cache/org.scala-sbt/api/srcs/api-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-integration/srcs/compiler-integration-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/incremental-compiler/srcs/incremental-compiler-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/logging/srcs/logging-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/process/srcs/process-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/relation/srcs/relation-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/compile/srcs/compile-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/persist/srcs/persist-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-tools.sbinary/sbinary_2.10/srcs/sbinary_2.10-0.4.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/classfile/srcs/classfile-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-ivy-integration/srcs/compiler-ivy-integration-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/ivy/srcs/ivy-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/cross/srcs/cross-0.13.0-sources.jar + ~/.ivy2/cache/org.apache.ivy/ivy/srcs/ivy-2.3.0-rc1-sources.jar + ~/.ivy2/cache/com.jcraft/jsch/srcs/jsch-0.1.46-sources.jar + ~/.ivy2/cache/org.scala-sbt/run/srcs/run-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/task-system/srcs/task-system-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/tasks/srcs/tasks-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/tracking/srcs/tracking-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/cache/srcs/cache-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/testing/srcs/testing-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-agent/srcs/test-agent-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/apply-macro/srcs/apply-macro-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/command/srcs/command-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_8_2/srcs/precompiled-2_8_2-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_2/srcs/precompiled-2_9_2-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_3/srcs/precompiled-2_9_3-0.13.0-sources.jar + + + 2.10.2 + ~/.sbt/boot/scala-2.10.2/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-reflect.jar + + + $BASE/src/main/java + $BASE/src/main/scala + $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/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 + + + + + + + + childOne + childOne + childone + 0.1-SNAPSHOT + $BASE/childOne + $BASE/childOne/target + + import sbt._, Keys._ + import MyBuild._ + ~/.sbt/boot/scala-2.10.2/lib/jansi.jar + ~/.sbt/boot/scala-2.10.2/lib/jline.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-reflect.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/actions-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/api-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/apply-macro-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/cache-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/classfile-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/classpath-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/collections-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/command-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/compile-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/compiler-integration-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/compiler-ivy-integration-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/completion-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/control-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/cross-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/incremental-compiler-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/io-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/ivy-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/ivy-2.3.0-rc1.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/jline-2.11.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/jsch-0.1.46.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/launcher-interface-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/logging-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/main-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/main-settings-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/persist-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/process-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/relation-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/run-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/sbinary_2.10-0.4.2.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/sbt-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/scala-reflect-2.10.2.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/task-system-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/tasks-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/test-agent-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/test-interface-1.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/testing-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/tracking-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/xsbti/interface-0.13.0.jar + ~/.ivy2/cache/org.scala-sbt/sbt/srcs/sbt-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/main/srcs/main-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/actions/srcs/actions-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/classpath/srcs/classpath-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/interface/srcs/interface-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/io/srcs/io-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/control/srcs/control-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.10.2-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/completion/srcs/completion-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/collections/srcs/collections-0.13.0-sources.jar + ~/.ivy2/cache/jline/jline/srcs/jline-2.11-sources.jar + ~/.ivy2/cache/org.scala-sbt/api/srcs/api-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-integration/srcs/compiler-integration-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/incremental-compiler/srcs/incremental-compiler-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/logging/srcs/logging-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/process/srcs/process-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/relation/srcs/relation-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/compile/srcs/compile-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/persist/srcs/persist-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-tools.sbinary/sbinary_2.10/srcs/sbinary_2.10-0.4.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/classfile/srcs/classfile-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-ivy-integration/srcs/compiler-ivy-integration-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/ivy/srcs/ivy-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/cross/srcs/cross-0.13.0-sources.jar + ~/.ivy2/cache/org.apache.ivy/ivy/srcs/ivy-2.3.0-rc1-sources.jar + ~/.ivy2/cache/com.jcraft/jsch/srcs/jsch-0.1.46-sources.jar + ~/.ivy2/cache/org.scala-sbt/run/srcs/run-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/task-system/srcs/task-system-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/tasks/srcs/tasks-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/tracking/srcs/tracking-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/cache/srcs/cache-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/testing/srcs/testing-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-agent/srcs/test-agent-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/apply-macro/srcs/apply-macro-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/command/srcs/command-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_8_2/srcs/precompiled-2_8_2-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_2/srcs/precompiled-2_9_2-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_3/srcs/precompiled-2_9_3-0.13.0-sources.jar + + + 2.10.2 + ~/.sbt/boot/scala-2.10.2/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-reflect.jar + + + $BASE/childOne/src/main/java + $BASE/childOne/src/main/scala + $BASE/childOne/target/scala-2.10/src_managed/main + $BASE/childOne/src/main/resources + $BASE/childOne/target/scala-2.10/resource_managed/main + $BASE/childOne/target/scala-2.10/classes + + + $BASE/childOne/src/test/java + $BASE/childOne/src/test/scala + $BASE/childOne/target/scala-2.10/src_managed/test + $BASE/childOne/src/test/resources + $BASE/childOne/target/scala-2.10/resource_managed/test + $BASE/childOne/target/scala-2.10/test-classes + + + + + + + + + childTwo + childTwo + childtwo + 0.1-SNAPSHOT + $BASE/childTwo + $BASE/childTwo/target + + import sbt._, Keys._ + import MyBuild._ + ~/.sbt/boot/scala-2.10.2/lib/jansi.jar + ~/.sbt/boot/scala-2.10.2/lib/jline.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-reflect.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/actions-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/api-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/apply-macro-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/cache-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/classfile-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/classpath-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/collections-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/command-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/compile-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/compiler-integration-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/compiler-ivy-integration-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/completion-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/control-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/cross-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/incremental-compiler-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/io-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/ivy-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/ivy-2.3.0-rc1.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/jline-2.11.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/jsch-0.1.46.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/launcher-interface-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/logging-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/main-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/main-settings-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/persist-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/process-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/relation-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/run-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/sbinary_2.10-0.4.2.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/sbt-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/scala-reflect-2.10.2.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/task-system-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/tasks-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/test-agent-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/test-interface-1.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/testing-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/tracking-0.13.0.jar + ~/.sbt/boot/scala-2.10.2/org.scala-sbt/sbt/0.13.0/xsbti/interface-0.13.0.jar + ~/.ivy2/cache/org.scala-sbt/sbt/srcs/sbt-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/main/srcs/main-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/actions/srcs/actions-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/classpath/srcs/classpath-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/interface/srcs/interface-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/io/srcs/io-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/control/srcs/control-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.10.2-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/completion/srcs/completion-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/collections/srcs/collections-0.13.0-sources.jar + ~/.ivy2/cache/jline/jline/srcs/jline-2.11-sources.jar + ~/.ivy2/cache/org.scala-sbt/api/srcs/api-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-integration/srcs/compiler-integration-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/incremental-compiler/srcs/incremental-compiler-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/logging/srcs/logging-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/process/srcs/process-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/relation/srcs/relation-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/compile/srcs/compile-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/persist/srcs/persist-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-tools.sbinary/sbinary_2.10/srcs/sbinary_2.10-0.4.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/classfile/srcs/classfile-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-ivy-integration/srcs/compiler-ivy-integration-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/ivy/srcs/ivy-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/cross/srcs/cross-0.13.0-sources.jar + ~/.ivy2/cache/org.apache.ivy/ivy/srcs/ivy-2.3.0-rc1-sources.jar + ~/.ivy2/cache/com.jcraft/jsch/srcs/jsch-0.1.46-sources.jar + ~/.ivy2/cache/org.scala-sbt/run/srcs/run-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/task-system/srcs/task-system-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/tasks/srcs/tasks-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/tracking/srcs/tracking-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/cache/srcs/cache-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/testing/srcs/testing-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-agent/srcs/test-agent-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/apply-macro/srcs/apply-macro-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/command/srcs/command-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_8_2/srcs/precompiled-2_8_2-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_2/srcs/precompiled-2_9_2-0.13.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_3/srcs/precompiled-2_9_3-0.13.0-sources.jar + + + 2.10.2 + ~/.sbt/boot/scala-2.10.2/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.2/lib/scala-reflect.jar + + + $BASE/childTwo/src/main/java + $BASE/childTwo/src/main/scala + $BASE/childTwo/target/scala-2.10/src_managed/main + $BASE/childTwo/src/main/resources + $BASE/childTwo/target/scala-2.10/resource_managed/main + $BASE/childTwo/target/scala-2.10/classes + + + $BASE/childTwo/src/test/java + $BASE/childTwo/src/test/scala + $BASE/childTwo/target/scala-2.10/src_managed/test + $BASE/childTwo/src/test/resources + $BASE/childTwo/target/scala-2.10/resource_managed/test + $BASE/childTwo/target/scala-2.10/test-classes + + + childOne + + + + + + + + ~/.ivy2/cache/com.google.protobuf/protobuf-java/jars/protobuf-java-2.3.0.jar + ~/.ivy2/cache/com.google.protobuf/protobuf-java/docs/protobuf-java-2.3.0-javadoc.jar + ~/.ivy2/cache/com.google.protobuf/protobuf-java/srcs/protobuf-java-2.3.0-sources.jar + + + ~/.ivy2/cache/com.google.protobuf/protobuf-java/bundles/protobuf-java-2.5.0.jar + ~/.ivy2/cache/com.google.protobuf/protobuf-java/docs/protobuf-java-2.5.0-javadoc.jar + ~/.ivy2/cache/com.google.protobuf/protobuf-java/srcs/protobuf-java-2.5.0-sources.jar + + + ~/.sbt/boot/scala-2.10.2/lib/scala-library.jar + ~/.ivy2/cache/org.scala-lang/scala-library/docs/scala-library-2.10.2-javadoc.jar + ~/.ivy2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.2-sources.jar + + + \ No newline at end of file diff --git a/extractor/src/test/data/0.13/eviction/structure-0.13.7.xml b/extractor/src/test/data/0.13/eviction/structure-0.13.7.xml new file mode 100644 index 00000000..9aa6e79f --- /dev/null +++ b/extractor/src/test/data/0.13/eviction/structure-0.13.7.xml @@ -0,0 +1,446 @@ + + + + eviction + eviction + eviction + 0.1-SNAPSHOT + $BASE + $BASE/target + + import sbt._, Keys._, dsl._ + import MyBuild._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin + ~/.sbt/boot/scala-2.10.4/lib/jansi.jar + ~/.sbt/boot/scala-2.10.4/lib/jline.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-reflect.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/actions-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/api-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/apply-macro-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/cache-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/classfile-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/classpath-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/collections-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/command-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/compile-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/compiler-integration-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/compiler-ivy-integration-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/completion-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/control-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/cross-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/incremental-compiler-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/io-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/ivy-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/ivy-2.3.0-sbt-fccfbd44c9f64523b61398a0155784dcbaeae28f.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/jawn-parser_2.10-0.6.0.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/jline-2.11.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/jsch-0.1.46.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/json4s-ast_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/json4s-core_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/json4s-native_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/json4s-support_2.10-0.6.0.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/launcher-interface-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/logging-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/logic-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/main-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/main-settings-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/paranamer-2.6.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/persist-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/process-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/relation-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/run-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/sbinary_2.10-0.4.2.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/sbt-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/scala-reflect-2.10.4.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/scalap-2.10.0.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/task-system-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/tasks-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/test-agent-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/test-interface-1.0.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/testing-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/tracking-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/xsbti/interface-0.13.7.jar + ~/.ivy2/cache/org.scala-sbt/sbt/srcs/sbt-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.4-sources.jar + ~/.ivy2/cache/org.scala-sbt/main/srcs/main-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/actions/srcs/actions-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/classpath/srcs/classpath-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.10.4-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.4-sources.jar + ~/.ivy2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/interface/srcs/interface-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/io/srcs/io-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/control/srcs/control-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/completion/srcs/completion-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/collections/srcs/collections-0.13.7-sources.jar + ~/.ivy2/cache/jline/jline/srcs/jline-2.11-sources.jar + ~/.ivy2/cache/org.scala-sbt/api/srcs/api-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-integration/srcs/compiler-integration-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/incremental-compiler/srcs/incremental-compiler-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/logging/srcs/logging-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/process/srcs/process-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/relation/srcs/relation-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/compile/srcs/compile-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/persist/srcs/persist-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-tools.sbinary/sbinary_2.10/srcs/sbinary_2.10-0.4.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/classfile/srcs/classfile-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-ivy-integration/srcs/compiler-ivy-integration-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/ivy/srcs/ivy-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/cross/srcs/cross-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt.ivy/ivy/srcs/ivy-2.3.0-sbt-fccfbd44c9f64523b61398a0155784dcbaeae28f-sources.jar + ~/.ivy2/cache/com.jcraft/jsch/srcs/jsch-0.1.46-sources.jar + ~/.ivy2/cache/org.json4s/json4s-native_2.10/srcs/json4s-native_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.json4s/json4s-ast_2.10/srcs/json4s-ast_2.10-3.2.10-sources.jar + ~/.ivy2/cache/com.thoughtworks.paranamer/paranamer/srcs/paranamer-2.6-sources.jar + ~/.ivy2/cache/org.scala-lang/scalap/srcs/scalap-2.10.0-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 + ~/.ivy2/cache/org.scala-sbt/run/srcs/run-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/task-system/srcs/task-system-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/tasks/srcs/tasks-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/tracking/srcs/tracking-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/cache/srcs/cache-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/testing/srcs/testing-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-agent/srcs/test-agent-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/apply-macro/srcs/apply-macro-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/command/srcs/command-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/logic/srcs/logic-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_8_2/srcs/precompiled-2_8_2-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_2/srcs/precompiled-2_9_2-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_3/srcs/precompiled-2_9_3-0.13.7-sources.jar + + + 2.10.4 + ~/.sbt/boot/scala-2.10.4/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-reflect.jar + + + $BASE/src/main/java + $BASE/src/main/scala + $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/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 + + + + + + + + childOne + childOne + childone + 0.1-SNAPSHOT + $BASE/childOne + $BASE/childOne/target + + import sbt._, Keys._, dsl._ + import MyBuild._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin + ~/.sbt/boot/scala-2.10.4/lib/jansi.jar + ~/.sbt/boot/scala-2.10.4/lib/jline.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-reflect.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/actions-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/api-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/apply-macro-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/cache-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/classfile-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/classpath-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/collections-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/command-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/compile-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/compiler-integration-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/compiler-ivy-integration-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/completion-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/control-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/cross-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/incremental-compiler-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/io-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/ivy-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/ivy-2.3.0-sbt-fccfbd44c9f64523b61398a0155784dcbaeae28f.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/jawn-parser_2.10-0.6.0.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/jline-2.11.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/jsch-0.1.46.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/json4s-ast_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/json4s-core_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/json4s-native_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/json4s-support_2.10-0.6.0.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/launcher-interface-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/logging-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/logic-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/main-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/main-settings-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/paranamer-2.6.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/persist-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/process-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/relation-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/run-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/sbinary_2.10-0.4.2.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/sbt-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/scala-reflect-2.10.4.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/scalap-2.10.0.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/task-system-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/tasks-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/test-agent-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/test-interface-1.0.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/testing-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/tracking-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/xsbti/interface-0.13.7.jar + ~/.ivy2/cache/org.scala-sbt/sbt/srcs/sbt-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.4-sources.jar + ~/.ivy2/cache/org.scala-sbt/main/srcs/main-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/actions/srcs/actions-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/classpath/srcs/classpath-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.10.4-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.4-sources.jar + ~/.ivy2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/interface/srcs/interface-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/io/srcs/io-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/control/srcs/control-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/completion/srcs/completion-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/collections/srcs/collections-0.13.7-sources.jar + ~/.ivy2/cache/jline/jline/srcs/jline-2.11-sources.jar + ~/.ivy2/cache/org.scala-sbt/api/srcs/api-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-integration/srcs/compiler-integration-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/incremental-compiler/srcs/incremental-compiler-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/logging/srcs/logging-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/process/srcs/process-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/relation/srcs/relation-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/compile/srcs/compile-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/persist/srcs/persist-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-tools.sbinary/sbinary_2.10/srcs/sbinary_2.10-0.4.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/classfile/srcs/classfile-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-ivy-integration/srcs/compiler-ivy-integration-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/ivy/srcs/ivy-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/cross/srcs/cross-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt.ivy/ivy/srcs/ivy-2.3.0-sbt-fccfbd44c9f64523b61398a0155784dcbaeae28f-sources.jar + ~/.ivy2/cache/com.jcraft/jsch/srcs/jsch-0.1.46-sources.jar + ~/.ivy2/cache/org.json4s/json4s-native_2.10/srcs/json4s-native_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.json4s/json4s-ast_2.10/srcs/json4s-ast_2.10-3.2.10-sources.jar + ~/.ivy2/cache/com.thoughtworks.paranamer/paranamer/srcs/paranamer-2.6-sources.jar + ~/.ivy2/cache/org.scala-lang/scalap/srcs/scalap-2.10.0-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 + ~/.ivy2/cache/org.scala-sbt/run/srcs/run-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/task-system/srcs/task-system-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/tasks/srcs/tasks-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/tracking/srcs/tracking-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/cache/srcs/cache-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/testing/srcs/testing-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-agent/srcs/test-agent-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/apply-macro/srcs/apply-macro-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/command/srcs/command-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/logic/srcs/logic-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_8_2/srcs/precompiled-2_8_2-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_2/srcs/precompiled-2_9_2-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_3/srcs/precompiled-2_9_3-0.13.7-sources.jar + + + 2.10.4 + ~/.sbt/boot/scala-2.10.4/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-reflect.jar + + + $BASE/childOne/src/main/java + $BASE/childOne/src/main/scala + $BASE/childOne/target/scala-2.10/src_managed/main + $BASE/childOne/src/main/resources + $BASE/childOne/target/scala-2.10/resource_managed/main + $BASE/childOne/target/scala-2.10/classes + + + $BASE/childOne/src/test/java + $BASE/childOne/src/test/scala + $BASE/childOne/target/scala-2.10/src_managed/test + $BASE/childOne/src/test/resources + $BASE/childOne/target/scala-2.10/resource_managed/test + $BASE/childOne/target/scala-2.10/test-classes + + + + + + + + + childTwo + childTwo + childtwo + 0.1-SNAPSHOT + $BASE/childTwo + $BASE/childTwo/target + + import sbt._, Keys._, dsl._ + import MyBuild._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin + ~/.sbt/boot/scala-2.10.4/lib/jansi.jar + ~/.sbt/boot/scala-2.10.4/lib/jline.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-reflect.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/actions-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/api-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/apply-macro-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/cache-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/classfile-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/classpath-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/collections-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/command-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/compile-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/compiler-integration-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/compiler-ivy-integration-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/completion-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/control-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/cross-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/incremental-compiler-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/io-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/ivy-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/ivy-2.3.0-sbt-fccfbd44c9f64523b61398a0155784dcbaeae28f.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/jawn-parser_2.10-0.6.0.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/jline-2.11.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/jsch-0.1.46.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/json4s-ast_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/json4s-core_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/json4s-native_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/json4s-support_2.10-0.6.0.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/launcher-interface-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/logging-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/logic-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/main-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/main-settings-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/paranamer-2.6.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/persist-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/process-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/relation-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/run-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/sbinary_2.10-0.4.2.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/sbt-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/scala-reflect-2.10.4.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/scalap-2.10.0.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/task-system-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/tasks-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/test-agent-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/test-interface-1.0.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/testing-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/tracking-0.13.7.jar + ~/.sbt/boot/scala-2.10.4/org.scala-sbt/sbt/0.13.7/xsbti/interface-0.13.7.jar + ~/.ivy2/cache/org.scala-sbt/sbt/srcs/sbt-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.4-sources.jar + ~/.ivy2/cache/org.scala-sbt/main/srcs/main-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/actions/srcs/actions-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/classpath/srcs/classpath-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.10.4-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.4-sources.jar + ~/.ivy2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/interface/srcs/interface-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/io/srcs/io-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/control/srcs/control-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/completion/srcs/completion-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/collections/srcs/collections-0.13.7-sources.jar + ~/.ivy2/cache/jline/jline/srcs/jline-2.11-sources.jar + ~/.ivy2/cache/org.scala-sbt/api/srcs/api-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-integration/srcs/compiler-integration-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/incremental-compiler/srcs/incremental-compiler-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/logging/srcs/logging-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/process/srcs/process-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/relation/srcs/relation-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/compile/srcs/compile-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/persist/srcs/persist-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-tools.sbinary/sbinary_2.10/srcs/sbinary_2.10-0.4.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/classfile/srcs/classfile-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-ivy-integration/srcs/compiler-ivy-integration-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/ivy/srcs/ivy-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/cross/srcs/cross-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt.ivy/ivy/srcs/ivy-2.3.0-sbt-fccfbd44c9f64523b61398a0155784dcbaeae28f-sources.jar + ~/.ivy2/cache/com.jcraft/jsch/srcs/jsch-0.1.46-sources.jar + ~/.ivy2/cache/org.json4s/json4s-native_2.10/srcs/json4s-native_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.json4s/json4s-ast_2.10/srcs/json4s-ast_2.10-3.2.10-sources.jar + ~/.ivy2/cache/com.thoughtworks.paranamer/paranamer/srcs/paranamer-2.6-sources.jar + ~/.ivy2/cache/org.scala-lang/scalap/srcs/scalap-2.10.0-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 + ~/.ivy2/cache/org.scala-sbt/run/srcs/run-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/task-system/srcs/task-system-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/tasks/srcs/tasks-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/tracking/srcs/tracking-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/cache/srcs/cache-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/testing/srcs/testing-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-agent/srcs/test-agent-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/apply-macro/srcs/apply-macro-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/command/srcs/command-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/logic/srcs/logic-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_8_2/srcs/precompiled-2_8_2-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_2/srcs/precompiled-2_9_2-0.13.7-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_3/srcs/precompiled-2_9_3-0.13.7-sources.jar + + + 2.10.4 + ~/.sbt/boot/scala-2.10.4/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.4/lib/scala-reflect.jar + + + $BASE/childTwo/src/main/java + $BASE/childTwo/src/main/scala + $BASE/childTwo/target/scala-2.10/src_managed/main + $BASE/childTwo/src/main/resources + $BASE/childTwo/target/scala-2.10/resource_managed/main + $BASE/childTwo/target/scala-2.10/classes + + + $BASE/childTwo/src/test/java + $BASE/childTwo/src/test/scala + $BASE/childTwo/target/scala-2.10/src_managed/test + $BASE/childTwo/src/test/resources + $BASE/childTwo/target/scala-2.10/resource_managed/test + $BASE/childTwo/target/scala-2.10/test-classes + + + childOne + + + + + + + + ~/.ivy2/cache/com.google.protobuf/protobuf-java/jars/protobuf-java-2.3.0.jar + ~/.ivy2/cache/com.google.protobuf/protobuf-java/docs/protobuf-java-2.3.0-javadoc.jar + ~/.ivy2/cache/com.google.protobuf/protobuf-java/srcs/protobuf-java-2.3.0-sources.jar + + + ~/.ivy2/cache/com.google.protobuf/protobuf-java/bundles/protobuf-java-2.5.0.jar + ~/.ivy2/cache/com.google.protobuf/protobuf-java/docs/protobuf-java-2.5.0-javadoc.jar + ~/.ivy2/cache/com.google.protobuf/protobuf-java/srcs/protobuf-java-2.5.0-sources.jar + + + ~/.sbt/boot/scala-2.10.4/lib/scala-library.jar + ~/.ivy2/cache/org.scala-lang/scala-library/docs/scala-library-2.10.4-javadoc.jar + ~/.ivy2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.4-sources.jar + + + \ No newline at end of file diff --git a/extractor/src/test/data/0.13/eviction/structure-0.13.9.xml b/extractor/src/test/data/0.13/eviction/structure-0.13.9.xml new file mode 100644 index 00000000..5e15f43a --- /dev/null +++ b/extractor/src/test/data/0.13/eviction/structure-0.13.9.xml @@ -0,0 +1,458 @@ + + + + eviction + eviction + eviction + 0.1-SNAPSHOT + $BASE + $BASE/target + + import sbt._, Keys._, dsl._ + import MyBuild._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin + ~/.sbt/boot/scala-2.10.5/lib/jansi.jar + ~/.sbt/boot/scala-2.10.5/lib/jline.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-reflect.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/actions-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/api-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/apply-macro-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/cache-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/classfile-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/classpath-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/collections-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/command-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/compile-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/compiler-integration-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/compiler-ivy-integration-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/completion-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/control-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/cross-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/incremental-compiler-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/io-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/ivy-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/ivy-2.3.0-sbt-c5d1b95fdcc1e1007740ffbecf4eb07abc51ec93.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/jawn-parser_2.10-0.6.0.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/jline-2.11.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/jsch-0.1.46.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/json4s-ast_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/json4s-core_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/json4s-support_2.10-0.6.0.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/launcher-interface-1.0.0-M1.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/logging-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/logic-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/main-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/main-settings-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/paranamer-2.6.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/persist-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/process-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/quasiquotes_2.10-2.0.1.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/relation-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/run-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/sbinary_2.10-0.4.2.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/sbt-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/scala-pickling_2.10-0.10.0.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/scala-reflect-2.10.5.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/serialization_2.10-0.1.1.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/task-system-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/tasks-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/test-agent-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/test-interface-1.0.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/testing-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/tracking-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/xsbti/interface-0.13.9.jar + ~/.ivy2/cache/org.scala-sbt/sbt/srcs/sbt-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.5-sources.jar + ~/.ivy2/cache/org.scala-sbt/main/srcs/main-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/actions/srcs/actions-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/classpath/srcs/classpath-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.10.5-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.5-sources.jar + ~/.ivy2/cache/org.scala-sbt/interface/srcs/interface-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/io/srcs/io-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/control/srcs/control-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-1.0.0-M1-sources.jar + ~/.ivy2/cache/org.scala-sbt/completion/srcs/completion-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/collections/srcs/collections-0.13.9-sources.jar + ~/.ivy2/cache/jline/jline/srcs/jline-2.11-sources.jar + ~/.ivy2/cache/org.scala-sbt/api/srcs/api-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-integration/srcs/compiler-integration-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/incremental-compiler/srcs/incremental-compiler-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/logging/srcs/logging-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/process/srcs/process-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/relation/srcs/relation-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/compile/srcs/compile-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/classfile/srcs/classfile-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/persist/srcs/persist-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-tools.sbinary/sbinary_2.10/srcs/sbinary_2.10-0.4.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-ivy-integration/srcs/compiler-ivy-integration-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/ivy/srcs/ivy-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/cross/srcs/cross-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt.ivy/ivy/srcs/ivy-2.3.0-sbt-c5d1b95fdcc1e1007740ffbecf4eb07abc51ec93-sources.jar + ~/.ivy2/cache/com.jcraft/jsch/srcs/jsch-0.1.46-sources.jar + ~/.ivy2/cache/org.scala-sbt/serialization_2.10/srcs/serialization_2.10-0.1.1-sources.jar + ~/.ivy2/cache/org.scala-lang.modules/scala-pickling_2.10/srcs/scala-pickling_2.10-0.10.0-sources.jar + ~/.ivy2/cache/org.scalamacros/quasiquotes_2.10/srcs/quasiquotes_2.10-2.0.1-sources.jar + ~/.ivy2/cache/org.json4s/json4s-core_2.10/srcs/json4s-core_2.10-3.2.10-sources.jar + ~/.ivy2/cache/org.json4s/json4s-ast_2.10/srcs/json4s-ast_2.10-3.2.10-sources.jar + ~/.ivy2/cache/com.thoughtworks.paranamer/paranamer/srcs/paranamer-2.6-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 + ~/.ivy2/cache/org.scala-sbt/run/srcs/run-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/task-system/srcs/task-system-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/tasks/srcs/tasks-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/tracking/srcs/tracking-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/cache/srcs/cache-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/testing/srcs/testing-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-agent/srcs/test-agent-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/apply-macro/srcs/apply-macro-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/command/srcs/command-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/logic/srcs/logic-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_8_2/srcs/precompiled-2_8_2-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_2/srcs/precompiled-2_9_2-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_3/srcs/precompiled-2_9_3-0.13.9-sources.jar + + + 2.10.5 + ~/.sbt/boot/scala-2.10.5/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-reflect.jar + + + $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 + + + + + + + + childOne + childOne + childone + 0.1-SNAPSHOT + $BASE/childOne + $BASE/childOne/target + + import sbt._, Keys._, dsl._ + import MyBuild._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin + ~/.sbt/boot/scala-2.10.5/lib/jansi.jar + ~/.sbt/boot/scala-2.10.5/lib/jline.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-reflect.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/actions-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/api-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/apply-macro-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/cache-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/classfile-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/classpath-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/collections-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/command-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/compile-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/compiler-integration-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/compiler-ivy-integration-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/completion-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/control-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/cross-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/incremental-compiler-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/io-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/ivy-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/ivy-2.3.0-sbt-c5d1b95fdcc1e1007740ffbecf4eb07abc51ec93.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/jawn-parser_2.10-0.6.0.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/jline-2.11.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/jsch-0.1.46.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/json4s-ast_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/json4s-core_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/json4s-support_2.10-0.6.0.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/launcher-interface-1.0.0-M1.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/logging-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/logic-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/main-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/main-settings-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/paranamer-2.6.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/persist-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/process-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/quasiquotes_2.10-2.0.1.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/relation-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/run-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/sbinary_2.10-0.4.2.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/sbt-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/scala-pickling_2.10-0.10.0.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/scala-reflect-2.10.5.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/serialization_2.10-0.1.1.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/task-system-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/tasks-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/test-agent-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/test-interface-1.0.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/testing-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/tracking-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/xsbti/interface-0.13.9.jar + ~/.ivy2/cache/org.scala-sbt/sbt/srcs/sbt-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.5-sources.jar + ~/.ivy2/cache/org.scala-sbt/main/srcs/main-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/actions/srcs/actions-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/classpath/srcs/classpath-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.10.5-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.5-sources.jar + ~/.ivy2/cache/org.scala-sbt/interface/srcs/interface-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/io/srcs/io-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/control/srcs/control-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-1.0.0-M1-sources.jar + ~/.ivy2/cache/org.scala-sbt/completion/srcs/completion-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/collections/srcs/collections-0.13.9-sources.jar + ~/.ivy2/cache/jline/jline/srcs/jline-2.11-sources.jar + ~/.ivy2/cache/org.scala-sbt/api/srcs/api-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-integration/srcs/compiler-integration-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/incremental-compiler/srcs/incremental-compiler-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/logging/srcs/logging-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/process/srcs/process-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/relation/srcs/relation-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/compile/srcs/compile-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/classfile/srcs/classfile-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/persist/srcs/persist-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-tools.sbinary/sbinary_2.10/srcs/sbinary_2.10-0.4.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-ivy-integration/srcs/compiler-ivy-integration-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/ivy/srcs/ivy-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/cross/srcs/cross-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt.ivy/ivy/srcs/ivy-2.3.0-sbt-c5d1b95fdcc1e1007740ffbecf4eb07abc51ec93-sources.jar + ~/.ivy2/cache/com.jcraft/jsch/srcs/jsch-0.1.46-sources.jar + ~/.ivy2/cache/org.scala-sbt/serialization_2.10/srcs/serialization_2.10-0.1.1-sources.jar + ~/.ivy2/cache/org.scala-lang.modules/scala-pickling_2.10/srcs/scala-pickling_2.10-0.10.0-sources.jar + ~/.ivy2/cache/org.scalamacros/quasiquotes_2.10/srcs/quasiquotes_2.10-2.0.1-sources.jar + ~/.ivy2/cache/org.json4s/json4s-core_2.10/srcs/json4s-core_2.10-3.2.10-sources.jar + ~/.ivy2/cache/org.json4s/json4s-ast_2.10/srcs/json4s-ast_2.10-3.2.10-sources.jar + ~/.ivy2/cache/com.thoughtworks.paranamer/paranamer/srcs/paranamer-2.6-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 + ~/.ivy2/cache/org.scala-sbt/run/srcs/run-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/task-system/srcs/task-system-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/tasks/srcs/tasks-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/tracking/srcs/tracking-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/cache/srcs/cache-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/testing/srcs/testing-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-agent/srcs/test-agent-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/apply-macro/srcs/apply-macro-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/command/srcs/command-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/logic/srcs/logic-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_8_2/srcs/precompiled-2_8_2-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_2/srcs/precompiled-2_9_2-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_3/srcs/precompiled-2_9_3-0.13.9-sources.jar + + + 2.10.5 + ~/.sbt/boot/scala-2.10.5/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-reflect.jar + + + $BASE/childOne/src/main/java + $BASE/childOne/src/main/scala + $BASE/childOne/src/main/scala-2.10 + $BASE/childOne/target/scala-2.10/src_managed/main + $BASE/childOne/src/main/resources + $BASE/childOne/target/scala-2.10/resource_managed/main + $BASE/childOne/target/scala-2.10/classes + + + $BASE/childOne/src/test/java + $BASE/childOne/src/test/scala + $BASE/childOne/src/test/scala-2.10 + $BASE/childOne/target/scala-2.10/src_managed/test + $BASE/childOne/src/test/resources + $BASE/childOne/target/scala-2.10/resource_managed/test + $BASE/childOne/target/scala-2.10/test-classes + + + + + + + + + childTwo + childTwo + childtwo + 0.1-SNAPSHOT + $BASE/childTwo + $BASE/childTwo/target + + import sbt._, Keys._, dsl._ + import MyBuild._ + import _root_.sbt.plugins.IvyPlugin, _root_.sbt.plugins.JvmPlugin, _root_.sbt.plugins.CorePlugin, _root_.sbt.plugins.JUnitXmlReportPlugin + ~/.sbt/boot/scala-2.10.5/lib/jansi.jar + ~/.sbt/boot/scala-2.10.5/lib/jline.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-reflect.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/actions-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/api-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/apply-macro-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/cache-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/classfile-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/classpath-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/collections-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/command-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/compile-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/compiler-integration-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/compiler-ivy-integration-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/completion-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/control-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/cross-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/incremental-compiler-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/io-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/ivy-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/ivy-2.3.0-sbt-c5d1b95fdcc1e1007740ffbecf4eb07abc51ec93.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/jawn-parser_2.10-0.6.0.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/jline-2.11.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/jsch-0.1.46.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/json4s-ast_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/json4s-core_2.10-3.2.10.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/json4s-support_2.10-0.6.0.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/launcher-interface-1.0.0-M1.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/logging-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/logic-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/main-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/main-settings-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/paranamer-2.6.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/persist-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/process-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/quasiquotes_2.10-2.0.1.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/relation-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/run-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/sbinary_2.10-0.4.2.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/sbt-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/scala-pickling_2.10-0.10.0.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/scala-reflect-2.10.5.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/serialization_2.10-0.1.1.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/task-system-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/tasks-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/test-agent-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/test-interface-1.0.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/testing-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/tracking-0.13.9.jar + ~/.sbt/boot/scala-2.10.5/org.scala-sbt/sbt/0.13.9/xsbti/interface-0.13.9.jar + ~/.ivy2/cache/org.scala-sbt/sbt/srcs/sbt-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.5-sources.jar + ~/.ivy2/cache/org.scala-sbt/main/srcs/main-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/actions/srcs/actions-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/classpath/srcs/classpath-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-compiler/srcs/scala-compiler-2.10.5-sources.jar + ~/.ivy2/cache/org.scala-lang/scala-reflect/srcs/scala-reflect-2.10.5-sources.jar + ~/.ivy2/cache/org.scala-sbt/interface/srcs/interface-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/io/srcs/io-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/control/srcs/control-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/launcher-interface/srcs/launcher-interface-1.0.0-M1-sources.jar + ~/.ivy2/cache/org.scala-sbt/completion/srcs/completion-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/collections/srcs/collections-0.13.9-sources.jar + ~/.ivy2/cache/jline/jline/srcs/jline-2.11-sources.jar + ~/.ivy2/cache/org.scala-sbt/api/srcs/api-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-integration/srcs/compiler-integration-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/incremental-compiler/srcs/incremental-compiler-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/logging/srcs/logging-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/process/srcs/process-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/relation/srcs/relation-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/compile/srcs/compile-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/classfile/srcs/classfile-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/persist/srcs/persist-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-tools.sbinary/sbinary_2.10/srcs/sbinary_2.10-0.4.2-sources.jar + ~/.ivy2/cache/org.scala-sbt/compiler-ivy-integration/srcs/compiler-ivy-integration-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/ivy/srcs/ivy-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/cross/srcs/cross-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt.ivy/ivy/srcs/ivy-2.3.0-sbt-c5d1b95fdcc1e1007740ffbecf4eb07abc51ec93-sources.jar + ~/.ivy2/cache/com.jcraft/jsch/srcs/jsch-0.1.46-sources.jar + ~/.ivy2/cache/org.scala-sbt/serialization_2.10/srcs/serialization_2.10-0.1.1-sources.jar + ~/.ivy2/cache/org.scala-lang.modules/scala-pickling_2.10/srcs/scala-pickling_2.10-0.10.0-sources.jar + ~/.ivy2/cache/org.scalamacros/quasiquotes_2.10/srcs/quasiquotes_2.10-2.0.1-sources.jar + ~/.ivy2/cache/org.json4s/json4s-core_2.10/srcs/json4s-core_2.10-3.2.10-sources.jar + ~/.ivy2/cache/org.json4s/json4s-ast_2.10/srcs/json4s-ast_2.10-3.2.10-sources.jar + ~/.ivy2/cache/com.thoughtworks.paranamer/paranamer/srcs/paranamer-2.6-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 + ~/.ivy2/cache/org.scala-sbt/run/srcs/run-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/task-system/srcs/task-system-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/tasks/srcs/tasks-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/tracking/srcs/tracking-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/cache/srcs/cache-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/testing/srcs/testing-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-agent/srcs/test-agent-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/test-interface/srcs/test-interface-1.0-sources.jar + ~/.ivy2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/apply-macro/srcs/apply-macro-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/command/srcs/command-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/logic/srcs/logic-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_8_2/srcs/precompiled-2_8_2-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_2/srcs/precompiled-2_9_2-0.13.9-sources.jar + ~/.ivy2/cache/org.scala-sbt/precompiled-2_9_3/srcs/precompiled-2_9_3-0.13.9-sources.jar + + + 2.10.5 + ~/.sbt/boot/scala-2.10.5/lib/scala-library.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-compiler.jar + ~/.sbt/boot/scala-2.10.5/lib/scala-reflect.jar + + + $BASE/childTwo/src/main/java + $BASE/childTwo/src/main/scala + $BASE/childTwo/src/main/scala-2.10 + $BASE/childTwo/target/scala-2.10/src_managed/main + $BASE/childTwo/src/main/resources + $BASE/childTwo/target/scala-2.10/resource_managed/main + $BASE/childTwo/target/scala-2.10/classes + + + $BASE/childTwo/src/test/java + $BASE/childTwo/src/test/scala + $BASE/childTwo/src/test/scala-2.10 + $BASE/childTwo/target/scala-2.10/src_managed/test + $BASE/childTwo/src/test/resources + $BASE/childTwo/target/scala-2.10/resource_managed/test + $BASE/childTwo/target/scala-2.10/test-classes + + + childOne + + + + + + + + ~/.ivy2/cache/com.google.protobuf/protobuf-java/jars/protobuf-java-2.3.0.jar + ~/.ivy2/cache/com.google.protobuf/protobuf-java/docs/protobuf-java-2.3.0-javadoc.jar + ~/.ivy2/cache/com.google.protobuf/protobuf-java/srcs/protobuf-java-2.3.0-sources.jar + + + ~/.ivy2/cache/com.google.protobuf/protobuf-java/bundles/protobuf-java-2.5.0.jar + ~/.ivy2/cache/com.google.protobuf/protobuf-java/docs/protobuf-java-2.5.0-javadoc.jar + ~/.ivy2/cache/com.google.protobuf/protobuf-java/srcs/protobuf-java-2.5.0-sources.jar + + + ~/.sbt/boot/scala-2.10.5/lib/scala-library.jar + ~/.ivy2/cache/org.scala-lang/scala-library/docs/scala-library-2.10.5-javadoc.jar + ~/.ivy2/cache/org.scala-lang/scala-library/srcs/scala-library-2.10.5-sources.jar + + + \ No newline at end of file diff --git a/extractor/src/test/scala/org/jetbrains/sbt/ImportSpec.scala b/extractor/src/test/scala/org/jetbrains/sbt/ImportSpec.scala index 0a799266..0d8fb440 100644 --- a/extractor/src/test/scala/org/jetbrains/sbt/ImportSpec.scala +++ b/extractor/src/test/scala/org/jetbrains/sbt/ImportSpec.scala @@ -123,5 +123,6 @@ class ImportSpec extends Specification with XmlMatchers { equalExpectedOneIn("ide-settings")((onlyFor("0.13.7") or onlyFor("0.13.9")) and testProject(_)) equalExpectedOneIn("sbt-idea")(sbt13only and testProject(_)) equalExpectedOneIn("custom-test-config")(sbt13only and testProject(_)) + equalExpectedOneIn("eviction")(sbt13only and testProject(_)) } } From 3b24d39de035aada09bcbd65f3df433cf6ff150e Mon Sep 17 00:00:00 2001 From: Nikolay Obedin Date: Thu, 17 Sep 2015 14:37:07 +0300 Subject: [PATCH 03/10] Partially revert 547235fdeb01f242aaa23135319760013992545c --- extractor/src/main/scala/org/jetbrains/sbt/Utilities.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extractor/src/main/scala/org/jetbrains/sbt/Utilities.scala b/extractor/src/main/scala/org/jetbrains/sbt/Utilities.scala index 532e9c03..d083dee2 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/Utilities.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/Utilities.scala @@ -30,6 +30,6 @@ object Utilities { } implicit def toRichProjectRef(projectRef: ProjectRef) = new { - def id: String = String.format("%s[%s]", projectRef.project, Integer.toHexString(projectRef.build.hashCode())) + def id: String = projectRef.project // TODO: append build url when IDEA-145101 is fixed } } From 0971e8bb1c8aba33aadd86ebc1075af85147155c Mon Sep 17 00:00:00 2001 From: Nikolay Obedin Date: Mon, 5 Oct 2015 19:14:19 +0300 Subject: [PATCH 04/10] Move EvictionsProcessor into processors package --- .../org/jetbrains/sbt/extractors/StructureExtractor.scala | 1 + .../{extractors => processors}/EvictionsProcessor.scala | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) rename extractor/src/main/scala/org/jetbrains/sbt/{extractors => processors}/EvictionsProcessor.scala (95%) diff --git a/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala b/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala index 9afbd747..0d7b95c8 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala @@ -1,6 +1,7 @@ package org.jetbrains.sbt package extractors +import org.jetbrains.sbt.processors.EvictionsProcessor import org.jetbrains.sbt.structure.StructureData import sbt._ diff --git a/extractor/src/main/scala/org/jetbrains/sbt/extractors/EvictionsProcessor.scala b/extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala similarity index 95% rename from extractor/src/main/scala/org/jetbrains/sbt/extractors/EvictionsProcessor.scala rename to extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala index 55dcece7..9638faf2 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/extractors/EvictionsProcessor.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala @@ -1,10 +1,10 @@ package org.jetbrains.sbt -package extractors +package processors -import org.jetbrains.sbt.structure.{ModuleDependencyData, ProjectData, ModuleIdentifier} -import org.jetbrains.sbt.{structure=>jb} +import org.jetbrains.sbt.Utilities._ +import org.jetbrains.sbt.structure.{ModuleDependencyData, ModuleIdentifier, ProjectData} +import org.jetbrains.sbt.{structure => jb} import sbt._ -import Utilities._ import scala.collection.mutable From d3672a2015d90c7e14d49e2fdb57660529dbc6fd Mon Sep 17 00:00:00 2001 From: Nikolay Obedin Date: Tue, 6 Oct 2015 10:09:24 +0300 Subject: [PATCH 05/10] Add UnusedLibrariesProcessor to remove unused libraries --- .../sbt/extractors/StructureExtractor.scala | 16 +++++++------- .../processors/UnusedLibrariesProcessor.scala | 21 +++++++++++++++++++ 2 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 extractor/src/main/scala/org/jetbrains/sbt/processors/UnusedLibrariesProcessor.scala diff --git a/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala b/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala index 0d7b95c8..5b366ed8 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala @@ -1,7 +1,7 @@ package org.jetbrains.sbt package extractors -import org.jetbrains.sbt.processors.EvictionsProcessor +import org.jetbrains.sbt.processors.{UnusedLibrariesProcessor, EvictionsProcessor} import org.jetbrains.sbt.structure.StructureData import sbt._ @@ -24,15 +24,15 @@ object StructureExtractor extends Extractor { } private def extract(acceptedProjectRefs: Seq[ProjectRef])(implicit state: State, options: Options): StructureData = { - val nonEvictedProjectsData = acceptedProjectRefs.flatMap(ProjectExtractor.apply(_)) - val projectsData = - if (options.download) - EvictionsProcessor(acceptedProjectRefs, nonEvictedProjectsData) - else - nonEvictedProjectsData + val projectsData = { + val nonEvicted = acceptedProjectRefs.flatMap(ProjectExtractor.apply(_)) + if (options.download) EvictionsProcessor.apply(acceptedProjectRefs, nonEvicted) else nonEvicted + } + + val repositoryData = + RepositoryExtractor.apply(acceptedProjectRefs).map(UnusedLibrariesProcessor.apply(projectsData)) val sbtVersion = setting(Keys.sbtVersion).get - val repositoryData = RepositoryExtractor.apply(acceptedProjectRefs) val localCachePath = Option(System.getProperty("sbt.ivy.home", System.getProperty("ivy.home"))) StructureData(sbtVersion, projectsData, repositoryData, localCachePath) } diff --git a/extractor/src/main/scala/org/jetbrains/sbt/processors/UnusedLibrariesProcessor.scala b/extractor/src/main/scala/org/jetbrains/sbt/processors/UnusedLibrariesProcessor.scala new file mode 100644 index 00000000..010edc2f --- /dev/null +++ b/extractor/src/main/scala/org/jetbrains/sbt/processors/UnusedLibrariesProcessor.scala @@ -0,0 +1,21 @@ +package org.jetbrains.sbt +package processors + +import org.jetbrains.sbt.structure.{ModuleIdentifier, RepositoryData, ProjectData} + +/** + * @author Nikolay Obedin + * @since 10/6/15. + */ +class UnusedLibrariesProcessor(projectsData: Seq[ProjectData], repositoryData: RepositoryData) { + private def process(): RepositoryData = + repositoryData.copy(modules = repositoryData.modules.filter(lib => usedModules.contains(lib.id))) + + private def usedModules: Set[ModuleIdentifier] = + projectsData.flatMap(_.dependencies.modules.map(_.id)).toSet +} + +object UnusedLibrariesProcessor { + def apply(projectData: Seq[ProjectData])(repositoryData: RepositoryData): RepositoryData = + new UnusedLibrariesProcessor(projectData, repositoryData).process() +} From ac2f4f8cc144208e4251afdd7d0bc41d196b5940 Mon Sep 17 00:00:00 2001 From: Nikolay Obedin Date: Tue, 6 Oct 2015 10:15:52 +0300 Subject: [PATCH 06/10] Fix eviction test --- extractor/src/test/data/0.13/eviction/structure-0.13.0.xml | 5 ----- extractor/src/test/data/0.13/eviction/structure-0.13.7.xml | 5 ----- extractor/src/test/data/0.13/eviction/structure-0.13.9.xml | 5 ----- 3 files changed, 15 deletions(-) diff --git a/extractor/src/test/data/0.13/eviction/structure-0.13.0.xml b/extractor/src/test/data/0.13/eviction/structure-0.13.0.xml index 27450d78..102ee0f1 100644 --- a/extractor/src/test/data/0.13/eviction/structure-0.13.0.xml +++ b/extractor/src/test/data/0.13/eviction/structure-0.13.0.xml @@ -376,11 +376,6 @@ - - ~/.ivy2/cache/com.google.protobuf/protobuf-java/jars/protobuf-java-2.3.0.jar - ~/.ivy2/cache/com.google.protobuf/protobuf-java/docs/protobuf-java-2.3.0-javadoc.jar - ~/.ivy2/cache/com.google.protobuf/protobuf-java/srcs/protobuf-java-2.3.0-sources.jar - ~/.ivy2/cache/com.google.protobuf/protobuf-java/bundles/protobuf-java-2.5.0.jar ~/.ivy2/cache/com.google.protobuf/protobuf-java/docs/protobuf-java-2.5.0-javadoc.jar diff --git a/extractor/src/test/data/0.13/eviction/structure-0.13.7.xml b/extractor/src/test/data/0.13/eviction/structure-0.13.7.xml index 9aa6e79f..f036d97c 100644 --- a/extractor/src/test/data/0.13/eviction/structure-0.13.7.xml +++ b/extractor/src/test/data/0.13/eviction/structure-0.13.7.xml @@ -427,11 +427,6 @@ - - ~/.ivy2/cache/com.google.protobuf/protobuf-java/jars/protobuf-java-2.3.0.jar - ~/.ivy2/cache/com.google.protobuf/protobuf-java/docs/protobuf-java-2.3.0-javadoc.jar - ~/.ivy2/cache/com.google.protobuf/protobuf-java/srcs/protobuf-java-2.3.0-sources.jar - ~/.ivy2/cache/com.google.protobuf/protobuf-java/bundles/protobuf-java-2.5.0.jar ~/.ivy2/cache/com.google.protobuf/protobuf-java/docs/protobuf-java-2.5.0-javadoc.jar diff --git a/extractor/src/test/data/0.13/eviction/structure-0.13.9.xml b/extractor/src/test/data/0.13/eviction/structure-0.13.9.xml index 5e15f43a..635440a4 100644 --- a/extractor/src/test/data/0.13/eviction/structure-0.13.9.xml +++ b/extractor/src/test/data/0.13/eviction/structure-0.13.9.xml @@ -439,11 +439,6 @@ - - ~/.ivy2/cache/com.google.protobuf/protobuf-java/jars/protobuf-java-2.3.0.jar - ~/.ivy2/cache/com.google.protobuf/protobuf-java/docs/protobuf-java-2.3.0-javadoc.jar - ~/.ivy2/cache/com.google.protobuf/protobuf-java/srcs/protobuf-java-2.3.0-sources.jar - ~/.ivy2/cache/com.google.protobuf/protobuf-java/bundles/protobuf-java-2.5.0.jar ~/.ivy2/cache/com.google.protobuf/protobuf-java/docs/protobuf-java-2.5.0-javadoc.jar From 90b0fcd32995211d44fa0346408def0817be4589 Mon Sep 17 00:00:00 2001 From: Nikolay Obedin Date: Fri, 9 Oct 2015 13:45:12 +0300 Subject: [PATCH 07/10] Use project's evictions on a project itself Abstract: All of a sudden I found out that SBT prior to 0.13.9 has strange bug: sometimes, though particular dependency is evicted in `update`, it may appear in `externalDependencyClasspath`. It may cause sbt-structure to include dependency on a non-existent library. Example project for this bug could be found here: https://devnet.jetbrains.com/message/5560260 Solution: Use project's evictions on a project itself. It should not cause any harm because all dependencies in a project should already have correct versions (and they have in 0.13.9), but if it's not, doing so will fix it. --- .../scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala b/extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala index 9638faf2..d30e58ee 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala @@ -36,8 +36,8 @@ class EvictionsProcessor(acceptedProjectRefs: Seq[ProjectRef], projectsData: Seq } private def processProjectAndDeps(project: ProjectData, currentEvictions: Set[Eviction]): Seq[ProjectData] = { - val updatedProject = applyEvictions(project, currentEvictions) val updatedEvictions = currentEvictions ++ evictions(project.id) + val updatedProject = applyEvictions(project, updatedEvictions) val updatedDependencies = dependencies(project.id).flatMap(processProjectAndDeps(_, updatedEvictions)) updatedProject +: updatedDependencies } From 628ad4ca8aa925932a387adaff91a62674dcdd55 Mon Sep 17 00:00:00 2001 From: Nikolay Obedin Date: Fri, 9 Oct 2015 13:49:50 +0300 Subject: [PATCH 08/10] Bump version to 4.2.1 --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index aa9f2d2d..dc539273 100644 --- a/build.sbt +++ b/build.sbt @@ -6,7 +6,7 @@ def newProject(projectName: String): Project = .settings( name := "sbt-structure-" + projectName, organization := "org.jetbrains", - version := "4.2.0", + version := "4.2.1", licenses += ("Apache-2.0", url("http://www.apache.org/licenses/LICENSE-2.0.html")), unmanagedSourceDirectories in Compile += baseDirectory.value.getParentFile / "shared" / "src" / "main" / "scala", publishMavenStyle := false From 9e3f19612a8c01d1f6179948b50fc458b074763f Mon Sep 17 00:00:00 2001 From: Nikolay Obedin Date: Fri, 9 Oct 2015 14:13:08 +0300 Subject: [PATCH 09/10] Fix redundancy --- .../scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala b/extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala index d30e58ee..2fcb758c 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala @@ -91,7 +91,7 @@ class EvictionsProcessor(acceptedProjectRefs: Seq[ProjectRef], projectsData: Seq toId <- toModuleIdentifiers(to) if compareModulesWithoutVersion(fromId, toId) } yield { - Eviction(jb.Configuration(confReport.configuration), fromId, toId) + Eviction(conf, fromId, toId) } }.getOrElse(Seq.empty) } From b544afc9c520411163d8d3b156347547e48694aa Mon Sep 17 00:00:00 2001 From: Nikolay Obedin Date: Fri, 9 Oct 2015 14:25:02 +0300 Subject: [PATCH 10/10] Move options checking into EvictionsProcessor --- .../org/jetbrains/sbt/extractors/StructureExtractor.scala | 8 ++------ .../org/jetbrains/sbt/processors/EvictionsProcessor.scala | 7 +++++-- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala b/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala index 5b366ed8..eb000fe5 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/extractors/StructureExtractor.scala @@ -24,14 +24,10 @@ object StructureExtractor extends Extractor { } private def extract(acceptedProjectRefs: Seq[ProjectRef])(implicit state: State, options: Options): StructureData = { - val projectsData = { - val nonEvicted = acceptedProjectRefs.flatMap(ProjectExtractor.apply(_)) - if (options.download) EvictionsProcessor.apply(acceptedProjectRefs, nonEvicted) else nonEvicted - } - + val projectsData = + EvictionsProcessor.apply(acceptedProjectRefs, acceptedProjectRefs.flatMap(ProjectExtractor.apply(_))) val repositoryData = RepositoryExtractor.apply(acceptedProjectRefs).map(UnusedLibrariesProcessor.apply(projectsData)) - val sbtVersion = setting(Keys.sbtVersion).get val localCachePath = Option(System.getProperty("sbt.ivy.home", System.getProperty("ivy.home"))) StructureData(sbtVersion, projectsData, repositoryData, localCachePath) diff --git a/extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala b/extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala index 2fcb758c..a263e9ec 100644 --- a/extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala +++ b/extractor/src/main/scala/org/jetbrains/sbt/processors/EvictionsProcessor.scala @@ -13,8 +13,11 @@ import scala.collection.mutable * @since 9/15/15. */ object EvictionsProcessor { - def apply(acceptedProjectRefs: Seq[ProjectRef], projectsData: Seq[ProjectData])(implicit state: State): Seq[ProjectData] = - new EvictionsProcessor(acceptedProjectRefs, projectsData).process() + def apply(acceptedProjectRefs: Seq[ProjectRef], projectsData: Seq[ProjectData])(implicit state: State, options: Options): Seq[ProjectData] = + if (options.download) + new EvictionsProcessor(acceptedProjectRefs, projectsData).process() + else + projectsData } class EvictionsProcessor(acceptedProjectRefs: Seq[ProjectRef], projectsData: Seq[ProjectData]) extends Extractor with Configurations with Modules {