private void _addTasksExpandSoyCompileDependencies( TranspileJSTask transpileJSTask, Configuration configuration) { Project project = transpileJSTask.getProject(); RenameDependencyClosure renameDependencyClosure = new RenameDependencyClosure(project, configuration.getName()); for (File file : configuration) { Copy copy = _addTaskExpandCompileDependency( project, file, project.getBuildDir(), "expandSoyCompileDependency", renameDependencyClosure); transpileJSTask.dependsOn(copy); String path = FileUtil.getAbsolutePath(copy.getDestinationDir()); path += "/META-INF/resources/**/*.soy"; transpileJSTask.soyDependency(path); } }
private void _configureTaskTranspileJS( TranspileJSTask transpileJSTask, final DownloadNodeModuleTask downloadMetalCliTask, final ExecuteNpmTask npmInstallTask) { FileCollection fileCollection = transpileJSTask.getSourceFiles(); if (!transpileJSTask.isEnabled() || (transpileJSTask.isSkipWhenEmpty() && fileCollection.isEmpty())) { transpileJSTask.setDependsOn(Collections.emptySet()); transpileJSTask.setEnabled(false); return; } transpileJSTask.dependsOn(downloadMetalCliTask, npmInstallTask); transpileJSTask.setScriptFile( new Callable<File>() { @Override public File call() throws Exception { return new File(downloadMetalCliTask.getModuleDir(), "index.js"); } }); transpileJSTask.soyDependency( new Callable<String>() { @Override public String call() throws Exception { return npmInstallTask.getWorkingDir() + "/node_modules/lexicon*/src/**/*.soy"; } }, new Callable<String>() { @Override public String call() throws Exception { return npmInstallTask.getWorkingDir() + "/node_modules/metal*/src/**/*.soy"; } }); }