/** * Create task to configure project * * @param tasks Task container to create task */ @Mutate public void createConfigureTask(ModelMap<Task> tasks) { tasks.create("configure", Task.class, t -> { t.setDescription("Configure project environment"); t.setGroup("build setup"); }); }
tasks.create(CONFIGURE_CHECKSTYLE_TASK_NAME, Task.class, t -> { t.setDescription("Update checkstyle configuration"); t.setGroup("Build Setup"); }); tasks.create(Tasks.cleanName(CONFIGURE_CHECKSTYLE_TASK_NAME)); tasks.named(LifecycleBasePlugin.CHECK_TASK_NAME, t -> { t.dependsOn(CONFIGURE_CHECKSTYLE_TASK_NAME); }); tasks.create(taskName, CheckstyleConfigUpdate.class, t -> { t.setDescription(String.format("Update checkstyle configuration for source set '%s'", source.getParentName())); }); tasks.named(getCheckstyleTaskName(source), t -> { t.dependsOn(taskName); }); tasks.named(CONFIGURE_CHECKSTYLE_TASK_NAME, t -> { t.dependsOn(taskName); }); tasks.named(Tasks.cleanName(CONFIGURE_CHECKSTYLE_TASK_NAME), t -> { t.dependsOn(Tasks.cleanName(taskName)); });
@Mutate public void createBaiduTasks(ModelMap<Task> tasks, final Baidu baidu) { System.out.println("loading BaiduPlugin!"); tasks.create("publishBaiduOss", PublishBaiduOssTask.class, new Action<PublishBaiduOssTask>() { @Override public void execute(PublishBaiduOssTask task) { task.setBaidu(baidu); task.dependsOn("jar"); } }); tasks.create("runMapReduceTask", RunMapReduceTask.class, new Action<RunMapReduceTask>() { @Override public void execute(RunMapReduceTask task) { task.setBaidu(baidu); } }); tasks.get("runMapReduceTask").dependsOn("publishBaiduOss"); }
/** * Configure the task dependencies * * @param tasks Assemble task to configure */ @Mutate public void configureTaskDependencies(ModelMap<Task> tasks) { tasks.named("assemble", t -> { t.dependsOn("licenseUpdate"); }); }
/** * Configure the task dependencies * * @param tasks Assemble task to configure */ @Mutate public void configureTaskDependencies(ModelMap<Task> tasks) { tasks.named("assemble", t -> { t.dependsOn("licenseUpdate"); }); }
/** * Create task to configure project * * @param tasks Task container to create task */ @Mutate public void createConfigureTask(ModelMap<Task> tasks) { tasks.create("configure", Task.class, t -> { t.setDescription("Configure project environment"); t.setGroup("build setup"); }); }
tasks.create(CONFIGURE_CHECKSTYLE_TASK_NAME, Task.class, t -> { t.setDescription("Update checkstyle configuration"); t.setGroup("Build Setup"); }); tasks.create(Tasks.cleanName(CONFIGURE_CHECKSTYLE_TASK_NAME)); tasks.named(LifecycleBasePlugin.CHECK_TASK_NAME, t -> { t.dependsOn(CONFIGURE_CHECKSTYLE_TASK_NAME); }); tasks.create(taskName, CheckstyleConfigUpdate.class, t -> { t.setDescription(String.format("Update checkstyle configuration for source set '%s'", source.getParentName())); }); tasks.named(getCheckstyleTaskName(source), t -> { t.dependsOn(taskName); }); tasks.named(CONFIGURE_CHECKSTYLE_TASK_NAME, t -> { t.dependsOn(taskName); }); tasks.named(Tasks.cleanName(CONFIGURE_CHECKSTYLE_TASK_NAME), t -> { t.dependsOn(Tasks.cleanName(taskName)); });
private void setupCheckTasks(NativeBinarySpec binary, ModelMap<Task> tasks, JniNativeLibrarySpec jniComponent, Project project) { if (!binary.isBuildable()) { return; } if (!(binary instanceof SharedLibraryBinarySpec)) { return; } SharedLibraryBinarySpec sharedBinary = (SharedLibraryBinarySpec) binary; String input = binary.getBuildTask().getName(); String projName = input.substring(0, 1).toUpperCase() + input.substring(1); String checkTaskName = "check" + projName + "JniSymbols"; tasks.create(checkTaskName, JniSymbolCheck.class, task -> { task.setGroup("Build"); task.setDescription("Checks that JNI symbols exist in the native libraries"); task.dependsOn(sharedBinary.getTasks().getLink()); task.getInputs().file(sharedBinary.getSharedLibraryFile()); for (String j : jniComponent.getJniHeaderLocations().values()) { task.getInputs().dir(j); } task.getOutputs().file(task.foundSymbols); task.binaryToCheck = sharedBinary; task.jniComponent = jniComponent; task.foundSymbols.set(project.getLayout().getBuildDirectory().file("jnisymbols/" + projName + "/symbols.txt")); }); binary.checkedBy(tasks.get(checkTaskName)); }
/** * Configure the 'eclipse' task * * @param tasks Task container to manage tasks * @param eclipseModel Eclipse configuration to create dependency */ @Mutate public void configureEclipseTasks(ModelMap<Task> tasks, EclipseModel eclipseModel) { tasks.named(EclipsePlugin.ECLIPSE_TASK_NAME, t -> { t.dependsOn(ECLIPSE_CHECKSTYLE_TASK_NAME); }); tasks.named(Tasks.cleanName(Validate.notNull(EclipsePlugin.ECLIPSE_TASK_NAME)), t -> { t.dependsOn(Tasks.cleanName(ECLIPSE_CHECKSTYLE_TASK_NAME)); }); }
/** * Create the install task from the Maven configuration * * @param tasks Task model to create task in */ @Mutate public void createInstallTask(ModelMap<Task> tasks) { tasks.create("install", Task.class, t -> { t.setDescription("Install to local repository, convenience alias for 'publishToMavenLocal'"); t.setGroup(PublishingPlugin.PUBLISH_TASK_GROUP); t.dependsOn(MavenPublishPlugin.PUBLISH_LOCAL_LIFECYCLE_TASK_NAME); }); }
/** * Configure the 'eclipse' task * * @param tasks Task container to manage tasks * @param eclipseModel Eclipse configuration to create dependency */ @Mutate public void configureEclipseTasks(ModelMap<Task> tasks, EclipseModel eclipseModel) { tasks.named(EclipsePlugin.ECLIPSE_TASK_NAME, t -> { t.dependsOn(ECLIPSE_CHECKSTYLE_TASK_NAME); }); tasks.named(Tasks.cleanName(Validate.notNull(EclipsePlugin.ECLIPSE_TASK_NAME)), t -> { t.dependsOn(Tasks.cleanName(ECLIPSE_CHECKSTYLE_TASK_NAME)); }); }
/** * Create the install task from the Maven configuration * * @param tasks Task model to create task in */ @Mutate public void createInstallTask(ModelMap<Task> tasks) { tasks.create("install", Task.class, t -> { t.setDescription("Install to local repository, convenience alias for 'publishToMavenLocal'"); t.setGroup(PublishingPlugin.PUBLISH_TASK_GROUP); t.dependsOn(MavenPublishPlugin.PUBLISH_LOCAL_LIFECYCLE_TASK_NAME); }); }
/** * Create debug tasks * * @param tasks Task container to create new tasks * @param config Project configuration * @param project Current project identifier */ @Mutate public void createDebugTasks(ModelMap<Task> tasks, ProjectConfig config, ProjectIdentifier project) { // Create debug task to dump dependencies if (config.isEnableDebugTasks()) { tasks.create("debugDependencies", Task.class, tt -> { tt.doLast(t -> { PrintStream out = System.out; out.print("Project: "); out.println(project.getName()); for (Configuration configuration : t.getProject().getConfigurations()) { out.print(" Configuration: "); out.println(configuration.getName()); for (Dependency dependency : configuration.getDependencies()) { out.print(" Dependency: "); out.println(formatDependency(dependency)); } } }); }); } }
/** * Create the Git tasks * * @param tasks Task container to add tasks to * @param projectConfig Project configuration */ @Mutate public void createGitTasks(ModelMap<Task> tasks, ProjectConfig projectConfig) { tasks.create("configureLocalGitRepository", ConfigureLocalGitRepository.class, t -> { t.setDescription("Configure the local Git repository, creating it if necessary."); t.setGroup("build setup"); t.setIgnores(projectConfig.getVersionControl().getIgnores()); t.getRemoteRepositories().put("origin", projectConfig.getRepository().getDeveloperConnection()); }); tasks.named("configure", t -> { t.dependsOn("configureLocalGitRepository"); }); }
/** * Create debug tasks * * @param tasks Task container to create new tasks * @param config Project configuration * @param project Current project identifier */ @Mutate public void createDebugTasks(ModelMap<Task> tasks, ProjectConfig config, ProjectIdentifier project) { // Create debug task to dump dependencies if (config.isEnableDebugTasks()) { tasks.create("debugDependencies", Task.class, tt -> { tt.doLast(t -> { PrintStream out = System.out; out.print("Project: "); out.println(project.getName()); for (Configuration configuration : t.getProject().getConfigurations()) { out.print(" Configuration: "); out.println(configuration.getName()); for (Dependency dependency : configuration.getDependencies()) { out.print(" Dependency: "); out.println(formatDependency(dependency)); } } }); }); } }
/** * Create a task to create the Github repository for the project * * @param tasks Task container to create tasks * @param project Project context to get project settings */ @Mutate public void createGithubTasks(ModelMap<Task> tasks, ProjectContext project) { tasks.create("configureGithubRepository", ConfigureGithubRepository.class, t -> { t.setDescription("Configure a Github repository for the project, creating it if necessary."); t.setGroup("build setup"); t.setGithubToken(project.getProperty("github.token")); t.setRepositoryName(project.getName()); t.setRepositoryDescription(project.getDescription()); }); tasks.named("configure", t -> { t.dependsOn("configureGithubRepository"); }); } }
/** * Create eclipse tasks to generate Checkstyle settings * * @param tasks Task container to create tasks * @param sources Source sets * @param files File operations object to resolve file names */ @Mutate public void createEclipseCheckstyleTask(ModelMap<Task> tasks, ProjectSourceSet sources, FileOperations files) { List<String> sourceNames = sources.withType(JavaSourceSet.class).stream().map(s -> s.getParentName()) .collect(Collectors.toList()); tasks.create(ECLIPSE_CHECKSTYLE_TASK_NAME, GenerateEclipseCheckstyle.class, t -> { t.setDescription("Generates Checkstyle configuration for Eclipse."); t.setGroup("IDE"); t.setSourceSets(sourceNames); t.setSettingsFile(files.file(".checkstyle")); }); }
/** * Create a task to create the Github repository for the project * * @param tasks Task container to create tasks * @param project Project context to get project settings */ @Mutate public void createGithubTasks(ModelMap<Task> tasks, ProjectContext project) { tasks.create("configureGithubRepository", ConfigureGithubRepository.class, t -> { t.setDescription("Configure a Github repository for the project, creating it if necessary."); t.setGroup("build setup"); t.setGithubToken(project.getProperty("github.token")); t.setRepositoryName(project.getName()); t.setRepositoryDescription(project.getDescription()); }); tasks.named("configure", t -> { t.dependsOn("configureGithubRepository"); }); } }