private NpmShrinkwrapTask _addTaskNpmShrinkwrap( Project project, Delete cleanNpmTask, NpmInstallTask npmInstallTask) { NpmShrinkwrapTask npmShrinkwrapTask = GradleUtil.addTask( project, NPM_SHRINKWRAP_TASK_NAME, NpmShrinkwrapTask.class); npmShrinkwrapTask.dependsOn(cleanNpmTask, npmInstallTask); npmShrinkwrapTask.setDescription( "Locks down the versions of a package's dependencies in order to " + "control which versions of each dependency will be used."); return npmShrinkwrapTask; }
public NpmShrinkwrapTask excludeDependencies( Object... excludedDependencies) { return excludeDependencies(Arrays.asList(excludedDependencies)); }
@Override public boolean isSatisfiedBy(Task task) { File packageJsonFile = new File( getWorkingDir(), "package.json"); return packageJsonFile.exists(); }
@Override public void executeNode() throws Exception { super.executeNode(); File shrinkwrapJsonFile = new File( getWorkingDir(), "npm-shrinkwrap.json"); JsonSlurper jsonSlurper = new JsonSlurper(); Map<String, Object> shrinkwrap = (Map<String, Object>)jsonSlurper.parse( shrinkwrapJsonFile); List<String> excludedDependencies = getExcludedDependencies(); if (!excludedDependencies.isEmpty()) { _removeExcludedDependencies(shrinkwrap, getExcludedDependencies()); } String shrinkwrapJSON = JsonOutput.prettyPrint( JsonOutput.toJson(shrinkwrap)); shrinkwrapJSON = shrinkwrapJSON.replace(_FOUR_SPACES, "\t"); Files.write( shrinkwrapJsonFile.toPath(), shrinkwrapJSON.getBytes(StandardCharsets.UTF_8)); }
@Override protected List<String> getCompleteArgs() { List<String> completeArgs = super.getCompleteArgs(); completeArgs.add("shrinkwrap"); if (isIncludeDevDependencies()) { completeArgs.add("--dev"); } return completeArgs; }
public NpmShrinkwrapTask() { onlyIf( new Spec<Task>() { @Override public boolean isSatisfiedBy(Task task) { File packageJsonFile = new File( getWorkingDir(), "package.json"); return packageJsonFile.exists(); } }); }
public void setExcludedDependencies(Object... excludedDependencies) { setExcludedDependencies(Arrays.asList(excludedDependencies)); }
private void _removeExcludedDependencies( Map<String, Object> map, Iterable<String> excludedDependencies) { for (Map.Entry<String, Object> entry : map.entrySet()) { Object value = entry.getValue(); if (!(value instanceof Map<?, ?>)) { continue; } Map<String, Object> valueMap = (Map<String, Object>)value; String key = entry.getKey(); if (key.equals("dependencies")) { for (String excludedDependency : excludedDependencies) { valueMap.remove(excludedDependency); } } _removeExcludedDependencies(valueMap, excludedDependencies); } }
@Override public void executeNode() throws Exception { super.executeNode(); File shrinkwrapJsonFile = new File( getWorkingDir(), "npm-shrinkwrap.json"); JsonSlurper jsonSlurper = new JsonSlurper(); Map<String, Object> shrinkwrap = (Map<String, Object>)jsonSlurper.parse( shrinkwrapJsonFile); List<String> excludedDependencies = getExcludedDependencies(); if (!excludedDependencies.isEmpty()) { _removeExcludedDependencies(shrinkwrap, getExcludedDependencies()); } String shrinkwrapJSON = JsonOutput.prettyPrint( JsonOutput.toJson(shrinkwrap)); shrinkwrapJSON = shrinkwrapJSON.replace(_FOUR_SPACES, "\t"); Files.write( shrinkwrapJsonFile.toPath(), shrinkwrapJSON.getBytes(StandardCharsets.UTF_8)); }
@Override protected List<String> getCompleteArgs() { List<String> completeArgs = super.getCompleteArgs(); completeArgs.add("shrinkwrap"); if (isIncludeDevDependencies()) { completeArgs.add("--dev"); } return completeArgs; }
public NpmShrinkwrapTask() { onlyIf( new Spec<Task>() { @Override public boolean isSatisfiedBy(Task task) { File packageJsonFile = new File( getWorkingDir(), "package.json"); return packageJsonFile.exists(); } }); }
public void setExcludedDependencies(Object... excludedDependencies) { setExcludedDependencies(Arrays.asList(excludedDependencies)); }
private void _removeExcludedDependencies( Map<String, Object> map, Iterable<String> excludedDependencies) { for (Map.Entry<String, Object> entry : map.entrySet()) { Object value = entry.getValue(); if (!(value instanceof Map<?, ?>)) { continue; } Map<String, Object> valueMap = (Map<String, Object>)value; String key = entry.getKey(); if (key.equals("dependencies")) { for (String excludedDependency : excludedDependencies) { valueMap.remove(excludedDependency); } } _removeExcludedDependencies(valueMap, excludedDependencies); } }
private NpmShrinkwrapTask _addTaskNpmShrinkwrap( Project project, Delete cleanNpmTask, NpmInstallTask npmInstallTask) { NpmShrinkwrapTask npmShrinkwrapTask = GradleUtil.addTask( project, NPM_SHRINKWRAP_TASK_NAME, NpmShrinkwrapTask.class); npmShrinkwrapTask.dependsOn(cleanNpmTask, npmInstallTask); npmShrinkwrapTask.setDescription( "Locks down the versions of a package's dependencies in order to " + "control which versions of each dependency will be used."); return npmShrinkwrapTask; }
public void setExcludedDependencies(Iterable<?> excludedDependencies) { _excludedDependencies.clear(); excludeDependencies(excludedDependencies); }
@Override public boolean isSatisfiedBy(Task task) { File packageJsonFile = new File( getWorkingDir(), "package.json"); return packageJsonFile.exists(); }
public NpmShrinkwrapTask excludeDependencies( Object... excludedDependencies) { return excludeDependencies(Arrays.asList(excludedDependencies)); }
public void setExcludedDependencies(Iterable<?> excludedDependencies) { _excludedDependencies.clear(); excludeDependencies(excludedDependencies); }