Furnace - Manager Maven Resolver

A light-weight module container.

License

License

Categories

Categories

JBoss Container Application Servers Maven Build Tools
GroupId

GroupId

org.jboss.forge.furnace
ArtifactId

ArtifactId

furnace-manager-resolver-maven-3.0.x
Last Version

Last Version

2.0.0.Alpha9
Release Date

Release Date

Type

Type

jar
Description

Description

Furnace - Manager Maven Resolver
A light-weight module container.
Project Organization

Project Organization

JBoss by Red Hat

Download furnace-manager-resolver-maven-3.0.x

How to add to project

<!-- https://jarcasting.com/artifacts/org.jboss.forge.furnace/furnace-manager-resolver-maven-3.0.x/ -->
<dependency>
    <groupId>org.jboss.forge.furnace</groupId>
    <artifactId>furnace-manager-resolver-maven-3.0.x</artifactId>
    <version>2.0.0.Alpha9</version>
</dependency>
// https://jarcasting.com/artifacts/org.jboss.forge.furnace/furnace-manager-resolver-maven-3.0.x/
implementation 'org.jboss.forge.furnace:furnace-manager-resolver-maven-3.0.x:2.0.0.Alpha9'
// https://jarcasting.com/artifacts/org.jboss.forge.furnace/furnace-manager-resolver-maven-3.0.x/
implementation ("org.jboss.forge.furnace:furnace-manager-resolver-maven-3.0.x:2.0.0.Alpha9")
'org.jboss.forge.furnace:furnace-manager-resolver-maven-3.0.x:jar:2.0.0.Alpha9'
<dependency org="org.jboss.forge.furnace" name="furnace-manager-resolver-maven-3.0.x" rev="2.0.0.Alpha9">
  <artifact name="furnace-manager-resolver-maven-3.0.x" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.jboss.forge.furnace', module='furnace-manager-resolver-maven-3.0.x', version='2.0.0.Alpha9')
)
libraryDependencies += "org.jboss.forge.furnace" % "furnace-manager-resolver-maven-3.0.x" % "2.0.0.Alpha9"
[org.jboss.forge.furnace/furnace-manager-resolver-maven-3.0.x "2.0.0.Alpha9"]

Dependencies

compile (3)

Group / Artifact Type Version
org.jboss.forge : xml-parser jar 1.0.0.Final
org.jboss.forge.furnace : furnace-manager-spi jar 2.0.0.Alpha9
org.jboss.shrinkwrap.resolver : shrinkwrap-resolver-impl-maven jar 2.0.0

provided (1)

Group / Artifact Type Version
org.jboss.forge.furnace : furnace-api jar 2.0.0.Alpha9

test (3)

Group / Artifact Type Version
org.jboss.forge.furnace : furnace-manager jar 2.0.0.Alpha9
org.jboss.forge.furnace : furnace jar 2.0.0.Alpha9
junit : junit jar 4.11

Project Modules

There are no modules declared in this project.

Furnace

Lightweight Modular Service Container - Based on JBoss Modules and Maven. It's easier than OSGi :)

Build Status License Maven central

Usage

First, include the Furnace dependency in your project:

<dependency>
   <groupId>org.jboss.forge.furnace</groupId>
   <artifactId>furnace-se</artifactId>
   <version>${version.furnace}</version>
</dependency>

Then configure the container and start it:

Furnace furnace = FurnaceFactory.getFurnace()
furnace.addRepository(AddonRepositoryMode.MUTABLE, new File(OperatingSystemUtils.getUserForgeDir(), "addons"));

To install addons, you will need to add the following dependencies to your project:

<dependency>
   <groupId>org.jboss.forge.furnace</groupId>
   <artifactId>furnace-manager</artifactId>
   <version>${version.furnace}</version>
</dependency>

<dependency>
   <groupId>org.jboss.forge.furnace</groupId>
   <artifactId>furnace-manager-resolver-maven</artifactId>
   <version>${version.furnace}</version>
</dependency>

Then create a new AddonManager:

AddonManager manager = new AddonManagerImpl(furnace, new MavenAddonDependencyResolver())

Once you have an AddonManager instance, you can begin to install addons (You can do this while Furnace is running):

InstallRequest request = manager.install(AddonId.from("org.example:my-addon", "1.0.0.Final"));
request.perform();

Don't forget to start Furnace:

Future<Furnace> future = furnace.startAsync();
future.get(); // wait for Furnace to start, before continuing.

Once this is done, you'll now be able to request services from Furnace's AddonRegistry, and utilize the functionality of the addons you've installed:

MyServiceType instance = furnace.getAddonRegistry().getServices(MyServiceType.class).get();

Of course, addons can be pre-bundled into a project using the Furnace Maven Plugin, making it much simpler (and faster) to run your application:

<plugin>
   <groupId>org.jboss.forge.furnace</groupId>
   <artifactId>furnace-maven-plugin</artifactId>
   <version>${version.furnace}</version>
   <executions>
      <execution>
         <id>deploy-addons</id>
         <phase>prepare-package</phase>
         <goals>
            <goal>addon-install</goal>
         </goals>
         <inherited>false</inherited>
         <configuration>
            <addonRepository>${basedir}/addon-repository</addonRepository>
            <addonIds>
               <addonId>org.example:my-addon,1.0.0.Final</addonId>
            </addonIds>
         </configuration>
      </execution>
   </executions>
</plugin>

To learn more about writing addons, see the full documentation here: https://github.com/forge/core#developing-an-addon

org.jboss.forge.furnace

JBoss Forge

JBoss Forge is a software development tool that extends your Java IDE, providing wizards and extensions (add-ons) for different technologies and solutions

Versions

Version
2.0.0.Alpha9
2.0.0.Alpha8
2.0.0.Alpha7