/** * Create task to update license template file * * @param tasks Task container to create task * @param projectConfig Project configuration for general project data * @param licenseExtension License extension for license data * @param files Resolver for file names */ @Mutate public void createLicenseTemplateUpdateTask(ModelMap<Task> tasks, ProjectConfig projectConfig, LicenseExtension licenseExtension, FileOperations files) { tasks.create("licenseTemplateUpdate", UpdateLicenseTask.class, t -> { t.setDescription("Download configured license into license template file."); t.setGroup("license"); t.setLicenseFile(files.file("src/doc/templates/LICENSE.txt")); ConventionMapping parameters = t.getConventionMapping(); parameters.map("copyrightName", () -> projectConfig.getOrganization().getName()); parameters.map("copyrightYear", () -> getCopyrightYearTemplate(projectConfig)); parameters.map("licenseUrl", () -> projectConfig.getLicense().getSourceUrl()); }); }
/** * Initialize the project configuration * * @param projectConfig Project configuration to initialize * @param githubConfig Github configuration to apply */ @Defaults public void initializeProjectConfig(ProjectConfig projectConfig, GithubConfig githubConfig) { if (projectConfig.getWebsiteUrl() == null) { projectConfig.setWebsiteUrl(githubConfig.getWebsiteUrl()); } Organization organization = projectConfig.getOrganization(); if (organization.getWebsiteUrl() == null) { organization.setWebsiteUrl(githubConfig.getProfileUrl()); } Repository repository = projectConfig.getRepository(); repository.setId("github"); repository.setType("git"); repository.setWebsiteUrl(githubConfig.getWebsiteUrl()); repository.setConnection(githubConfig.getConnection()); repository.setDeveloperConnection(githubConfig.getDeveloperConnection()); IssueTracker tracker = projectConfig.getIssueTracker(); tracker.setId("github"); tracker.setWebsiteUrl(githubConfig.getIssueTrackerUrl()); }
if (organization.getName() == null) { LOGGER.warn("Please configure projectConfig.organization.name"); if (organization.getWebsiteUrl() == null) { LOGGER.warn("Please configure projectConfig.organization.websiteUrl");
if (organization.getName() == null) { LOGGER.warn("Please configure projectConfig.organization.name"); if (organization.getWebsiteUrl() == null) { LOGGER.warn("Please configure projectConfig.organization.websiteUrl");
Nodes.setChildValue(organization, "name", organizationConfig.getName()); Nodes.setChildValue(organization, "url", organizationConfig.getWebsiteUrl());
/** * Initialize the project configuration * * @param projectConfig Project configuration to initialize * @param githubConfig Github configuration to apply */ @Defaults public void initializeProjectConfig(ProjectConfig projectConfig, GithubConfig githubConfig) { if (projectConfig.getWebsiteUrl() == null) { projectConfig.setWebsiteUrl(githubConfig.getWebsiteUrl()); } Organization organization = projectConfig.getOrganization(); if (organization.getWebsiteUrl() == null) { organization.setWebsiteUrl(githubConfig.getProfileUrl()); } Repository repository = projectConfig.getRepository(); repository.setId("github"); repository.setType("git"); repository.setWebsiteUrl(githubConfig.getWebsiteUrl()); repository.setConnection(githubConfig.getConnection()); repository.setDeveloperConnection(githubConfig.getDeveloperConnection()); IssueTracker tracker = projectConfig.getIssueTracker(); tracker.setId("github"); tracker.setWebsiteUrl(githubConfig.getIssueTrackerUrl()); }
/** * Create task to update license template file * * @param tasks Task container to create task * @param projectConfig Project configuration for general project data * @param licenseExtension License extension for license data * @param files Resolver for file names */ @Mutate public void createLicenseTemplateUpdateTask(ModelMap<Task> tasks, ProjectConfig projectConfig, LicenseExtension licenseExtension, FileOperations files) { tasks.create("licenseTemplateUpdate", UpdateLicenseTask.class, t -> { t.setDescription("Download configured license into license template file."); t.setGroup("license"); t.setLicenseFile(files.file("src/doc/templates/LICENSE.txt")); ConventionMapping parameters = t.getConventionMapping(); parameters.map("copyrightName", () -> projectConfig.getOrganization().getName()); parameters.map("copyrightYear", () -> getCopyrightYearTemplate(projectConfig)); parameters.map("licenseUrl", () -> projectConfig.getLicense().getSourceUrl()); }); }
Nodes.setChildValue(organization, "name", organizationConfig.getName()); Nodes.setChildValue(organization, "url", organizationConfig.getWebsiteUrl());