Can I freely use Tentackle in my applications?
Yes! Tentackle is Open Source according to the LGPL, the GNU LESSER GENERAL PUBLIC LICENSE.
What about the "k" in Tentac(k)le?
The short story is: when we decided to go Open Source with “Tentacle”, the domain tentacle.org was already in use. So we made the best of it and simply added a K.
Yet another framework?
First of all, Tentackle was never meant to become a framework. It wasn’t meant to become Open Source as well. We just needed something for our Java projects, but there was nothing comparable available, neither open nor closed source. Traditionally, Java frameworks are made for web applications, but that’s not what we usually do.
So we began to develop the things we needed. Several years later, there still wasn’t anything comparable available – at least, up until today, we never heard about something similar. Anyway, at some point the people involved in our projects began to talk about “the framework”. And here it is.
What's the status of the project?
We’ve got several Tentackle-based applications in production already, for years. There are even 24×7 technical apps running in production plants. But it would be overconfident to say that it’s feature complete and mature in all thinkable aspects. By experience, new projects usually require new features and sometimes bug fixes for corner cases not taken into account so far.
What really needs to be done – you guessed it – is some more in-depth documentation. We’ve used Tentackle in our projects and we didn’t plan to go Open Source with it. As a consequence, there is not much documentation available besides the java docs.
At the moment we are working on a tutorial which will cover most of Tentackle’s goodies. Although the tutorial isn’t finished yet, you can try out what’s available so far. Please give us some feedback!
Can I use Gradle instead of Maven?
Unfortunately, not (yet). The Tentackle plugins are tightly coupled to Maven’s philosophy, build lifecycle and eco-system. It should be possible to do all that things with Gradle as well, but this requires a completely new set of plugins, which means a lot of work.
Do I need an IDE-plugin?
No. You can use any Java IDE that supports at least Java 11, Maven and Jigsaw (JPMS). However, the generated code is enclosed in so-called “custom code folding regions”, which is not supported by all IDEs. This is not a necessary feature, but pretty nice to improve readability, because the generated code is automatically collapsed. IntelliJ IDEA and Netbeans support that out of the box. Others may need some configuration or extra plugins.
What's the versioning and branching scheme?
The releases reside in the “master” branch and use semantic versioning prefixed with Java’s LTS major version. The development happens in the “develop” branch against the latest JDK and is cherry-picked to “master”. When a new Java LTS is released, the current master is branched to a new legacy branch and the version number in “master” is updated. For example, the current version is 11.x.y.z in “master” and legacy is 8.a.b.c in a branch named “java8”. When java 17 is released, master will be 17.x.y.z and a new branch “java11” is created. The latest legacy branch still gets bugfixes but new features only on demand.
How is Tentackle's auto-update feature related to Java WebStart?
Can I use Tentackle's jlink maven plugin for my non-Tentackle applications?
Sure! The plugin can even create jlink images for non-modular classpath applications. Tentackle is a modular framework. You don’t need to use all its modules and maven plugins. For example, if you just want to use Tentackle’s ServiceFinder with its “mapped services”, you only need the dependency tentackle-common and the tentackle-maven-plugin to generate the resources for META-INF.