-
Notifications
You must be signed in to change notification settings - Fork 162
Building Forge
If you’re looking for a development guide for Forge, first read this document.
Building Forge completely from sources may require you to build Furnace, Furnace-CDI, Furnace-Simple and then the Forge codebase.
Furnace is the core runtime providing the modular classloading environment.
Clone the repo (or your fork):
git clone [email protected]:forge/furnace.git
Use https://github.com/forge/furnace.git
instead, if you do not have SSH access.
Build:
mvn clean install
Furnace-CDI supports @Inject-based dependency injection of services into Furnace addons through CDI.
Clone the repo:
git clone [email protected]:forge/furnace-cdi.git
Use https://github.com/forge/furnace-cdi.git
instead, if you do not have access, or clone the repo and use the fork’s URL.
Build:
cd furnace-cdi/ mvn clean install
Furnace-Simple is a Furnace container that provides lifecycle and service registry support for dependent addons.
Clone the repo:
git clone [email protected]:forge/furnace-simple.git
Use https://github.com/forge/furnace-simple.git
instead, if you do not have SSH access.
Build:
cd furnace-simple/ mvn clean install
Clone the repo (or your fork):
git clone [email protected]:forge/core.git
Use https://github.com/forge/core.git
instead, if you do not have access, or clone the repo and use the fork’s URL.
Build:
mvn clean install
The Forge distribution will be present in the dist/target
directory. Unzip and extract to get started:
unzip dist/target/forge-distribution-<release_version>.zip -d ~ export FORGE_HOME=~/forge-distribution-<release_version> export PATH=$FORGE_HOME/bin:$PATH forge
The Forge JBoss Tools plugin will allow you to run Forge inside Eclipse. Build this only when you need to run Forge in Eclipse. The Forge-Core distribution is sufficient for the CLI mode.
Clone the repo (or your fork):
git clone [email protected]:jbosstools/jbosstools-forge.git
mvn clean verify -DskipTests
The Forge artifacts from your local .m2 repository would be included in the JBoss Tools plugins for Forge. You can install them in an Eclipse Kepler installation, by adding $JBOSSTOOLS_FORGE_DIR/site/target/forge.site-1.2.0-SNAPSHOT.zip
as an update site.
Note, you may need to run git clean -fdx
to clean the target directories of older snapshot artifacts.
To use the Maven artifacts from the JBoss Nexus repository instead of your local .m2 repository, run:
mvn -U clean verify
This section applies when you do not wish to build and install the Eclipse plugin in an installation, but just work on the Forge 2 sources and run it as an Eclipse application. This useful when you’re working on the Forge 2 sources instead of your own addons.
Import the following projects from the plugins/ module into your Eclipse workspace:
org.jboss.tools.aesh.core org.jboss.tools.aesh.runtime org.jboss.tools.aesh.ui org.jboss.tools.forge.core org.jboss.tools.forge.core.ext org.jboss.tools.forge.m2e org.jboss.tools.forge.runtime org.jboss.tools.forge.ui org.jboss.tools.forge.ui.ext org.jboss.tools.forge.ui.notifications org.jboss.tools.forge2.runtime
Right-click the org.jboss.tools.forge.ui.ext project, and choose Run As → Eclipse Application.
Important
|
If you are unable to run the project as an Eclipse application, the reason is that you don’t have the Tycho M2 Provider installed. If that’s the case, install it via this update site: http://repository.tesla.io:8081/nexus/content/sites/m2e.extras/m2eclipse-tycho/0.7.0/N/0.7.0.201309291400/ |
Right click the org.jboss.tools.forge.ui.ext project, choose Run As → Run Configurations.. and set the VM arguments to: -Xmx1024m -XX:MaxPermSize=256m