Here are some helpful commands that can come in handy when writing task runners for automating builds via CFML. Of course, since these are just commands, they can be run directly from the CLI as well by you.
Another very common requirement for builds is generating checksums on your files. We've got you covered here now as well. Run checksum help
for even more options.
You can provide a file globbing pattern to receive a checksum for all files in a directory that match that pattern.
The checksum
command also supports some other popular formats for outputting checksums. The default format is checksum
.
The checksum
command will also write out a file that contains the hash which is a common requirement for builds that produce artifacts.
Write checksum(s) to a file named after the original file plus a new extension. This will create a file called myFile.zip.md5
.
Control the file extension like so. (--write
is optional when supplying an extension) This will create a file called myFile.zip.hash
.
You can check a file against an existing checksum to make sure the file hasn't changed.
Here's some commands to help with code quality. You can use them as a one-time clean up and then use them as part of your regular build to maintain your coding rules.
Ahh, the age-old debate of tabs vs spaces. Make sure you have a solid discussion with your team and decide which one is correct (tabs, obviously!) and then use this command to implement it across your entire code base.
Removes trailing whitespace from the ends of your lines.
Makes sure the last line of every source file has an EOL character.
Here are some fun commands for user interactivity in the shell. You can use these as part of a recipe or a nice "one-liner".
The ask
command is similar to the ask()
method in Task Runners. It requires an interactive terminal and will ask the user a question and return their answer. It is meant to be changed with other commands.
or with default values
or with masked input
Or fun stuff like this
The confirm
command will ask the user a yes/no question and return a passing or failing exit code from the command based on the answer.
Remember the &&
operator will only execute the second command if the first command returns an exit code of 0
.