Hello Herve,

thanks for the feedback. Indeed, looking at your email I realize the file
naming is not the best. To answer your question - it is both post-create
and post-generate. I'm developing a project which later on I make into an
archetype using mvn archetype:create-from-project. This script lies in the
src/main/resources/META-INF/post_create.groovy and after archetype creation
it ends up in the jar's META-INF/post_create.groovy.

I guess the best would be to rename the file to
archetype-post-generate.groovy and not use any properties - just detect if
a file is present
then put it in the META-INF during archetype:create-from-project and
respectfully if a file called archetype-post-generate.groovy is in the
META-INF
folder then try to execute it. How does this sound?

2015-12-18 13:48 GMT+02:00 Hervé BOUTEMY <[email protected]>:

> Hi Petar,
>
> Nice work!
>
> I had a look, and I am a bit confused: is it about post-*generate*, ie
> after a
> project is generated from an archetype, or about post-*create*, ie after an
> archetype project is built from a sample project? See the workflow drawing
> I
> did to try to make that clear [1]
>
> Because the Jira issue tells that it's about post-generate, but the script
> constant is ARCHETYPE_POST_GENERATION_SCRIPT =
> "META-INF/post_create.groovy"
> and a lot of generated classes are about create (ArchetypeCreationRequest,
> CreateArchetypeFromProjectMojo, FilesetArchetypeCreator).
>
> I see that Groovy script execution is in DefaultFilesetArchetypeGenerator,
> then it's really in archetype:generate, but then I don't understand what's
> the
> purpose of the code in archetype:create-from-project. And the
> "archetype.postScript" property name doesn't seem a good choice, since IMHO
> causes confusion with "archetype.postPhase": "archetype.postGenerateScript"
> would be better. But even the existence of this property seems
> questionable:
> can't it just be in a particular location in sample project, so it gets
> copied
> into META-INF/archetype-post-generate.groovy (whatever the
> ARCHETYPE_POST_GENERATION_SCRIPT constant will point to)?
>
>
> I suppose some additional example in plugin's documentation, would make the
> feature easier to understand from an end-user point of view.
>
>
> It's a good idea: let's continue!
>
> Regards,
>
> Hervé
>
>
> [1] http://maven.apache.org/archetype/maven-archetype-plugin/
>
> Le jeudi 17 décembre 2015 23:40:28 Petar Tahchiev a écrit :
> > Hello all,
> >
> > I've been having this idea to modify the resulting project after
> generating
> > from a given archetype. In my particular case I'd like to be able to
> delete
> > certain files, modify the pom.xml to add/remove dependencies, etc. After
> > speaking with Herve Boutemy he suggested it would be a nice addition to
> the
> > maven archetype plugin to be able to run a script after the project is
> > generated from an archetype. I filed the enhancement here:
> >
> > https://issues.apache.org/jira/browse/ARCHETYPE-494
> >
> > I've also implemented it in a separate branch here:
> >
> >
> https://git1-us-west.apache.org/repos/asf?p=maven-archetype.git;a=commit;h=d
> > 60b876506e9b60ffa115c63425f837793fcaacf
> >
> > The idea is very basic - if the archetype plugin finds a file called
> > "post_create.groovy" in META-INF folder it will try to execute it,
> passing
> > all the environment variables to it. I've also added a sample test-case.
> >
> > I'd really like if someone takes a look on it before I merge it. Please
> > share your comments here.
> >
> > Thanks.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>


-- 
Regards, Petar!
Karlovo, Bulgaria.
---
Public PGP Key at:
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x19658550C3110611
Key Fingerprint: A369 A7EE 61BC 93A3 CDFF  55A5 1965 8550 C311 0611

Reply via email to