From ae2dca914511f77c5b1ed4463d0d276caacb2154 Mon Sep 17 00:00:00 2001 From: Taeyoung Son Date: Wed, 15 May 2013 17:36:21 +0900 Subject: [PATCH] [Title] modify addResources() method. set layer in sequence [Desc.] [Issue] Change-Id: I3bc187a2a25e7594c164f37b5e2635caf6784701 --- .../src/org/tizen/cli/exec/web/build/Main.java | 52 +++++++++++++--------- 1 file changed, 30 insertions(+), 22 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 5b7c071..4587310 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 @@ -97,7 +97,9 @@ extends AbstractLauncher private List excludes = new ArrayList(); - private String baseDir; + private String cwd; + + private ResourceLayer lastLayer; /** * Entry point for cli main @@ -151,19 +153,13 @@ extends AbstractLauncher final List args = cmdLine.getArgList(); logger.trace( "arguments :{}", args ); - int nArgs = args.size(); - - baseDir = convertPath( "." ); - if ( 1 < nArgs ) - { - baseDir = convertPath( args.get( 1 ) ); - } + cwd = convertPath( "." ); - baseDir = "/home/tysonista/workspace/test11"; - logger.debug( "Base directory :{}", baseDir ); + logger.debug( "Base directory :{}", cwd ); if (cmdLine.hasOption(OPT_NAME_OUTPUT)) { - output = FilenameUtil.getRelativePath(baseDir, cmdLine.getOptionValue(OPT_NAME_OUTPUT)); + //TODO: set relative path. + output = FilenameUtil.getRelativePath(cwd, cmdLine.getOptionValue(OPT_NAME_OUTPUT)); } logger.debug( "Output directory :{}", output ); @@ -172,13 +168,15 @@ extends AbstractLauncher BuildProcess buildProcess = new BuildProcess(); ResourceLayer startLayer = new ResourceLayer(RESOURCE_LAYER_START, new VirtualFileHandler()); + this.lastLayer = startLayer; - Resource[] resources = getResources(cmdLine, baseDir + Resource[] resources = getResources(cmdLine + , cwd , startLayer , null , excludes.toArray(new String[excludes.size()])); - generateBuilders(cmdLine, buildProcess, startLayer); + generateBuilders(cmdLine, buildProcess, this.lastLayer); if (buildProcess.getLastBuilder() != null) { logger.debug("start build process"); buildProcess.build(resources); @@ -207,7 +205,7 @@ extends AbstractLauncher public void generateBuilders(CommandLine cmdLine , BuildProcess buildProcess , ResourceLayer parentLayer) { - ResourceLayer lastLayer = parentLayer; + lastLayer = parentLayer; boolean isExcludeUIFW = cmdLine.hasOption(OPT_NAME_EXCLUDE_UI_FRAMEWORK); if (isExcludeUIFW) { @@ -254,7 +252,7 @@ extends AbstractLauncher private void addLastbuilder(BuildProcess buildProcess, ResourceLayer parentLayer) { // add file output builder FileHandler fh = new StandardFileHandler(); - fh.setCurrentWorkingDirectory(baseDir); + fh.setCurrentWorkingDirectory(cwd); ResourceLayer toFSLayer = new ResourceLayer(CopyBuilder.RESOURCE_LAYER_NAME , parentLayer , fh); @@ -272,7 +270,9 @@ extends AbstractLauncher setIncludes(includes); setExcludes(excludes); - addResources(baseDir, layer, resources); + addResources(FilenameUtil.getRelativePath(this.cwd, this.cwd+File.separator+".") + , layer + , resources); if (cmdLine.hasOption(OPT_NAME_REFERENCE_PROJECT)) { ResourceLayer referenceLayer = new ResourceLayer(HybridAppCLIBuilder.RESOURCE_LAYER_REFERENCE_NAME @@ -281,23 +281,31 @@ extends AbstractLauncher String refPath = cmdLine.getOptionValue(OPT_NAME_REFERENCE_PROJECT); addResources(refPath, referenceLayer, resources); - layer = referenceLayer; + lastLayer = referenceLayer; } return resources.toArray(new Resource[resources.size()]); } - private void addResources(String baseDir, ResourceLayer layer, List resources) throws IOException { + /** + * Add resource for build + * @param relativeSrcDir relative directory including resources. + * @param layer {@link ResourceLayer} + * @param resources output resources. + * @throws IOException + */ + private void addResources(String relativeSrcDir, ResourceLayer layer, List resources) throws IOException { List files = null; - files = FileUtil.findFiles(new File(baseDir), ".*", true); + String absoluteDir = this.cwd+ File.separator + relativeSrcDir; + files = FileUtil.findFiles(new File(absoluteDir), ".*", true); FileHandler fh = layer.getFileHandler(); for (File file : files) { - String fileRelativePath = FilenameUtil.getRelativePath(baseDir, file.getPath()); + String fileRelativePath = FilenameUtil.getRelativePath(this.cwd, file.getAbsolutePath()); - if (!FilenameUtil.equals(file.getPath(), baseDir) - && !filter.accept(baseDir, fileRelativePath)) { + if (!FilenameUtil.equals(file.getCanonicalPath(), this.cwd) + && !filter.accept(this.cwd, fileRelativePath)) { logger.debug("Ignore {}", fileRelativePath); continue; } -- 2.7.4