Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from plantuml:master #108

Open
wants to merge 338 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
338 commits
Select commit Hold shift + click to select a range
f393231
chore: ignore images generated by the test/dev unitary tests
arnaudroques Jun 11, 2024
725c504
fix: better handling of task code
arnaudroques Jun 11, 2024
e5af698
chore: refactor
arnaudroques Jun 11, 2024
c98ab64
chore: ignore /bin
arnaudroques Jun 12, 2024
52e935a
fix: scale for json
arnaudroques Jun 12, 2024
bdd4ce5
feat: add support for [one-line] `title` to JSON diagram
The-Lum Jun 13, 2024
bfc32f6
Merge pull request #1823 from The-Lum/PatchBranch
arnaudroques Jun 13, 2024
e7810b6
Fix 1707 (#1826)
arnaudroques Jun 14, 2024
24fd5c6
feat: math: add `newline` command for formatting (#1827)
The-Lum Jun 19, 2024
37dca80
feat: patch on `PlantUmlTestUtils` in order to have a better test API…
The-Lum Jun 20, 2024
7a0cfff
refactor: private visibility
arnaudroques Jun 20, 2024
d03ef6f
chore: brainstorming and research for API version 2
arnaudroques Jun 20, 2024
72718a3
fix: issue 1812
arnaudroques Jun 20, 2024
f8d020f
chore: explanation about tests
arnaudroques Jun 21, 2024
03d857f
chore(deps): bump docker/build-push-action from 5 to 6 (#1828)
dependabot[bot] Jun 21, 2024
3c1b13d
chore(deps-dev): bump ws in /.github/actions/configure-workflow (#1830)
dependabot[bot] Jun 21, 2024
50f9a3a
chore(deps-dev): bump braces in /.github/actions/configure-workflow (…
dependabot[bot] Jun 21, 2024
dcc55fc
Elk: Allow full style on arrows (except fontcolor) (#1833)
kirchsth Jun 22, 2024
b7549d1
docs: build jar file with PDF output support (#1829)
matthewberryman Jun 24, 2024
e7255fb
chore(deps): bump actions/add-to-project from 1.0.1 to 1.0.2 (#1837)
dependabot[bot] Jun 25, 2024
7c98103
fix: issue 1815
arnaudroques Jun 25, 2024
2de1247
fix: issue 1834
arnaudroques Jun 25, 2024
0f81e95
fix tests
arnaudroques Jun 25, 2024
aeef844
chore: include ELK and jlatexmath in build
arnaudroques Jun 27, 2024
0cb55ad
fix: refactor ELK and work on pdiff 1uel9
arnaudroques Jun 26, 2024
db1ed52
chore: increment version
arnaudroques Jun 27, 2024
a11427e
chore: adding ELK on EPL version
arnaudroques Jun 27, 2024
d4bd1e5
fix for issue #1097 (#1842)
jimnelson372 Jun 28, 2024
92bd56a
chore: non GPL versions only built when CI
arnaudroques Jun 28, 2024
aa46be3
feat: brainstorming about api v2
arnaudroques Jun 28, 2024
d104e39
- set RenderingHints.VALUE_FRACTIONALMETRICS_ON in DriverTextG2 (#1843)
kirchsth Jun 29, 2024
d3289ba
chore: new version beta12
arnaudroques Jun 29, 2024
5cb8084
chore: basic rename
arnaudroques Jul 1, 2024
4719257
docs: update `readme.md` (add architecture of `TValue`)
The-Lum Jul 4, 2024
5bf95c6
upd: update `readme.md` (add architecture of `JsonValue`)
The-Lum Jul 4, 2024
5633bdf
fix: allow JsonValue on key for the `%json_key_exists` builtin functi…
The-Lum Jul 4, 2024
c871496
refactor: prepare Elk/Svek/Smetana convergence
arnaudroques Jul 4, 2024
36e07ea
chore: version 1.2024.6
arnaudroques Jul 6, 2024
df7c7c7
chore: prepare next dev cycle
arnaudroques Jul 6, 2024
7ffce75
fixes #1850: PDF support broken with other gradle build file changes …
matthewberryman Jul 8, 2024
1d5ff91
feat: improve ELK path
arnaudroques Jul 9, 2024
92440a7
chore: remove unused import
arnaudroques Jul 9, 2024
35600a0
fix: improve stereotype for WBS and MindMap diagrams
arnaudroques Jul 10, 2024
028e4f0
fix for issue #1804 (#1859)
jimnelson372 Jul 15, 2024
5d03ed2
refactor: of `ApiV2Test` with `AssertJ` and `CsvSource` (#1858)
The-Lum Jul 15, 2024
02b5f69
fix: improve svg parser
arnaudroques Jul 15, 2024
d3da033
fix: issue 1856
arnaudroques Jul 16, 2024
078afaa
chore: remove debug trace
arnaudroques Jul 16, 2024
586813b
feat: pause a task up to end of another task
arnaudroques Jul 16, 2024
7c57567
refactor: improve gantt
arnaudroques Jul 18, 2024
af8890e
refactor: improve gantt
arnaudroques Jul 18, 2024
b9831b0
refactor: ELK/Svek/Smetana
arnaudroques Jul 19, 2024
9fb7627
chore: unused import
arnaudroques Jul 19, 2024
4beb9fb
remove duplicate items in help message (#1861)
michaelb Jul 20, 2024
1427bb5
Added background color to arrows and draw background for circles (#1863)
lprc Jul 22, 2024
f617c14
fix: issue 1531 style for backward element
arnaudroques Jul 23, 2024
ab6af24
refactor: ELK/Svek/Smetana
arnaudroques Jul 23, 2024
050549e
fix: pragma useIntermediatePackage for component diagram
arnaudroques Jul 24, 2024
5720a97
refactor: ELK/Svek/Smetana
arnaudroques Jul 25, 2024
dac564a
feat: add builtin function `%mod` (modulo operator) (#1865)
dragondive Jul 25, 2024
425db1d
feat: add builtin function `%boolval` (#1873)
dragondive Aug 15, 2024
8cf93fc
chore: try to ignore Java 8 on glpv2
arnaudroques Aug 26, 2024
850b502
chore: fix yaml
arnaudroques Aug 26, 2024
eaf608f
chore: gplv2 for java 11 or higher
arnaudroques Aug 26, 2024
5dbc82c
Native image build (#1868)
asm0dey Aug 26, 2024
b8958d7
fix: change UNSECURE profile
arnaudroques Aug 26, 2024
ec7b8b3
fix: repeat in wrong swimlane
arnaudroques Aug 26, 2024
18f8e11
fix: make `native` as `snapshot` (#1882)
The-Lum Aug 28, 2024
303341f
feat: add svg title tag
arnaudroques Aug 28, 2024
829b755
refactor: code simplification
arnaudroques Aug 28, 2024
d3a92cd
fix: open iconic
arnaudroques Aug 28, 2024
15fb578
fix: note in activity diagram
arnaudroques Aug 28, 2024
3374bfc
Fixes headless build (#1883)
asm0dey Aug 29, 2024
8916430
chore(deps): bump org.assertj:assertj-core from 3.26.0 to 3.26.3 (#1853)
dependabot[bot] Aug 29, 2024
4904756
chore(deps): bump org.junit.jupiter:junit-jupiter from 5.10.2 to 5.11…
dependabot[bot] Aug 29, 2024
db33ac8
chore(deps): bump thedoctor0/zip-release from 0.7.5 to 0.7.6 (#1880)
dependabot[bot] Aug 29, 2024
dee82dc
fix: remove command for nested shapes
arnaudroques Aug 29, 2024
9693b72
fix: hide inside package
arnaudroques Aug 29, 2024
10edbb7
chore(deps): bump org.apache.ant:ant from 1.10.14 to 1.10.15 (#1884)
dependabot[bot] Aug 30, 2024
d58037f
fix: error on hide
arnaudroques Aug 30, 2024
b5c9283
fix: better hide management for groups
arnaudroques Aug 30, 2024
18d0766
upd: Update and rename native-image.yml to native-image-snapshot.yml …
The-Lum Aug 30, 2024
d5b8375
upd and fix: Improve Native Image Snapshot and JAR Snapshot (#1886)
The-Lum Aug 30, 2024
0225a4c
chore: list of changes
arnaudroques Aug 31, 2024
c6f4bec
chore: update changes for incoming release
arnaudroques Sep 1, 2024
2708d83
Issue 1815 closed
arnaudroques Sep 2, 2024
da664b6
feat: Create `native-image-release.yml` (#1888)
The-Lum Sep 3, 2024
3cbf1b7
fix: red color for Gantt
arnaudroques Sep 6, 2024
b3e0145
feat: gantt weekscale with weeknumbers
arnaudroques Sep 6, 2024
d2b2bcf
chore: version 1.2024.7
arnaudroques Sep 7, 2024
b056f45
Update `CHANGES.md` (#1897)
The-Lum Sep 7, 2024
8647a48
chore: prepare next development cycle
arnaudroques Sep 9, 2024
37e5eb6
fix: improve edge cases for JSON diagram (manage null and empty Array…
The-Lum Sep 9, 2024
95ce858
upd: add `clean_release` step on `native-image-snapshot.yml` (#1899)
The-Lum Sep 9, 2024
53a2a8d
update gradle to gradle-8.10, which permits java-22, java-23. (#1898)
soloturn Sep 9, 2024
7cfeef1
♻️ refactor: improve version, libraries, plugin management with gradl…
The-Lum Sep 10, 2024
3fc92d7
chore(deps): bump com.adarshr.test-logger from 3.2.0 to 4.0.0
dependabot[bot] Sep 11, 2024
4c4cb96
chore(deps): bump org.graalvm.buildtools.native from 0.10.2 to 0.10.3
dependabot[bot] Sep 11, 2024
96a933c
Merge pull request #1903 from plantuml/dependabot/gradle/com.adarshr.…
The-Lum Sep 11, 2024
bb32727
Merge pull request #1904 from plantuml/dependabot/gradle/org.graalvm.…
The-Lum Sep 11, 2024
887bbda
chore: temporary remove counter badges
arnaudroques Sep 14, 2024
83a4bfb
Add support for colors in Chen EER diagrams (#1909)
Benjamin-Davies Sep 15, 2024
2b47c7a
feat: add `overrideDirPath` method (#1916)
The-Lum Sep 23, 2024
0ef877f
use latex to get string bounder (#1914)
liudongmiao Sep 23, 2024
0934d6d
chore(configure-workflow): use node20 (#1918)
trivikr Sep 24, 2024
3a56c55
tikz: make all fonts with the same baseline (#1919)
liudongmiao Sep 24, 2024
bbe905e
tikz: avoid latex manager crash for special characters (#1921)
liudongmiao Sep 24, 2024
f186e7a
tikz: use the same protectText when calc dimension and render (#1922)
liudongmiao Sep 25, 2024
bc0becd
tikz: optimize latex render for #1628 (#1923)
liudongmiao Sep 26, 2024
593d821
optimize tikz render (#1928)
liudongmiao Sep 27, 2024
4318369
upd: uniformisation of `dirpath` (#1930)
The-Lum Sep 27, 2024
090efa9
chore(deps): bump org.junit.jupiter:junit-jupiter from 5.11.0 to 5.11…
dependabot[bot] Sep 28, 2024
39b4fba
test: test ExportOnUText (#1936)
The-Lum Oct 1, 2024
176da3c
feat: reintroduction of `filedate` and `filename_no_extension` builti…
The-Lum Oct 1, 2024
39e9c8a
fix: protection against infinite loop
arnaudroques Oct 1, 2024
72ccccd
chore: update to beta2
arnaudroques Oct 2, 2024
8b23950
refactor: basic rename
arnaudroques Oct 2, 2024
187a6b8
fix: protection against infinite loop
arnaudroques Oct 2, 2024
1617a40
feat: Allow Unicode ASCII Art for class, component, ... (#1938)
The-Lum Oct 5, 2024
15d63c2
fix: error in namespace management
arnaudroques Oct 5, 2024
5d9a939
fix: better magnetic cluster handling for class diagram
arnaudroques Oct 5, 2024
5bbb5a8
fix: EBNF more arrow head
arnaudroques Oct 6, 2024
9521f6c
fix: EBNF concatenation order
arnaudroques Oct 6, 2024
99ea667
fix: EBNF better unicode support
arnaudroques Oct 6, 2024
d50a744
fix: first support for NOT in EBNF
arnaudroques Oct 10, 2024
88ffb2b
feat: new beta %xargs() function
arnaudroques Oct 10, 2024
8488b89
fix: Allow MinimumWidth on all nested elements
arnaudroques Oct 10, 2024
813bca3
chore: prepare CHANGES.md
arnaudroques Oct 11, 2024
28421c6
fix: Improve map and json style in order to manage header style
arnaudroques Oct 11, 2024
958db07
fix: Improve map and json style in order to manage header style
arnaudroques Oct 11, 2024
af05d21
chore: adding COPYING.LESSER
arnaudroques Oct 11, 2024
ff36980
fix: display a consistent error message when using bad hierarchy
arnaudroques Oct 11, 2024
539b31a
fix: improve monthly header for gantt
arnaudroques Oct 11, 2024
37f7ce0
fix: regression
arnaudroques Oct 12, 2024
0c673b4
feat: add new arrow type
arnaudroques Oct 13, 2024
d0c1839
fix: improve stereotype with plain circle
arnaudroques Oct 13, 2024
dfa9b80
feat: improve regex group
arnaudroques Oct 13, 2024
f8b6c43
chore: update beta version
arnaudroques Oct 13, 2024
8b7e682
chore: remove acearth due to license issues
arnaudroques Oct 19, 2024
64ea232
fix: allow LineStyle for arrow, on sequence diagram
arnaudroques Oct 19, 2024
23b2940
chore(deps): bump org.junit.jupiter:junit-jupiter from 5.11.1 to 5.11…
dependabot[bot] Oct 23, 2024
6311528
chore(deps): bump org.apache.xmlgraphics:fop from 2.9 to 2.10 (#1941)
dependabot[bot] Oct 23, 2024
8eb791f
chore(deps): bump org.apache.xmlgraphics:batik-all from 1.17 to 1.18 …
dependabot[bot] Oct 23, 2024
bc3fbd8
feat: the parser can now run several passes on a diagram
arnaudroques Oct 21, 2024
e6e9662
fix: Allow multiple transitions to the same deep history (on state di…
The-Lum Oct 25, 2024
4b7dc5b
chore: remove debug trace
arnaudroques Oct 25, 2024
0c74fb2
fix: improve SVG support
arnaudroques Oct 25, 2024
938b758
fix: improve stereotype support for note
arnaudroques Oct 25, 2024
55a51bb
fix: improve stereotype support for note in timing diagrams
arnaudroques Oct 25, 2024
31b8d4a
refactor: missing ParserPass argument
arnaudroques Oct 25, 2024
411d5a3
fix: duplicate color parsing
arnaudroques Oct 25, 2024
b1f1411
feat: Allow stereotype for Clock on Timing diagram (#1960)
The-Lum Oct 25, 2024
ddf3d91
fix: change CommandNoteBottom parent
arnaudroques Oct 25, 2024
270510d
fix: improve stereotype support for note in gantt diagrams
arnaudroques Oct 25, 2024
80d4cd8
chore: update CHANGES.md
arnaudroques Oct 25, 2024
586517d
feat: allow compact mode for Clock (on Timing diagram) (#1962)
The-Lum Oct 26, 2024
dd9c8e7
feat: update C4 and cloudogu stdlib
arnaudroques Oct 26, 2024
e4b6382
feat: update domainstory standard lib
arnaudroques Nov 4, 2024
0624deb
feat: add generic and qualified style
arnaudroques Nov 5, 2024
809acb0
feat: allow all JSON Values on JSON Entity (#1970)
arnaudroques Nov 5, 2024
2cfe7ea
feat: add cardinality style
arnaudroques Nov 5, 2024
5d1e823
feat: handle JSON key with guillemet
arnaudroques Nov 5, 2024
e9d1ab8
fix: handle multilines JSON
arnaudroques Nov 5, 2024
d5dba02
fix: improve style support
arnaudroques Nov 5, 2024
0aa62b5
fix: Improve HorizontalAlignment management (wip)
arnaudroques Nov 7, 2024
bd0719a
fix: Improve HorizontalAlignment management (wip)
arnaudroques Nov 9, 2024
86ad776
fix: Improve HorizontalAlignment management (wip)
arnaudroques Nov 9, 2024
109be39
fix: Improve HorizontalAlignment management (wip)
arnaudroques Nov 9, 2024
8516315
refactor: prepare better style management
arnaudroques Nov 9, 2024
51f3b45
fix: use latest graphviz version in docker image (#1976)
Ventus218 Nov 10, 2024
8c25265
fix: Improve HorizontalAlignment management (wip)
arnaudroques Nov 11, 2024
df806a6
refactor: simplify skinparam on Entity
arnaudroques Nov 12, 2024
2ee6aa6
refactor: add getStyleName() on AbstractEntityImage
arnaudroques Nov 12, 2024
c116531
fix: Improve HorizontalAlignment management (wip)
arnaudroques Nov 12, 2024
25d4377
fix: Improve HorizontalAlignment management (wip)
arnaudroques Nov 12, 2024
1ebc4f0
fix: nwdiag allow line border for group
arnaudroques Nov 12, 2024
03b6e9d
chore: print info about X11 and XWayland
arnaudroques Nov 13, 2024
effe131
fix: create parent states when implicit declaration
arnaudroques Nov 13, 2024
1553553
fix: better format stroke width
arnaudroques Nov 15, 2024
f3a5610
feat: allow (unused) header in theme files
arnaudroques Nov 15, 2024
b15265e
feat: use skin on yaml and json diagrams
arnaudroques Nov 15, 2024
44096d6
fix: use space and JSON and object identifiers
arnaudroques Nov 15, 2024
5551a38
chore: publication V1.2024.8
arnaudroques Nov 15, 2024
1104d09
chore: prepare next development cycle
arnaudroques Nov 15, 2024
e1c98cb
chore: revert 1104d09 for native release (#1981)
The-Lum Nov 16, 2024
ac36b6f
chore: revert e1c98cb to prepare next development cycle (#1982)
The-Lum Nov 16, 2024
cc80f56
feat: prepare for case changes in stdlib
arnaudroques Nov 17, 2024
d18deb8
feat: add `%get_stdlib()` function
arnaudroques Nov 17, 2024
3a89773
feat: stdlib with new headers
arnaudroques Nov 17, 2024
537faf5
fix: better %newline() support
arnaudroques Nov 18, 2024
6d5e89d
chore: add flags
arnaudroques Nov 18, 2024
49374da
upd CHANGES.md according to v1.2024.8 (#1986)
The-Lum Nov 19, 2024
fae6853
fix: hiding/showing a specific stereotype
arnaudroques Nov 19, 2024
9fbb7cc
PROPOSAL.md
arnaudroques Nov 17, 2024
30acc19
feat: add %n() function
arnaudroques Nov 20, 2024
4ff99ab
chore: future jaws
arnaudroques Nov 21, 2024
27c22a9
chore: jaws refactoring
arnaudroques Nov 21, 2024
837f440
chore: jaws refactoring
arnaudroques Nov 21, 2024
8fd30bd
add `readme.md` for stdlib (Builtin function) (#1987)
The-Lum Nov 22, 2024
a2fe071
refactor: rename stdlib to builtin
arnaudroques Nov 22, 2024
e629614
refactor: rename stdlib to builtin
arnaudroques Nov 22, 2024
0bb587f
refactor: rename stdlib to builtin
arnaudroques Nov 22, 2024
f4bbd48
refactor: rename stdlib to builtin
arnaudroques Nov 22, 2024
4a40277
feat: no CI on markdown
The-Lum Nov 22, 2024
6fba5c7
✏️ update following renaming `stdlib` to `builtin`
The-Lum Nov 22, 2024
20d5917
refactor: sort language descriptor
arnaudroques Nov 22, 2024
50ded0a
feat: implementation of %get_current_theme() function
arnaudroques Nov 22, 2024
bb5f966
refactor: theme header
arnaudroques Nov 24, 2024
e846a3b
feat: ignore YAML header at diagram start
arnaudroques Nov 24, 2024
5a2472b
refactor: prepare jaws migration, add tests, update version
arnaudroques Nov 26, 2024
27039da
refactor: better support jaws in salt and preprocessor
arnaudroques Nov 26, 2024
8476687
refactor: basic rename
arnaudroques Nov 27, 2024
0d38391
chore: use smatana engine for tests
arnaudroques Nov 27, 2024
cec0358
chore: add new tests
arnaudroques Nov 27, 2024
c78329f
refactor: prepare jaws implementation
arnaudroques Nov 27, 2024
5ab04c8
refactor: move Pragma to TitleDiagram
arnaudroques Nov 27, 2024
b205fa4
📝docs: Use of Gitmoji
arnaudroques Nov 30, 2024
e9d2e28
🚀chore: use stdlib files from plantuml-stdlib repo
arnaudroques Nov 30, 2024
2c6a3ab
📝docs: add a space after emoji
arnaudroques Nov 30, 2024
0632bbe
🐛fix: improve regex group display
arnaudroques Dec 1, 2024
408d086
🚧 refactor: prepare jaws deployment
arnaudroques Dec 2, 2024
6e40729
📦️ chore: update DomainStory to version Delta 0.4.0
arnaudroques Dec 2, 2024
1b8ac1a
⚗️ chore: beta feature, comment emoji
arnaudroques Dec 2, 2024
d45157e
🔧 chore: update version to 1.2024.9beta5
arnaudroques Dec 2, 2024
c1a54cb
🚧 chore: suppress warning message
arnaudroques Dec 2, 2024
478cae7
📝 docs: Update conventional commit docs
arnaudroques Dec 2, 2024
76bd70c
🐛 fix: Allow RoundCorner for object, map and json element
arnaudroques Dec 3, 2024
24bde10
🐛 fix: Allow RoundCorner for object, map and json element
arnaudroques Dec 3, 2024
d4b7816
🐛 fix: classes cannot be nested
arnaudroques Dec 4, 2024
c6cd04b
✨ feat: extend error message with diagram type
arnaudroques Dec 6, 2024
f181f14
♻️ refactor: prepare SVG interactive enhancement
arnaudroques Dec 6, 2024
0530f47
♻️ refactor: prepare SVG interactive enhancement
arnaudroques Dec 7, 2024
0c3f44c
♻️ refactor: prepare SVG interactive enhancement
arnaudroques Dec 7, 2024
e5ea0c8
⚗️ testing beta `include_sprites` feature
arnaudroques Dec 6, 2024
5e74c76
📸 snapshot 1.2024.9beta6
arnaudroques Dec 8, 2024
45ea45d
🚧 prepare warning message
arnaudroques Dec 9, 2024
46bf10c
♻️ better display handling
arnaudroques Dec 10, 2024
cc19a36
✨ new `%backslash()` buitin function
arnaudroques Dec 10, 2024
8824e08
🐾 improve error message
arnaudroques Dec 10, 2024
3554de7
🚧 prepare jaws deployment
arnaudroques Dec 11, 2024
d3b4e7a
🚧 prepare jaws deployment
arnaudroques Dec 12, 2024
113265a
🚧 prepare jaws deployment
arnaudroques Dec 12, 2024
6e6204e
🐛 Skip using `dot` in ASCII art when there is only one element.
arnaudroques Dec 13, 2024
35c48bf
👷 Native: create Native Image Release automatically after JAR Release…
The-Lum Dec 13, 2024
1d6d965
🚧 prepare jaws deployment
arnaudroques Dec 15, 2024
6ef3f1c
🚧 update color sprite format
arnaudroques Dec 16, 2024
d7b8735
🚧 prepare multilines support
arnaudroques Dec 16, 2024
0a22623
✨ Add possibility to create Graphviz instance using service factory (…
arnaudroques Dec 17, 2024
4c2d1cc
📝 change `Graphviz instance` to `Graphviz implementation` on javadoc …
The-Lum Dec 18, 2024
ddba682
🐛 workaround with larger array
arnaudroques Dec 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat: add %get_stdlib() function
arnaudroques committed Nov 17, 2024
commit d18deb89b45d2a1955fba69f6fc4d317d07f81fb
6 changes: 3 additions & 3 deletions src/net/sourceforge/plantuml/preproc/Stdlib.java
Original file line number Diff line number Diff line change
@@ -329,13 +329,13 @@ private static InputStream getInternalInputStream(String fullname, String extens
}

public static void extractStdLib() throws IOException {
for (String name : getAll()) {
for (String name : getAllFolderNames()) {
final Stdlib folder = Stdlib.retrieve(name);
folder.extractMeFull();
}
}

public static Collection<String> getAll() throws IOException {
public static Collection<String> getAllFolderNames() throws IOException {
final Set<String> result = new TreeSet<>();
final InputStream home = getInternalInputStream("home", ".repx");
if (home == null)
@@ -434,7 +434,7 @@ public List<String> extractAllSprites() throws IOException {

public static void addInfoVersion(List<String> strings, boolean details) {
try {
for (String name : getAll()) {
for (String name : getAllFolderNames()) {
final Stdlib folder = Stdlib.retrieve(name);
if (details) {
strings.add("<b>" + name);
6 changes: 4 additions & 2 deletions src/net/sourceforge/plantuml/tim/TContext.java
Original file line number Diff line number Diff line change
@@ -97,15 +97,16 @@
import net.sourceforge.plantuml.tim.stdlib.Dirpath;
import net.sourceforge.plantuml.tim.stdlib.Eval;
import net.sourceforge.plantuml.tim.stdlib.Feature;
import net.sourceforge.plantuml.tim.stdlib.Filedate;
import net.sourceforge.plantuml.tim.stdlib.FileExists;
import net.sourceforge.plantuml.tim.stdlib.Filedate;
import net.sourceforge.plantuml.tim.stdlib.Filename;
import net.sourceforge.plantuml.tim.stdlib.FilenameNoExtension;
import net.sourceforge.plantuml.tim.stdlib.FunctionExists;
import net.sourceforge.plantuml.tim.stdlib.GetAllStdlib;
import net.sourceforge.plantuml.tim.stdlib.GetAllTheme;
import net.sourceforge.plantuml.tim.stdlib.GetJsonKey;
import net.sourceforge.plantuml.tim.stdlib.GetJsonType;
import net.sourceforge.plantuml.tim.stdlib.GetStdlib;
import net.sourceforge.plantuml.tim.stdlib.GetVariableValue;
import net.sourceforge.plantuml.tim.stdlib.GetVersion;
import net.sourceforge.plantuml.tim.stdlib.Getenv;
@@ -130,10 +131,10 @@
import net.sourceforge.plantuml.tim.stdlib.LogicalOr;
import net.sourceforge.plantuml.tim.stdlib.LogicalXor;
import net.sourceforge.plantuml.tim.stdlib.Lower;
import net.sourceforge.plantuml.tim.stdlib.Modulo;
import net.sourceforge.plantuml.tim.stdlib.Newline;
import net.sourceforge.plantuml.tim.stdlib.Now;
import net.sourceforge.plantuml.tim.stdlib.Ord;
import net.sourceforge.plantuml.tim.stdlib.Modulo;
import net.sourceforge.plantuml.tim.stdlib.RandomFunction;
import net.sourceforge.plantuml.tim.stdlib.RetrieveProcedure;
import net.sourceforge.plantuml.tim.stdlib.ReverseColor;
@@ -193,6 +194,7 @@ private void addStandardFunctions(Defines defines) {
functionsSet.addFunction(new GetAllTheme());
functionsSet.addFunction(new GetJsonKey());
functionsSet.addFunction(new GetJsonType());
functionsSet.addFunction(new GetStdlib());
functionsSet.addFunction(new GetVariableValue());
functionsSet.addFunction(new GetVersion());
functionsSet.addFunction(new Getenv());
7 changes: 5 additions & 2 deletions src/net/sourceforge/plantuml/tim/stdlib/GetAllStdlib.java
Original file line number Diff line number Diff line change
@@ -51,7 +51,10 @@
import net.sourceforge.plantuml.tim.TMemory;
import net.sourceforge.plantuml.tim.expression.TValue;

@Deprecated
public class GetAllStdlib extends SimpleReturnFunction {
// Maybe the function %get_all_stdlib() will be removed and replaced by
// %get_stdlib()

public TFunctionSignature getSignature() {
return new TFunctionSignature("%get_all_stdlib", 1);
@@ -70,7 +73,7 @@ public TValue executeReturnFunction(TContext context, TMemory memory, StringLoca
case 0:
final JsonArray result = new JsonArray();
try {
for (String name : Stdlib.getAll()) {
for (String name : Stdlib.getAllFolderNames()) {
result.add(name);
}
return TValue.fromJson(result);
@@ -83,7 +86,7 @@ public TValue executeReturnFunction(TContext context, TMemory memory, StringLoca
final JsonObject res = new JsonObject();
try {
// Inspired by Stdlib.addInfoVersion
for (String name : Stdlib.getAll()) {
for (String name : Stdlib.getAllFolderNames()) {
final Stdlib folder = Stdlib.retrieve(name);
final JsonObject object = Json.object() //
.add("name", name) //
107 changes: 107 additions & 0 deletions src/net/sourceforge/plantuml/tim/stdlib/GetStdlib.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
/* ========================================================================
* PlantUML : a free UML diagram generator
* ========================================================================
*
* (C) Copyright 2009-2024, Arnaud Roques
*
* Project Info: https://plantuml.com
*
* If you like this project or if you find it useful, you can support us at:
*
* https://plantuml.com/patreon (only 1$ per month!)
* https://plantuml.com/paypal
*
* This file is part of PlantUML.
*
* PlantUML is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* PlantUML distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA.
*
*
* Original Author: Arnaud Roques
*
*/
package net.sourceforge.plantuml.tim.stdlib;

import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

import net.sourceforge.plantuml.json.Json;
import net.sourceforge.plantuml.json.JsonObject;
import net.sourceforge.plantuml.log.Logme;
import net.sourceforge.plantuml.preproc.Stdlib;
import net.sourceforge.plantuml.text.StringLocated;
import net.sourceforge.plantuml.tim.EaterException;
import net.sourceforge.plantuml.tim.TContext;
import net.sourceforge.plantuml.tim.TFunctionSignature;
import net.sourceforge.plantuml.tim.TMemory;
import net.sourceforge.plantuml.tim.expression.TValue;

public class GetStdlib extends SimpleReturnFunction {

public TFunctionSignature getSignature() {
return new TFunctionSignature("%get_stdlib", 1);
}

@Override
public boolean canCover(int nbArg, Set<String> namedArgument) {
return nbArg == 0 || nbArg == 1 || nbArg == 2;
}

@Override
public TValue executeReturnFunction(TContext context, TMemory memory, StringLocated location, List<TValue> values,
Map<String, TValue> named) throws EaterException {

final JsonObject result = Json.object();
try {
if (values.size() == 0) {
for (String folderName : Stdlib.getAllFolderNames()) {
// This can be optimized: no need to load the full folder
final Stdlib folder = Stdlib.retrieve(folderName);
final JsonObject metadata = Json.object();
// Key in README.md will be in lowercase anyway
for (Entry<String, String> ent : folder.getMetadata().entrySet())
metadata.add(ent.getKey().toLowerCase(), ent.getValue());

result.add(folderName, metadata);
}
} else if (values.size() == 1) {
final String folderName = values.get(0).toString();
// This can be optimized: no need to load the full folder
final Stdlib folder = Stdlib.retrieve(folderName);
// Key in README.md will be in lowercase anyway
for (Entry<String, String> ent : folder.getMetadata().entrySet())
result.add(ent.getKey().toLowerCase(), ent.getValue());
} else if (values.size() == 2) {
final String folderName = values.get(0).toString();
final String key = values.get(1).toString().toLowerCase();
final Stdlib folder = Stdlib.retrieve(folderName);
String value = folder.getMetadata().get(key);
// Temporary, we check the upercase key if needed
if (value == null)
value = folder.getMetadata().get(key.toUpperCase());
if (value == null)
value = "";
return TValue.fromString(value);
}
} catch (IOException e) {
Logme.error(e);
}
return TValue.fromJson(result);

}
}