
org.xtext.gradle.idea.tasks.GradleExtensions Maven / Gradle / Ivy
package org.xtext.gradle.idea.tasks;
import com.google.common.base.Splitter;
import com.google.common.io.Files;
import groovy.lang.Closure;
import java.io.File;
import org.eclipse.xtext.xbase.lib.IterableExtensions;
import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
import org.gradle.api.Project;
import org.gradle.api.file.CopySpec;
import org.gradle.api.file.FileCopyDetails;
import org.gradle.api.tasks.WorkResult;
@SuppressWarnings("all")
public class GradleExtensions {
public static WorkResult copy(final Project project, final Procedure1 super CopySpec> copyspec) {
return project.copy(new Closure(null) {
@Override
public int getMaximumNumberOfParameters() {
return 1;
}
@Override
public Object call(final Object argument) {
Object _xblockexpression = null;
{
copyspec.apply(((CopySpec) argument));
_xblockexpression = null;
}
return _xblockexpression;
}
});
}
public static File operator_divide(final File parent, final String child) {
return new File(parent, child);
}
public static void cutDirs(final FileCopyDetails file, final int levels) {
Splitter _on = Splitter.on("/");
Splitter _omitEmptyStrings = _on.omitEmptyStrings();
String _path = file.getPath();
final Iterable segments = _omitEmptyStrings.split(_path);
Iterable _drop = IterableExtensions.drop(segments, levels);
String _join = IterableExtensions.join(_drop, "/");
file.setPath(_join);
}
public static void usingTmpDir(final Procedure1 super File> action) {
final File tmp = Files.createTempDir();
try {
action.apply(tmp);
} finally {
tmp.delete();
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy