To start, a little background information on Forge for those who are not yet familiar with it.

 

  • Forge is a next-generation project generation and enhancement tool designed to facilitate both rapid application development, and also plug-in/tool development for all developers. If Forge doesn't do something you want, write a plug-in and quickly share your new ideas.
  • You can find the project homepage here, at http://bit.ly/seamforge

 

 

To get started quickly, follow these simple steps:

 

  1. Download and Un-zip Forge into a folder on your hard-disk, this folder will be your FORGE_HOME
  2. Add '$FORGE_HOME/bin' to your path (windows, linux/mac)
  3. Open a command prompt and run 'forge'

 

* Note: You will also need a Java 6 JRE and Apache Maven to run Forge projects.

 

That's it, you've now got Forge installed, but what to do next?

 

There are a few things you should probably check-out. If you are confused at any time, try pressing <TAB>. For instance, if you have not yet seen the Forge built-in commands, you may either press <TAB> to see a list of the currently available commands, or get a more descriptive list by using:

 

  1. list-commands --all

 

To build a barebones scaffolding project, you can follow these steps:

 

 

  1. new-project --named {projectname} --topLevelPackage {com.yourpackage}
  2. install forge.scaffold
  3. new-entity --named Person
  4. new-field string --fieldName firstName
  5. new-field string --fieldName lastName
  6. cd ..
  7. scaffold generate-metawidget-jsf *.java

 

 

Now refresh or redeploy your application on JBoss Application Server and visit:

 

 

  1. http://localhost:8080/{projectname}/faces/scaffold/person/view.xhtml

 

 

Forge is *not* feature-complete, and in fact, many features are still under heavy development; with that said, comments, feedback, and tinkering are more than welcome!

Get involved

If you would like to get involved in this project, please visit the Forge homepage or visit the #seam-dev IRC channel: freenode.net#seam-dev and ask about "Forge" If you have an idea for a plugin or improvement, and would like to do some "forgestorming", submit it here.

 

Take a look at the source code to see how simple it is to develop a quick little plugin!