use of org.gradle.api.Task in project crnk-framework by crnk-project.
the class TSGeneratorPlugin method setupRuntimeDependencies.
private void setupRuntimeDependencies(Project project, Task generateTask) {
TSGeneratorConfig config = project.getExtensions().getByType(TSGeneratorConfig.class);
String runtimeConfiguration = config.getRuntime().getConfiguration();
if (runtimeConfiguration != null) {
String runtimeConfigurationFirstUpper = Character.toUpperCase(runtimeConfiguration.charAt(0)) + runtimeConfiguration.substring(1);
// make sure applications is compiled in order to startup and extract meta information
String processResourcesName = "process" + runtimeConfigurationFirstUpper + "Resources";
String compileJavaName = "compile" + runtimeConfigurationFirstUpper + "Java";
TaskContainer tasks = project.getTasks();
Task processResourceTask = tasks.findByName(processResourcesName);
Task compileJavaTask = tasks.findByName(compileJavaName);
if (processResourceTask != null) {
generateTask.dependsOn(processResourceTask);
}
if (compileJavaTask != null) {
generateTask.dependsOn(compileJavaTask, compileJavaTask);
}
// setup up-to-date checking
Configuration compileConfiguration = project.getConfigurations().findByName(runtimeConfiguration);
if (compileConfiguration != null) {
generateTask.getInputs().files(compileConfiguration.getFiles());
generateTask.getOutputs().dir(config.getGenDir());
}
}
}
use of org.gradle.api.Task in project crnk-framework by crnk-project.
the class TSGeneratorPlugin method setupPackageTasks.
void setupPackageTasks(Project project, Task generateTask) {
final File buildDir = new File(project.getBuildDir(), "npm_compile");
final File distDir = getNpmOutputDir(project);
project.getTasks().create(PublishTypescriptStubsTask.NAME, PublishTypescriptStubsTask.class);
TSGeneratorConfig config = project.getExtensions().getByType(TSGeneratorConfig.class);
Copy copySources = project.getTasks().create("processTypescript", Copy.class);
copySources.from(config.getGenDir());
copySources.into(buildDir);
copySources.dependsOn(generateTask);
// copy .npmrc file from root to working directory if available
final File npmrcFile = new File(project.getProjectDir(), ".npmrc");
if (npmrcFile.exists()) {
copySources.getInputs().file(npmrcFile);
copySources.doFirst(new Action<Task>() {
@Override
public void execute(Task task) {
File targetFile = new File(buildDir, ".npmrc");
buildDir.mkdirs();
TypescriptUtils.copyFile(npmrcFile, targetFile);
}
});
}
CompileTypescriptStubsTask compileTypescriptTask = project.getTasks().create(CompileTypescriptStubsTask.NAME, CompileTypescriptStubsTask.class);
try {
NpmInstallTask npmInstall = (NpmInstallTask) project.getTasks().getByName("npmInstall");
npmInstall.setWorkingDir(buildDir);
npmInstall.dependsOn(copySources);
npmInstall.getInputs().files(new File(buildDir, "package.json"));
npmInstall.getOutputs().dir(new File(buildDir, "node_modules"));
compileTypescriptTask.dependsOn(npmInstall);
} catch (UnknownTaskException e) {
LOGGER.warn("task not found, ok in testing", e);
}
ConfigurableFileTree fileTree = project.fileTree(buildDir);
fileTree.include("package.json");
fileTree.include(".npmrc");
fileTree.include("**/*.ts");
fileTree.exclude("**/*.d.ts");
compileTypescriptTask.getInputs().files(fileTree);
compileTypescriptTask.setWorkingDir(buildDir);
compileTypescriptTask.getOutputs().dir(buildDir);
ConfigurableFileTree assembleFileTree = project.fileTree(new File(buildDir, "src"));
assembleFileTree.include("**/*.ts");
assembleFileTree.include("**/*.js");
assembleFileTree.include("**/*.js.map");
Copy assembleSources = project.getTasks().create("assembleTypescript", Copy.class);
assembleSources.from(assembleFileTree);
assembleSources.from(new File(buildDir, "package.json"));
assembleSources.into(distDir);
assembleSources.dependsOn(compileTypescriptTask);
}
use of org.gradle.api.Task in project openfasttrace-gradle by itsallcode.
the class OpenFastTracePlugin method createTask.
private <T extends DefaultTask> T createTask(Project project, String taskName, Class<T> taskType) {
final Map<String, Class<T>> taskConfig = singletonMap("type", taskType);
final Task task = project.task(taskConfig, taskName);
return taskType.cast(task);
}
use of org.gradle.api.Task in project build-info by JFrogDev.
the class GradleBuildInfoExtractor method getBuildInfoTask.
private ArtifactoryTask getBuildInfoTask(Project project) {
Set<Task> tasks = project.getTasksByName(ArtifactoryTask.ARTIFACTORY_PUBLISH_TASK_NAME, false);
if (tasks.isEmpty()) {
return null;
}
ArtifactoryTask artifactoryTask = (ArtifactoryTask) tasks.iterator().next();
if (taskDidWork(artifactoryTask)) {
return artifactoryTask;
}
return null;
}
use of org.gradle.api.Task in project build-info by JFrogDev.
the class ArtifactoryTask method projectEvaluated.
public void projectEvaluated() {
Project project = getProject();
if (isSkip()) {
log.debug("artifactoryPublish task '{}' skipped for project '{}'.", this.getPath(), project.getName());
} else {
ArtifactoryPluginConvention convention = ArtifactoryPluginUtil.getPublisherConvention(project);
if (convention != null) {
ArtifactoryClientConfiguration acc = convention.getClientConfig();
artifactSpecs.clear();
artifactSpecs.addAll(acc.publisher.getArtifactSpecs());
// Configure the task using the "defaults" closure (delegate to the task)
PublisherConfig config = convention.getPublisherConfig();
if (config != null) {
Closure defaultsClosure = config.getDefaultsClosure();
ConfigureUtil.configure(defaultsClosure, this);
}
}
Task deployTask = project.getRootProject().getTasks().findByName(DEPLOY_TASK_NAME);
if (deployTask == null) {
throw new IllegalStateException(String.format("Could not find %s in the root project", DEPLOY_TASK_NAME));
}
finalizedBy(deployTask);
// Depend on buildInfo task in sub-projects
for (Project sub : project.getSubprojects()) {
Task subArtifactoryTask = sub.getTasks().findByName(ARTIFACTORY_PUBLISH_TASK_NAME);
if (subArtifactoryTask != null) {
dependsOn(subArtifactoryTask);
}
}
checkDependsOnArtifactsToPublish();
}
}
Aggregations