svn commit: r3077 - in projects/silk/core: lib
src/java/org/ops4j/silk src/unittests/org/ops4j/silk
peter at neubauer.se
peter at neubauer.se
Thu Jul 21 21:43:15 UTC 2005
Author: peter at neubauer.se
Date: Thu Jul 21 17:43:13 2005
New Revision: 3077
Added:
projects/silk/core/lib/te-common-3.0.0-pre3.jar (contents, props changed)
projects/silk/core/lib/te-common-ext-jaxor3.2-beta.jar (contents, props changed)
projects/silk/core/lib/te-common-ext-jaxor3.2-pre.jar (contents, props changed)
Modified:
projects/silk/core/src/java/org/ops4j/silk/Main.java
projects/silk/core/src/unittests/org/ops4j/silk/MainTest.java
Log:
added some CLI handling
Added: projects/silk/core/lib/te-common-3.0.0-pre3.jar
==============================================================================
Binary file. No diff available.
Added: projects/silk/core/lib/te-common-ext-jaxor3.2-beta.jar
==============================================================================
Binary file. No diff available.
Added: projects/silk/core/lib/te-common-ext-jaxor3.2-pre.jar
==============================================================================
Binary file. No diff available.
Modified: projects/silk/core/src/java/org/ops4j/silk/Main.java
==============================================================================
--- projects/silk/core/src/java/org/ops4j/silk/Main.java (original)
+++ projects/silk/core/src/java/org/ops4j/silk/Main.java Thu Jul 21 17:43:13 2005
@@ -2,34 +2,93 @@
import org.ops4j.silk.context.SilkContext;
import org.ops4j.silk.context.SilkContextBuilder;
-
-import org.ops4j.silk.service.SilkService;
import org.ungoverned.oscar.Oscar;
import org.ungoverned.oscar.util.DefaultBundleCache;
+import com.townleyenterprises.command.CommandOption;
+import com.townleyenterprises.command.CommandParser;
+import com.townleyenterprises.command.DefaultCommandListener;
+import com.townleyenterprises.command.JoinedCommandOption;
+import com.townleyenterprises.command.RequiredOptionConstraint;
public class Main
{
+ private static final String PROFILE_NAME = "silk_profile";
+
+ private static Oscar m_Oscar = null;
+
+ private CommandParser m_Parser;
+
+ public Main( String[] args )
+ {
+ m_Parser = new CommandParser( "silk", "TARGET" );
+ m_Parser.setExitOnMissingArg( true, -10 );
+ m_Parser.setExtraHelpText(
+ "Short description of the Silk command line options",
+ "For further documentation, please consult www.ops4j.org" );
+ m_Parser.addCommandListener( new DefaultCommandListener(
+ "silk options", m_MainOptions ) );
+ m_Parser.parse( args );
+ //m_Parser.addConstraint( new RequiredOptionConstraint( -501, m_Target ) );
+ try
+ {
+ m_Parser.executeCommands();
+ } catch ( Exception e )
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+
+ public static void main( String[] args )
+ {
+ new Main( args );
+
+ }
+
+ private static void startOscar()
+ {
+ System
+ .setProperty( DefaultBundleCache.CACHE_PROFILE_PROP,
+ PROFILE_NAME );
+ m_Oscar = new Oscar();
+
+ }
+
+ private CommandOption m_WorkingDir = new CommandOption( "workingDir", 'd',
+ true, "WORKING_DIR", "specify the name of the working dir" )
+ {
+ public void execute() throws Exception
+ {
+ System.out.println( "setting working dir" );
+ }
+ };
+
+ private CommandOption m_Target = new CommandOption( "target", 't', true,
+ "TARGET", "specify the name of the build target",true, "build")
+ {
+
+ public void execute() throws Exception
+ {
+ SilkContextBuilder builder = new SilkContextBuilder();
+ builder.buildFromStringArray( new String[]{getArg(), ""} );
+ SilkContext context = builder.getSilkContext();
+
+ // TODO
+ // Start Oscar, find the Silk Core Service...
+ startOscar();
+ // SilkService service = ....
+ // service.execute( context );
+ }
+
+ };
+
+ private JoinedCommandOption m_SystemOptions = new JoinedCommandOption( 'D',
+ false, "PROPERTY=VALUE[,PROPERTY=VALUE...]",
+ "set specific run-time system properties", true );
+
+ private CommandOption[] m_MainOptions =
+ { m_WorkingDir, m_SystemOptions, m_Target };
- private static final String PROFILE_NAME = "silk_profile";
- private static Oscar m_Oscar = null;
- public static void main( String[] args )
- {
- SilkContextBuilder builder = new SilkContextBuilder();
- builder.buildFromStringArray( args );
- SilkContext context = builder.getSilkContext();
-
- // TODO
- // Start Oscar, find the Silk Core Service...
- startOscar( );
- // SilkService service = ....
- // service.execute( context );
- }
-
- private static void startOscar()
- {
- System.setProperty(DefaultBundleCache.CACHE_PROFILE_PROP, PROFILE_NAME);
- m_Oscar = new Oscar();
-
- }
-}
+}
Modified: projects/silk/core/src/unittests/org/ops4j/silk/MainTest.java
==============================================================================
--- projects/silk/core/src/unittests/org/ops4j/silk/MainTest.java (original)
+++ projects/silk/core/src/unittests/org/ops4j/silk/MainTest.java Thu Jul 21 17:43:13 2005
@@ -30,7 +30,15 @@
* Test method for 'org.ops4j.silk.Main.main(String[])'
*/
public void testMain() {
- String[] args = {".", "compile"};
+ String[] args = {"-d", ".", "-t","build"};
+ Main.main( args );
+
+ }
+ /*
+ * Test method for 'org.ops4j.silk.Main.main(String[])'
+ */
+ public void _testMainHelp() {
+ String[] args = {"--help"};
Main.main( args );
}
More information about the Notify
mailing list