Skip to content

Commit

Permalink
Merge pull request #1513 from olafurpg/multipath
Browse files Browse the repository at this point in the history
Remove scala.meta.io.{Multipath,Sourcepath,Fragment}
  • Loading branch information
olafurpg committed Apr 28, 2018
2 parents 9fc1514 + fb68198 commit afbd949
Show file tree
Hide file tree
Showing 12 changed files with 60 additions and 212 deletions.
@@ -0,0 +1,33 @@
package scala.meta.internal

import java.nio.file.FileVisitor
import java.nio.file.Files
import java.nio.file.Path
import scala.meta.io.AbsolutePath
import scala.meta.io.Classpath

package object io {

implicit class XtensionClasspath(cp: Classpath) {
def visit(getVisitor: AbsolutePath => FileVisitor[Path]): Unit = {
cp.entries.foreach { base =>
if (base.isDirectory) {
val visitor = getVisitor(base)
Files.walkFileTree(base.toNIO, visitor)
} else if (base.isFile) {
PathIO.extension(base.toNIO) match {
case "jar" =>
val root = FileIO.jarRootPath(base)
val visitor = getVisitor(root)
Files.walkFileTree(root.toNIO, visitor)
case _ =>
sys.error(s"Expected jar file, obtained $base")
}
} else {
()
}
}
}
}

}
9 changes: 0 additions & 9 deletions scalameta/io/shared/src/main/scala/scala/meta/io/Api.scala
Expand Up @@ -10,15 +10,6 @@ private[meta] trait Aliases {
type RelativePath = scala.meta.io.RelativePath
lazy val RelativePath = scala.meta.io.RelativePath

type Multipath = scala.meta.io.Multipath
// there's no term Multipath, so we don't have a term alias here

type Fragment = scala.meta.io.Fragment
val Fragment = scala.meta.io.Fragment

type Classpath = scala.meta.io.Classpath
lazy val Classpath = scala.meta.io.Classpath

type Sourcepath = scala.meta.io.Sourcepath
lazy val Sourcepath = scala.meta.io.Sourcepath
}
23 changes: 23 additions & 0 deletions scalameta/io/shared/src/main/scala/scala/meta/io/Classpath.scala
@@ -0,0 +1,23 @@
package scala.meta.io

import java.io.File.pathSeparator

final case class Classpath(entries: List[AbsolutePath]) {

@deprecated("Use .entries instead", "4.0.0")
def shallow: List[AbsolutePath] = entries

def syntax: String = entries.mkString(pathSeparator)
def structure: String = s"""Classpath("$syntax")"""
override def toString: String = syntax
}

object Classpath {
def apply(entry: AbsolutePath): Classpath = {
new Classpath(List(entry))
}

def apply(value: String): Classpath = {
new Classpath(value.split(pathSeparator).map(AbsolutePath(_)).toList)
}
}
19 changes: 0 additions & 19 deletions scalameta/io/shared/src/main/scala/scala/meta/io/Fragment.scala

This file was deleted.

116 changes: 0 additions & 116 deletions scalameta/io/shared/src/main/scala/scala/meta/io/Multipath.scala

This file was deleted.

Expand Up @@ -25,7 +25,7 @@ object Metacp {
case Some(settings) =>
process(settings, reporter) match {
case Some(mclasspath) =>
reporter.out.println(mclasspath.shallow.mkString(File.pathSeparator))
reporter.out.println(mclasspath.entries.mkString(File.pathSeparator))
0
case None =>
1
Expand Down
Expand Up @@ -19,8 +19,8 @@ class Main(settings: Settings, reporter: Reporter) {
val success = new AtomicBoolean(true)

val classpath: GenSeq[AbsolutePath] =
if (settings.par) settings.classpath.shallow.par
else settings.classpath.shallow
if (settings.par) settings.classpath.entries.par
else settings.classpath.entries

val buffer = new ConcurrentLinkedQueue[AbsolutePath]()

Expand Down
Expand Up @@ -81,10 +81,7 @@ class SurfaceSuite extends FunSuite {
|scala.meta.io
|scala.meta.io.AbsolutePath
|scala.meta.io.Classpath
|scala.meta.io.Fragment
|scala.meta.io.Multipath
|scala.meta.io.RelativePath
|scala.meta.io.Sourcepath
|scala.meta.metac
|scala.meta.metac.Reporter *
|scala.meta.metac.Settings *
Expand Down
22 changes: 0 additions & 22 deletions tests/jvm/src/test/scala/scala/meta/tests/io/FragmentSuite.scala

This file was deleted.

26 changes: 0 additions & 26 deletions tests/jvm/src/test/scala/scala/meta/tests/io/MultipathSuite.scala
Expand Up @@ -2,7 +2,6 @@ package scala.meta.tests
package io

import java.io.File
import java.net.URI
import org.scalatest.FunSuite
import scala.meta._

Expand All @@ -14,31 +13,6 @@ class MultipathSuite extends FunSuite {
files.foreach(file => {
assert(new File(tmp, file).createNewFile())
})
val multipath = Sourcepath(tmp.getAbsolutePath)

test("Multipath.deep") {
val obtained = multipath.deep.map(_.syntax)
val expected = files.map(file => Fragment(AbsolutePath(tmp), RelativePath(file))).map(_.syntax)
assert(obtained.sorted == expected.sorted)
}

test("Multipath.find") {
assert(multipath.find(RelativePath("a")).nonEmpty)
}

test("Multipath.relativize") {
assert(multipath.relativize(new URI("blah")).isEmpty)
files.foreach { file =>
assert(multipath.relativize(new File(tmp, file).toURI).get.toString == file)
}
}

test("Sourcepath.syntax") {
val fromPath = Sourcepath(List(AbsolutePath(tmp)))
val fromSyntax = Sourcepath(tmp.getAbsolutePath)
assert(fromPath == fromSyntax)
assert(fromPath.syntax == fromSyntax.syntax)
}

test("Classpath.syntax") {
val fromPath = Classpath(List(AbsolutePath(tmp)))
Expand Down
Expand Up @@ -7,12 +7,11 @@ import java.nio.file.Path
import java.nio.file.attribute.BasicFileAttributes
import scala.collection.JavaConverters._
import scala.collection.mutable.ArrayBuffer
import scala.meta.internal.io.PathIO
import scala.meta.internal.io._
import scala.meta.internal.javacp._
import scala.meta.internal.javacp.asm._
import scala.meta.internal.metacp._
import scala.meta.io.AbsolutePath
import scala.meta.io.Classpath
import scala.tools.asm.tree.ClassNode
import scala.tools.asm.tree.FieldNode
import scala.tools.asm.tree.MethodNode
Expand Down
Expand Up @@ -220,22 +220,10 @@ class PublicSuite extends FunSuite {
// TODO: come up with a platform-independent test
}

test("scala.meta.io.Fragment.toString") {
// TODO: come up with a platform-independent test
}

test("scala.meta.io.Multipath.toString") {
// TODO: come up with a platform-independent test
}

test("scala.meta.io.RelativePath.toString") {
// TODO: come up with a platform-independent test
}

test("scala.meta.io.Sourcepath.toString") {
// TODO: come up with a platform-independent test
}

test("scala.meta.metac.Settings.toString") {
// n/a
}
Expand Down

0 comments on commit afbd949

Please sign in to comment.