Changelog
Big release this time!
JBang Config
Every command line argument can now get defaults set using jbang config. You can store the settings globally or using -f=. to have them only take effect in a specific directory tree.
Really useful for setting default editor, i.e. jbang config set edit.open idea to use idea as your default editor.
@quintesse worked hard on this and I'm sure it will save people a lot of extra typing.
Groovy Support
@linux-china showed up contributing Groovy support similar to Kotlin. Still experimental but now you can get all the jbang advantages of compile jars, sharing using catalogs and alias with all the Groovy you like.
Literate Programming with Markdown
JBang will now when you pass it a markdown file like, jbang https://github.com/jbangdev/jbang/blob/main/itests/readme.md it will extract the java/jsh code blocks and treat them as jshell. Allowing you to mix text and code that is both explanatory and runnable.
Embedded GAV
You can now add a //GAV mygroup:artifactid to your file to have it be exported using jbang export mavenrepo without having to list the GAV everytime.
Multiple Deps
--deps on command line now support multiple dependencies separate by a comma(,) to allow much more compact command lines. Thanks to @grumpyf0x48!
Intellij JBang support
@linux-china did not stop with Groovy support he also kicked of Intellij JBang support - give it at try from https://plugins.jetbrains.com/plugin/18257-jbang.
Hope you like this xmas release and when you try any of it out do please leave a comment of feedback on https://github.com/jbangdev/jbang/discussions - we love to hear the good as well as the bad to keep improving JBang !
🚀 Features
- 90f0f2c Allow for a //GAV line in source files (#1133)
- dfcacb1 Allow jbang to install itself (#1125)
- 22408da Jbang config (#604)
- Groovy support (#1113)
🐛 Fixes
- 52c6341 updated docs and avoid NPE in integration manager
- 5a150d9 support running markdown. Fixes #904 (#1139)
- f2dffa7 Some regressions for Windows (#1121)
- 0ae08b3 Allow --deps to specify multiple dependencies (#815) (#1141)
- 1155da1
catalog updatedoesn't refresh cache (#1124) - 73f21f7 Fixed regression not showing catalog names (#1134)
🧰 Tasks
- 727bc3f fix caching handling for groovycs
- 151b73d fix broken cache itest
- adeb522 less me, more we
- 3f2df0c fix merge errors
- 51d6a52 codecov only complain if >0.2%
- 28286c0 explicit source zshrc
- 46002fa osx uses zsh as default
- 797d569 add install test starting with osx
📝 Documentation
- d124ccf add davsclaus as a contributor for bug (#1146)
- 4b87660 document jbang config
- 85c3a3c add linux-china as a contributor for code (#1145)
- ad51f0a document groovy,md and add templates
- df5f25c [minor] release
- 768dfae Add "-Dgroovy.grape.enable=false" into runtime options
- 3811626 helloworld.groovy with Java 11 API
- fed590c Set JAVA_HOME and unset GROOVY_HOME for groovyc
- b12bcfa Introduce groovyMajorVersion to check Groovy binary download url
- 3eb04b8 Correct "groovyc version" to "Groovy version"
- f4e2162 Add ".groovy" to EXTENSIONS
- 3e7da7a Add GroovyManager
- 9343d7b GroovyScriptSource
- a9ec56f Add GroovyScriptSource for groovy file
- 8dec1ba Add groovycs in CacheClass for Groovy SDK
Contributors
We'd like to thank the following people for their contributions:
Tako Schotanus, linux_china, Max Rydahl Andersen, GitHub, Pierre-Yves Fourmond, allcontributors[bot]