Appfuse has a page where you can select several different options and
it will give you the maven command to generate a new project to your
specs:
http://appfuse.org/display/APF/AppFuse+QuickStart

It sounds like you are talking about a very VERY advanced version of this.

I like the idea, but I wonder if you'd get 80% of the benefit by
offering several Maven archetypes for common
configurations--especially one with Hibernate already setup and a few
entities to show how it works.

I wonder if you could get some of the statistics you want by looking
at which archetypes get downloaded most frequently.

That said, anything that makes it easier for someone to get a new
project up and running with Tapestry is going to be a good thing.

Mark


On Wed, Jun 29, 2011 at 3:34 PM, Howard Lewis Ship <[email protected]> wrote:
> Had an interesting idea this morning (in the shower ... what do YOU
> think about in the shower?) that dovetails with Bob's initiative to
> track & rate third party libraries.
>
> How about a Tapestry app that collects information from the user:
> basic information as with the Maven archetype, but additional things
> such as which Tapestry and 3rd party libraries to include, which
> version of Tapestry to use, and maybe a few other things (like which
> database drivers to use), locales to support, etc.
>
> At the end of all this, a .zip file of the project source is created.
> Pretty much an extended version of what gets produced by the Maven
> archetype.
>
> I kind of imagined a data-driven approach, where there would be a DB,
> or more likely, a JSON document, that described the different options
> and how they relate.
>
> This could be combined with Freemarker templates to generate the
> artifacts (build scripts, source files).
>
> Some things would just "bolt on", some would be either-or, some would
> be dependent.
>
> For example: Ant build vs. Maven build vs. Gradle build
>
> If you choose Hibernate or JPA support ... an option to choose one or
> more drivers for different databases.
>
> Some selection logic so that a 3rd party library that isn't compatible
> with the selected Tapestry version would be disabled.
>
> Internally, this could use Ant libraries and Maven Ant Tasks to
> properly download the dependencies (for an Ant build).
>
> Before you download, there would be an optional "survey" page that
> would collect information about the app you are building.
>
> The app could be deployed into EC2 or GAE or hosted in the Apache Jail.
>
> --
> Howard M. Lewis Ship
>
> Creator of Apache Tapestry
>
> The source for Tapestry training, mentoring and support. Contact me to
> learn how I can get you up and productive in Tapestry fast!
>
> (971) 678-5210
> http://howardlewisship.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to