/** * Add an exclude pattern for license checking * * @param exclude Exclude pattern to add */ public void exclude(String exclude) { List<String> excludes = (getExcludes() == null) ? new ArrayList<>() : new ArrayList<>(getExcludes()); excludes.add(exclude); setExcludes(excludes); }
/** * Finalize the project configuration * * <ul> * <li>Initialize the license URLs if not set * </ul> * * @param projectConfig Project configuration to finalize */ @Finalize public void finalizeProjectConfig(ProjectConfig projectConfig) { License license = projectConfig.getLicense(); String licenseId = license.getId(); if (licenseId != null) { if (license.getUrl() == null) { license.setUrl("https://opensource.org/licenses/" + licenseId.replace(' ', '-')); } if (license.getSourceUrl() == null) { license.setSourceUrl( "https://raw.githubusercontent.com/github/choosealicense.com/gh-pages/_licenses/" + licenseId.toLowerCase().replace(' ', '-') + ".txt"); } } }
/** * Initialize the project configuration * * @param projectConfig Project configuration * @param annotationsConfig Annotations configuration */ @Defaults public void initializeProjectConfig(ProjectConfig projectConfig, AnnotatedProject annotationsConfig) { License license = projectConfig.getLicense(); license.exclude("*.eea"); } }
if (license.getId() == null) { LOGGER.warn("Please configure projectConfig.license.id"); if (license.getUrl() == null) { LOGGER.warn("Please configure projectConfig.license.url"); if (license.getSourceUrl() == null) { LOGGER.warn("Please configure projectConfig.license.sourceUrl");
/** * Initialize license extension * * @param licenseExtension License extension to initialize * @param projectConfig Project configuration * @param files File operations object to resolve file names */ @Defaults public void initializeLicenseExtension(LicenseExtension licenseExtension, ProjectConfig projectConfig, FileOperations files) { licenseExtension.setHeader(files.file("src/doc/templates/LICENSE.txt")); licenseExtension.exclude("**/*.json"); Optional.ofNullable(projectConfig.getLicense().getExcludes()).ifPresent(excludes -> { for (String exclude : excludes) { licenseExtension.exclude(exclude); } }); ExtraPropertiesExtension properties = (ExtraPropertiesExtension) ((GroovyObject) licenseExtension) .getProperty("ext"); properties.set("year", LocalDate.now().getYear()); }
/** * 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()); }); }
/** * Configure the Bintray plugin * * <ul> * <li>Set Bintray user and password from Gradle properties file or environment * <li>Configure the Bintray package * </ul> * * @param bintray Bintray plugin's configuration * @param projectConfig Project configuration * @param bintrayConfig Bintray configuration * @param project Project context */ @Defaults public void configureBintrayExtension(BintrayExtension bintray, ProjectConfig projectConfig, BintrayConfig bintrayConfig, ProjectContext project) { bintray.setUser(project.getProperty("bintray.user")); bintray.setKey(project.getProperty("bintray.key")); PackageConfig pkg = bintray.getPkg(); pkg.setName(project.getName()); pkg.setDesc(project.getDescription()); pkg.setRepo(bintrayConfig.getRepository()); pkg.setVcsUrl(projectConfig.getRepository().getConnection()); pkg.setWebsiteUrl(projectConfig.getWebsiteUrl()); pkg.setIssueTrackerUrl(projectConfig.getIssueTracker().getWebsiteUrl()); pkg.setLicenses(projectConfig.getLicense().getId()); VersionConfig version = pkg.getVersion(); version.setName(project.getVersion().toString()); version.setVcsTag(project.getName() + "-" + project.getVersion()); }
/** * Initialize the project configuration * * @param projectConfig Project configuration */ @Defaults public void initializeProjectConfig(ProjectConfig projectConfig) { License license = projectConfig.getLicense(); license.setExcludes(new ArrayList<>()); VersionControl versionControl = projectConfig.getVersionControl(); versionControl.ignore("*~"); versionControl.ignore("/.classpath"); versionControl.ignore("/.gradle"); versionControl.ignore("/.project"); versionControl.ignore("/.settings"); versionControl.ignore("/bin/"); versionControl.ignore("/build/"); versionControl.ignore("/target/"); versionControl.ignore("#*#"); }
if (license.getId() == null) { LOGGER.warn("Please configure projectConfig.license.id"); if (license.getUrl() == null) { LOGGER.warn("Please configure projectConfig.license.url"); if (license.getSourceUrl() == null) { LOGGER.warn("Please configure projectConfig.license.sourceUrl");
/** * Initialize license extension * * @param licenseExtension License extension to initialize * @param projectConfig Project configuration * @param files File operations object to resolve file names */ @Defaults public void initializeLicenseExtension(LicenseExtension licenseExtension, ProjectConfig projectConfig, FileOperations files) { licenseExtension.setHeader(files.file("src/doc/templates/LICENSE.txt")); licenseExtension.exclude("**/*.json"); Optional.ofNullable(projectConfig.getLicense().getExcludes()).ifPresent(excludes -> { for (String exclude : excludes) { licenseExtension.exclude(exclude); } }); ExtraPropertiesExtension properties = (ExtraPropertiesExtension) ((GroovyObject) licenseExtension) .getProperty("ext"); properties.set("year", LocalDate.now().getYear()); }
/** * 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()); }); }
/** * Configure the Bintray plugin * * <ul> * <li>Set Bintray user and password from Gradle properties file or environment * <li>Configure the Bintray package * </ul> * * @param bintray Bintray plugin's configuration * @param projectConfig Project configuration * @param bintrayConfig Bintray configuration * @param project Project context */ @Defaults public void configureBintrayExtension(BintrayExtension bintray, ProjectConfig projectConfig, BintrayConfig bintrayConfig, ProjectContext project) { bintray.setUser(project.getProperty("bintray.user")); bintray.setKey(project.getProperty("bintray.key")); PackageConfig pkg = bintray.getPkg(); pkg.setName(project.getName()); pkg.setDesc(project.getDescription()); pkg.setRepo(bintrayConfig.getRepository()); pkg.setVcsUrl(projectConfig.getRepository().getConnection()); pkg.setWebsiteUrl(projectConfig.getWebsiteUrl()); pkg.setIssueTrackerUrl(projectConfig.getIssueTracker().getWebsiteUrl()); pkg.setLicenses(projectConfig.getLicense().getId()); VersionConfig version = pkg.getVersion(); version.setName(project.getVersion().toString()); version.setVcsTag(project.getName() + "-" + project.getVersion()); }
/** * Initialize the project configuration * * @param projectConfig Project configuration */ @Defaults public void initializeProjectConfig(ProjectConfig projectConfig) { License license = projectConfig.getLicense(); license.setExcludes(new ArrayList<>()); VersionControl versionControl = projectConfig.getVersionControl(); versionControl.ignore("*~"); versionControl.ignore("/.classpath"); versionControl.ignore("/.gradle"); versionControl.ignore("/.project"); versionControl.ignore("/.settings"); versionControl.ignore("/bin/"); versionControl.ignore("/build/"); versionControl.ignore("/target/"); versionControl.ignore("#*#"); }
/** * Finalize the project configuration * * <ul> * <li>Initialize the license URLs if not set * </ul> * * @param projectConfig Project configuration to finalize */ @Finalize public void finalizeProjectConfig(ProjectConfig projectConfig) { License license = projectConfig.getLicense(); String licenseId = license.getId(); if (licenseId != null) { if (license.getUrl() == null) { license.setUrl("https://opensource.org/licenses/" + licenseId.replace(' ', '-')); } if (license.getSourceUrl() == null) { license.setSourceUrl( "https://raw.githubusercontent.com/github/choosealicense.com/gh-pages/_licenses/" + licenseId.toLowerCase().replace(' ', '-') + ".txt"); } } }
/** * Add an exclude pattern for license checking * * @param exclude Exclude pattern to add */ public void exclude(String exclude) { List<String> excludes = (getExcludes() == null) ? new ArrayList<>() : new ArrayList<>(getExcludes()); excludes.add(exclude); setExcludes(excludes); }
/** * Initialize the project configuration * * @param projectConfig Project configuration * @param annotationsConfig Annotations configuration */ @Defaults public void initializeProjectConfig(ProjectConfig projectConfig, AnnotatedProject annotationsConfig) { License license = projectConfig.getLicense(); license.exclude("*.eea"); } }