Return-Path: Delivered-To: apmail-myfaces-dev-archive@www.apache.org Received: (qmail 98746 invoked from network); 30 Jan 2008 19:17:57 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 30 Jan 2008 19:17:57 -0000 Received: (qmail 93996 invoked by uid 500); 30 Jan 2008 19:17:45 -0000 Delivered-To: apmail-myfaces-dev-archive@myfaces.apache.org Received: (qmail 93965 invoked by uid 500); 30 Jan 2008 19:17:45 -0000 Mailing-List: contact dev-help@myfaces.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "MyFaces Development" Delivered-To: mailing list dev@myfaces.apache.org Received: (qmail 93953 invoked by uid 99); 30 Jan 2008 19:17:45 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Jan 2008 11:17:45 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of mwessendorf@gmail.com designates 209.85.146.181 as permitted sender) Received: from [209.85.146.181] (HELO wa-out-1112.google.com) (209.85.146.181) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 30 Jan 2008 19:17:16 +0000 Received: by wa-out-1112.google.com with SMTP id l24so567665waf.22 for ; Wed, 30 Jan 2008 11:17:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; bh=+cRGMfx1FaNxIaf5ViuVmPkFtwd5jP4i7wt5fLjySuE=; b=OadHFe+LscvrU+zwDQ5VLKzZwG02BsCPVc28kl6adItDX+zTqKjnxqG+bnmItZVM/3rRu6UFeztRkPw2tt/Zcu86BL4SkOJsVQWwP4r1ajBXI2vroBWzXAmInbPKOllxCycsZEepmA3jNhBsm1fkWwuK6qABHR1ZVuHyCMShwT4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=kpgYfhH8O6tkT4oqZNEmeJ8s/DmPfmlZa4fwWmHvdwgT6O/fjJ4uXvyl5JhXzSSiniTITBDTTqxXhroUNV3/bOKbZ4+/r610UHNq7LdiEgecVH+zVEjG7+Tj5qthx1OxNs3bPzMpvuFqWE+bt9PuKTzrJ6hS0oVV4+xRIycar4o= Received: by 10.114.168.1 with SMTP id q1mr1280788wae.74.1201720643361; Wed, 30 Jan 2008 11:17:23 -0800 (PST) Received: by 10.115.54.11 with HTTP; Wed, 30 Jan 2008 11:17:23 -0800 (PST) Message-ID: <71235db40801301117x36cccfb4j8e7a14c98da2062c@mail.gmail.com> Date: Wed, 30 Jan 2008 20:17:23 +0100 From: "Matthias Wessendorf" Sender: mwessendorf@gmail.com To: "MyFaces Development" Subject: Re: myfaces-faces-plugin - architecture In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20242183.1201705366273.JavaMail.root@viefep15> <5a99335f0801300944i14221081ka44630c0af404bf4@mail.gmail.com> X-Google-Sender-Auth: b48898d95a902fdc X-Virus-Checked: Checked by ClamAV on apache.org On Jan 30, 2008 8:03 PM, Leonardo Uribe wrote: > These are my thoughts and my personal opinions on the subject > > myfaces-faces-plugin generates 4 things: > > component classes > tag classes > faces-config.xml > tld and facelets taglib > > Synchronize the generation of all this stuff with annotations is very > hard!. For each component we need one file. If this file is an > abstract component class and we put all info still we need to write > the same info as with the xml files. The advantage is that we avoid > the java-template class if we need to use it for component class > generation. Maybe works but where do we put other additional info that templates are fine. makes sense, when overriding things as well... please don't remove the "template" support. > should be used for faces-config.xml?. > > The full idea could be this: > > - Create an abstract component class that contains all info. > - Create some files where we can get the additional info. > - Generate a component class that extends from this abstract class. > - Generate tag, add info to faces-config and tld based on this info. > > This suppose a hard work but this approach could be easier than the > actual behavior. I think I can't follow. Not sure to what you response here .... > > But I feel it's a little advantage in comparison with the work (we are > writing code that do the same of another code). > > > > For sure, I thought we can generate the stuff and then commit the > generated files, so no need to regenerate for each build, just when > something in the component config changed. > > > Checking the Mojos of myfaces faces plugin, I have found one cool property: > > GenerateJspTaglibsMojo > GenerateComponentsMojo > > /** > * @parameter > expression="${project.build.directory}/maven-faces-plugin/main/java" > * @required > */ > protected File generatedSourceDirectory; > > So, with this property we can redirect the generation of all component > and tag classes to src/main/java !!! to check in a generated file ? I don't like that... > > At start I suppose that we need some fine grained control (one > property on the xml files to say whether to put > the generated files) but after read the discussion I think is > desirable to get all component and tag classes on the > source dir. > > I'm not tested this yet, I will try and see what happens > > regards > > Leonardo Uribe > PS: can you please keep the old content ? it is somewhat hard to read a thread the other day, to get the context. (harder than "top-postings" ;-)) -M -- Matthias Wessendorf further stuff: blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf mail: matzew-at-apache-dot-org