Skip to content

Instantly share code, notes, and snippets.

@gastaldi
Created November 29, 2012 17:15
Show Gist options
  • Select an option

  • Save gastaldi/4170492 to your computer and use it in GitHub Desktop.

Select an option

Save gastaldi/4170492 to your computer and use it in GitHub Desktop.
Starting and deploying in a Forge embedded container
/*
* Copyright 2012 Red Hat, Inc. and/or its affiliates.
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://www.eclipse.org/legal/epl-v10.html
*/
import java.io.File;
import java.util.ServiceLoader;
import org.jboss.forge.addon.dependency.spi.DependencyResolver;
import org.jboss.forge.addon.manager.AddonManager;
import org.jboss.forge.addon.manager.InstallRequest;
import org.jboss.forge.container.AddonEntry;
import org.jboss.forge.container.AddonRepository;
import org.jboss.forge.container.Forge;
public class ForgeStart
{
public static void main(final String[] args)
{
Forge forge = new Forge();
forge.setAddonDir(new File("/home/ggastald/workspace/forge-addondir"));
deploy(forge.getRepository());
System.out.println("Starting Forge embedded ...");
forge.start();
}
static void deploy(AddonRepository repository)
{
AddonEntry addon = AddonEntry.from("org.jboss.forge:example", "2.0.0-SNAPSHOT");
DependencyResolver dependencyResolver = ServiceLoader.load(DependencyResolver.class).iterator().next();
AddonManager addonManager = new AddonManager(repository, dependencyResolver);
InstallRequest request = addonManager.install(addon);
request.perform();
}
}
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.george.app</groupId>
<artifactId>george-forge</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.jboss.forge</groupId>
<artifactId>forge-addon-container</artifactId>
<version>2.0.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.jboss.forge</groupId>
<artifactId>forge-addon-manager</artifactId>
<version>2.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment