[JBoss JIRA] (FORGE-1313) Support commands without UI
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-1313?page=com.atlassian.jira.plugin... ]
George Gastaldi closed FORGE-1313.
----------------------------------
Assignee: George Gastaldi
Fix Version/s: 2.0.0.Final
(was: 2.x Future)
Resolution: Done
> Support commands without UI
> ---------------------------
>
> Key: FORGE-1313
> URL: https://issues.jboss.org/browse/FORGE-1313
> Project: Forge
> Issue Type: Feature Request
> Components: UI - API, UI - Eclipse
> Affects Versions: 2.0.0.Beta2
> Reporter: George Gastaldi
> Assignee: George Gastaldi
> Fix For: 2.0.0.Final
>
>
> Some commands/steps may not need a UI for the user to interact during a wizard. The underlying UI provider should skip it during UI interaction, then execute during execution.
> We could assume that this happens when no input is added to the UIBuilder in the initializeUI method
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 3 months
[JBoss JIRA] (FORGE-1439) Verbose output is missing
by Lincoln Baxter III (JIRA)
[ https://issues.jboss.org/browse/FORGE-1439?page=com.atlassian.jira.plugin... ]
Lincoln Baxter III closed FORGE-1439.
-------------------------------------
> Verbose output is missing
> -------------------------
>
> Key: FORGE-1439
> URL: https://issues.jboss.org/browse/FORGE-1439
> Project: Forge
> Issue Type: Sub-task
> Components: UI - Shell
> Affects Versions: 2.0.0.Beta4
> Reporter: Antonio Goncalves
> Assignee: Lincoln Baxter III
> Fix For: 2.0.0.Final
>
>
> This might have a different setting in Forge 2.x, but I really miss having a verbose output of my commands. In Forge 1.x I have the following :
> {code}
> [no project] Forge $ new-project --named forge1 --topLevelPackage org.forge1.test --type war --finalName toto
> ***SUCCESS*** Created project [forge1] in new working directory [/Users/antoniombp/Documents/Code/temp/Forge/forge1]
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/forge1
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/forge1/pom.xml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/forge1/src/main/webapp
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/forge1/src/main/java
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/forge1/src/test/java
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/forge1/src/main/resources
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/forge1/src/test/resources
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/forge1/src/main/java/org/forge1/test
> {code}
> And in Forge 2.Beta I only have
> {code}
> [Forge]$ project-new --named forge2 --topLevelPackage org.forge2.test --type war
> ***SUCCESS*** Project named 'forge2' has been created.
> {code}
> As a geek (and Forge is made for geeks), it really helps to see what's happening. Again, that might be a new setting in Forge 2.Beta that I'm not aware off.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 3 months
[JBoss JIRA] (FORGE-1482) Being able to turn off verbose output
by George Gastaldi (JIRA)
[ https://issues.jboss.org/browse/FORGE-1482?page=com.atlassian.jira.plugin... ]
George Gastaldi commented on FORGE-1482:
----------------------------------------
--set would be a good option too
> Being able to turn off verbose output
> -------------------------------------
>
> Key: FORGE-1482
> URL: https://issues.jboss.org/browse/FORGE-1482
> Project: Forge
> Issue Type: Sub-task
> Components: UI - Shell
> Affects Versions: 2.0.0.CR1
> Reporter: Antonio Goncalves
> Fix For: 2.x Future
>
>
> In [FORGE-1439] the verbose output has been implemented using the command :
> {code}
> transaction-track-changes
> {code}
> But once it's on, there is no way to turn it off. You can add a parameter to it
> {code}
> transaction-track-changes --verbose true
> transaction-track-changes --verbose false
> {code}
> I would have use the {{export}} for this matter
> {code}
> export VERBOSE_OUTPUT= true
> export VERBOSE_OUTPUT= false
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 3 months
[JBoss JIRA] (FORGE-1486) NoTransactionAssociatedException when setting up scaffolding
by Lincoln Baxter III (JIRA)
[ https://issues.jboss.org/browse/FORGE-1486?page=com.atlassian.jira.plugin... ]
Lincoln Baxter III commented on FORGE-1486:
-------------------------------------------
Hmm. This seemed to work fine for me:
{code}
***SUCCESS*** Resource change tracking is ON.
[scaffold1]$ scaffold-setup
Downloading: http://repository.jboss.org/nexus/content/groups/public/org/hibernate/jav...
Downloaded: http://repository.jboss.org/nexus/content/groups/public/org/hibernate/jav... (665 B at 0.7 KB/sec)
Wrote /Users/lb3/Desktop/temp/scaffold1/pom.xml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/resources
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/resources/META-INF
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/resources/META-INF
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/resources/META-INF/persistence.xml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/resources/META-INF/persistence.xml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/resources/META-INF/persistence.xml
Wrote /Users/lb3/Desktop/temp/scaffold1/pom.xml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/WEB-INF
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/WEB-INF
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/WEB-INF/beans.xml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/WEB-INF/beans.xml
Wrote /Users/lb3/Desktop/temp/scaffold1/pom.xml
Wrote /Users/lb3/Desktop/temp/scaffold1/pom.xml
Wrote /Users/lb3/Desktop/temp/scaffold1/pom.xml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/WEB-INF
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/WEB-INF/faces-config.xml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/WEB-INF/faces-config.xml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/WEB-INF
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/WEB-INF/web.xml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/WEB-INF/web.xml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/error.xhtml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/error.xhtml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/index.html
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/index.html
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/index.xhtml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/index.xhtml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/add.png
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/add.png
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/bootstrap.css
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/bootstrap.css
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/false.png
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/false.png
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/favicon.ico
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/favicon.ico
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/forge-logo.png
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/forge-logo.png
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/forge-style.css
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/forge-style.css
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/jboss-community.png
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/jboss-community.png
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/remove.png
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/remove.png
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/scaffold
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/scaffold
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/scaffold/pageTemplate.xhtml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/scaffold/pageTemplate.xhtml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/scaffold/paginator.xhtml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/scaffold/paginator.xhtml
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/search.png
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/search.png
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/true.png
Wrote /Users/lb3/Desktop/temp/scaffold1/src/main/webapp/resources/true.png
***SUCCESS*** Persistence (JPA) is installed.
***SUCCESS*** CDI has been installed.
***SUCCESS*** EJB has been installed.
***SUCCESS*** Servlet API has been installed.
***SUCCESS*** JavaServer Faces has been installed.
***SUCCESS*** Scaffold was setup successfully.
[persistence.xml]$
{code}
> NoTransactionAssociatedException when setting up scaffolding
> ------------------------------------------------------------
>
> Key: FORGE-1486
> URL: https://issues.jboss.org/browse/FORGE-1486
> Project: Forge
> Issue Type: Sub-task
> Components: UI - Shell
> Affects Versions: 2.0.0.CR1
> Reporter: Antonio Goncalves
> Fix For: 2.x Future
>
>
> I've allowed to have track changes ({{transaction-track-changes}}), and then I setup scaffolding ({{scaffold-setup}}) and I get
> {code}
> [Book.java]$ scaffold-setup
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/pom.xml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/WEB-INF
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/WEB-INF
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/WEB-INF/beans.xml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/WEB-INF/beans.xml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/pom.xml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/WEB-INF
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/WEB-INF/faces-config.xml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/WEB-INF/faces-config.xml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/WEB-INF
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/WEB-INF/web.xml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/WEB-INF/web.xml
> Exception in thread "Resource File Monitor" Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/error.xhtml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/error.xhtml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/index.html
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/index.html
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/index.xhtml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/index.xhtml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/add.png
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/add.png
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/bootstrap.css
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/bootstrap.css
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/false.png
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/false.png
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/favicon.ico
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/favicon.ico
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/forge-logo.png
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/forge-logo.png
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/forge-style.css
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/forge-style.css
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/jboss-community.png
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/jboss-community.png
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/remove.png
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/remove.png
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/scaffold
> org.jboss.forge.addon.resource.transaction.ResourceTransactionException: org.xadisk.filesystem.exceptions.NoTransactionAssociatedException: The method that was called can only be called with a transaction associated, butthere is no such transaction present.Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/scaffold
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/scaffold/pageTemplate.xhtml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/scaffold/pageTemplate.xhtml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/scaffold/paginator.xhtml
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/scaffold/paginator.xhtml
> at org.jboss.forge.addon.resource.transaction.file.FileResourceTransactionImpl.fileExistsAndIsDirectory(FileResourceTransactionImpl.java:245)W
> rote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/search.png
> at org.jboss.forge.addon.resource.FileResourceGenerator.getResourceType(FileResourceGenerator.java:29)
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/search.png at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
> Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/true.png
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)Wrote /Users/antoniombp/Documents/Code/temp/Forge/pluralsight-persistence/src/main/webapp/resources/true.png
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor$1.call(ClassLoaderInterceptor.java:59)
> at org.jboss.forge.furnace.util.ClassLoaders.executeIn(ClassLoaders.java:34)
> ***SUCCESS*** CDI has been installed. at org.jboss.forge.furnace.proxy.ClassLoaderInterceptor.invoke(ClassLoaderInterceptor.java:75)
> at org.jboss.forge.addon.resource.FileResourceGenerator_$$_javassist_bdd19dce-9677-4c5e-b872-98bfee50bfed.getResourceType(FileResourceGenerator_$$_javassist_bdd19dce-9677-4c5e-b872-98bfee50bfed.java)***SUCCESS***
> JavaServer Faces has been installed.
> at org.jboss.forge.addon.resource.FileResourceGenerator.getResourceType(FileResourceGenerator.java:5)
> ***SUCCESS*** at org.jboss.forge.addon.resource.ResourceFactoryImpl.create(ResourceFactoryImpl.java:64)Scaffold was setup successfully.
> at org.jboss.forge.addon.resource.monitor.FileAlterationListenerAdapter.onFileChange(FileAlterationListenerAdapter.java:64)
> at org.apache.commons.io.monitor.FileAlterationObserver.doMatch(FileAlterationObserver.java:400)
> at org.apache.commons.io.monitor.FileAlterationObserver.checkAndNotify(FileAlterationObserver.java:334)
> at org.apache.commons.io.monitor.FileAlterationObserver.checkAndNotify(FileAlterationObserver.java:304)
> at org.apache.commons.io.monitor.FileAlterationMonitor.run(FileAlterationMonitor.java:182)
> at java.lang.Thread.run(Thread.java:744)
> Caused by: org.xadisk.filesystem.exceptions.NoTransactionAssociatedException: The method that was called can only be called with a transaction associated, butthere is no such transaction present.
> at org.xadisk.filesystem.NativeSession.checkIfCanContinue(NativeSession.java:1231)
> at org.xadisk.filesystem.NativeSession.fileExistsAndIsDirectory(NativeSession.java:445)
> at org.xadisk.filesystem.NativeSession.fileExistsAndIsDirectory(NativeSession.java:434)
> at org.jboss.forge.addon.resource.transaction.file.FileResourceTransactionImpl.fileExistsAndIsDirectory(FileResourceTransactionImpl.java:232)
> ... 16 more
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 3 months
[JBoss JIRA] (FORGE-944) Establish CLI naming guidelines for Forge 2
by Lincoln Baxter III (JIRA)
[ https://issues.jboss.org/browse/FORGE-944?page=com.atlassian.jira.plugin.... ]
Lincoln Baxter III updated FORGE-944:
-------------------------------------
Summary: Establish CLI naming guidelines for Forge 2 (was: Thoughts on CLI renaming on Forge 2)
> Establish CLI naming guidelines for Forge 2
> -------------------------------------------
>
> Key: FORGE-944
> URL: https://issues.jboss.org/browse/FORGE-944
> Project: Forge
> Issue Type: Enhancement
> Components: Brainstorming
> Affects Versions: 2.x Future
> Reporter: Antonio Goncalves
> Priority: Optional
> Labels: cli, renaming
> Fix For: 2.x Future
>
>
> I was talking about having CLI naming conventions on the forum and George and Lincoln suggested to add these ideas on a JIRA. So here is my humble contribution to record all the ideas about renaming commands.
> Disclaimer : I haven't used Forge for a long time, I've just started using it again, so some of the following ideas might not be accurate
> As a new comer in Forge I felt the commands were not that intuitive. I loved the following :
> {code}
> java new-enum-type
> java new-itnerface
> java new-class
> {code}
>
> So I was expecting to have something similar in all the other techologies, such as JPA :
> {code}
> jpa new-entity (instead of entity --named)
> jpa new-embedable
> jpa new-mapped-superclass --named Person
> jpa new-entity --named Vet --extends Person
> {code}
> Lincoln suggested having single-level command keywords only such as :
> {code}
> jpa-new-entity (instead of entity --named)
> jpa-new-embedable
> jpa-new-mapped-superclass --named Person
> jpa-new-entity --named Vet --extends Person
> {code}
> h3. Verbs and keywords
> When you look at the commansd, there are several common verbs and keywords than come often :
> {code}
> add : ejb-add-transaction-attribute
> new : beans-new-bean, faces-new-view, new-project (prefer project-new)
> list : list-web-resources, beans list-interceptors, beans list-alternatives, list-scaffold-providers
> setup : ejb setup, entity setup
> put : i18n put
> remove : i18n remove, project remove-property
> execute : execute-java
> set : maven set-groupid
> find : forge find-plugin
> install :
> update : forge update-abort, gitignore update-repo
> run : run-url
> info : analytics info
> {code}
> That brings several thoughts :
> * {{ls}} is used as well as {{list}}, should this be homogenize (e.g. beans-ls-interceptors)
> * {{rm}} is used as well as {{remove}}, should this be homogenize (e.g. i18n-rm, project-rm-property)
> * The difference between {{execute}} and {{run}} is not clear, should this be homogenize and only use one ?
> * Also there is {{execute}} and {{exec}}, this should be homogenize (e.g. {{execute-java}} and {{exec}})
> * Confusion between {{new}} and {{add}}. You create a new class with {{java-new-class}} and shouldn't you add a field and a method to existing class ({{java-add-field}} instead of {{java-new-field}})
> * Some confusion between {{maven}} and {{project}}
> * Is there any difference between {{set}} and {{update}} ? {{maven set-artifactid}} updates the already existing artifactId and {{gitignore update-repo}} updates an existing repo
> * we use {{field}} (e.g. {{java-add-field}}) and then property ({{constraint Future --onProperty date}}), it should be fiels ({{constraint Future --onField date}})
> In many commands you find a type argument such as ({{type}}, {{scaffoldType}}, {{fieldType}} :
> {code}
> scaffold setup --scaffoldType faces
> field manyToMany --named specialties --fieldType ~.model.Specialty.java
> field temporal --type DATE --named date
> {code}
> Why not having only {{type}} in all the cases :
> {code}
> scaffold-setup --type faces
> jpa-add-field manyToMany --named specialties --type ~.model.Specialty.java
> jpa-add-field temporal --named date --type DATE
> {code}
> h3. Grammar
> The CLI grammar could look like this :
> {code}
> command = shell | forge command ;
> forge command = technology,-action,[-artifact] [{--argument value}] ;
> shell = cat | cd | cp | edit | find | grep | ls ...
> technology = project | scaffold | beans | constraint | java | jpa | i18n | ejb ...
> action = add | new | ls | rm | setup ...
> artifact = providers | interceptors | class | filter...
> argument = named | onField | type | extends
> {code}
> h3. Examples
> So if we take that grammar and apply single-level command keywords, we could have things like that :
> {code}
> mkdir
> ls
> ls-commands -all
> project-new --named MyPro
> scaffold-ls-providers
> scaffold-templates --scaffoldType faces
> beans-ls-interceptors
> constraint-new-constraint --named MyConstraint
> constraint-add-constraint MyConstraint --onField MyProp
> java-new-class --named MyClass
> java-add-field 'private List<Vet> vets'
> java-add-method 'public List<Vet> getVetList() {return null;}'
> java-add-annotation --type XmlRootElement --onClass MyClass
> java-add-annotation --type XmlAttribute --onField MyProp
> jpa-new-mapped-superclass --named Person
> jpa-new-entity --named Vet --extends Person
> jpa-add-field manyToOne --named owner --type ~.model.Owner.java
> i18n-add-locale --locale PT
> ejb-new-stateless --named MyStateless
> ejb-new-singleton --named MySingleton --implements MyInterface AndAnotherInterface
> ejb-add-transaction-attribute --type NEVER
> ejb-add-transaction-attribute --type NEVER --onMethod MyNeverMethod
> faces-new-view --named MyView
> faces-set-project-stage --stage PRODUCTION
> servlet-new-filter --named MyFilter
> rest-new-endpoint --named MyEndpoint --extends MyRestExtension
> mvn-build --notest
> {code}
> Scaffolding is a bit tricky because it's extendable and you could end up with
> {code}
> scaffold-ui-from-entity ~.model.*
> scaffold-rest-endpoint-from-entity ~.model.*
> scaffold-dao-from-entity ~.model.*
> scaffold-ejb-service-from-dao ~.dao.*
> scaffold-rest-endpoint-from-dao ~.dao.*
> {code}
> Or something like that
> {code}
> scaffold --ui --from-entity ~.model.*
> scaffold --rest-endpoint --from-entity ~.model.*
> scaffold --dao --from-entity ~.model.*
> scaffold --ejb-service --from-dao ~.dao.*
> scaffold --rest-endpoint --from-dao ~.dao.*
> {code}
> Here are my 2 cents thoughts on a topic that I'm discovering. As you all know, naming is really important and should be looked at carefully. Let's use this JIRA to exchange ideas.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 3 months
[JBoss JIRA] (FORGE-944) Thoughts on CLI renaming on Forge 2
by Lincoln Baxter III (JIRA)
[ https://issues.jboss.org/browse/FORGE-944?page=com.atlassian.jira.plugin.... ]
Lincoln Baxter III reopened FORGE-944:
--------------------------------------
> Thoughts on CLI renaming on Forge 2
> -----------------------------------
>
> Key: FORGE-944
> URL: https://issues.jboss.org/browse/FORGE-944
> Project: Forge
> Issue Type: Enhancement
> Components: Brainstorming
> Affects Versions: 2.x Future
> Reporter: Antonio Goncalves
> Priority: Optional
> Labels: cli, renaming
> Fix For: 2.x Future
>
>
> I was talking about having CLI naming conventions on the forum and George and Lincoln suggested to add these ideas on a JIRA. So here is my humble contribution to record all the ideas about renaming commands.
> Disclaimer : I haven't used Forge for a long time, I've just started using it again, so some of the following ideas might not be accurate
> As a new comer in Forge I felt the commands were not that intuitive. I loved the following :
> {code}
> java new-enum-type
> java new-itnerface
> java new-class
> {code}
>
> So I was expecting to have something similar in all the other techologies, such as JPA :
> {code}
> jpa new-entity (instead of entity --named)
> jpa new-embedable
> jpa new-mapped-superclass --named Person
> jpa new-entity --named Vet --extends Person
> {code}
> Lincoln suggested having single-level command keywords only such as :
> {code}
> jpa-new-entity (instead of entity --named)
> jpa-new-embedable
> jpa-new-mapped-superclass --named Person
> jpa-new-entity --named Vet --extends Person
> {code}
> h3. Verbs and keywords
> When you look at the commansd, there are several common verbs and keywords than come often :
> {code}
> add : ejb-add-transaction-attribute
> new : beans-new-bean, faces-new-view, new-project (prefer project-new)
> list : list-web-resources, beans list-interceptors, beans list-alternatives, list-scaffold-providers
> setup : ejb setup, entity setup
> put : i18n put
> remove : i18n remove, project remove-property
> execute : execute-java
> set : maven set-groupid
> find : forge find-plugin
> install :
> update : forge update-abort, gitignore update-repo
> run : run-url
> info : analytics info
> {code}
> That brings several thoughts :
> * {{ls}} is used as well as {{list}}, should this be homogenize (e.g. beans-ls-interceptors)
> * {{rm}} is used as well as {{remove}}, should this be homogenize (e.g. i18n-rm, project-rm-property)
> * The difference between {{execute}} and {{run}} is not clear, should this be homogenize and only use one ?
> * Also there is {{execute}} and {{exec}}, this should be homogenize (e.g. {{execute-java}} and {{exec}})
> * Confusion between {{new}} and {{add}}. You create a new class with {{java-new-class}} and shouldn't you add a field and a method to existing class ({{java-add-field}} instead of {{java-new-field}})
> * Some confusion between {{maven}} and {{project}}
> * Is there any difference between {{set}} and {{update}} ? {{maven set-artifactid}} updates the already existing artifactId and {{gitignore update-repo}} updates an existing repo
> * we use {{field}} (e.g. {{java-add-field}}) and then property ({{constraint Future --onProperty date}}), it should be fiels ({{constraint Future --onField date}})
> In many commands you find a type argument such as ({{type}}, {{scaffoldType}}, {{fieldType}} :
> {code}
> scaffold setup --scaffoldType faces
> field manyToMany --named specialties --fieldType ~.model.Specialty.java
> field temporal --type DATE --named date
> {code}
> Why not having only {{type}} in all the cases :
> {code}
> scaffold-setup --type faces
> jpa-add-field manyToMany --named specialties --type ~.model.Specialty.java
> jpa-add-field temporal --named date --type DATE
> {code}
> h3. Grammar
> The CLI grammar could look like this :
> {code}
> command = shell | forge command ;
> forge command = technology,-action,[-artifact] [{--argument value}] ;
> shell = cat | cd | cp | edit | find | grep | ls ...
> technology = project | scaffold | beans | constraint | java | jpa | i18n | ejb ...
> action = add | new | ls | rm | setup ...
> artifact = providers | interceptors | class | filter...
> argument = named | onField | type | extends
> {code}
> h3. Examples
> So if we take that grammar and apply single-level command keywords, we could have things like that :
> {code}
> mkdir
> ls
> ls-commands -all
> project-new --named MyPro
> scaffold-ls-providers
> scaffold-templates --scaffoldType faces
> beans-ls-interceptors
> constraint-new-constraint --named MyConstraint
> constraint-add-constraint MyConstraint --onField MyProp
> java-new-class --named MyClass
> java-add-field 'private List<Vet> vets'
> java-add-method 'public List<Vet> getVetList() {return null;}'
> java-add-annotation --type XmlRootElement --onClass MyClass
> java-add-annotation --type XmlAttribute --onField MyProp
> jpa-new-mapped-superclass --named Person
> jpa-new-entity --named Vet --extends Person
> jpa-add-field manyToOne --named owner --type ~.model.Owner.java
> i18n-add-locale --locale PT
> ejb-new-stateless --named MyStateless
> ejb-new-singleton --named MySingleton --implements MyInterface AndAnotherInterface
> ejb-add-transaction-attribute --type NEVER
> ejb-add-transaction-attribute --type NEVER --onMethod MyNeverMethod
> faces-new-view --named MyView
> faces-set-project-stage --stage PRODUCTION
> servlet-new-filter --named MyFilter
> rest-new-endpoint --named MyEndpoint --extends MyRestExtension
> mvn-build --notest
> {code}
> Scaffolding is a bit tricky because it's extendable and you could end up with
> {code}
> scaffold-ui-from-entity ~.model.*
> scaffold-rest-endpoint-from-entity ~.model.*
> scaffold-dao-from-entity ~.model.*
> scaffold-ejb-service-from-dao ~.dao.*
> scaffold-rest-endpoint-from-dao ~.dao.*
> {code}
> Or something like that
> {code}
> scaffold --ui --from-entity ~.model.*
> scaffold --rest-endpoint --from-entity ~.model.*
> scaffold --dao --from-entity ~.model.*
> scaffold --ejb-service --from-dao ~.dao.*
> scaffold --rest-endpoint --from-dao ~.dao.*
> {code}
> Here are my 2 cents thoughts on a topic that I'm discovering. As you all know, naming is really important and should be looked at carefully. Let's use this JIRA to exchange ideas.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 3 months
[JBoss JIRA] (FORGE-944) Thoughts on CLI renaming on Forge 2
by Lincoln Baxter III (JIRA)
[ https://issues.jboss.org/browse/FORGE-944?page=com.atlassian.jira.plugin.... ]
Lincoln Baxter III closed FORGE-944.
------------------------------------
Resolution: Done
Closing this as done. I think we can come back to reference this if we get confused. This new strategy is working quite well. Thanks Antonio!
> Thoughts on CLI renaming on Forge 2
> -----------------------------------
>
> Key: FORGE-944
> URL: https://issues.jboss.org/browse/FORGE-944
> Project: Forge
> Issue Type: Enhancement
> Components: Brainstorming
> Affects Versions: 2.x Future
> Reporter: Antonio Goncalves
> Priority: Optional
> Labels: cli, renaming
> Fix For: 2.x Future
>
>
> I was talking about having CLI naming conventions on the forum and George and Lincoln suggested to add these ideas on a JIRA. So here is my humble contribution to record all the ideas about renaming commands.
> Disclaimer : I haven't used Forge for a long time, I've just started using it again, so some of the following ideas might not be accurate
> As a new comer in Forge I felt the commands were not that intuitive. I loved the following :
> {code}
> java new-enum-type
> java new-itnerface
> java new-class
> {code}
>
> So I was expecting to have something similar in all the other techologies, such as JPA :
> {code}
> jpa new-entity (instead of entity --named)
> jpa new-embedable
> jpa new-mapped-superclass --named Person
> jpa new-entity --named Vet --extends Person
> {code}
> Lincoln suggested having single-level command keywords only such as :
> {code}
> jpa-new-entity (instead of entity --named)
> jpa-new-embedable
> jpa-new-mapped-superclass --named Person
> jpa-new-entity --named Vet --extends Person
> {code}
> h3. Verbs and keywords
> When you look at the commansd, there are several common verbs and keywords than come often :
> {code}
> add : ejb-add-transaction-attribute
> new : beans-new-bean, faces-new-view, new-project (prefer project-new)
> list : list-web-resources, beans list-interceptors, beans list-alternatives, list-scaffold-providers
> setup : ejb setup, entity setup
> put : i18n put
> remove : i18n remove, project remove-property
> execute : execute-java
> set : maven set-groupid
> find : forge find-plugin
> install :
> update : forge update-abort, gitignore update-repo
> run : run-url
> info : analytics info
> {code}
> That brings several thoughts :
> * {{ls}} is used as well as {{list}}, should this be homogenize (e.g. beans-ls-interceptors)
> * {{rm}} is used as well as {{remove}}, should this be homogenize (e.g. i18n-rm, project-rm-property)
> * The difference between {{execute}} and {{run}} is not clear, should this be homogenize and only use one ?
> * Also there is {{execute}} and {{exec}}, this should be homogenize (e.g. {{execute-java}} and {{exec}})
> * Confusion between {{new}} and {{add}}. You create a new class with {{java-new-class}} and shouldn't you add a field and a method to existing class ({{java-add-field}} instead of {{java-new-field}})
> * Some confusion between {{maven}} and {{project}}
> * Is there any difference between {{set}} and {{update}} ? {{maven set-artifactid}} updates the already existing artifactId and {{gitignore update-repo}} updates an existing repo
> * we use {{field}} (e.g. {{java-add-field}}) and then property ({{constraint Future --onProperty date}}), it should be fiels ({{constraint Future --onField date}})
> In many commands you find a type argument such as ({{type}}, {{scaffoldType}}, {{fieldType}} :
> {code}
> scaffold setup --scaffoldType faces
> field manyToMany --named specialties --fieldType ~.model.Specialty.java
> field temporal --type DATE --named date
> {code}
> Why not having only {{type}} in all the cases :
> {code}
> scaffold-setup --type faces
> jpa-add-field manyToMany --named specialties --type ~.model.Specialty.java
> jpa-add-field temporal --named date --type DATE
> {code}
> h3. Grammar
> The CLI grammar could look like this :
> {code}
> command = shell | forge command ;
> forge command = technology,-action,[-artifact] [{--argument value}] ;
> shell = cat | cd | cp | edit | find | grep | ls ...
> technology = project | scaffold | beans | constraint | java | jpa | i18n | ejb ...
> action = add | new | ls | rm | setup ...
> artifact = providers | interceptors | class | filter...
> argument = named | onField | type | extends
> {code}
> h3. Examples
> So if we take that grammar and apply single-level command keywords, we could have things like that :
> {code}
> mkdir
> ls
> ls-commands -all
> project-new --named MyPro
> scaffold-ls-providers
> scaffold-templates --scaffoldType faces
> beans-ls-interceptors
> constraint-new-constraint --named MyConstraint
> constraint-add-constraint MyConstraint --onField MyProp
> java-new-class --named MyClass
> java-add-field 'private List<Vet> vets'
> java-add-method 'public List<Vet> getVetList() {return null;}'
> java-add-annotation --type XmlRootElement --onClass MyClass
> java-add-annotation --type XmlAttribute --onField MyProp
> jpa-new-mapped-superclass --named Person
> jpa-new-entity --named Vet --extends Person
> jpa-add-field manyToOne --named owner --type ~.model.Owner.java
> i18n-add-locale --locale PT
> ejb-new-stateless --named MyStateless
> ejb-new-singleton --named MySingleton --implements MyInterface AndAnotherInterface
> ejb-add-transaction-attribute --type NEVER
> ejb-add-transaction-attribute --type NEVER --onMethod MyNeverMethod
> faces-new-view --named MyView
> faces-set-project-stage --stage PRODUCTION
> servlet-new-filter --named MyFilter
> rest-new-endpoint --named MyEndpoint --extends MyRestExtension
> mvn-build --notest
> {code}
> Scaffolding is a bit tricky because it's extendable and you could end up with
> {code}
> scaffold-ui-from-entity ~.model.*
> scaffold-rest-endpoint-from-entity ~.model.*
> scaffold-dao-from-entity ~.model.*
> scaffold-ejb-service-from-dao ~.dao.*
> scaffold-rest-endpoint-from-dao ~.dao.*
> {code}
> Or something like that
> {code}
> scaffold --ui --from-entity ~.model.*
> scaffold --rest-endpoint --from-entity ~.model.*
> scaffold --dao --from-entity ~.model.*
> scaffold --ejb-service --from-dao ~.dao.*
> scaffold --rest-endpoint --from-dao ~.dao.*
> {code}
> Here are my 2 cents thoughts on a topic that I'm discovering. As you all know, naming is really important and should be looked at carefully. Let's use this JIRA to exchange ideas.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 3 months
[JBoss JIRA] (FORGE-1487) Columns do not line up on certain CLI outputs
by Lincoln Baxter III (JIRA)
[ https://issues.jboss.org/browse/FORGE-1487?page=com.atlassian.jira.plugin... ]
Lincoln Baxter III updated FORGE-1487:
--------------------------------------
Issue Type: Enhancement (was: Feature Request)
> Columns do not line up on certain CLI outputs
> ---------------------------------------------
>
> Key: FORGE-1487
> URL: https://issues.jboss.org/browse/FORGE-1487
> Project: Forge
> Issue Type: Enhancement
> Components: UI - Shell
> Affects Versions: 2.0.0.CR1
> Reporter: Lincoln Baxter III
>
> {code}
> [core]$ ls
> CONTRIBUTING.md configuration dist maven scaffold
> LICENSE convert eclipse-code-formatter-profile.xml parser-java shell
> README.asciidoc core environment parser-xml templates
> addon-manager database-tools facets pom.xml text
> addons dependencies forge-install.bsh projects ui
> bootstrap dev-tools-java javaee resources
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 3 months