object Sync
Maintains a set of mappings so that they are uptodate. Specifically, 'apply' applies the mappings by creating target directories and copying source files to their destination. For each mapping no longer present, the old target is removed. Caution: Existing files are overwritten. Caution: The removal of old targets assumes that nothing else has written to or modified those files. It tries not to obliterate large amounts of data by only removing previously tracked files and empty directories. That is, it won't remove a directory with unknown (untracked) files in it. Warning: It is therefore inappropriate to use this with anything other than an automatically managed destination or a dedicated target directory. Warning: Specifically, don't mix this with a directory containing manually created files, like sources. It is safe to use for its intended purpose: copying resources to a class output directory.
- Alphabetic
- By Inheritance
- Sync
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- type RelationInfo[F] = (Relation[File, File], Map[File, F])
- type RelationInfoVirtual[F] = (Relation[VirtualFileRef, VirtualFileRef], Map[VirtualFileRef, F])
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- def convertFromVirtual[F <: FileInfo](info: RelationInfoVirtual[F], fileConverter: FileConverter): RelationInfo[F]
- def copy(source: File, target: File): Unit
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def noDuplicateTargets(relation: Relation[File, File]): Unit
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def readInfo[F <: FileInfo](store: CacheStore)(implicit infoFormat: JsonFormat[F]): RelationInfo[F]
- def readInfoVirtual[F <: FileInfo](store: CacheStore)(implicit infoFormat: JsonFormat[F]): RelationInfoVirtual[F]
- def readInfoWrapped[F <: FileInfo](store: CacheStore, fileConverter: FileConverter)(implicit infoFormat: JsonFormat[F]): RelationInfo[F]
- implicit def relationFormat[A, B](implicit af: JsonFormat[Map[A, Set[B]]], bf: JsonFormat[Map[B, Set[A]]]): JsonFormat[Relation[A, B]]
-
def
sync(store: CacheStore, inStyle: Style, fileConverter: FileConverter): (Traversable[(File, File)]) ⇒ Relation[File, File]
this function ensures that the latest files in /src are also in /target, so that they are synchronised
- def sync(store: CacheStore, inStyle: Style = FileInfo.lastModified): (Traversable[(File, File)]) ⇒ Relation[File, File]
- def sync(store: CacheStore, fileConverter: FileConverter): (Traversable[(File, File)]) ⇒ Relation[File, File]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
- def writeInfo[F <: FileInfo](store: CacheStore, relation: Relation[File, File], info: Map[File, F])(implicit infoFormat: JsonFormat[F]): Unit
- def writeInfoVirtual[F <: FileInfo](store: CacheStore, relation: Relation[File, File], info: Map[File, F], fileConverter: FileConverter)(implicit infoFormat: JsonFormat[F]): Unit
Deprecated Value Members
-
def
apply(store: CacheStore, inStyle: Style = FileInfo.lastModified, outStyle: Style = FileInfo.exists): (Traversable[(File, File)]) ⇒ Relation[File, File]
- Annotations
- @deprecated
- Deprecated
(Since version 1.1.1) Use sync, which doesn't take the unused outStyle param