Hi Daniel,

I'm using now "app.home" system property to bootstrap the configuration and 
merged FREEMARKER-153.

So in theory you could rebase/merge and try to use "app.home" ...

Thanks in advance, 

Siegfried Goeschl


> On 22.08.2020, at 19:43, Daniel Dekany <daniel.dek...@gmail.com> wrote:
> 
> Link was wrong as well:
> https://github.com/apache/freemarker-generator/blob/FREEMARKER-154/freemarker-generator-website/pom.xml#L85
> The you see what's needed currently only to get the info.ftl output.
> 
> On Sat, Aug 22, 2020 at 7:39 PM Daniel Dekany <daniel.dek...@gmail.com>
> wrote:
> 
>> Pf, lot of typos... so to clarify, I did solve it, it's just fragile. Also
>> onE of the "main" artifacts is
>> freemarker-generator-cli-0.1.0-SNAPSHOT-app.tar.gz (so there, classifier is
>> "app"). That's deployed to the repository, so it's a "real" artifact.
>> 
>> On Sat, Aug 22, 2020 at 7:34 PM Daniel Dekany <daniel.dek...@gmail.com>
>> wrote:
>> 
>>> I could hack it around, the problem is that it's fragile as it is:
>>> https://github.com/apache/freemarker-generator/blob/FREEMARKER-154/pom.xml
>>> If it only needed app.home, then it would be much less fragile. (And also
>>> easier for others to call it without the scripts. Well, OK, almost nobody
>>> needs that... but it's cleaner overall.)
>>> 
>>> There are main artifacts of different classifiers, on is "app". All
>>> belong to "main" from Maven's perspective. Anyway, the point is to have a
>>> project structure that helps understanding stuff.
>>> 
>>> main/app is fine with me.
>>> 
>>> On Sat, Aug 22, 2020 at 10:01 AM 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
>>> 
>> 
>> 
>> --
>> Best regards,
>> Daniel Dekany
>> 
> 
> 
> -- 
> Best regards,
> Daniel Dekany

Reply via email to