[forge-users] Scaffolding in Forge 2.x (was Beta5 next Monday ?)
Antonio Goncalves
antonio.mailing at gmail.com
Mon Jan 6 13:01:35 EST 2014
In red below, the new commands between shell, core and scaffold.
First, core has Java EE stuff... so why not go for javaee instead of
core(you could have Spring, Play with Scala or whatever other addons).
And
sorry to bring that again and again but I don't see the point of a sepeate
scaffold addon. For me, as a user, there is no difference between
scaffolding and generation. A jpa-new-entity is the same as a
jpa-scaffold-from-db, a rest-new-enpoint is the same as a
rest-scaffold-from-entity.
Technically, generation and scaffolding are maybe different, but for a
user, I would love to install the javaee addon, and do a rest-new-enpoint
and rest-scaffold-from-entity. One day, I will install the spring addon
and do a mvc-new-controller and mvc-scaffold-from-entity.
$ forge -i shell
[Forge]$ TAB
alias export clear exit
less mkdir pwd services-list
transaction-start
unalias cd echo grep
ls more rm touch
man
$ forge -i core
[Forge]$ TAB
alias addon-new-command cdi-setup
faces-new-converter jax-ws-setup
jstl-setup more services-list
unalias addon-remove clear
faces-new-validator jms-setup jta-setup
project-new servlet-setup
export bean-validation-setup echo
faces-new-validator-method jpa-new-entity less
pwd touch
addon-build-and-install build ejb-setup
faces-setup jpa-new-field ls
rest-setup transaction-start
addon-install cd exit
grep jpa-setup mkdir
rm man
$ forge -i scaffold
[Forge]$ TAB
alias addon-new-command cdi-setup
faces-new-converter jax-ws-setup jstl-setup
more scaffold-generate
transaction-start
unalias addon-remove clear
faces-new-validator jms-setup jta-setup
project-new scaffold-setup man
export bean-validation-setup echo
faces-new-validator-method jpa-new-entity less
pwd services-list
addon-build-and-install build ejb-setup
faces-setup jpa-new-field ls
rest-setup servlet-setup
addon-install cd exit
grep jpa-setup mkdir
rm touch
2014/1/6 Lincoln Baxter, III <lincolnbaxter at gmail.com>
> It all depends on which addons you install. If you install "core", you'll
> get our full addon suite. If you install "shell" you'll get just the shell
> as you desire, with no additional commands :)
>
>
> On Sun, Jan 5, 2014 at 9:07 AM, Antonio Goncalves <
> antonio.mailing at gmail.com> wrote:
>
>> To a certain extreme, I would not even expect to have Java commands
>> (java-new-enum, java-new-class...) when I download Forge : this could also
>> be an addon. This way, if I want to install Scala addons instead, I would
>> just go forge -i addon-scala, and then scala-new-class ;o)
>>
>>
>> 2014/1/5 Antonio Goncalves <antonio.mailing at gmail.com>
>>
>>> Hum.... but really, if JavaEE is an addon, why, when I launch Forge for
>>> the first time and hit TAB I have all the following commands :
>>>
>>> $ faces-setup | jpa-setup | bean-validation-setup | ejb-setup |
>>> jstl-setup | jax-ws-setup | jta-setup...
>>>
>>> These are Java EE commands.
>>>
>>>
>>> This is what I expect (first launch, hit TAB, no Java EE, then install
>>> JavaEE addon and here comes Java EE commands):
>>>
>>> [project] $ *[hit TAB]*
>>> alias addon-remove echo
>>> more unalias grep
>>> project-new services-list
>>> export build exit
>>> pwd addon-build-and-install cd less
>>> touch
>>> addon-install ls rm
>>> transaction-start
>>> addon-new-command clear mkdir
>>> scaffold-generate man
>>>
>>> [project] $ *addon-install --named javaee*
>>>
>>> [project] $ *[hit TAB]*
>>> alias addon-remove echo
>>> *faces-setup jpa-setup *
>>> more scaffold-setup
>>> unalias bean-validation-setup ejb-setup
>>> grep jstl-setup
>>> project-new services-list
>>> export build exit
>>> jax-ws-setup jta-setup pwd
>>> servlet-setup
>>> addon-build-and-install cd
>>> faces-new-converter jms-setup less
>>> rest-setup touch
>>> addon-install cdi-setup
>>> faces-new-validator jpa-new-entity ls
>>> rm transaction-start
>>> addon-new-command clear
>>> faces-new-validator-method jpa-new-field mkdir
>>> scaffold-generate man
>>>
>>>
>>> The same thing could happen with a spring addon : you lauch Forge, no
>>> Spring nor Java EE commands, install the Spring addon, and bang, new Spring
>>> commands....
>>>
>>> What bothers me is that there is a distinction between jpa commands
>>> (jpa-new-entity, jpa-new-field...), setup commands (servlet-setup,
>>> jstl-setup..) and the rest of Java EE commands only once the addon is
>>> installed.
>>>
>>> Anotonio
>>>
>>>
>>> 2014/1/4 George Gastaldi <ggastald at redhat.com>
>>>
>>>> Interesting and certainly doable. I remember discussing this separation
>>>> in the early days, but we decided to keep it all the javaee addons in a
>>>> single addon for simplicity.
>>>>
>>>>
>>>> Em 04/01/2014, às 18:47, Antonio Goncalves <antonio.mailing at gmail.com>
>>>> escreveu:
>>>>
>>>> So as a user, I execute Forge, once in the shell I hit TAB and see cd,
>>>> ls, touch, man... I install the jpa-addon, I hit TAB, I see these new
>>>> commands, I install the jsf-addon, I hit TAB, and see these new commands....
>>>>
>>>>
>>>> 2014/1/4 Antonio Goncalves <antonio.mailing at gmail.com>
>>>>
>>>>> But if I take your definition :
>>>>>
>>>>> > Scaffolding basically is code generation. Right now there is
>>>>> nothing interactive or re-consumable about it.
>>>>>
>>>>> Then, generating entities from an already existing database, is
>>>>> scaffolding. So I expect a forge -i jpa-addon. Then I get a set of
>>>>> entities, and with Forge I can cd the entity and do a jpa-new-field.
>>>>> In this example I scaffold and then add something to a generated entity.
>>>>>
>>>>> What's important in your sentence is "Right now". What if one day we
>>>>> scaffold JSF pages and beans and we are able to cd a backing bean and
>>>>> do jsf-new-field... then, there is no difference between JPA and JSF.
>>>>>
>>>>> My point is that as a user, I don't understand why when I hit TAB, by
>>>>> default, I can see jpa commands, but not JSF or REST commands. I need to
>>>>> install addons for some, and it's already installed for others.
>>>>>
>>>>> Maybe Forge should just be an empty shell (cd, ls, touch, man...) with
>>>>> no extensions at all, and then I need to do a forge -i jpa-addon, forge
>>>>> -i jsf-addon, forge -i rest-addon to get extensions.... and if I'm
>>>>> lazy and just want to develop a Java EE app, I'll go forge -i
>>>>> javaee-addon.
>>>>>
>>>>> My 2 cents
>>>>>
>>>>> 2014/1/4 Lincoln Baxter, III <lincolnbaxter at gmail.com>
>>>>>
>>>>> Hey Antonio!
>>>>>>
>>>>>> Again, more excellent feedback! Thank you!
>>>>>>
>>>>>> First, I really don't see the difference between scaffolding and code
>>>>>>> generation (I've mention that before). So, for me, as a user,
>>>>>>> jpa-new-entity is a command that generates code, just like
>>>>>>> scaffold-generate. But if we clarify this, users might get use to it.
>>>>>>
>>>>>>
>>>>>> Scaffolding basically is code generation. Right now there is nothing
>>>>>> interactive or re-consumable about it.
>>>>>>
>>>>>> Regarding the fact that you weren't able to see anything about JSF. I
>>>>>> believe this is likely due to this issue that we identified in Beta4 and
>>>>>> have fixed and tested for .Final -->
>>>>>> https://issues.jboss.org/browse/FORGE-1407
>>>>>>
>>>>>> For example. This is still a bit strange because unless you have
>>>>>> multiple scaffolds installed, you don't see the choice of scaffold type,
>>>>>> but when I run scaffold setup in the latest SNAPSHOT, I see:
>>>>>>
>>>>>> *[*jpa-demo*]*$ scaffold-
>>>>>>> scaffold-generate scaffold-setup
>>>>>>> *[*jpa-demo*]*$ scaffold-setup --facesVersion 2.
>>>>>>> 2.2 2.1 2.0
>>>>>>> *[*jpa-demo*]*$ scaffold-setup --facesVersion 2.2
>>>>>>
>>>>>>
>>>>>> Additionally, when I type `--provider` manually without using TAB
>>>>>> completion, then TAB complete the value, I do see the provider option, so
>>>>>> there may still be something wrong with the fix for FORGE-1407:
>>>>>>
>>>>>> *[*main*]*$ scaffold-setup --provider Faces
>>>>>>
>>>>>>
>>>>>> ~Lincoln
>>>>>>
>>>>>>
>>>>>> On Sat, Jan 4, 2014 at 12:46 PM, Antonio Goncalves <
>>>>>> antonio.mailing at gmail.com> wrote:
>>>>>>
>>>>>>> Scaffolding is really confusing. To scaffold my JSF pages I first
>>>>>>> need to install scaffolding :
>>>>>>>
>>>>>>> forge -i scaffold
>>>>>>>
>>>>>>> And then, once in Forge I do :
>>>>>>>
>>>>>>> scaffold-setup
>>>>>>> scaffold-generate --targets org.test.model.Customer
>>>>>>>
>>>>>>> And it generates JSF pages. Nowhere I see any mention of JSF in the
>>>>>>> previous commands. These commands could have generated REST endpoint, EJBs,
>>>>>>> AngularJS....
>>>>>>>
>>>>>>> First, I really don't see the difference between scaffolding and
>>>>>>> code generation (I've mention that before). So, for me, as a user,
>>>>>>> jpa-new-entity is a command that generates code, just like
>>>>>>> scaffold-generate. But if we clarify this, users might get use to it.
>>>>>>>
>>>>>>> When I type forge -i scaffold, it installs plenty of stuff. Does
>>>>>>> this mean it installs all the available scaffolding addons (JSF, REST,
>>>>>>> AngularJS, Arquillian...) ? If not, I don't know what it installed. Why
>>>>>>> don't we have :
>>>>>>>
>>>>>>> forge -i scaffold-jsf
>>>>>>> forge -i scaffold-jpa
>>>>>>> forge -i scaffold-rest
>>>>>>> forge -i scaffold-soap
>>>>>>>
>>>>>>> or even better if we follow the new naming convention
>>>>>>>
>>>>>>> forge -i jsf-scaffold
>>>>>>> forge -i jpa-scaffold
>>>>>>> forge -i rest-scaffold
>>>>>>> forge -i soap-scaffold
>>>>>>>
>>>>>>> Again, when I type scaffold-generate I really don't know what will
>>>>>>> happen. Because scaffolding and generating are the same for me. So command
>>>>>>> scaffold-generate sounds like generate-generate or scaffold-scaffold.
>>>>>>> Why not having :
>>>>>>>
>>>>>>> jsf-scaffold --targets org.test.model.Customer
>>>>>>> jpa-scaffold --dbName myDB --jdbcDriver org.apache.derby.Client
>>>>>>> rest-scaffold --targets org.test.model.Customer
>>>>>>> soap-scaffold --targets org.test.model.Customer
>>>>>>>
>>>>>>> What do you think ?
>>>>>>> Antonio
>>>>>>>
>>>>>>>
>>>>>>> 2014/1/4 George Gastaldi <ggastald at redhat.com>
>>>>>>>
>>>>>>>> The JSF scaffold was not installed with core in Beta4. We fixed
>>>>>>>> that for 2.0.0.Final. Run forge -i scaffold to install it.
>>>>>>>>
>>>>>>>> Worth to mention that the available commands only generate the REST
>>>>>>>> resource for the entities, the JSF scaffold does not consume them.
>>>>>>>>
>>>>>>>> Em 04/01/2014, às 13:53, Antonio Goncalves <
>>>>>>>> antonio.mailing at gmail.com> escreveu:
>>>>>>>>
>>>>>>>> I can't see any command for REST of JSF scaffolding, so I suppose
>>>>>>>> both are addons. How do I install these addons ?
>>>>>>>>
>>>>>>>>
>>>>>>>> 2014/1/4 George Gastaldi <ggastald at redhat.com>
>>>>>>>>
>>>>>>>>> REST generation from JPA entities is already functional too.
>>>>>>>>> Use rest-setup and rest-endpoint-from-entity
>>>>>>>>>
>>>>>>>>> Em 04/01/2014, às 11:52, Antonio Goncalves <
>>>>>>>>> antonio.mailing at gmail.com> escreveu:
>>>>>>>>>
>>>>>>>>> Hum... I forgot, I also need REST scaffolding.... might be a bit
>>>>>>>>> tight in schedule....
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2014/1/3 George Gastaldi <ggastald at redhat.com>
>>>>>>>>>
>>>>>>>>>> Both issues are now fixed. JSF scaffolding is ready since Beta4.
>>>>>>>>>>
>>>>>>>>>> We could release Beta5 monday but as we said in the IRC,
>>>>>>>>>> 2.0.0.Final is due in Jan 15th, so that's up to Lincoln.
>>>>>>>>>>
>>>>>>>>>> Best Regards,
>>>>>>>>>>
>>>>>>>>>> George
>>>>>>>>>>
>>>>>>>>>> Em 03/01/2014, às 19:04, Antonio Goncalves <
>>>>>>>>>> antonio.mailing at gmail.com> escreveu:
>>>>>>>>>>
>>>>>>>>>> Hi JBoss Forge Team,
>>>>>>>>>>
>>>>>>>>>> I should have mentioned that before, but next Tuesday (at the
>>>>>>>>>> Lille JUG in France) and Thursday (London, GlassFish User Group), I'll be
>>>>>>>>>> giving a talk on JBoss Forge. It's the same one I gave at JavaOne (
>>>>>>>>>> http://blog.arungupta.me/2013/12/come-and-play-with-javaee7-javaone-2013-session/)
>>>>>>>>>> but with few extra features.
>>>>>>>>>>
>>>>>>>>>> I'm doing it with Forge 1.x.... but actually, the only missing
>>>>>>>>>> bits to make it run with Forge 2.x are :
>>>>>>>>>>
>>>>>>>>>> * Bean Validation (https://issues.jboss.org/browse/FORGE-1393)
>>>>>>>>>> * Java enums (https://issues.jboss.org/browse/FORGE-1400)
>>>>>>>>>> * JSF scaffolding
>>>>>>>>>>
>>>>>>>>>> So I was just wondering if this would be available on Monday for
>>>>>>>>>> a Beta5 so I could use it
>>>>>>>>>>
>>>>>>>>>> Thank
>>>>>>>>>>
>>>>>>>>>> (just joking ;o)
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Antonio Goncalves
>>>>>>>>>> Software architect and Java Champion
>>>>>>>>>>
>>>>>>>>>> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>>>>>>>>>> | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>>>>>>>>>> | Devoxx France <http://www.devoxx.fr/>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> forge-users mailing list
>>>>>>>>>> forge-users at lists.jboss.org
>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> forge-users mailing list
>>>>>>>>>> forge-users at lists.jboss.org
>>>>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Antonio Goncalves
>>>>>>>>> Software architect and Java Champion
>>>>>>>>>
>>>>>>>>> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>>>>>>>>> | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>>>>>>>>> | Devoxx France <http://www.devoxx.fr/>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> forge-users mailing list
>>>>>>>>> forge-users at lists.jboss.org
>>>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> forge-users mailing list
>>>>>>>>> forge-users at lists.jboss.org
>>>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Antonio Goncalves
>>>>>>>> Software architect and Java Champion
>>>>>>>>
>>>>>>>> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>>>>>>>> | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>>>>>>>> | Devoxx France <http://www.devoxx.fr/>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> forge-users mailing list
>>>>>>>> forge-users at lists.jboss.org
>>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>>>>>
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> forge-users mailing list
>>>>>>>> forge-users at lists.jboss.org
>>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Antonio Goncalves
>>>>>>> Software architect and Java Champion
>>>>>>>
>>>>>>> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>>>>>>> | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>>>>>>> | Devoxx France <http://www.devoxx.fr/>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> forge-users mailing list
>>>>>>> forge-users at lists.jboss.org
>>>>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Lincoln Baxter, III
>>>>>> http://ocpsoft.org
>>>>>> "Simpler is better."
>>>>>>
>>>>>> _______________________________________________
>>>>>> forge-users mailing list
>>>>>> forge-users at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Antonio Goncalves
>>>>> Software architect and Java Champion
>>>>>
>>>>> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>>>>> | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>>>>> | Devoxx France <http://www.devoxx.fr/>
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Antonio Goncalves
>>>> Software architect and Java Champion
>>>>
>>>> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>>>> | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>>>> | Devoxx France <http://www.devoxx.fr/>
>>>>
>>>> _______________________________________________
>>>> forge-users mailing list
>>>> forge-users at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>
>>>>
>>>> _______________________________________________
>>>> forge-users mailing list
>>>> forge-users at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/forge-users
>>>>
>>>
>>>
>>>
>>> --
>>> Antonio Goncalves
>>> Software architect and Java Champion
>>>
>>> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>>> | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>>> | Devoxx France <http://www.devoxx.fr/>
>>>
>>
>>
>>
>> --
>> Antonio Goncalves
>> Software architect and Java Champion
>>
>> Web site <http://www.antoniogoncalves.org/> | Twitter<http://twitter.com/agoncal>
>> | LinkedIn <http://www.linkedin.com/in/agoncal> | Paris JUG<http://www.parisjug.org/>
>> | Devoxx France <http://www.devoxx.fr/>
>>
>> _______________________________________________
>> forge-users mailing list
>> forge-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/forge-users
>>
>
>
>
> --
> Lincoln Baxter, III
> http://ocpsoft.org
> "Simpler is better."
>
> _______________________________________________
> forge-users mailing list
> forge-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-users
>
--
Antonio Goncalves
Software architect and Java Champion
Web site <http://www.antoniogoncalves.org/> |
Twitter<http://twitter.com/agoncal>
| LinkedIn <http://www.linkedin.com/in/agoncal> | Paris
JUG<http://www.parisjug.org/>
| Devoxx France <http://www.devoxx.fr/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-users/attachments/20140106/2639b2e7/attachment-0001.html
More information about the forge-users
mailing list