JBoss Forge 2.0.0.Beta4 is now available!
We are pleased to announce the release of JBoss Forge 2.0.0.Beta4, a Forge Runtime that features a streamlined programming model for Addon developers as well as a wide array of new Commands for developing Java EE applications.
In this version, we did a lot of refactoring, making it easier for new UI providers (other IDEs) to interact with our UI addon.
- Try out Forge 2 in Eclipse via our Update Site
- Use Forge 2 in your CLI / Terminal by downloading and installing the Beta4 release. You can learn how to run the downloaded installation via our docs.
JDK 7 minimum runtime
From Beta4 and onward, Forge 2 and Furnace require JDK 7 as the minimum runtime requirement. Java 6 has been around for quite some time, and while we are sorry that some of you may be required to upgrade to Java 7 to use Forge, we are pleased to help move Java forward as a community, and continue to support the latest language version.
Scaffold is now available
Support for JavaServer Faces scaffolding is now complete. Stay tuned for an introductory video coming soon. This provides the same scaffold functionality that Forge 1 provided, but the commands have been refactored slightly to work better in the Forge 2 environment.
New and Re-named Commands
In order to achieve a consistent user experience, `new-project` has been renamed to `project-new`, and several Shell-only commands have been migrated (eg. mkdir, touch) – we will continue to bring more standard shell functionality to Forge 2, but if you would like something prioritized, please feel free to file an issue in the JBoss Forge JIRA or in the Forums
Release Notes
39 issues were resolved in this release. Check out all the new stuff!
Bug
- [FORGE-875] – the `scaffold setup —scaffoldType faces;` command. failed to create beans.xml
- [FORGE-1314] – Faces setup should create an empty faces-config.xml
- [FORGE-1321] – Failure to install addons when using secure repositories
- [FORGE-1347] – Subflow order is incorrect when changes are made in the fields of the currently displayed command
- [FORGE-1353] – getValue() for UIInput<File> and UIInput<FileResource> should return null if the input path value is an empty string
- [FORGE-1356] – UIContextListeners.destroy listeners are not called after the command is executed
- [FORGE-1357] – 'exit' hangs the console instead of terminating Forge
- [FORGE-1368] – Required shell options should not be highlighted when default values are available
- [FORGE-1372] – WizardCommandController must not cache initialized commands
- [FORGE-1378] – Furnace maven plugin ignores the settings used in the Maven session
Component Upgrade
- [FORGE-1338] – Make JDK 7 the minimum runtime requirement
- [FORGE-1352] – Upgrade to jboss-parent 12
Enhancement
- [FORGE-162] – Reload the current project/resource metadata when filesystem changes occur
- [FORGE-808] – Design the next-generation scaffold addon
- [FORGE-1315] – Command and Wizard Testers should return Results on execute()/finish()
- [FORGE-1316] – facet.get****Folder() should be renamed to facet.get****Directory() for consistency with DirectoryResource
- [FORGE-1377] – Rename UIValidationMessage to UIMessage
Feature Request
- [FORGE-934] – Provide method "public void visitResources(ResourceVisitor visitor);" in ResourceFacet
- [FORGE-1153] – ForgeDeployableContainer should allow specifying a different classifier
- [FORGE-1210] – PostStartup and PreShutdown should be fired to all addons, and include the addon being started/stopped.
- [FORGE-1274] – Move/Encapsulate Aesh as implementation detail until its APIs better support Proxying
- [FORGE-1324] – 'forge —install addon' should restrict to the latest compatible major running version
- [FORGE-1325] – Forge should provide a ProgressMonitor feature to allow commands to report progress
- [FORGE-1340] – MavenContainer should return exceptions stored in the Aether result objects
- [FORGE-1344] – 'forge —install addon' should not install SNAPSHOT versions if released versions are available
- [FORGE-1348] – Port the ResourceUtil class to Forge 2
- [FORGE-1376] – Introduce UINavigationContext
Quality Risk
- [FORGE-1334] – Addon installation "forge -i core" takes forever and repeatedly downloads metadata files
Task
- [FORGE-1370] – Update Forge 2 shell launch scripts to require Java 7
Sub-task
- [FORGE-1328] – Rename addon commands
- [FORGE-1329] – —named or —xxxname ?
- [FORGE-1330] – Rename new-project
- [FORGE-1331] – Rename list-services
- [FORGE-1332] – No default nor completion for —typeName
- [FORGE-1339] – Mandatory attributes in CLI
- [FORGE-1349] – Port the Resources API methods in ResourceUtil
- [FORGE-1364] – Tab completion in filesystem appends extra trailing `/` slash to paths
- [FORGE-1374] – Need an `mkdir` command
- [FORGE-1375] – Need a `touch` command