ksclarke / freelib-build-tools Goto Github PK
View Code? Open in Web Editor NEWCheckstyle rules and site stylesheets for the FreeLibrary projects
License: Mozilla Public License 2.0
Checkstyle rules and site stylesheets for the FreeLibrary projects
License: Mozilla Public License 2.0
OSS Sonatype has moved to a new staging server, but my projects are still on the legacy server. Since the release tool uses the new server, configure my releases to use the legacy server until my projects are moved over to the new one.
Cf. https://central.sonatype.org/pages/releasing-the-deployment.html
Don't double indent.
org.sonatype.oss:oss-parent:9 is deprecated:
In the past all the plugin configuration and other setup was managed by a Maven parent POM with the latest coordinates of org.sonatype.oss:oss-parent:9. This project leaked SCM, URL and other details and its usage is discouraged. Maintenance of the project has stopped and it no longer works with latest tooling such as Maven versions or Java versions. If desired, please manage your own organization-level POM in a similar manner.
See https://central.sonatype.org/pages/apache-maven.html for details.
The Actions spit out a warning if a default profile isn't defined. Add an empty default profile to get rid of the warning message.
This adds support for automated versioning in draft releases (making creating/publishing new releases easier).
Right now the release script expects to see a Jar file uploaded: https://github.com/ksclarke/freelib-build-tools/blob/main/freelib-resources/src/main/resources/travis/deploy#L34
Modify the script so that it doesn't expect that if there is a Dockerfile in the project (at the expected location).
It should be src/test/generated
.
Downgrade the version of Failsafe to 2.22.0. The most recent version is incompatible with JUnit5 (which this project isn't using but downstream projects may be):
Get an error that the coverage report can't be found when trying to run a Travis build with 'verify' as the goal.
Add src/main/tools
to downstream project's .gitignore; src/main/tools
shouldn't be checked into source control for downstream projects because it has variables that are filled in on build:
Filled in on build variables will be specific to the dev who did the first build.
When the checkstyle.xml is copied to the local file system of a project using freelib-parent, it has a hard-coded path. This file gets checked into Git because Codacy needs it to run checks on the child project. There should be a way to use a relative path here instead of having to check in a hard-coded path that's specific to the dev's machine (which Codacy must currently be ignoring?)
We sniff JDK version to know which version Maven should use, but we only check for up to 15 currently. A JDK 16 will not be recognized. Update the parent pom to look for JDK 16 too.
Update the README to reflect the next to-be published version number: 6.3.2.
This is just a build demo/test.
Add *.default, *.tmpl, and *.properties file extensions to:
After some experimentation, I think it's going to be best to just override the default for projects that are more complicated (e.g. have more than one branch from which releases are made). This rolls back the earlier customizations trying to support this.
Also check other files in here to make sure they say just "main" or include both "master" and "main" (as a temporary fix until all projects using this lib have upgraded to "main").
The Maven Resources Plugin ignores the 'overwrite' config when filtering is turned on. This project has filtering off for the GitHub Actions copy, but when a child project turns on filtering for resources, in general, the overwrite value for the actions copy config gets ignored. Explicitly setting filtering to 'off' for the Actions copy should fix that.
The freelib-maven-plugins project includes a Maven plugin that will set file (and dir) permissions. Right now this project uses maven-exec-plugin to do that (which depends on a Bash environment). Switch to the freelib-maven-plugins' set-file-perms plugin, which will work on systems that don't have Bash too.
It might be good to expand set-file-perms to set the perms on a directory's contents too so one could specify a directory without having to specify all its contents.
There is a second section for copying it to the root directory. It should be ignored when the other build resources are checked out to src/main/tools.
This is useful when you only want to deploy a Docker image.
Add optional Docker configs to the GitHub release Action so that images can be pushed when a POM is configured that way.
The Maven plugin supports loading checkstyle configs from a jar now and the latest version of checkstyle (5.7).
When using generics, I like overriding methods to change the returned value to the subclass for nicer Javadocs.
Some projects need to be able to do releases on 'v2' and 'v3' branches too.
We want to exclude it from the Eclipse m2e check.
The message codes XML file, for instance.
The codacy plugin is configured in a profile. Can we make that run from a profile that only runs if the CODACY_API_TOKEN and CODACY_PROJECT_TOKEN ENV vars are found?
We can exclude certain binary file types so they aren't attempted to be filtered by the maven-resources-plugin.
Versions with qualifiers aren't incremented properly: e.g. 0.5.0-v2-SNAPSHOT
The qualifier gets dropped.
Eclipse has annotations
@formatter:off
@formatter:on
That can be used to temporarily turn off the autoformatter. This is useful for inline ASCII art/diagrams.
Turn on Eclipse's ability to read these annotations.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.