summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/support/tlcockpit/src/main/scala/TeXLive/TLClasses.scala
blob: c526ae507399ec6816f8d88e5e90e6fd5d2ab0cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package TeXLive

// classes that wrap up structures in TeX Live
// all of them have associated JSON parsers

case class CatalogueData(version: Option[String], topics: Option[String], license: Option[String],
                         date: Option[String], related: Option[String], ctan: Option[String])

case class DocFile(file: String, details: Option[String], language: Option[String])
case class TLPaperConf(program: String, file: String, options: List[String])
case class TLBackup(name: String, rev: String, date: String)

case class TLPackage
(
  name: String,
  shortdesc: Option[String],
  longdesc: Option[String],
  var lrev: Long,
  rrev: Long,
  category: String,
  docfiles: List[DocFile],
  runfiles: List[String],
  srcfiles: List[String],
  binfiles: Map[String,List[String]],
  docsize: Long,
  runsize: Long,
  srcsize: Long,
  binsize: Map[String,Long],
  cataloguedata: CatalogueData,
  depends: List[String],
  catalogue: Option[String],
  var installed: Boolean,
  available: Boolean
)

case class TLOption (name: String, description: String, format: String,
  tlmgrname: String, value: Option[String], default: String)

case class TLOptions
(
  sys_bin: String,
  sys_man: String,
  sys_info: String,
  backupdir: String,
  autobackup: Long,
  install_srcfiles: Boolean,
  install_docfiles: Boolean,
  create_formats: Boolean,
  post_code: Boolean,
  generate_updmap: Boolean,
  location: Map[String,String],
  desktop_integration: Option[Boolean],
  w32_multi_user: Option[Boolean],
  file_assocs: Option[Long]
)