What i have done this week
Updating functions to implement a shell script parser for the RUN command.
1. split_command(): Splite a shell script into statements: variable, command, branch and loop.
2. get_shell_commands(): Traverse the statements to pick out command and command in the loop.
3. clean_command(): Remove the tab, line inditation and long whitespaces in the command.
This PR has been merged, and at the end of week I add a report for branch statement which is previously skipped during parse.
With discussion with my mentor, we are now done with the main part of shell script parser. And next week we will move on to another issue.
Perform analysis on multistage Dockerfiles, issue#612.
Here are the steps:
1. Split the Dockerfile by stage, making a single Dockerfile for each stage
2. Build and analyze each stage
3. For reporting, perhaps organize each stage as a different section and indicate that each is a build stage of the next. Pinning a multistage Dockerfile is straightforward.
Implement the first step this week.
Did i get stuck somewhere?