Hi Daniel, IMHO I'm using the right place ...
The src directory contains all of the source material for building the project, its site and so on. It contains a subdirectory for each type: main for the main build artifact, test for the unit test code and resources, site and so on. The main artefact as far as Maven is concerned is a JAR file so things contained in the JAR goes under "src/main". We have an additional artefacts built by the maven-appassembler-pugin and the things needed are found in "src/app" - it follows the same pattern as > mvn jar:test-jar > mvn site:jar Thanks in advance, Siegfried Goeschl > On 27.08.2020, at 01:15, Daniel Dekany <daniel.dek...@gmail.com> wrote: > > But currently we have src/app as I noticed now, not src/main/app. ("app" is > a classifier of a "main" artifact, so it belongs under there.) > > On Sat, Aug 22, 2020 at 10:10 AM Siegfried Goeschl < > siegfried.goes...@gmail.com> wrote: > >> I think the "main/app" looks better :) >> >>> On 22.08.2020, at 10:01, Siegfried Goeschl <siegfried.goes...@gmail.com> >> wrote: >>> >>> Hi Daniel, >>> >>> I'm mostly fine with the current directory layout >>> >>> * There is some documentation here - >> https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html >>> * As far as Maven is concerned the main artefact is the JAR >>> * Having said that the "Appassembler Maven plugin" makes assumptions as >> well >>> * The "config" is (sort of still) there because until recently I >> packaged the config file as part of the JAR (currently FREEMARKER-153) and >> actually had two of them :-( >>> >>> I will review my changes before merging FREEMARKER-153 into master (end >> of this week hopefully) >>> >>> I do not fully understand the problem you had with the configuration >> when generating the docs - in the meantime you can start the Main class >> without config file >>> >>> Thanks in advance, >>> >>> Siegfried Goeschl >>> >>> >>> >>>> On 21.08.2020, at 11:59, Daniel Dekany <daniel.dek...@gmail.com> wrote: >>>> >>>> Also, I'm quite certain "templates" meant to be under "main", similarly >> as >>>> "config" already is. (In case it's not just an oversight, it's because >> the >>>> top-level categories under "src" ("main", "test", and "site") are the >>>> different kind of deliverables. (OK, the test suite isn't really >>>> deliverable, but it's a separate unit.) "templates" and "config" are >> both >>>> part of the main deliverable, which is the app artifact, so they belong >>>> under "main".) >>>> >>>> "src/scripts" doesn't look right for the same reason. As we deliver them >>>> with the app, they belong under "main". Where inside that is not that >> clear >>>> to me... I mean Maven doesn't really establish a convention there, but >>>> maybe unde the assembly? Or maybe there should be a main/app-home to >> pack >>>> all the statics under the app home (tempaltes, config, >> run-examples...). So >>>> that's a more like matter of preference thing, I guess. >>>> >>>> On Thu, Aug 20, 2020 at 10:17 PM Daniel Dekany <daniel.dek...@gmail.com >>> >>>> wrote: >>>> >>>>> We will need your signature that's here: >>>>> https://dist.apache.org/repos/dist/dev/freemarker/KEYS and >>>>> https://dist.apache.org/repos/dist/release/freemarker/KEYS, at least >> if >>>>> you build the release artifacts. Otherwise I'm not exactly sure how you >>>>> want to do this snapshot release thing. I think the best way to try if >>>>> releasing is working is trying to do a release, but not actually start >>>>> voting, and obviously not letting it outside the staging repo. >>>>> >>>>> I think you should merge back FREEMARKER-153 into the main branch, >> because >>>>> it's the development head right now. (Like, if someone wanted to add a >> PR, >>>>> it should be based on what's now 153, hence, that should be the >> master.) >>>>> >>>>> One thing I just ran into, while trying to add the rest of the docs. >> The >>>>> configuration/freemarker-generator.properties is found based on >> CLASSPATH, >>>>> while templates is found based on the "app.home" system property. I >> think >>>>> it would be good if bareily setting "app.home", and ensuring the the >> Maven >>>>> dependencies (jar-s) are found by Java makes the CLI work. I ran into >> this, >>>>> because to generate documentation I need to class freemarker-generator >> from >>>>> Maven (to capture the --help, etc.), and since the launcher scripts are >>>>> platform dependent, I directly call >>>>> org.apache.freemarker.generator.cli.Main. But I think in general that >> would >>>>> be a step in the right direction, if that only has minimal >> requirements. >>>>> >>>>> On Fri, Aug 14, 2020 at 12:22 PM Siegfried Goeschl < >>>>> siegfried.goes...@gmail.com> wrote: >>>>> >>>>>> Hi Daniel, >>>>>> >>>>>> Regarding SNAPSHOTs - I would be glad to see all the moving parts >>>>>> working, e.g. generated artefacts, Hayes, signatures and upload :-) >>>>>> >>>>>> Thanks in advance, >>>>>> >>>>>> Siegfried Goeschl >>>>>> >>>>>> >>>>>> >>>>>>> On 13.08.2020, at 02:16, Daniel Dekany <daniel.dek...@gmail.com> >> wrote: >>>>>>> >>>>>>> A SNAPSHOT version is not public, so it's not really a release, and >> for >>>>>>> internal testing you can build stuff. >>>>>>> >>>>>>> Also, I don't remember right now anything super important, but there >> are >>>>>>> mails where I listed things. >>>>>>> >>>>>>> Yeah, I'm still in debt with the docgen conversion. It kind of >> works, if >>>>>>> you saw that branch. I will continue to copy the md content into it, >> and >>>>>>> hopefully won't run into any more stuff that makes me add Docgen >>>>>> features. >>>>>>> (Like last time I started shoveling in the Examples section, only to >>>>>>> realize that we need to be able to insert external files, so now we >>>>>> don't >>>>>>> have to copy-paste templates and such into the documentation, each >> time >>>>>>> they are changed in the source code.) Though it's not strictly a >> blocker >>>>>>> for any kind kind of release. >>>>>>> >>>>>>> On Wed, Aug 12, 2020 at 8:53 PM Siegfried Goeschl < >>>>>>> siegfried.goes...@gmail.com <mailto:siegfried.goes...@gmail.com>> >>>>>> wrote: >>>>>>> >>>>>>>> Hi Daniel, >>>>>>>> >>>>>>>> Anything other things in the way for preparing a SNAPSHOT release? >>>>>>>> >>>>>>>> Thanks in advance, >>>>>>>> >>>>>>>> Siegfried Goeschl >>>>>>>> >>>>>>>> >>>>>>>>> On 11.08.2020, at 22:57, Siegfried Goeschl < >>>>>> siegfried.goes...@gmail.com> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Hi Daniel, >>>>>>>>> >>>>>>>>> Just pushed the changes >>>>>>>>> >>>>>>>>> freemarker-generator -t freemarker-generator/info.ftl >>>>>>>>> >>>>>>>>> Thanks in advance, >>>>>>>>> >>>>>>>>> Siegfried Goeschl >>>>>>>>> >>>>>>>>> >>>>>>>>>> On 11.08.2020, at 22:44, Daniel Dekany <daniel.dek...@gmail.com >>>>>>>> <mailto:daniel.dek...@gmail.com <mailto:daniel.dek...@gmail.com>>> >>>>>> wrote: >>>>>>>>>> >>>>>>>>>> OK, no classpath loading for now. Can be done later if it will be >> a >>>>>>>> problem >>>>>>>>>> with Maven plugin or other non-CLI thing. After all, it's pretty >>>>>>>>>> transparent where the templates are coming from. >>>>>>>>>> >>>>>>>>>> So, what about the reserved directory that holds all these built >> in >>>>>>>>>> templates? See earlier in this thread. That also eliminates the >> issue >>>>>>>> with >>>>>>>>>> colliding with user templates (which you listed above). That's >> why I >>>>>>>>>> brought it up actually, and for understability for the users. (I >>>>>> don't >>>>>>>> get >>>>>>>>>> why you relate name clashes with loading from jar VS from plain >>>>>>>> directory. >>>>>>>>>> The name clash problem happens in both cases, and modifying the >>>>>>>>>> installation is not an acceptable solution anyway.) >>>>>>>>>> >>>>>>>>>> Users can supply their own templates in their home directory, or >>>>>> maybe >>>>>>>> in >>>>>>>>>> the future in /etc/freemarker-generator, and again, not by >> replacing >>>>>>>>>> installed templates. (Even then, shadowing a standard template is >>>>>>>> something >>>>>>>>>> I would prevent. Preventing unwise users from hurting themselves >> is a >>>>>>>>>> pretty important design goal.) >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> On Tue, Aug 11, 2020 at 9:49 PM Siegfried Goeschl < >>>>>>>>>> siegfried.goes...@gmail.com <mailto:siegfried.goes...@gmail.com> >>>>>> <mailto:siegfried.goes...@gmail.com <mailto: >> siegfried.goes...@gmail.com >>>>>>>>> >>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> Hi Daniel, >>>>>>>>>>> >>>>>>>>>>> yesterday's email was a bit short since I was drained from the >> heat >>>>>> :-( >>>>>>>>>>> >>>>>>>>>>> * I would like to provide a bunch of useful / generic templates >>>>>>>> together >>>>>>>>>>> with the FreeMarker Generator CLI - if those templates solve or >>>>>> mostly >>>>>>>>>>> solve one's problem we successfully increased the community >>>>>>>>>>> * The useful / generic templates will be relying on code from >>>>>>>>>>> freemarker-generator-tools so they are currently not generic >> since >>>>>> the >>>>>>>>>>> Maven plugin will not use freemarker-generator-tools due to the >>>>>>>> transitive >>>>>>>>>>> dependencies >>>>>>>>>>> * Bundling useful templates can be done as file or from a JAR - >>>>>>>> personally >>>>>>>>>>> I prefer files to make things more visible by having files but >> class >>>>>>>> path >>>>>>>>>>> resources are also possible >>>>>>>>>>> * Strictly personal opinion - problem with bundled templates is >> that >>>>>>>> they >>>>>>>>>>> might collide with user-supplied templates (rather theoretical >> issue >>>>>>>> but >>>>>>>>>>> log4j.properties picked up from the class path drove me crazy in >> the >>>>>>>> past) >>>>>>>>>>> * Consequently if a user really wants to remove / modify provided >>>>>>>>>>> templates or add some new templates that's fine for me - it is a >>>>>> free >>>>>>>>>>> country and they obviously know what they are doing >>>>>>>>>>> * On my last cloud project it would have been actually feasible >> to >>>>>>>>>>> assemble a custom "freemarker-generator-cli" with more / other >>>>>>>> templates, >>>>>>>>>>> e.g. dumping Java keystores (which was done by some ugly shell >>>>>> script) >>>>>>>>>>> >>>>>>>>>>> So at the end of the day I think we are discussing a very minor >>>>>> point >>>>>>>>>>> where we have different opinions and I don't see any real benefit >>>>>> from >>>>>>>>>>> using class path loading >>>>>>>>>>> >>>>>>>>>>> Thanks in advance, >>>>>>>>>>> >>>>>>>>>>> Siegfried Goeschl >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> On 11.08.2020, at 09:30, Daniel Dekany <daniel.dek...@gmail.com >>>>>> <mailto:daniel.dek...@gmail.com> >>>>>>>> <mailto:daniel.dek...@gmail.com <mailto:daniel.dek...@gmail.com>>> >>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>> On Mon, Aug 10, 2020 at 8:53 PM Siegfried Goeschl < >>>>>>>>>>>> siegfried.goes...@gmail.com <mailto:siegfried.goes...@gmail.com >>> >>>>>> <mailto:siegfried.goes...@gmail.com <mailto: >> siegfried.goes...@gmail.com >>>>>>>>> >>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>>> The fundamental problem with that is this. Currently, if you >>>>>> pull in >>>>>>>>>>>>>> freemarker-generator-cli as Maven dependency, the templates >> will >>>>>>>> not be >>>>>>>>>>>>>> available. Surely, because it's the CLI, you could say that >> it's >>>>>> not >>>>>>>>>>>>>> supposed to be used without the FreeMarker Generator Home >>>>>> Directory >>>>>>>>>>>>> created >>>>>>>>>>>>>> somewhere, which contains the launch script and templates/ and >>>>>> all. >>>>>>>>>>> But, >>>>>>>>>>>>> if >>>>>>>>>>>>>> these templates are guaranteed functionality in FreeMarker >>>>>>>> Generator, >>>>>>>>>>>>> then >>>>>>>>>>>>>> they don't strictly belong to the CLI. When we will have a >> proper >>>>>>>> Maven >>>>>>>>>>>>>> plugin for example, they should be still accessible. In that >>>>>> case >>>>>>>> you >>>>>>>>>>>>> only >>>>>>>>>>>>>> have your Maven dependencies, so the templates must come from >>>>>> there. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Regarding visibility, it's a bit like with Java. Java classes >> are >>>>>>>> not >>>>>>>>>>> too >>>>>>>>>>>>>> readable without looking at the source code either. That's >> not an >>>>>>>>>>>>> advantage >>>>>>>>>>>>>> when it comes to "visibility", sure. But luckily this is open >>>>>>>> source, >>>>>>>>>>> and >>>>>>>>>>>>>> it's very easy to get to the source code, if someone really >> cares >>>>>>>> (like >>>>>>>>>>>>>> from the Maven source artifact). That applies to core stuff >>>>>>>> implemented >>>>>>>>>>>>> in >>>>>>>>>>>>>> FTL as well. So, the previously mentioned advantage (that they >>>>>> are >>>>>>>>>>>>>> available from a plain dependency) certainly overweights this >>>>>>>>>>>>> disadvantage >>>>>>>>>>>>>> (less visibility). >>>>>>>>>>>>> >>>>>>>>>>>>> I currently disagree here - I like the visibility aspect and >> it is >>>>>>>>>>> pretty >>>>>>>>>>>>> difficult to get rid of templates loaded from the classpath. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> What do you mean by getting rid of them? I hope you agree that >>>>>> users >>>>>>>>>>>> shouldn't remove or modify these templates directly in the >>>>>> FreeMarker >>>>>>>>>>>> Generator installation. >>>>>>>>>>>> >>>>>>>>>>>> What do you intend to do about the dependency problem, described >>>>>>>> above? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Best regards, >>>>>>>>>> Daniel Dekany >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Best regards, >>>>>>> Daniel Dekany >>>>>> >>>>>> >>>>> >>>>> -- >>>>> Best regards, >>>>> Daniel Dekany >>>>> >>>> >>>> >>>> -- >>>> Best regards, >>>> Daniel Dekany >>> >> >> > > -- > Best regards, > Daniel Dekany