- create the file to hold the Unpacker class definition
- - create the test runner file to test unpacker instance and methods
- constructor: create a class constructor method to instantiate Unpacker
- - create a unit test for instance creation
- getter/setter methods for instance property: path
- - create unit test for setting / getting instance property path
- get/setMinetype methods for identifying archive file type
- - create a unit test to check the archive mime type
- whichTar: create a class method to find the local tar command
- - create a unit test to find local tar command
- whichGzip: create a class method to find the local gzip command
- - create a unit test to find the local gzip command
- whichUnzip: create a class method to find the local unzip command
- - create a unit test to find the local unzip command
- unpack: class method to unpack an archive file with either tar or gzip [x] - add --exclude* arguments to TAR to skip file like .git ._, __MACOSX
- - create a unit test to unpack a .tar.gz file
- - create a unit test to unpack a .zip file
- - create a unit test to verify moving unpacked directory to destination
- clean up any unwanted artifacts from unpacking, like __MACOSX resource files
- setExtension: class method to get the file extension of the archive
- - create a unit test to verify file extension
- getExtension: class method to return the file extension of the archive
- - create a unit test to verify returned file extension
- tar_t: class method to list tar file entries (without extracting)
- - create a unit test to list entries in a .tar archive
- - create a unit test to list entires in a compressed .t[ar.]gz archive
- unzip_l: class method to list zip file entries (without extracting)
- - create a unit test to list entries in a .zip archive
- gunzip_l: class method to list zip file entries (without extracting)
- - create a unit test to list entries in a .gz archive
- list: class proxy method to list contents of the archive - tar t / unzip -l / gunzip -l
- - create a unit test to list entries in a .tar archive
- - create a unit test to list entires in a compressed .t[ar.]gz archive
- mv: class method to encapsulate the code or moving files.
- - create a unit test to verify moving files