just out of curiosity: how does the file at `CACHED_PROJECT_ZIP_FILE_NAME` become a directory? and is it then a directory that ends with ".zip"?     from what I've seen below you just directly copy the project if `src` is a directory and just create a file if it's a zip. am I missing something here?