Mapper

abstract
class Mapper
class Object
trait Matchable
class Any
object Path

Type members

Types

type FileMap = File => Option[File]
type PathMap = File => Option[String]

Value members

Concrete methods

Pairs a File with the absolute File obtained by calling getAbsoluteFile. Note that this usually means that relative files are resolved against the current working directory.

Pairs a File with the absolute File obtained by calling getAbsoluteFile. Note that this usually means that relative files are resolved against the current working directory.

def allSubpaths(base: File): Iterable[(File, String)]

Selects all descendants of base directory and maps them to a path relative to base. base itself is not included.

Selects all descendants of base directory and maps them to a path relative to base. base itself is not included.

def contentOf(baseDirectory: File): Seq[(File, String)]

return a Seq of mappings excluding the directory itself.

return a Seq of mappings excluding the directory itself.

Value Params
baseDirectory

The directory that should be turned into a mappings sequence.

Returns

mappings - The basicDirectory's contents exlcuding basicDirectory itself

Example

In order to create mappings for a static directory "extra" add

mappings ++= contentOf(baseDirectory.value / "extra")

The resulting mappings sequence will look something like this

File(baseDirectory/extras/file1) -> "file1"
File(baseDirectory/extras/file2) -> "file2"
...

Add a static directory "extra" and re-map the destination to a different path

mappings ++= contentOf(baseDirectory.value / "extra").map {
 case (src, destination) => src -> s"new/path/destination"
}
def directory(baseDirectory: File): Seq[(File, String)]

return a Seq of mappings which effect is to add a whole directory in the generated package

return a Seq of mappings which effect is to add a whole directory in the generated package

Value Params
baseDirectory

The directory that should be turned into a mappings sequence.

Returns

mappings The baseDirectory and all of its contents

Example

In order to create mappings for a static directory "extra" add

mappings ++= directory(baseDirectory.value / "extra")

The resulting mappings sequence will look something like this

File(baseDirectory/extras) -> "extras"
File(baseDirectory/extras/file1) -> "extras/file1"
File(baseDirectory/extras/file2) -> "extras/file2"
...
def fail: Any => Nothing

A mapper that throws an exception for any input. This is useful as the last mapper in a pipeline to ensure every input gets mapped.

A mapper that throws an exception for any input. This is useful as the last mapper in a pipeline to ensure every input gets mapped.

def flat(newDirectory: File): FileMap

Constructs a FileMap that pairs a file with a file with the same name in newDirectory. For example, if newDirectory is /a/b, then /r/s/t/d.txt will be paired with /a/b/d.txt

Constructs a FileMap that pairs a file with a file with the same name in newDirectory. For example, if newDirectory is /a/b, then /r/s/t/d.txt will be paired with /a/b/d.txt

def flatRebase(newBase: String): PathMap

A path mapper that pairs a File with a path constructed from newBase and the file's name. For example, if newBase = /new/a/, then /old/x/z.txt gets paired with /new/a/z.txt.

A path mapper that pairs a File with a path constructed from newBase and the file's name. For example, if newBase = /new/a/, then /old/x/z.txt gets paired with /new/a/z.txt.

def normalizeBase(base: String): String
def rebase(oldBase: File, newBase: String): PathMap

A path mapper that pairs a descendent of oldBase with newBase prepended to the path relative to oldBase. For example, if oldBase = /old/x/ and newBase = new/a/, then /old/x/y/z.txt gets paired with new/a/y/z.txt.

A path mapper that pairs a descendent of oldBase with newBase prepended to the path relative to oldBase. For example, if oldBase = /old/x/ and newBase = new/a/, then /old/x/y/z.txt gets paired with new/a/y/z.txt.

def rebase(oldBases: Iterable[File], newBase: File, zero: FileMap): FileMap
def rebase(oldBase: File, newBase: File): FileMap

Produces a File mapper that pairs a descendant of oldBase with a file in newBase that preserving the relative path of the original file against oldBase. For example, if oldBase is /old/x/ and newBase is /new/a/, /old/x/y/z.txt gets paired with /new/a/y/z.txt.

Produces a File mapper that pairs a descendant of oldBase with a file in newBase that preserving the relative path of the original file against oldBase. For example, if oldBase is /old/x/ and newBase is /new/a/, /old/x/y/z.txt gets paired with /new/a/y/z.txt.

def relativeTo(base: File): PathMap

A path mapper that pairs a File with its path relative to base. If the File is not a descendant of base, it is not handled (None is returned by the mapper).

A path mapper that pairs a File with its path relative to base. If the File is not a descendant of base, it is not handled (None is returned by the mapper).

def relativeTo(bases: Iterable[File], zero: PathMap): PathMap
def resolve(newDirectory: File): FileMap

Returns a FileMap that resolves a relative File against newDirectory and pairs the original File with the resolved File. The mapper ignores absolute files.

Returns a FileMap that resolves a relative File against newDirectory and pairs the original File with the resolved File. The mapper ignores absolute files.

def selectSubpaths(base: File, filter: FileFilter): Iterable[(File, String)]

Selects descendants of base directory matching filter and maps them to a path relative to base. base itself is not included.

Selects descendants of base directory matching filter and maps them to a path relative to base. base itself is not included.

def total[A, B](f: A => B): A => Some[B]

A mapper that is defined on all inputs by the function f.

A mapper that is defined on all inputs by the function f.

def transparent: Any => Option[Nothing]

A mapper that ignores all inputs.

A mapper that ignores all inputs.

Concrete fields

A path mapper that pairs a File with the path returned by calling getPath on it.

A path mapper that pairs a File with the path returned by calling getPath on it.

A path mapper that pairs a File with its name. For example, /x/y/z.txt gets paired with z.txt.

A path mapper that pairs a File with its name. For example, /x/y/z.txt gets paired with z.txt.