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;
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;
/**
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<Filter, String> filterFactory = new WildCardFilterFactory();
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";
"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)
private List<String> excludes = new ArrayList<String>();
+ private String baseDir;
+
/**
* Entry point for cli main
*
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;
}
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);
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);
}
dir = fileRelativePath;
}
- if (fh instanceof VirtualFileHandler) {
- ((VirtualFileHandler) fh).makeDirectory(dir, true);
+ if (!fh.is(dir, Attribute.EXISTS)) {
+ fh.makeDirectory(dir, true);
}
InputStream is = null;