(command.CommandList children: [ (command.SimpleCommand words: [ {(curl)} {(-s)} {(https) (Lit_Other ':') (//repo1.maven.org/maven2/org/apache/rat/apache-rat/0.12/apache-rat-0.12.jar) } ] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(apache-rat-0.12.jar)})] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:RAT spids:[74]) op: Equal rhs: {(DQ ('java -jar apache-rat-0.12.jar -x '))} spids: [74] ) ] spids: [74] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:RELEASE_DIR spids:[80]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Sentence child: (C {(cd)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(dirname)} {(DQ ($ VSub_DollarName '$BASH_SOURCE'))}) ] ) left_token: <Left_CommandSub '$('> spids: [85 91] ) ) } ) terminator: <Op_Semi ';'> ) (C {(pwd)}) ] ) left_token: <Left_CommandSub '$('> spids: [81 96] ) } spids: [80] ) ] spids: [80] ) (command.SimpleCommand words: [{($ VSub_DollarName '$RAT')} {($ VSub_Number '$1')}] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(rat.txt)})] ) (command.SimpleCommand words: [ {(python)} {($ VSub_DollarName '$RELEASE_DIR') (/check-rat-report.py)} {($ VSub_DollarName '$RELEASE_DIR') (/rat_exclude_files.txt)} {(rat.txt)} ] redirects: [(redir.Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(filtered_rat.txt)})] ) (C {(cat)} {(filtered_rat.txt)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:UNAPPROVED spids:[128]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(cat)} {(filtered_rat.txt)}) (C {(grep)} {(DQ ('NOT APPROVED'))}) (C {(wc)} {(-l)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [129 147] ) } spids: [128] ) ] spids: [128] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(DQ (0))} {(-eq)} {(DQ (${ VSub_Name UNAPPROVED))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(echo)} {(DQ ('No unapproved licenses'))})] spids: [16777215 169] ) ] else_action: [ (C {(echo)} {(DQ (${ VSub_Name UNAPPROVED) (' unapproved licences. Check rat report: rat.txt'))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [178 195] ) ] )