[Title] add src arguments
authorTaeyoung Son <taeyoung2.son@samsung.com>
Wed, 15 May 2013 10:57:20 +0000 (19:57 +0900)
committerTaeyoung Son <taeyoung2.son@samsung.com>
Tue, 21 May 2013 06:58:27 +0000 (15:58 +0900)
[Desc.]
[Issue]

Change-Id: I4f0d7a0f2bac5e4f5b89be6aa23cbcb80cb273dc

org.tizen.cli/src/org/tizen/cli/exec/web/build/Main.java

index 4587310..94fc05b 100755 (executable)
@@ -32,9 +32,11 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.Option;
 import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
 import org.tizen.cli.exec.AbstractLauncher;
+import org.tizen.cli.exec.Help;
 import org.tizen.common.FactoryWithArgument;
 import org.tizen.common.builder.BuildProcess;
 import org.tizen.common.builder.Resource;
@@ -82,7 +84,7 @@ extends AbstractLauncher
                                                                 "If you want to use ui framework in target, set "+
                                                                 "--"+OPT_NAME_EXCLUDE_UI_FRAMEWORK_SHORT;
     private static final String OPT_DESC_EXCLUDE = "Add exclude file pattern";
-    private static final String OPT_DESC_OUTPUT = "";
+    private static final String OPT_DESC_OUTPUT = "Output directory for build resources";
     private static final String OPT_DESC_REFERENCE_PROJECT = "Set reference project";
 
     //for build framework(org.tizen.common.builder)
@@ -153,13 +155,16 @@ extends AbstractLauncher
         final List<String> args = cmdLine.getArgList();
         logger.trace( "arguments :{}", args );
 
-        cwd = convertPath( "." );
+        if (args.size() < 1) {
+            printHelp();
+        }
+
+        cwd = convertPath(args.get(0));
 
         logger.debug( "Base directory :{}", cwd );
 
         if (cmdLine.hasOption(OPT_NAME_OUTPUT)) {
-            //TODO: set relative path.
-            output = FilenameUtil.getRelativePath(cwd, cmdLine.getOptionValue(OPT_NAME_OUTPUT));
+            output = FilenameUtil.getRelativePath(cwd, convertPath(cmdLine.getOptionValue(OPT_NAME_OUTPUT)));
         }
 
         logger.debug( "Output directory :{}", output );
@@ -363,4 +368,25 @@ extends AbstractLauncher
         JavaScriptMinifier jsMin = new JavaScriptMinifier(jsMinLayer);
         buildProcess.addBuilder(jsMin);
     }
+    
+    @Override
+    protected Help createHelp() {
+        return new Help(getOptions()) {
+            @Override
+            public StringBuffer getUsage(StringBuffer usageBuffer) {
+                usageBuffer = super.getUsage(usageBuffer);
+
+                String[] usageFrag = usageBuffer.toString().split("\\s");
+                usageBuffer.delete(0, usageBuffer.length());
+
+                for (String frag : usageFrag) {
+                    usageBuffer.append(frag+" ");
+                    if (frag.equals(getSyntax())) {
+                        usageBuffer.append("<build target path> ");
+                    }
+                }
+                return usageBuffer;
+            }
+        };
+    }
 }