You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ds...@apache.org on 2009/08/07 15:20:26 UTC
svn commit: r801990 - in /felix/trunk/sigil/common/runtime: ./ src/ src/org/
src/org/apache/ src/org/apache/felix/ src/org/apache/felix/sigil/
src/org/apache/felix/sigil/common/ src/org/apache/felix/sigil/common/runtime/
Author: dsavage
Date: Fri Aug 7 13:20:26 2009
New Revision: 801990
URL: http://svn.apache.org/viewvc?rev=801990&view=rev
Log:
add skeleton launcher project FELIX-1324
Added:
felix/trunk/sigil/common/runtime/ (with props)
felix/trunk/sigil/common/runtime/.classpath
felix/trunk/sigil/common/runtime/.project
felix/trunk/sigil/common/runtime/sigil.properties
felix/trunk/sigil/common/runtime/src/
felix/trunk/sigil/common/runtime/src/org/
felix/trunk/sigil/common/runtime/src/org/apache/
felix/trunk/sigil/common/runtime/src/org/apache/felix/
felix/trunk/sigil/common/runtime/src/org/apache/felix/sigil/
felix/trunk/sigil/common/runtime/src/org/apache/felix/sigil/common/
felix/trunk/sigil/common/runtime/src/org/apache/felix/sigil/common/runtime/
felix/trunk/sigil/common/runtime/src/org/apache/felix/sigil/common/runtime/Main.java
Propchange: felix/trunk/sigil/common/runtime/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Aug 7 13:20:26 2009
@@ -0,0 +1,2 @@
+build
+felix-cache
Added: felix/trunk/sigil/common/runtime/.classpath
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/common/runtime/.classpath?rev=801990&view=auto
==============================================================================
--- felix/trunk/sigil/common/runtime/.classpath (added)
+++ felix/trunk/sigil/common/runtime/.classpath Fri Aug 7 13:20:26 2009
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Java 1.6.0"/>
+ <classpathentry kind="con" path="org.apache.felix.sigil.classpathContainer"/>
+ <classpathentry kind="output" path="build/classes"/>
+</classpath>
Added: felix/trunk/sigil/common/runtime/.project
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/common/runtime/.project?rev=801990&view=auto
==============================================================================
--- felix/trunk/sigil/common/runtime/.project (added)
+++ felix/trunk/sigil/common/runtime/.project Fri Aug 7 13:20:26 2009
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.apache.felix.sigil.common.runtime</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.apache.felix.sigil.eclipse.core.sigilBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.apache.felix.sigil.sigilnature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Added: felix/trunk/sigil/common/runtime/sigil.properties
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/common/runtime/sigil.properties?rev=801990&view=auto
==============================================================================
--- felix/trunk/sigil/common/runtime/sigil.properties (added)
+++ felix/trunk/sigil/common/runtime/sigil.properties Fri Aug 7 13:20:26 2009
@@ -0,0 +1,15 @@
+
+# sigil project file, saved by plugin.
+
+-bundles: \
+ org.apache.felix.sigil.common.runtime, \
+
+-sourcedirs: \
+ src, \
+
+-imports: \
+ org.apache.commons.cli;version=1.2.0, \
+ org.osgi.framework, \
+ org.osgi.framework.launch;version=1.0.0, \
+
+# end
Added: felix/trunk/sigil/common/runtime/src/org/apache/felix/sigil/common/runtime/Main.java
URL: http://svn.apache.org/viewvc/felix/trunk/sigil/common/runtime/src/org/apache/felix/sigil/common/runtime/Main.java?rev=801990&view=auto
==============================================================================
--- felix/trunk/sigil/common/runtime/src/org/apache/felix/sigil/common/runtime/Main.java (added)
+++ felix/trunk/sigil/common/runtime/src/org/apache/felix/sigil/common/runtime/Main.java Fri Aug 7 13:20:26 2009
@@ -0,0 +1,87 @@
+package org.apache.felix.sigil.common.runtime;
+
+import java.io.File;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.NoSuchElementException;
+import java.util.ServiceLoader;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Options;
+import org.apache.commons.cli.ParseException;
+import org.apache.commons.cli.Parser;
+import org.apache.commons.cli.PosixParser;
+import org.osgi.framework.BundleException;
+import org.osgi.framework.launch.Framework;
+import org.osgi.framework.launch.FrameworkFactory;
+
+public class Main
+{
+ private static final String COMMAND_LINE_SYNTAX = "java -jar org.apache.felix.sigil.common.runtime";
+
+ private static Framework framework;
+ private static final Options options;
+
+ static {
+ options = new Options();
+ options.addOption( "?", "help", false, "Print help for the Sigil launcher" );
+ }
+
+ public static void main( String[] args )
+ {
+ try {
+ Parser parser = new PosixParser();
+ CommandLine cl = parser.parse( options, args );
+
+ if ( cl.hasOption( '?' ) ) {
+ printHelp();
+ }
+ else {
+ ServiceLoader<FrameworkFactory> loader = ServiceLoader.load( FrameworkFactory.class );
+ FrameworkFactory factory = loader.iterator().next();
+
+ Map<String, String> config = buildConfig( cl );
+
+ framework = factory.newFramework( config );
+ framework.init();
+
+ launch( args );
+
+ framework.waitForStop( 0 );
+ }
+ }
+ catch (NoSuchElementException e) {
+ System.err.println( "No " + FrameworkFactory.class.getName() + " found on classpath" );
+ System.exit( 1 );
+ }
+ catch ( BundleException e )
+ {
+ e.printStackTrace();
+ }
+ catch ( InterruptedException e )
+ {
+ System.err.println( "Interrupted prior to framework stop" );
+ }
+ catch ( ParseException e )
+ {
+ printHelp();
+ }
+ }
+
+ private static Map<String, String> buildConfig( CommandLine cl )
+ {
+ HashMap<String, String> config = new HashMap<String, String>();
+ return config;
+ }
+
+ private static void launch( String[] args ) throws ParseException
+ {
+ }
+
+ private static void printHelp()
+ {
+ HelpFormatter f = new HelpFormatter();
+ f.printHelp( COMMAND_LINE_SYNTAX, options );
+ }
+}