(List (= scope= flags=0 words=[] bindings=[('CURRENT_DIR', {[DQ [ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[DQ [ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub BASH_SOURCE bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}})]]})]]}) (Com {[LIT_CHARS pwd]}) )]]})]) (AndOr OP_OR_IF (Com {[LIT_CHARS source]} {[DQ [VarSub CURRENT_DIR][LIT_CHARS /../integration_test_setup.sh]]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "integration_test_setup.sh not found!"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS source]} {[DQ [VarSub CURRENT_DIR][LIT_CHARS /remote_helpers.sh]]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "remote_helpers.sh not found!"]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (FunctionDef set_up [] (List (= scope= flags=0 words=[] bindings=[('m2', {[VarSub TEST_TMPDIR] [LIT_CHARS /my-m2]})]) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub m2]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub m2]}) (Com {[LIT_CHARS startup_server]} {[VarSub m2]}) ) ) (FunctionDef tear_down [] (List (Com {[LIT_CHARS shutdown_server]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub m2]}) ) ) (FunctionDef generate_workspace [] (Com {[VarSub bazel_data] [LIT_CHARS /src/tools/generate_workspace/generate_workspace]} {[VarSub @]}) ) (FunctionDef make_artifact [] (List (= scope= flags=0 words=[] bindings=[('groupId', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('artifactId', {[VarSub 2]})]) (= scope= flags=0 words=[] bindings=[('version', {[VarSub 3]})]) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS shift]}) (Com {[LIT_CHARS shift]}) (= scope= flags=0 words=[] bindings=[('pkg_dir', {[VarSub m2] [LIT_CHARS /] [VarSub groupId] [LIT_CHARS /] [VarSub artifactId] [LIT_CHARS /] [VarSub version]})]) (= scope= flags=0 words=[] bindings=[('pom_file', {[VarSub pkg_dir] [LIT_CHARS /] [VarSub artifactId] [LIT_CHARS -] [VarSub version] [LIT_CHARS .pom]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub pkg_dir]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[VarSub pom_file]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "\n"][LIT_CHARS " 4.0.0\n"][LIT_CHARS " "][VarSub groupId][LIT_CHARS "\n"][LIT_CHARS " "][VarSub artifactId][LIT_CHARS "\n"][LIT_CHARS " "][VarSub version][LIT_CHARS "\n"]]} 0), > ) (If (DBracket {B2 BINARY_STRING_GREAT {[VarSub @ transform_ops=[(#len)]]} {[LIT_CHARS 0]}}) (List (Com {[LIT_CHARS echo]} {[SQ ">]} < (FilenameRedirectNode filename={[VarSub pom_file]} >"> 1), > ) (For artifact [{[VarSub @]}]) (List (Com {[LIT_CHARS read]} {[LIT_CHARS -r]} {[LIT_CHARS -a]} {[LIT_CHARS dep]} < (HereWordRedirectNode here_word={[DQ [VarSub artifact]]} 0), > more_env=[('IFS', {[SQ ]})] ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[VarSub pom_file]} >"> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS " \n"][LIT_CHARS " "][VarSub dep bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}})][LIT_CHARS "\n"][LIT_CHARS " "][VarSub dep bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}})][LIT_CHARS "\n"][LIT_CHARS " "][VarSub dep bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 2]}})][LIT_CHARS "\n"][LIT_CHARS " \n"]]} 0), > ) ) ) (Com {[LIT_CHARS echo]} {[SQ ">]} < (FilenameRedirectNode filename={[VarSub pom_file]} >"> 1), > ) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS ""]]} < (FilenameRedirectNode filename={[VarSub pom_file]} >"> 1), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[VarSub TEST_TMPDIR] [LIT_CHARS /] [VarSub groupId] [LIT_CHARS .java]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "public class "][VarSub groupId][LIT_CHARS " {\n"][LIT_CHARS " public static void print() {\n"][LIT_CHARS " System.out.println("][RIGHT_D_QUOTE "\""][VarSub artifactId][RIGHT_D_QUOTE "\""][LIT_CHARS ");\n"][LIT_CHARS " }\n"][LIT_CHARS "}\n"]]} 0), > ) (= scope= flags=0 words=[] bindings=[('jar_path', {[VarSub pkg_dir] [LIT_CHARS /] [VarSub artifactId] [LIT_CHARS -] [VarSub version] [LIT_CHARS .jar]})]) (Com {[VarSub bazel_javabase] [LIT_CHARS /bin/javac]} {[VarSub TEST_TMPDIR] [LIT_CHARS /] [VarSub groupId] [LIT_CHARS .java]}) (Com {[VarSub bazel_javabase] [LIT_CHARS /bin/jar]} {[LIT_CHARS cf]} {[VarSub jar_path]} {[VarSub TEST_TMPDIR] [LIT_CHARS /] [VarSub groupId] [LIT_CHARS .class]}) (= scope= flags=0 words=[] bindings=[('sha1', {[ComSub (Pipeline (Com {[LIT_CHARS shasum]} {[VarSub jar_path]}) (Com {[LIT_CHARS awk]} {[SQ ]}) )]})]) (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[VarSub sha1]} < (FilenameRedirectNode filename={[VarSub jar_path] [LIT_CHARS .sha1]} "> 1), > ) (Com {[LIT_CHARS echo]} {[VarSub sha1]}) ) ) (FunctionDef get_workspace_file [] (Pipeline (Com {[LIT_CHARS cat]} {[VarSub TEST_log]}) (Com {[LIT_CHARS tail]} {[LIT_CHARS -n]} {[LIT_CHARS 2]}) (Com {[LIT_CHARS head]} {[LIT_CHARS -n]} {[LIT_CHARS 1]}) ) ) (FunctionDef get_build_file [] (Pipeline (Com {[LIT_CHARS cat]} {[VarSub TEST_log]}) (Com {[LIT_CHARS tail]} {[LIT_CHARS -n]} {[LIT_CHARS 1]}) ) ) (FunctionDef test_pom [] (List (= scope= flags=0 words=[] bindings=[('sha1', {[ComSub (Com {[LIT_CHARS make_artifact]} {[LIT_CHARS blorp]} {[LIT_CHARS glorp]} {[LIT_CHARS 1.2.3]})]})]) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[VarSub TEST_TMPDIR] [LIT_CHARS /pom.xml]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "\n"][LIT_CHARS " 4.0.0\n"][LIT_CHARS " my\n"][LIT_CHARS " thing\n"][LIT_CHARS " 1.0\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " my-repo1\n"][LIT_CHARS " a custom repo\n"][LIT_CHARS " http://localhost:"][VarSub fileserver_port][LIT_CHARS "/\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS "\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " blorp\n"][LIT_CHARS " glorp\n"][LIT_CHARS " 1.2.3\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS "\n"]]} 0), > ) (Fork (Com {[LIT_CHARS generate_workspace]} {[LIT_CHARS --maven_project] [LIT_OTHER "="] [VarSub TEST_TMPDIR]}) ) (AndOr OP_OR_IF (Com < (FilenameRedirectNode filename={[VarSub TEST_log]} "> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "generating workspace failed"]]}) ) (Com {[LIT_CHARS cat]} {[ComSub (Pipeline (Com {[LIT_CHARS cat]} {[VarSub TEST_log]}) (Com {[LIT_CHARS tail]} {[LIT_CHARS -n]} {[LIT_CHARS 2]}) (Com {[LIT_CHARS head]} {[LIT_CHARS -n]} {[LIT_CHARS 1]}) )]} < (FilenameRedirectNode filename={[LIT_CHARS ws]} "> 1), > ) (Com {[LIT_CHARS cat]} {[ComSub (Pipeline (Com {[LIT_CHARS cat]} {[VarSub TEST_log]}) (Com {[LIT_CHARS tail]} {[LIT_CHARS -n]} {[LIT_CHARS 1]}) )]} < (FilenameRedirectNode filename={[LIT_CHARS build]} "> 1), > ) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "artifact = "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "blorp:glorp:1.2.3"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS ws]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "repository = "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "http://localhost:"][VarSub fileserver_port][LIT_CHARS /][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS ws]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "sha1 = "][\ LIT_ESCAPED_CHAR "\\\""][VarSub sha1][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS ws]}) (Com {[LIT_CHARS assert_contains]} {[DQ [\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "@blorp_glorp//jar"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS build]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "name = "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS blorp_glorp][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS build]}) ) ) (FunctionDef test_pom_exclusions [] (List (= scope= flags=0 words=[] bindings=[('sha1_guppy', {[ComSub (Com {[LIT_CHARS make_artifact]} {[LIT_CHARS fish]} {[LIT_CHARS guppy]} {[LIT_CHARS 2.0]})]})]) (= scope= flags=0 words=[] bindings=[('sha1_trout', {[ComSub (Com {[LIT_CHARS make_artifact]} {[LIT_CHARS fish]} {[LIT_CHARS trout]} {[LIT_CHARS 4.2]})]})]) (= scope= flags=0 words=[] bindings=[('sha1_glorp', {[ComSub (Com {[LIT_CHARS make_artifact]} {[LIT_CHARS blorp]} {[LIT_CHARS glorp]} {[LIT_CHARS 1.2.3]} {[LIT_CHARS fish] [LIT_OTHER ":"] [LIT_CHARS guppy] [LIT_OTHER ":"] [LIT_CHARS 2.0]})]})]) (= scope= flags=0 words=[] bindings=[('sha1_mlorp', {[ComSub (Com {[LIT_CHARS make_artifact]} {[LIT_CHARS blorp]} {[LIT_CHARS mlorp]} {[LIT_CHARS 3.2.1]} {[LIT_CHARS fish] [LIT_OTHER ":"] [LIT_CHARS trout] [LIT_OTHER ":"] [LIT_CHARS 4.2]})]})]) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[VarSub TEST_TMPDIR] [LIT_CHARS /pom.xml]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "\n"][LIT_CHARS " 4.0.0\n"][LIT_CHARS " my\n"][LIT_CHARS " thing\n"][LIT_CHARS " 1.0\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " my-repo1\n"][LIT_CHARS " a custom repo\n"][LIT_CHARS " http://localhost:"][VarSub fileserver_port][LIT_CHARS "/\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS "\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " blorp\n"][LIT_CHARS " glorp\n"][LIT_CHARS " 1.2.3\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " blorp\n"][LIT_CHARS " mlorp\n"][LIT_CHARS " 3.2.1\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " fish\n"][LIT_CHARS " trout\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS "\n"]]} 0), > ) (Fork (Com {[LIT_CHARS generate_workspace]} {[LIT_CHARS --maven_project] [LIT_OTHER "="] [VarSub TEST_TMPDIR]}) ) (AndOr OP_OR_IF (Com < (FilenameRedirectNode filename={[VarSub TEST_log]} "> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "generating workspace failed"]]}) ) (Com {[LIT_CHARS cat]} {[ComSub (Pipeline (Com {[LIT_CHARS cat]} {[VarSub TEST_log]}) (Com {[LIT_CHARS tail]} {[LIT_CHARS -n]} {[LIT_CHARS 2]}) (Com {[LIT_CHARS head]} {[LIT_CHARS -n]} {[LIT_CHARS 1]}) )]} < (FilenameRedirectNode filename={[LIT_CHARS ws]} "> 1), > ) (Com {[LIT_CHARS cat]} {[ComSub (Pipeline (Com {[LIT_CHARS cat]} {[VarSub TEST_log]}) (Com {[LIT_CHARS tail]} {[LIT_CHARS -n]} {[LIT_CHARS 1]}) )]} < (FilenameRedirectNode filename={[LIT_CHARS build]} "> 1), > ) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "artifact = "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "blorp:glorp:1.2.3"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS ws]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "repository = "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "http://localhost:"][VarSub fileserver_port][LIT_CHARS /][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS ws]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "sha1 = "][\ LIT_ESCAPED_CHAR "\\\""][VarSub sha1_glorp][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS ws]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "sha1 = "][\ LIT_ESCAPED_CHAR "\\\""][VarSub sha1_mlorp][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS ws]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "sha1 = "][\ LIT_ESCAPED_CHAR "\\\""][VarSub sha1_guppy][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS ws]}) (Com {[LIT_CHARS assert_not_contains]} {[DQ [LIT_CHARS "sha1 = "][\ LIT_ESCAPED_CHAR "\\\""][VarSub sha1_trout][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS ws]}) (Com {[LIT_CHARS assert_contains]} {[DQ [\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "@blorp_glorp//jar"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS build]}) (Com {[LIT_CHARS assert_contains]} {[DQ [\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "@blorp_mlorp//jar"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS build]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "name = "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS blorp_glorp][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS build]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "name = "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS blorp_mlorp][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS build]}) (Com {[LIT_CHARS assert_contains]} {[DQ [\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "@fish_guppy//jar"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS build]}) (Com {[LIT_CHARS assert_not_contains]} {[DQ [\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "@fish_trout//jar"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[LIT_CHARS build]}) ) ) (FunctionDef test_invalid_pom [] (List (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub TEST_TMPDIR] [LIT_CHARS /pom.xml]}) (Fork (Com {[LIT_CHARS generate_workspace]} {[LIT_CHARS -m]} {[VarSub TEST_TMPDIR]}) ) (Com < (FilenameRedirectNode filename={[VarSub TEST_log]} "> 1), > ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "Non-readable POM "][VarSub TEST_TMPDIR][LIT_CHARS /pom.xml]]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[VarSub TEST_TMPDIR] [LIT_CHARS /pom.xml]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "\n"]]} 0), > ) (Fork (Com {[LIT_CHARS generate_workspace]} {[LIT_CHARS -m]} {[VarSub TEST_TMPDIR]}) ) (Com < (FilenameRedirectNode filename={[VarSub TEST_log]} "> 1), > ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "expected end tag "]]}) ) ) (FunctionDef test_profile [] (List (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[VarSub TEST_TMPDIR] [LIT_CHARS /pom.xml]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "\n"][LIT_CHARS " 4.0.0\n"][LIT_CHARS " my\n"][LIT_CHARS " thing\n"][LIT_CHARS " 1.0\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " my-profile\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " makeThing\n"][LIT_CHARS " thing\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS "\n"]]} 0), > ) (Fork (Com {[LIT_CHARS generate_workspace]} {[LIT_CHARS --maven_project] [LIT_OTHER "="] [VarSub TEST_TMPDIR]}) ) (AndOr OP_OR_IF (Com < (FilenameRedirectNode filename={[VarSub TEST_log]} "> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "generating workspace failed"]]}) ) ) ) (FunctionDef test_submodules [] (List (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[VarSub TEST_TMPDIR] [LIT_CHARS /pom.xml]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "\n"][LIT_CHARS " 4.0.0\n"][LIT_CHARS " xyz\n"][LIT_CHARS " a\n"][LIT_CHARS " 1.0\n"][LIT_CHARS " pom\n"][LIT_CHARS " \n"][LIT_CHARS " b1\n"][LIT_CHARS " b2\n"][LIT_CHARS " \n"][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub TEST_TMPDIR] [LIT_CHARS /] [LIT_LBRACE "{"] [LIT_CHARS b1] [LIT_COMMA ","] [LIT_CHARS b2] [LIT_RBRACE "}"]}) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[VarSub TEST_TMPDIR] [LIT_CHARS /b1/pom.xml]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "\n"][LIT_CHARS " 4.0.0\n"][LIT_CHARS " b1\n"][LIT_CHARS " \n"][LIT_CHARS " xyz\n"][LIT_CHARS " a\n"][LIT_CHARS " 1.0\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS " xyz\n"][LIT_CHARS " b2\n"][LIT_CHARS " 1.0\n"][LIT_CHARS " \n"][LIT_CHARS " \n"][LIT_CHARS "\n"]]} 0), > ) (Com {[LIT_CHARS cat]} < (FilenameRedirectNode filename={[VarSub TEST_TMPDIR] [LIT_CHARS /b2/pom.xml]} "> 1), (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "\n"][LIT_CHARS " 4.0.0\n"][LIT_CHARS " b2\n"][LIT_CHARS " \n"][LIT_CHARS " xyz\n"][LIT_CHARS " a\n"][LIT_CHARS " 1.0\n"][LIT_CHARS " \n"][LIT_CHARS "\n"]]} 0), > ) (Fork (Com {[LIT_CHARS generate_workspace]} {[LIT_CHARS -m]} {[VarSub TEST_TMPDIR] [LIT_CHARS /b1]}) ) (AndOr OP_OR_IF (Com < (FilenameRedirectNode filename={[VarSub TEST_log]} "> 1), > ) (Com {[LIT_CHARS fail]} {[DQ [LIT_CHARS "generate failed"]]}) ) (Com {[LIT_CHARS expect_log]} {[DQ [LIT_CHARS "xyz_b2 was defined in "][VarSub TEST_TMPDIR][LIT_CHARS "/b2/pom.xml which isn't a repository URL"]]}) (Com {[LIT_CHARS assert_contains]} {[DQ [LIT_CHARS "artifact = "][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS "xyz:b2:1.0"][\ LIT_ESCAPED_CHAR "\\\""][LIT_CHARS ","]]} {[ComSub (Com {[LIT_CHARS get_workspace_file]})]}) ) ) (Com {[LIT_CHARS run_suite]} {[DQ [LIT_CHARS "maven tests"]]}) )