abstract class Importer extends TraversingBuildTarget with GeneralImporter
a traversing build target for importing an archive in some source syntax
This should only be needed when OMDoc is received from a third party. OMDoc produced by Compilers is indexed automatically.
- Self Type
- Importer
- Source
- Index.scala
- Alphabetic
- By Inheritance
- Importer
- GeneralImporter
- TraversingBuildTarget
- BuildTarget
- FormatBasedExtension
- Extension
- Logger
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new Importer()
Type Members
-
case class
LocalError(s: String) extends ExtensionError with Product with Serializable
a custom error class for this extension
a custom error class for this extension
- Definition Classes
- Extension
Abstract Value Members
-
abstract
def
importDocument(bt: BuildTask, index: (Document) ⇒ Unit): BuildResult
the main abstract method to be implemented by importers
the main abstract method to be implemented by importers
- bt
information about the input document and error reporting
- index
a continuation function to be called on every generated document
-
abstract
def
inExts: List[String]
the file extensions to which this may be applicable
-
abstract
def
key: String
- Definition Classes
- GeneralImporter
Concrete 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
-
def
apply(modifier: BuildTargetModifier, arch: Archive, in: FilePath): Unit
the main function to run the build target
the main function to run the build target
en empty in filepath addresses the whole archive
- modifier
chooses build, clean, or update
- arch
the archive to build on
- in
the folder inside the archive's inDim folder to which building is restricted
- Definition Classes
- BuildTarget
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
build(a: Archive, up: Update, in: FilePath, errorCont: Option[ErrorHandler]): Unit
entry point for recursive building
entry point for recursive building
- Definition Classes
- TraversingBuildTarget
-
def
build(a: Archive, up: Update, in: FilePath): Unit
delegates to build
delegates to build
- Definition Classes
- TraversingBuildTarget → BuildTarget
-
def
buildDir(bd: BuildTask, builtChildren: List[BuildTask], level: Level.Level): BuildResult
similar to buildFile but called on every directory (after all its children have been processed)
similar to buildFile but called on every directory (after all its children have been processed)
This does nothing by default and can be overridden if needed.
- bd
information about input/output file etc
- builtChildren
tasks for building the children
- level
error/force level to perform action depending on user input
- Definition Classes
- Importer → TraversingBuildTarget
-
def
buildFile(bf: BuildTask): BuildResult
the main abstract method for building one file
the main abstract method for building one file
- bf
information about input/output file etc
- Definition Classes
- Importer → TraversingBuildTarget
-
def
catchErrors[A](msg: String, recoverWith: ⇒ A)(code: ⇒ A): A
like its partner but with return value
like its partner but with return value
- Attributes
- protected
- Definition Classes
- Extension
-
def
catchErrors(msg: String)(code: ⇒ Unit): Unit
convenience method for wrapping code in error handler that throws LocalError
convenience method for wrapping code in error handler that throws LocalError
- Attributes
- protected
- Definition Classes
- Extension
-
def
clean(a: Archive, in: FilePath = EmptyPath): Unit
recursively delete output files in parallel (!)
recursively delete output files in parallel (!)
- Definition Classes
- TraversingBuildTarget → BuildTarget
-
def
cleanDir(a: Archive, curr: Current): Unit
additional method that implementations may provide: cleans one directory
additional method that implementations may provide: cleans one directory
does nothing by default
- a
the containing archive
- curr
the outDim directory to be deleted
- Definition Classes
- Importer → TraversingBuildTarget
-
def
cleanFile(a: Archive, curr: Current): Unit
additionally deletes content and relational
additionally deletes content and relational
- a
the containing archive
- curr
the inDim whose output is to be deleted
- Definition Classes
- Importer → TraversingBuildTarget
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
val
controller: Controller
the controller that this extension is added to; only valid after creation of the extension, i.e., will return null if used in a non-lazy val-field
the controller that this extension is added to; only valid after creation of the extension, i.e., will return null if used in a non-lazy val-field
- Attributes
- protected
- Definition Classes
- Extension
-
lazy val
defaultPrefix: String
- Definition Classes
- Extension
-
def
delete(f: File): Unit
auxiliary method for deleting a file
auxiliary method for deleting a file
- Attributes
- protected
- Definition Classes
- BuildTarget
-
def
destroy: Unit
extension-specific cleanup (override as needed, empty by default)
extension-specific cleanup (override as needed, empty by default)
Extensions may create persistent data structures and threads, but they must clean up after themselves in this method
- Definition Classes
- Extension
-
def
destroyWhenRemainingTasksFinished: Unit
convenience for calling waitUntilRemainingTasksFinished and then destroy
convenience for calling waitUntilRemainingTasksFinished and then destroy
- Definition Classes
- Extension
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
estimateResult(bf: BuildTask): BuildSuccess
estimate the BuildResult without building, e.g., to predict dependencies
estimate the BuildResult without building, e.g., to predict dependencies
- Definition Classes
- TraversingBuildTarget
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
val
folderName: String
the name that is used for the special file representing the containing folder (without extension), empty by default
the name that is used for the special file representing the containing folder (without extension), empty by default
- Attributes
- protected
- Definition Classes
- TraversingBuildTarget
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getErrorFile(a: Archive, inPath: FilePath): File
- Attributes
- protected
- Definition Classes
- TraversingBuildTarget
-
def
getFolderErrorFile(a: Archive, inPath: FilePath): File
- Definition Classes
- TraversingBuildTarget
-
def
getFolderOutFile(a: Archive, inPath: FilePath): File
- Attributes
- protected
- Definition Classes
- TraversingBuildTarget
-
def
getFromFirstArgOrEnvvar(args: List[String], name: String, default: String = ""): String
- Attributes
- protected
- Definition Classes
- Extension
-
def
getOutFile(a: Archive, inPath: FilePath): File
- Attributes
- protected
- Definition Classes
- TraversingBuildTarget
-
def
getOutPath(a: Archive, outFile: File): FilePath
- Attributes
- protected
- Definition Classes
- TraversingBuildTarget
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
inDim: ArchiveDimension
source by default, may be overridden
source by default, may be overridden
- Definition Classes
- Importer → TraversingBuildTarget
-
def
includeDir(name: String): Boolean
true by default; override to skip auxiliary directories
true by default; override to skip auxiliary directories
- name
the name of the directory (no path)
- Definition Classes
- TraversingBuildTarget
-
def
includeFile(s: String): Boolean
there is no inExt, instead we test to check which files should be used; this is often a test for the file extension
there is no inExt, instead we test to check which files should be used; this is often a test for the file extension
This must be such that all auxiliary files are skipped. see defaultFileExtension if you need an inExt (for meta targets)
- Definition Classes
- Importer → TraversingBuildTarget
-
def
initOther(e: Extension): Unit
any extension can initialize other extensions if those are not meant to be added to the ExtensionManager
any extension can initialize other extensions if those are not meant to be added to the ExtensionManager
- Attributes
- protected
- Definition Classes
- Extension
-
def
isApplicable(format: String): Boolean
- format
the format/key/other identifier, for which an extension is needed
- returns
true if this extension is applicable
- Definition Classes
- BuildTarget → FormatBasedExtension
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
log(e: Error): Unit
logs an error - always logged
logs an error - always logged
- Attributes
- protected
- Definition Classes
- Logger
-
def
log(s: ⇒ String, subgroup: Option[String] = None): Unit
logs a message with this logger's logprefix
logs a message with this logger's logprefix
- Attributes
- protected
- Definition Classes
- Logger
-
def
logError(s: ⇒ String): Unit
log as an error message
log as an error message
- Attributes
- protected
- Definition Classes
- Logger
-
def
logGroup[A](a: ⇒ A): A
wraps around a group to create nested logging
wraps around a group to create nested logging
- Attributes
- protected
- Definition Classes
- Logger
-
def
logPrefix: String
defaults to the key
defaults to the key
- Definition Classes
- BuildTarget → Extension → Logger
-
def
logResult(s: String): Unit
auxiliary method for logging results
auxiliary method for logging results
- Attributes
- protected
- Definition Classes
- TraversingBuildTarget
-
def
logTemp(s: ⇒ String): Unit
temporary logging - always logged
temporary logging - always logged
- Attributes
- protected
- Definition Classes
- Logger
-
def
makeBuildTask(a: Archive, inPath: FilePath, children: List[BuildTask] = Nil): BuildTask
makes a build task for a single file (ignoring built children) or directory
makes a build task for a single file (ignoring built children) or directory
- Definition Classes
- TraversingBuildTarget
-
def
makeErrorThrower(msg: String): ErrorHandler
an ErrorHandler that wraps an error in a LocalError and throws it
an ErrorHandler that wraps an error in a LocalError and throws it
- Attributes
- protected
- Definition Classes
- Extension
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
val
outDim: ArchiveDimension
narration, produces also content and relational
narration, produces also content and relational
- Definition Classes
- Importer → TraversingBuildTarget
-
val
outExt: String
omdoc
omdoc
- Definition Classes
- Importer → TraversingBuildTarget
-
def
parallel: Boolean
if true, multiple files/folders are built in parallel
if true, multiple files/folders are built in parallel
- Definition Classes
- TraversingBuildTarget
-
def
producesFrom(outPath: FilePath): Option[FilePath]
if this target produces additional files (e.g., the aux files of LaTeX), this method should map them to the respective main file
if this target produces additional files (e.g., the aux files of LaTeX), this method should map them to the respective main file
- outPath
the output path (relative to archive)
- returns
the input path (relative to inDim)
- Definition Classes
- TraversingBuildTarget
- val report: Report
-
def
runBuildTask(bt: BuildTask, level: Level.Level): BuildResult
wraps around buildFile and buildDir (which do the actual building) to add error handling, logging, etc.
wraps around buildFile and buildDir (which do the actual building) to add error handling, logging, etc.
- Attributes
- protected
- Definition Classes
- TraversingBuildTarget
-
def
runBuildTaskIfNeeded(deps: Set[Dependency], bt: BuildTask, up: Update): BuildResult
the entry point for build managers: runs a build task unless (depending on the modifier) nothing has changed
the entry point for build managers: runs a build task unless (depending on the modifier) nothing has changed
- Definition Classes
- TraversingBuildTarget
-
def
start(args: List[String]): Unit
extension-specific initialization (override as needed, empty by default)
extension-specific initialization (override as needed, empty by default)
- Definition Classes
- Extension
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- BuildTarget → 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
waitUntilRemainingTasksFinished: Unit
extensions that process tasks in separate threads should override this and wait until those threads are done
extensions that process tasks in separate threads should override this and wait until those threads are done
- Definition Classes
- Extension
-
def
writeToNot(mod: Module, file: File): Unit
extract the notations of a knowledge item and write them to a file
extract the notations of a knowledge item and write them to a file
- Attributes
- protected
- Definition Classes
- GeneralImporter
-
def
writeToRel(se: StructuralElement, file: File): Unit
extract the relational information about a knowledge item and write it to a file
extract the relational information about a knowledge item and write it to a file
- Attributes
- protected
- Definition Classes
- GeneralImporter
-
object
asInterpreter extends Interpreter
an Interpreter that calls this importer to interpret a parsing stream
an Interpreter that calls this importer to interpret a parsing stream
This Interpreter is only applicable if it can determine an archive that the parsing stream is created from. In that case, it will import the file, i.e., change the state of the archive.
Deprecated Value Members
-
def
buildDepsFirst(a: Archive, up: Update, in: FilePath = EmptyPath): Unit
build estimated dependencies first
build estimated dependencies first
this can be used by the trivial build manager to build targets (like latexml) in dependency order provided that estimated dependencies are correct.
For a queue build manager this code is obsolete
- Definition Classes
- TraversingBuildTarget → BuildTarget
- Annotations
- @MMT_TODO( message = "needs review" )
- Deprecated
needs review
-
def
getDepsMap(args: Set[Dependency]): Map[Dependency, Set[Dependency]]
- Attributes
- protected
- Definition Classes
- TraversingBuildTarget
- Annotations
- @MMT_TODO( message = "needs review" )
- Deprecated
needs review
-
def
getFilesRec(a: Archive, in: FilePath): Set[Dependency]
- Attributes
- protected
- Definition Classes
- TraversingBuildTarget
- Annotations
- @MMT_TODO( message = "needs review" )
- Deprecated
needs review
-
def
getTestOutFile(a: Archive, inPath: FilePath): File
- Attributes
- protected
- Definition Classes
- TraversingBuildTarget
- Annotations
- @MMT_TODO( message = "needs review" )
- Deprecated
needs review