Commit 5d90cf8
authored
Introduce pkl-doc model version 2 (#1169)
Currently, in order to update a pkl-doc documentation site,
almost the entire existing site is read in order to update metadata
like known versions, known subtypes, and more.
For example, adding a new version of a package requires that the
existing runtime data of all existing versions be updated.
Eventually, this causes the required storage size to balloon
exponentially to the number of versions.
This addresses these limitations by:
1. Updating the runtime data structure to move "known versions" metadata
to the package level (the same JSON file is used for all versions).
2. Eliminating known subtype and known usage information at a
cross-package level.
3. Generating the search index by consuming the previously generated
search index.
4. Generating the main page by consuming the search index.
Because this changes how runtime data is stored, an existing docsite
needs to be migrated.
This also introduces a new migration command, `pkl-doc --migrate`,
which transforms an older version of the website into a newer version.1 parent 63f89fb commit 5d90cf8
File tree
1,599 files changed
+129995
-584
lines changed- buildSrc/src/main/kotlin
- gradle
- pkl-commons-cli/src/main/kotlin/org/pkl/commons/cli
- pkl-commons-test/src/main/files/packages
- package
- catalog
- some/dir
- package
- catalog
- some/dir
- pkl-commons/src/main/kotlin/org/pkl/commons
- pkl-doc
- src
- main
- kotlin/org/pkl/doc
- resources/org/pkl/doc/scripts
- test
- files
- DocGeneratorTest/output
- run-1
- .pkldoc
- com.package1
- 1.2.3
- Module Containing Spaces
- baseModule
- classAnnotations
- classComments
- classInheritance
- classMethodComments
- classMethodModifiers
- classMethodTypeAnnotations
- classMethodTypeReferences
- classPropertyAnnotations
- classPropertyComments
- classPropertyModifiers
- classPropertyTypeAnnotations
- classPropertyTypeReferences
- classTypeConstraints
- docExampleSubject1
- docExampleSubject2
- docLinks
- methodAnnotations
- moduleComments
- moduleExtend
- moduleInfoAnnotation
- moduleMethodCommentInheritance
- moduleMethodComments
- moduleMethodModifiers
- moduleMethodTypeAnnotations
- moduleMethodTypeReferences
- modulePropertyAnnotations
- modulePropertyCommentInheritance
- modulePropertyComments
- modulePropertyModifiers
- modulePropertyTypeAnnotations
- modulePropertyTypeReferences
- moduleTypes1
- moduleTypes2
- nested/nested2/nestedModule
- ternalPackage
- typeAliasInheritance
- typealiases2
- typealiases
- unionTypes
- unlistedClass
- unlistedMethod
- unlistedProperty
- com.package2
- 4.5.6
- Module3
- data
- com.package1
- 1.2.3
- Module Containing Spaces
- baseModule
- classAnnotations
- classComments
- classInheritance
- classMethodComments
- classMethodModifiers
- classMethodTypeAnnotations
- classMethodTypeReferences
- classPropertyAnnotations
- classPropertyComments
- classPropertyModifiers
- classPropertyTypeAnnotations
- classPropertyTypeReferences
- classTypeConstraints
- docExampleSubject1
- docExampleSubject2
- docLinks
- methodAnnotations
- moduleComments
- moduleExtend
- moduleInfoAnnotation
- moduleMethodCommentInheritance
- moduleMethodComments
- moduleMethodModifiers
- moduleMethodTypeAnnotations
- moduleMethodTypeReferences
- modulePropertyAnnotations
- modulePropertyCommentInheritance
- modulePropertyComments
- modulePropertyModifiers
- modulePropertyTypeAnnotations
- modulePropertyTypeReferences
- moduleTypes1
- moduleTypes2
- nested/nested2/nestedModule
- ternalPackage
- typeAliasInheritance
- typealiases2
- typealiases
- unionTypes
- unlistedClass
- unlistedMethod
- unlistedProperty
- _
- Module Containing Spaces
- baseModule
- classAnnotations
- classComments
- classInheritance
- classMethodComments
- classMethodModifiers
- classMethodTypeAnnotations
- classMethodTypeReferences
- classPropertyAnnotations
- classPropertyComments
- classPropertyModifiers
- classPropertyTypeAnnotations
- classPropertyTypeReferences
- classTypeConstraints
- docExampleSubject1
- docExampleSubject2
- docLinks
- methodAnnotations
- moduleComments
- moduleExtend
- moduleInfoAnnotation
- moduleMethodCommentInheritance
- moduleMethodComments
- moduleMethodModifiers
- moduleMethodTypeAnnotations
- moduleMethodTypeReferences
- modulePropertyAnnotations
- modulePropertyCommentInheritance
- modulePropertyComments
- modulePropertyModifiers
- modulePropertyTypeAnnotations
- modulePropertyTypeReferences
- moduleTypes1
- moduleTypes2
- nested/nested2/nestedModule
- ternalPackage
- typeAliasInheritance
- typealiases2
- typealiases
- unionTypes
- unlistedClass
- unlistedMethod
- unlistedProperty
- com.package2
- 4.5.6
- Module3
- _
- Module3
- localhost(3a)0
- birds
- 0.5.0
- Bird
- allFruit
- catalog
- _
- Bird
- allFruit
- catalog
- deprecated
- 1.0.0
- deprecated
- _
- deprecated
- fruit
- 1.1.0
- Fruit
- _
- Fruit
- fonts
- images
- localhost(3a)0
- birds
- 0.5.0
- Bird
- allFruit
- catalog
- deprecated
- 1.0.0
- deprecated
- fruit
- 1.1.0
- Fruit
- scripts
- styles
- run-2
- .pkldoc
- com.package1
- 1.2.3
- Module Containing Spaces
- baseModule
- classAnnotations
- classComments
- classInheritance
- classMethodComments
- classMethodModifiers
- classMethodTypeAnnotations
- classMethodTypeReferences
- classPropertyAnnotations
- classPropertyComments
- classPropertyModifiers
- classPropertyTypeAnnotations
- classPropertyTypeReferences
- classTypeConstraints
- docExampleSubject1
- docExampleSubject2
- docLinks
- methodAnnotations
- moduleComments
- moduleExtend
- moduleInfoAnnotation
- moduleMethodCommentInheritance
- moduleMethodComments
- moduleMethodModifiers
- moduleMethodTypeAnnotations
- moduleMethodTypeReferences
- modulePropertyAnnotations
- modulePropertyCommentInheritance
- modulePropertyComments
- modulePropertyModifiers
- modulePropertyTypeAnnotations
- modulePropertyTypeReferences
- moduleTypes1
- moduleTypes2
- nested/nested2/nestedModule
- ternalPackage
- typeAliasInheritance
- typealiases2
- typealiases
- unionTypes
- unlistedClass
- unlistedMethod
- unlistedProperty
- com.package2
- 4.5.6
- Module3
- data
- com.package1
- 1.2.3
- Module Containing Spaces
- baseModule
- classAnnotations
- classComments
- classInheritance
- classMethodComments
- classMethodModifiers
- classMethodTypeAnnotations
- classMethodTypeReferences
- classPropertyAnnotations
- classPropertyComments
- classPropertyModifiers
- classPropertyTypeAnnotations
- classPropertyTypeReferences
- classTypeConstraints
- docExampleSubject1
- docExampleSubject2
- docLinks
- methodAnnotations
- moduleComments
- moduleExtend
- moduleInfoAnnotation
- moduleMethodCommentInheritance
- moduleMethodComments
- moduleMethodModifiers
- moduleMethodTypeAnnotations
- moduleMethodTypeReferences
- modulePropertyAnnotations
- modulePropertyCommentInheritance
- modulePropertyComments
- modulePropertyModifiers
- modulePropertyTypeAnnotations
- modulePropertyTypeReferences
- moduleTypes1
- moduleTypes2
- nested/nested2/nestedModule
- ternalPackage
- typeAliasInheritance
- typealiases2
- typealiases
- unionTypes
- unlistedClass
- unlistedMethod
- unlistedProperty
- _
- Module Containing Spaces
- baseModule
- classAnnotations
- classComments
- classInheritance
- classMethodComments
- classMethodModifiers
- classMethodTypeAnnotations
- classMethodTypeReferences
- classPropertyAnnotations
- classPropertyComments
- classPropertyModifiers
- classPropertyTypeAnnotations
- classPropertyTypeReferences
- classTypeConstraints
- docExampleSubject1
- docExampleSubject2
- docLinks
- methodAnnotations
- moduleComments
- moduleExtend
- moduleInfoAnnotation
- moduleMethodCommentInheritance
- moduleMethodComments
- moduleMethodModifiers
- moduleMethodTypeAnnotations
- moduleMethodTypeReferences
- modulePropertyAnnotations
- modulePropertyCommentInheritance
- modulePropertyComments
- modulePropertyModifiers
- modulePropertyTypeAnnotations
- modulePropertyTypeReferences
- moduleTypes1
- moduleTypes2
- nested/nested2/nestedModule
- ternalPackage
- typeAliasInheritance
- typealiases2
- typealiases
- unionTypes
- unlistedClass
- unlistedMethod
- unlistedProperty
- com.package2
- 4.5.6
- Module3
- _
- Module3
- localhost(3a)0
- birds
- 0.5.0
- Bird
- allFruit
- catalog
- 0.6.0
- Bird
- allFruit
- catalog
- 0.7.0
- Bird
- allFruit
- catalog
- _
- Bird
- allFruit
- catalog
- deprecated
- 1.0.0
- deprecated
- _
- deprecated
- fruit
- 1.1.0
- Fruit
- _
- Fruit
- fonts
- images
- localhost(3a)0
- birds
- 0.5.0
- Bird
- allFruit
- catalog
- 0.6.0
- Bird
- allFruit
- catalog
- 0.7.0
- Bird
- allFruit
- catalog
- deprecated
- 1.0.0
- deprecated
- fruit
- 1.1.0
- Fruit
- scripts
- styles
- DocMigratorTest
- input/version-1
- com.package1
- 1.2.3
- Module Containing Spaces
- baseModule
- classAnnotations
- classComments
- classInheritance
- classMethodComments
- classMethodModifiers
- classMethodTypeAnnotations
- classMethodTypeReferences
- classPropertyAnnotations
- classPropertyComments
- classPropertyModifiers
- classPropertyTypeAnnotations
- classPropertyTypeReferences
- classTypeConstraints
- docExampleSubject1
- docExampleSubject2
- docLinks
- methodAnnotations
- moduleComments
- moduleExtend
- moduleInfoAnnotation
- moduleMethodCommentInheritance
- moduleMethodComments
- moduleMethodModifiers
- moduleMethodTypeAnnotations
- moduleMethodTypeReferences
- modulePropertyAnnotations
- modulePropertyCommentInheritance
- modulePropertyComments
- modulePropertyModifiers
- modulePropertyTypeAnnotations
- modulePropertyTypeReferences
- moduleTypes1
- moduleTypes2
- nested/nested2/nestedModule
- ternalPackage
- typeAliasInheritance
- typealiases2
- typealiases
- unionTypes
- unlistedClass
- unlistedMethod
- unlistedProperty
- current
- Module Containing Spaces
- baseModule
- classAnnotations
- classComments
- classInheritance
- classMethodComments
- classMethodModifiers
- classMethodTypeAnnotations
- classMethodTypeReferences
- classPropertyAnnotations
- classPropertyComments
- classPropertyModifiers
- classPropertyTypeAnnotations
- classPropertyTypeReferences
- classTypeConstraints
- docExampleSubject1
- docExampleSubject2
- docLinks
- methodAnnotations
- moduleComments
- moduleExtend
- moduleInfoAnnotation
- moduleMethodCommentInheritance
- moduleMethodComments
- moduleMethodModifiers
- moduleMethodTypeAnnotations
- moduleMethodTypeReferences
- modulePropertyAnnotations
- modulePropertyCommentInheritance
- modulePropertyComments
- modulePropertyModifiers
- modulePropertyTypeAnnotations
- modulePropertyTypeReferences
- moduleTypes1
- moduleTypes2
- nested/nested2/nestedModule
- ternalPackage
- typeAliasInheritance
- typealiases2
- typealiases
- unionTypes
- unlistedClass
- unlistedMethod
- unlistedProperty
- com.package2
- 4.5.6
- Module3
- current
- Module3
- data
- com.package1/1.2.3
- Module Containing Spaces
- baseModule
- classAnnotations
- classComments
- classInheritance
- classMethodComments
- classMethodModifiers
- classMethodTypeAnnotations
- classMethodTypeReferences
- classPropertyAnnotations
- classPropertyComments
- classPropertyModifiers
- classPropertyTypeAnnotations
- classPropertyTypeReferences
- classTypeConstraints
- docExampleSubject1
- docExampleSubject2
- docLinks
- methodAnnotations
- moduleComments
- moduleExtend
- moduleInfoAnnotation
- moduleMethodCommentInheritance
- moduleMethodComments
- moduleMethodModifiers
- moduleMethodTypeAnnotations
- moduleMethodTypeReferences
- modulePropertyAnnotations
- modulePropertyCommentInheritance
- modulePropertyComments
- modulePropertyModifiers
- modulePropertyTypeAnnotations
- modulePropertyTypeReferences
- moduleTypes1
- moduleTypes2
- nested/nested2/nestedModule
- ternalPackage
- typeAliasInheritance
- typealiases2
- typealiases
- unionTypes
- unlistedClass
- unlistedMethod
- unlistedProperty
- com.package2/4.5.6
- Module3
- localhost(3a)0
- birds/0.5.0
- Bird
- allFruit
- catalog
- deprecated/1.0.0
- deprecated
- fruit/1.1.0
- Fruit
- fonts
- images
- localhost(3a)0
- birds
- 0.5.0
- Bird
- allFruit
- catalog
- current
- Bird
- allFruit
- catalog
- deprecated
- 1.0.0
- deprecated
- current
- deprecated
- fruit
- 1.1.0
- Fruit
- current
- Fruit
- scripts
- styles
- output
- .pkldoc
- com.package1
- 1.2.3
- Module Containing Spaces
- baseModule
- classAnnotations
- classComments
- classInheritance
- classMethodComments
- classMethodModifiers
- classMethodTypeAnnotations
- classMethodTypeReferences
- classPropertyAnnotations
- classPropertyComments
- classPropertyModifiers
- classPropertyTypeAnnotations
- classPropertyTypeReferences
- classTypeConstraints
- docExampleSubject1
- docExampleSubject2
- docLinks
- methodAnnotations
- moduleComments
- moduleExtend
- moduleInfoAnnotation
- moduleMethodCommentInheritance
- moduleMethodComments
- moduleMethodModifiers
- moduleMethodTypeAnnotations
- moduleMethodTypeReferences
- modulePropertyAnnotations
- modulePropertyCommentInheritance
- modulePropertyComments
- modulePropertyModifiers
- modulePropertyTypeAnnotations
- modulePropertyTypeReferences
- moduleTypes1
- moduleTypes2
- nested/nested2/nestedModule
- ternalPackage
- typeAliasInheritance
- typealiases2
- typealiases
- unionTypes
- unlistedClass
- unlistedMethod
- unlistedProperty
- current
- Module Containing Spaces
- baseModule
- classAnnotations
- classComments
- classInheritance
- classMethodComments
- classMethodModifiers
- classMethodTypeAnnotations
- classMethodTypeReferences
- classPropertyAnnotations
- classPropertyComments
- classPropertyModifiers
- classPropertyTypeAnnotations
- classPropertyTypeReferences
- classTypeConstraints
- docExampleSubject1
- docExampleSubject2
- docLinks
- methodAnnotations
- moduleComments
- moduleExtend
- moduleInfoAnnotation
- moduleMethodCommentInheritance
- moduleMethodComments
- moduleMethodModifiers
- moduleMethodTypeAnnotations
- moduleMethodTypeReferences
- modulePropertyAnnotations
- modulePropertyCommentInheritance
- modulePropertyComments
- modulePropertyModifiers
- modulePropertyTypeAnnotations
- modulePropertyTypeReferences
- moduleTypes1
- moduleTypes2
- nested/nested2/nestedModule
- ternalPackage
- typeAliasInheritance
- typealiases2
- typealiases
- unionTypes
- unlistedClass
- unlistedMethod
- unlistedProperty
- com.package2
- 4.5.6
- Module3
- current
- Module3
- data
- com.package1
- 1.2.3
- Module Containing Spaces
- baseModule
- classAnnotations
- classComments
- classInheritance
- classMethodComments
- classMethodModifiers
- classMethodTypeAnnotations
- classMethodTypeReferences
- classPropertyAnnotations
- classPropertyComments
- classPropertyModifiers
- classPropertyTypeAnnotations
- classPropertyTypeReferences
- classTypeConstraints
- docExampleSubject1
- docExampleSubject2
- docLinks
- methodAnnotations
- moduleComments
- moduleExtend
- moduleInfoAnnotation
- moduleMethodCommentInheritance
- moduleMethodComments
- moduleMethodModifiers
- moduleMethodTypeAnnotations
- moduleMethodTypeReferences
- modulePropertyAnnotations
- modulePropertyCommentInheritance
- modulePropertyComments
- modulePropertyModifiers
- modulePropertyTypeAnnotations
- modulePropertyTypeReferences
- moduleTypes1
- moduleTypes2
- nested/nested2/nestedModule
- ternalPackage
- typeAliasInheritance
- typealiases2
- typealiases
- unionTypes
- unlistedClass
- unlistedMethod
- unlistedProperty
- _
- Module Containing Spaces
- baseModule
- classAnnotations
- classComments
- classInheritance
- classMethodComments
- classMethodModifiers
- classMethodTypeAnnotations
- classMethodTypeReferences
- classPropertyAnnotations
- classPropertyComments
- classPropertyModifiers
- classPropertyTypeAnnotations
- classPropertyTypeReferences
- classTypeConstraints
- docExampleSubject1
- docExampleSubject2
- docLinks
- methodAnnotations
- moduleComments
- moduleExtend
- moduleInfoAnnotation
- moduleMethodCommentInheritance
- moduleMethodComments
- moduleMethodModifiers
- moduleMethodTypeAnnotations
- moduleMethodTypeReferences
- modulePropertyAnnotations
- modulePropertyCommentInheritance
- modulePropertyComments
- modulePropertyModifiers
- modulePropertyTypeAnnotations
- modulePropertyTypeReferences
- moduleTypes1
- moduleTypes2
- nested/nested2/nestedModule
- ternalPackage
- typeAliasInheritance
- typealiases2
- typealiases
- unionTypes
- unlistedClass
- unlistedMethod
- unlistedProperty
- com.package2
- 4.5.6
- Module3
- _
- Module3
- localhost(3a)0
- birds
- 0.5.0
- Bird
- allFruit
- catalog
- _
- Bird
- allFruit
- catalog
- deprecated
- 1.0.0
- deprecated
- _
- deprecated
- fruit
- 1.1.0
- Fruit
- _
- Fruit
- fonts
- images
- localhost(3a)0
- birds
- 0.5.0
- Bird
- allFruit
- catalog
- current
- Bird
- allFruit
- catalog
- deprecated
- 1.0.0
- deprecated
- current
- deprecated
- fruit
- 1.1.0
- Fruit
- current
- Fruit
- scripts
- styles
- kotlin/org/pkl/doc
- pkl-gradle/src/test/kotlin/org/pkl/gradle
- pkl-tools
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
1,599 files changed
+129995
-584
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| 63 | + | |
63 | 64 | | |
64 | 65 | | |
65 | 66 | | |
| |||
99 | 100 | | |
100 | 101 | | |
101 | 102 | | |
| 103 | + | |
| 104 | + | |
102 | 105 | | |
103 | 106 | | |
104 | 107 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
| 83 | + | |
82 | 84 | | |
83 | 85 | | |
84 | 86 | | |
| |||
Lines changed: 10 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
29 | 32 | | |
30 | 33 | | |
31 | | - | |
| 34 | + | |
| 35 | + | |
32 | 36 | | |
33 | 37 | | |
34 | 38 | | |
| |||
41 | 45 | | |
42 | 46 | | |
43 | 47 | | |
44 | | - | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
45 | 53 | | |
46 | 54 | | |
47 | 55 | | |
Lines changed: 27 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 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 | + | |
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
0 commit comments