@Override protected NodeTask newTask(FrontendPluginFactory factory, Config conf, ProxyConfig proxy, Map<String, String> env, String nodeVersion) throws InstallationException { Function<String, String> property = key -> conf.hasPath(key) ? conf.getString(key) : null; factory.getNPMInstaller(proxy) .setNpmVersion(npmVersion) .setNodeVersion(nodeVersion) .setNpmDownloadRoot(conf.getString("npm.downloadRoot")) .setUserName(property.apply("npm.username")) .setPassword(property.apply("npm.password")) .install(); NpmRunner npm = factory.getNpmRunner(proxy, conf.getString("npm.registryURL")); return (cmd, args) -> { String cmdline = cmd + " " + Arrays.asList(args).stream().collect(Collectors.joining(" ")); npm.execute(cmdline, env); }; }
private void downloadFileIfMissing(String downloadUrl, File destination, String userName, String password) throws DownloadException { if (!destination.exists()) { downloadFile(downloadUrl, destination, userName, password); } }
downloadFileIfMissing(downloadUrl, archive, this.userName, this.password); File installDirectory = getNodeInstallDirectory(); File nodeModulesDirectory = new File(installDirectory, "node_modules"); extractFile(archive, nodeModulesDirectory);
public NPMInstaller getNPMInstaller(ProxyConfig proxy) { return new NPMInstaller(getInstallConfig(), new DefaultArchiveExtractor(), new DefaultFileDownloader(proxy)); }
.install(); factory.getNPMInstaller(proxyConfig) .setNodeVersion(nodeVersion) .setNpmVersion(npmVersion) .setNpmDownloadRoot(npmDownloadRoot) .setUserName(server.getUsername()) .setPassword(server.getPassword()) .install(); } else { factory.getNodeInstaller(proxyConfig) .install(); factory.getNPMInstaller(proxyConfig) .setNodeVersion(this.nodeVersion) .setNpmVersion(this.npmVersion) .setNpmDownloadRoot(npmDownloadRoot) .install();
.install(); factory.getNPMInstaller(proxyConfig) .setNodeVersion(nodeVersion) .setNpmVersion(npmVersion) .setNpmDownloadRoot(npmDownloadRoot) .setUserName(server.getUsername()) .setPassword(server.getPassword()) .install(); } else { factory.getNodeInstaller(proxyConfig) .install(); factory.getNPMInstaller(proxyConfig) .setNodeVersion(this.nodeVersion) .setNpmVersion(this.npmVersion) .setNpmDownloadRoot(npmDownloadRoot) .install();