UMPLE(1)

πŸ“¦ version 1.38.0, in nixpkgs unstable

πŸ‘‘ UMPLE(1) β€” the manual, but make it make sense

okay so bestie, gather round πŸ’– this is the User Commands manual for Umple (yes, that's the UMPLE(1) up top, we're not copying the header line, we're folding it in like a lil name tag at a party πŸŽ€). Think of this page as your group chat with the compiler. Slay.


✨ NAME

Umple β€” compile or generate code from umple files. that's it. that's the whole vibe. πŸ¦‹


🫢 SYNOPSIS

umple [options]... filename

literally just umple, then options if you're feeling fancy, then a file. periodt. πŸ’…


🌸 DESCRIPTION

Umple is a modeling tool and a programming language, and the whole point is that it enables Model-Oriented programming. yes. model-oriented. not just object-oriented, we're levelling up 🧚

For more detailed information (and honestly, more detail than anyone should read in one sitting), go to https://manual.umple.org.

Example β€” here's what it looks like when it eats a file:

umple airline.ump

Version: 1.38.0.8919.17b7f22fe β€” screenshot it, it matters for bug reports πŸ“Έ


πŸ’œ OPTIONS

okay this is the big one. every single flag, no skips, all facts intact. hydrate before reading πŸ“

  • -c, --compile β€” tell the entry class to compile, or use argument - to compile all outputfiles. what it actually does: compiles Java to .class, lints Php and Python, and converts Graphviz to .svg. iconic multi-tasker energy πŸ‘‘
  • -d, --debug β€” debug mode. this one's for the compiler developers, not you (sorry bestie 😭). it turns on internal debug statements wrapped in blocks that check model. isDebugMode() β€” yes, that space is in the original, we do not touch it, we do not "fix" it, we respect it πŸ”₯
  • -e, --exitonfirstfailure β€” used with -f. exit with nonzero on the first failure of a compile specified in the file you passed to -f. otherwise, it exits after completing all compilations, with nonzero if any of them failed. so: dramatic early exit vs. patient finish-and-report. both valid πŸ’…
  • -f, --file β€” read in a file containing sets of umple-files to process, one set per line. each set is an independent compilation. intended for testing. ngl this is the "batch mode" one 🧚
  • -g, --generate β€” specify the output language. and bestie, the list is long. here it is, character for character, do not lose your place:
Alloy,Cpp,
Ecore,EventSequence,ExternalGrammar,
FeatureModelJson,GvClassDiagram, GvClassTraitDiagram,
GvEntityRelationshipDiagram, GvFeatureDiagram,GvStateDiagram,
InstanceDiagram,Java,Json,Mermaid,
Nothing,NuSMV,NuSMVOptimizer,Papyrus,
Php,PlainRequirementsDoc,Python, RTCpp,Ruby,Scxml,SimpleCpp,
SimpleMetrics,Simulate,Sql, StateTables,StructureDiagram,Test,
TextUml,USE,Uigu2,Umlet,Umple, UmpleSelf,Violet,Xmi,Xtext,Yuml
  • --help β€” display the help message. the classic "I don't remember the flag" move 🫢
  • -i, --import β€” read in an XMI model and generate ump files. import mode, we love a glow-up πŸ”„
  • --override β€” if an output language <lang> is specified using option -g, output will only generate language <lang>. no extras, no surprises. main character only 🌟
  • -p, --performance β€” show the time taken to parse and generate code. for the girlies who love a benchmark ⏱️
  • --path β€” if an output language is specified using option -g, the output source code will be placed to path. πŸ—‚οΈ
  • -q, --quiet β€” be quiet. only outputs compilation information in case of failure. so it'll politely shut up until something breaks 😌
  • -r, --removeprevious β€” used with -g; removes previously generated code before generating new code. can help prevent leftover code causing errors. does not work with generators specified inside a file β€” remember that, it's a real gotcha πŸ™ˆ
  • -s, --suboption β€” generate files with suboptions. and there are a lot, so buckle up:
    • With GvStateDiagram: hideactions, hideguards, showtransitionlabels, showguardlabels, Java, Cpp
    • With GvClassDiagram or GvClassTraitDiagram or GvEntityRelationshipDiagram: hideattributes, showmethods
    • With all Gv: gvseparator=n.n where n.n is greater than 1.0 to separate nodes more than default, or less than one to make the diagram tighter
    • With all Requirements: reqSortID to sort requirements by their ID, reqSortStat to sort requirements by their Statement
    • With all Requirements: reqHideNotImpl to hide the not implemented requirements
    • With InstanceDiagram: minInstLinks, maxInstLinks, randomInstLinks for the # of links between instances; initialInstCount=n and randomInitialInstCount for the initial instance counts per class; maxInstIterations=n and maxInstClassCount=n for larger diagrams
  • -u, --umple β€” include umple code directly as a single string, instead of or in addition to in files. inline code, we stan πŸ’«
  • -v, --version β€” print out the current Umple version number. πŸ“Œ
  • -w, --warningignore β€” ignore a warning whose number is embedded in the file name, if the file name starts with W. used for testing. sneaky but valid 🀫
  • -x, --useexec β€” use an external exec call to invoke the Java compiler when using the -c option. may be needed on some platforms or with certain examples. if compiling is being weird on your machine, this is your girlie πŸ”§

Copyright (c) 2018 Umple Model-Oriented Technology

License: MIT

and here's the whole license, untouched, because legal text does not get a vibe rewrite (I'd get in trouble, and also it would be wrong). read it, it's short, it's giving "we're being nice to you" 🫢

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
fr fr on the AS IS part β€” no warranty, no promises, no refunds. it's free software, be cool about it πŸ’€

πŸ”— SEE ALSO

https://manual.umple.org β€” the full manual, the lore, the deep dive. iykyk 🌈


and that's the whole page bestie πŸ’– this build of the manual was Compiling using /usr/local/li... (yes, that's genuinely how it's printed, truncated and mysterious, we don't question it) and it's dated September 2022 πŸŽ€ go compile something iconic. periodt. ✨

πŸ“¦ where this page comes from