Saturday, January 7, 2017, 4:37:12 PM, Denis Bredelet wrote: [snip] >> These are some getting started examples. What are your ideas about the >> final product? > > I am thinking of adding a « main » function in the FreeMarker JAR > to load a template and a model (as XML or properties, that is why I > showed the link). Then create a separate JAR with the UI to load the > template and datamodel from the filesystem or define a datamodel > interactively, and save the processed template in a file.
The whole functionality, even if it's only a console app with a main method, should be in a separate jar, and certainly even in a separate project (like we have freemarker-site, freemarker-docgen, and then we could have freemarker-tester or something). Since dependency management has become common place, it's considered to be a bad practice to overpack your jar-s. In fact, something that we consider to do in FM3 is exploding freemarker.jar into submodules (like freemarker-servet.jar, etc.). Back then it was more practical to make a big monolithic jar, but times are changing. Also, a separate project (again, still under the umbrella of FreeMarker and Apache) means that you can do releases independently of the FreeMarker (the engine) project releases. Also note that "main" methods in a library are seen as security problems nowadays. We already have a bunch of them in freemarker.jar, and I'm just waiting for the right moment to get rid of them. So, yeah, I say, separate jar, separate project. -- Thanks, Daniel Dekany