arrow-left

All pages
gitbookPowered by GitBook
1 of 4

Loading...

Loading...

Loading...

Loading...

Helpful Commands

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.

Code Quality Tools

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.

hashtag
Normalize Indents (Tabs vs Spaces)

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.

hashtag
From the CLI

hashtag
From CFML

hashtag
Remove Trailing Spaces

Removes trailing whitespace from the ends of your lines.

hashtag
From the CLI

hashtag
From CFML

hashtag
Add final EOL character

Makes sure the last line of every source file has an EOL character.

hashtag
From the CLI

hashtag
From CFML

utils normalize-indents **.cf?
command( 'indents' )
    .params( '**.cf*' )
    .run();
utils remove-trailing-spaces **.cf*
command( 'rts' )
    .params( '**.cf*' )
    .run();
utils add-eol-at-eof **.cf*
command( 'eol' )
    .params( '**.cf*' )
    .run();

Token Replacements

One common thing in builds is replacing a token placeholder across all files, or perhaps certain files defined by a file globbing pattern. We've got a special command for that.

hashtag
From the CLI

tokenReplace path=/tests/*.cfc token="@@version@@" replacement=`package version`

hashtag
From CFML

command( 'tokenReplace' )
    .params( 
        path = "/tests/*.cfc",
        token = "@@version@@",
        replacement = command( 'package version' ).run()
     )
    .run();

Checksums

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.

hashtag
From the CLI

hashtag
From CFML

hashtag
Checksum all files in a directory

You can provide a file globbing pattern to receive a checksum for all files in a directory that match that pattern.

hashtag
Output format

The checksum command also supports some other popular formats for outputting checksums. The default format is checksum.

hashtag
Write out checksums

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.

hashtag
Verify a file against an existing checksum

You can check a file against an existing checksum to make sure the file hasn't changed.

checksum file.txt
checksum path=build.zip algorithm=SHA-256
command( 'checksum' )
    .params( 'file.txt' )
    .run();

command( 'checksum' )
    .params( path = 'build.zip', algorithm = 'SHA-256' )
    .run();
checksum *.cfc
checksum path=**.cfc format=checksum
checksum path=**.cfc format=sfv
checksum path=**.cfc format=md5sum
checksum myFile.zip md5 --write
checksum path=myFile.zip extension=hash --write
checksum path=myFile.zip verify=2A95F32028087699CCBEB09AFDA0348C