From 1e83639e0f1516318ad85dad0483d3b1c78ff01b Mon Sep 17 00:00:00 2001 From: Taeyoung Son Date: Wed, 15 May 2013 14:24:25 +0900 Subject: [PATCH] [Title] Add output option (not implement process yet) [Desc.] [Issue] Change-Id: Id8b617cdcc817a2631fcccb25f4caf10b01c6b79 --- .../src/org/tizen/cli/exec/web/build/Main.java | 32 ++++++++++++++++------ org.tizen.cli/src/org/tizen/cli/exec/wgt/Main.java | 4 +-- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/org.tizen.cli/src/org/tizen/cli/exec/web/build/Main.java b/org.tizen.cli/src/org/tizen/cli/exec/web/build/Main.java index 4115c28..5b7c071 100755 --- a/org.tizen.cli/src/org/tizen/cli/exec/web/build/Main.java +++ b/org.tizen.cli/src/org/tizen/cli/exec/web/build/Main.java @@ -39,10 +39,12 @@ import org.tizen.common.FactoryWithArgument; import org.tizen.common.builder.BuildProcess; import org.tizen.common.builder.Resource; import org.tizen.common.builder.ResourceLayer; +import org.tizen.common.builder.core.CopyBuilder; import org.tizen.common.file.FileHandler; import org.tizen.common.file.FileHandler.Attribute; import org.tizen.common.file.Filter; import org.tizen.common.file.SimpleFileFilter; +import org.tizen.common.file.StandardFileHandler; import org.tizen.common.file.VirtualFileHandler; import org.tizen.common.file.filter.WildCardFilterFactory; import org.tizen.common.util.FileUtil; @@ -51,7 +53,6 @@ import org.tizen.common.util.IOUtil; import org.tizen.web.builder.HybridAppCLIBuilder; import org.tizen.web.builder.JavaScriptMinifier; import org.tizen.web.builder.UIFWBuilder; -import org.tizen.web.builder.WorkingCopyBuilder; import org.tizen.web.common.WebConstant; /** @@ -63,7 +64,7 @@ public class Main extends AbstractLauncher { - private String dest=".build"; //default destination directory + private String output = WebConstant.TEMP_BUILD_DIRECTORY; //default output directory private SimpleFileFilter filter = new SimpleFileFilter(true); private FactoryWithArgument filterFactory = new WildCardFilterFactory(); @@ -72,6 +73,7 @@ extends AbstractLauncher private static final String OPT_NAME_EXCLUDE_UI_FRAMEWORK = "exclude-uifw"; private static final String OPT_NAME_EXCLUDE_UI_FRAMEWORK_SHORT = "euf"; private static final String OPT_NAME_EXCLUDE = "exclude"; + private static final String OPT_NAME_OUTPUT = "output"; private static final String OPT_NAME_REFERENCE_PROJECT = "ref-prj"; private static final String OPT_NAME_REFERENCE_PROJECT_SHORT = "rp"; @@ -80,6 +82,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_REFERENCE_PROJECT = "Set reference project"; //for build framework(org.tizen.common.builder) @@ -94,6 +97,8 @@ extends AbstractLauncher private List excludes = new ArrayList(); + private String baseDir; + /** * Entry point for cli main * @@ -126,6 +131,7 @@ extends AbstractLauncher opts.addOption( OptionBuilder.withLongOpt( OPT_NAME_EXCLUDE_UI_FRAMEWORK ).withDescription( OPT_DESC_EXCLUDE_UI_FRAMEWORK ).create( OPT_NAME_EXCLUDE_UI_FRAMEWORK_SHORT ) ); opts.addOption( OptionBuilder.hasArg().withLongOpt( OPT_NAME_EXCLUDE ).withDescription( OPT_DESC_EXCLUDE ).create( OPT_NAME_EXCLUDE.substring( 0, 1 ) ) ); opts.addOption( OptionBuilder.hasArg().withLongOpt( OPT_NAME_REFERENCE_PROJECT ).withDescription( OPT_DESC_REFERENCE_PROJECT ).create( OPT_NAME_REFERENCE_PROJECT_SHORT ) ); + opts.addOption( OptionBuilder.hasArg().withLongOpt( OPT_NAME_OUTPUT ).withDescription( OPT_DESC_OUTPUT ).create() ); return opts; } @@ -147,14 +153,20 @@ extends AbstractLauncher int nArgs = args.size(); - String baseDir = convertPath( "." ); + baseDir = convertPath( "." ); if ( 1 < nArgs ) { baseDir = convertPath( args.get( 1 ) ); } + + baseDir = "/home/tysonista/workspace/test11"; logger.debug( "Base directory :{}", baseDir ); - logger.debug( "Output directory :{}", dest ); + if (cmdLine.hasOption(OPT_NAME_OUTPUT)) { + output = FilenameUtil.getRelativePath(baseDir, cmdLine.getOptionValue(OPT_NAME_OUTPUT)); + } + + logger.debug( "Output directory :{}", output ); initExcludes(cmdLine); @@ -241,8 +253,12 @@ extends AbstractLauncher private void addLastbuilder(BuildProcess buildProcess, ResourceLayer parentLayer) { // add file output builder - WorkingCopyBuilder toFSBuilder = new WorkingCopyBuilder(WebConstant.TEMP_BUILD_DIRECTORY - , parentLayer); + FileHandler fh = new StandardFileHandler(); + fh.setCurrentWorkingDirectory(baseDir); + ResourceLayer toFSLayer = new ResourceLayer(CopyBuilder.RESOURCE_LAYER_NAME + , parentLayer + , fh); + CopyBuilder toFSBuilder = new CopyBuilder(output, toFSLayer); buildProcess.addBuilder(toFSBuilder); } @@ -294,8 +310,8 @@ extends AbstractLauncher dir = fileRelativePath; } - if (fh instanceof VirtualFileHandler) { - ((VirtualFileHandler) fh).makeDirectory(dir, true); + if (!fh.is(dir, Attribute.EXISTS)) { + fh.makeDirectory(dir, true); } InputStream is = null; diff --git a/org.tizen.cli/src/org/tizen/cli/exec/wgt/Main.java b/org.tizen.cli/src/org/tizen/cli/exec/wgt/Main.java index 233f30f..92c61c8 100755 --- a/org.tizen.cli/src/org/tizen/cli/exec/wgt/Main.java +++ b/org.tizen.cli/src/org/tizen/cli/exec/wgt/Main.java @@ -239,8 +239,8 @@ extends AbstractLauncher dir = filePath; } - if (fh instanceof VirtualFileHandler) { - ((VirtualFileHandler) fh).makeDirectory(dir, true); + if (!fh.is(dir, Attribute.EXISTS)) { + fh.makeDirectory(dir, true); } InputStream is = null; -- 2.7.4