Function(
Function {
head: Destructured(
FunctionHeadDestructured {
ellipsis: false,
identifier: None,
arguments: [
FunctionHeadDestructuredArgument {
identifier: "cfg",
default: None,
},
FunctionHeadDestructuredArgument {
identifier: "pkgs",
default: None,
},
FunctionHeadDestructuredArgument {
identifier: "lib",
default: None,
},
],
},
),
body: LetIn(
LetIn {
bindings: [
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "propertyXml",
span: Span {
start: Position {
line: 3,
column: 3,
},
end: Position {
line: 3,
column: 14,
},
},
},
),
],
to: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "name",
},
),
body: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "value",
},
),
body: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 3,
column: 30,
},
end: Position {
line: 3,
column: 33,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "optionalString",
span: Span {
start: Position {
line: 3,
column: 34,
},
end: Position {
line: 3,
column: 48,
},
},
},
),
],
default: None,
},
),
arguments: [
BinaryOperation(
BinaryOperation {
left: Identifier(
Identifier {
id: "value",
span: Span {
start: Position {
line: 3,
column: 50,
},
end: Position {
line: 3,
column: 55,
},
},
},
),
operator: NotEqualTo,
right: Identifier(
Identifier {
id: "null",
span: Span {
start: Position {
line: 3,
column: 59,
},
end: Position {
line: 3,
column: 63,
},
},
},
),
},
),
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "\n ",
span: Span {
start: Position {
line: 4,
column: 1,
},
end: Position {
line: 5,
column: 13,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "name",
span: Span {
start: Position {
line: 5,
column: 15,
},
end: Position {
line: 5,
column: 19,
},
},
},
),
},
),
Raw(
PartRaw {
content: "\n ",
span: Span {
start: Position {
line: 4,
column: 1,
},
end: Position {
line: 6,
column: 14,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 6,
column: 16,
},
end: Position {
line: 6,
column: 24,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "toString",
span: Span {
start: Position {
line: 6,
column: 25,
},
end: Position {
line: 6,
column: 33,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "value",
span: Span {
start: Position {
line: 6,
column: 34,
},
end: Position {
line: 6,
column: 39,
},
},
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "\n\n",
span: Span {
start: Position {
line: 4,
column: 1,
},
end: Position {
line: 8,
column: 3,
},
},
},
),
],
span: Span {
start: Position {
line: 3,
column: 65,
},
end: Position {
line: 8,
column: 5,
},
},
},
),
],
},
),
span: Span {
start: Position {
line: 3,
column: 23,
},
end: Position {
line: 8,
column: 5,
},
},
},
),
span: Span {
start: Position {
line: 3,
column: 17,
},
end: Position {
line: 8,
column: 5,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "siteXml",
span: Span {
start: Position {
line: 9,
column: 3,
},
end: Position {
line: 9,
column: 10,
},
},
},
),
],
to: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "fileName",
},
),
body: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "properties",
},
),
body: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 9,
column: 35,
},
end: Position {
line: 9,
column: 39,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "writeTextDir",
span: Span {
start: Position {
line: 9,
column: 40,
},
end: Position {
line: 9,
column: 52,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "fileName",
span: Span {
start: Position {
line: 9,
column: 53,
},
end: Position {
line: 9,
column: 61,
},
},
},
),
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "\n\n\n ",
span: Span {
start: Position {
line: 10,
column: 1,
},
end: Position {
line: 13,
column: 7,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 13,
column: 9,
},
end: Position {
line: 13,
column: 17,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "concatStringsSep",
span: Span {
start: Position {
line: 13,
column: 18,
},
end: Position {
line: 13,
column: 34,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "\n",
span: Span {
start: Position {
line: 13,
column: 36,
},
end: Position {
line: 13,
column: 38,
},
},
},
),
],
span: Span {
start: Position {
line: 13,
column: 35,
},
end: Position {
line: 13,
column: 39,
},
},
},
),
FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 13,
column: 41,
},
end: Position {
line: 13,
column: 45,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "lib",
span: Span {
start: Position {
line: 13,
column: 46,
},
end: Position {
line: 13,
column: 49,
},
},
},
),
Raw(
PartRaw {
content: "mapAttrsToList",
span: Span {
start: Position {
line: 13,
column: 50,
},
end: Position {
line: 13,
column: 64,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "propertyXml",
span: Span {
start: Position {
line: 13,
column: 65,
},
end: Position {
line: 13,
column: 76,
},
},
},
),
Identifier(
Identifier {
id: "properties",
span: Span {
start: Position {
line: 13,
column: 77,
},
end: Position {
line: 13,
column: 87,
},
},
},
),
],
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "\n\n",
span: Span {
start: Position {
line: 10,
column: 1,
},
end: Position {
line: 15,
column: 3,
},
},
},
),
],
span: Span {
start: Position {
line: 9,
column: 62,
},
end: Position {
line: 15,
column: 5,
},
},
},
),
],
},
),
span: Span {
start: Position {
line: 9,
column: 23,
},
end: Position {
line: 15,
column: 5,
},
},
},
),
span: Span {
start: Position {
line: 9,
column: 13,
},
end: Position {
line: 15,
column: 5,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "cfgLine",
span: Span {
start: Position {
line: 16,
column: 3,
},
end: Position {
line: 16,
column: 10,
},
},
},
),
],
to: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "name",
},
),
body: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "value",
},
),
body: IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "",
span: Span {
start: Position {
line: 17,
column: 1,
},
end: Position {
line: 17,
column: 5,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "name",
span: Span {
start: Position {
line: 17,
column: 7,
},
end: Position {
line: 17,
column: 11,
},
},
},
),
},
),
Raw(
PartRaw {
content: "=",
span: Span {
start: Position {
line: 17,
column: 1,
},
end: Position {
line: 17,
column: 13,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 17,
column: 15,
},
end: Position {
line: 17,
column: 23,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "toString",
span: Span {
start: Position {
line: 17,
column: 24,
},
end: Position {
line: 17,
column: 32,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "value",
span: Span {
start: Position {
line: 17,
column: 33,
},
end: Position {
line: 17,
column: 38,
},
},
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "\n",
span: Span {
start: Position {
line: 17,
column: 1,
},
end: Position {
line: 18,
column: 3,
},
},
},
),
],
span: Span {
start: Position {
line: 16,
column: 26,
},
end: Position {
line: 18,
column: 5,
},
},
},
),
span: Span {
start: Position {
line: 16,
column: 19,
},
end: Position {
line: 18,
column: 5,
},
},
},
),
span: Span {
start: Position {
line: 16,
column: 13,
},
end: Position {
line: 18,
column: 5,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "cfgFile",
span: Span {
start: Position {
line: 19,
column: 3,
},
end: Position {
line: 19,
column: 10,
},
},
},
),
],
to: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "fileName",
},
),
body: Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "properties",
},
),
body: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 19,
column: 35,
},
end: Position {
line: 19,
column: 39,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "writeTextDir",
span: Span {
start: Position {
line: 19,
column: 40,
},
end: Position {
line: 19,
column: 52,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "fileName",
span: Span {
start: Position {
line: 19,
column: 53,
},
end: Position {
line: 19,
column: 61,
},
},
},
),
IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "# generated by NixOS\n",
span: Span {
start: Position {
line: 20,
column: 1,
},
end: Position {
line: 21,
column: 5,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "builtins",
span: Span {
start: Position {
line: 21,
column: 7,
},
end: Position {
line: 21,
column: 15,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "concatStringsSep",
span: Span {
start: Position {
line: 21,
column: 16,
},
end: Position {
line: 21,
column: 32,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [],
span: Span {
start: Position {
line: 21,
column: 33,
},
end: Position {
line: 21,
column: 35,
},
},
},
),
FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 21,
column: 37,
},
end: Position {
line: 21,
column: 41,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "lib",
span: Span {
start: Position {
line: 21,
column: 42,
},
end: Position {
line: 21,
column: 45,
},
},
},
),
Raw(
PartRaw {
content: "mapAttrsToList",
span: Span {
start: Position {
line: 21,
column: 46,
},
end: Position {
line: 21,
column: 60,
},
},
},
),
],
default: None,
},
),
arguments: [
Identifier(
Identifier {
id: "cfgLine",
span: Span {
start: Position {
line: 21,
column: 61,
},
end: Position {
line: 21,
column: 68,
},
},
},
),
Identifier(
Identifier {
id: "properties",
span: Span {
start: Position {
line: 21,
column: 69,
},
end: Position {
line: 21,
column: 79,
},
},
},
),
],
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "\n",
span: Span {
start: Position {
line: 20,
column: 1,
},
end: Position {
line: 22,
column: 3,
},
},
},
),
],
span: Span {
start: Position {
line: 19,
column: 62,
},
end: Position {
line: 22,
column: 5,
},
},
},
),
],
},
),
span: Span {
start: Position {
line: 19,
column: 23,
},
end: Position {
line: 22,
column: 5,
},
},
},
),
span: Span {
start: Position {
line: 19,
column: 13,
},
end: Position {
line: 22,
column: 5,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "userFunctions",
span: Span {
start: Position {
line: 23,
column: 3,
},
end: Position {
line: 23,
column: 16,
},
},
},
),
],
to: IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "hadoop_verify_logdir() {\n echo Skipping verification of log directory\n}\n",
span: Span {
start: Position {
line: 24,
column: 1,
},
end: Position {
line: 27,
column: 3,
},
},
},
),
],
span: Span {
start: Position {
line: 23,
column: 19,
},
end: Position {
line: 27,
column: 5,
},
},
},
),
},
),
KeyValue(
BindingKeyValue {
from: [
Raw(
PartRaw {
content: "hadoopEnv",
span: Span {
start: Position {
line: 28,
column: 3,
},
end: Position {
line: 28,
column: 12,
},
},
},
),
],
to: IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "export HADOOP_LOG_DIR=/tmp/hadoop/$USER\n",
span: Span {
start: Position {
line: 29,
column: 1,
},
end: Position {
line: 30,
column: 3,
},
},
},
),
],
span: Span {
start: Position {
line: 28,
column: 15,
},
end: Position {
line: 30,
column: 5,
},
},
},
),
},
),
],
target: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 32,
column: 1,
},
end: Position {
line: 32,
column: 5,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "runCommand",
span: Span {
start: Position {
line: 32,
column: 6,
},
end: Position {
line: 32,
column: 16,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "hadoop-conf",
span: Span {
start: Position {
line: 32,
column: 18,
},
end: Position {
line: 32,
column: 29,
},
},
},
),
],
span: Span {
start: Position {
line: 32,
column: 17,
},
end: Position {
line: 32,
column: 30,
},
},
},
),
Map(
Map {
recursive: false,
bindings: [],
span: Span {
start: Position {
line: 32,
column: 31,
},
end: Position {
line: 32,
column: 33,
},
},
},
),
With(
With {
expression: Identifier(
Identifier {
id: "cfg",
span: Span {
start: Position {
line: 32,
column: 40,
},
end: Position {
line: 32,
column: 43,
},
},
},
),
target: IndentedString(
IndentedString {
parts: [
Raw(
PartRaw {
content: "mkdir -p $out/\ncp ",
span: Span {
start: Position {
line: 33,
column: 1,
},
end: Position {
line: 34,
column: 6,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "siteXml",
span: Span {
start: Position {
line: 34,
column: 8,
},
end: Position {
line: 34,
column: 15,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "core-site.xml",
span: Span {
start: Position {
line: 34,
column: 17,
},
end: Position {
line: 34,
column: 30,
},
},
},
),
],
span: Span {
start: Position {
line: 34,
column: 16,
},
end: Position {
line: 34,
column: 31,
},
},
},
),
BinaryOperation(
BinaryOperation {
left: Identifier(
Identifier {
id: "coreSite",
span: Span {
start: Position {
line: 34,
column: 33,
},
end: Position {
line: 34,
column: 41,
},
},
},
),
operator: Update,
right: Identifier(
Identifier {
id: "coreSiteInternal",
span: Span {
start: Position {
line: 34,
column: 45,
},
end: Position {
line: 34,
column: 61,
},
},
},
),
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "/* $out/\ncp ",
span: Span {
start: Position {
line: 33,
column: 1,
},
end: Position {
line: 35,
column: 6,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "siteXml",
span: Span {
start: Position {
line: 35,
column: 8,
},
end: Position {
line: 35,
column: 15,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "hdfs-site.xml",
span: Span {
start: Position {
line: 35,
column: 17,
},
end: Position {
line: 35,
column: 30,
},
},
},
),
],
span: Span {
start: Position {
line: 35,
column: 16,
},
end: Position {
line: 35,
column: 31,
},
},
},
),
BinaryOperation(
BinaryOperation {
left: Identifier(
Identifier {
id: "hdfsSiteDefault",
span: Span {
start: Position {
line: 35,
column: 33,
},
end: Position {
line: 35,
column: 48,
},
},
},
),
operator: Update,
right: BinaryOperation(
BinaryOperation {
left: Identifier(
Identifier {
id: "hdfsSite",
span: Span {
start: Position {
line: 35,
column: 52,
},
end: Position {
line: 35,
column: 60,
},
},
},
),
operator: Update,
right: Identifier(
Identifier {
id: "hdfsSiteInternal",
span: Span {
start: Position {
line: 35,
column: 64,
},
end: Position {
line: 35,
column: 80,
},
},
},
),
},
),
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "/* $out/\ncp ",
span: Span {
start: Position {
line: 33,
column: 1,
},
end: Position {
line: 36,
column: 6,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "siteXml",
span: Span {
start: Position {
line: 36,
column: 8,
},
end: Position {
line: 36,
column: 15,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "hbase-site.xml",
span: Span {
start: Position {
line: 36,
column: 17,
},
end: Position {
line: 36,
column: 31,
},
},
},
),
],
span: Span {
start: Position {
line: 36,
column: 16,
},
end: Position {
line: 36,
column: 32,
},
},
},
),
BinaryOperation(
BinaryOperation {
left: Identifier(
Identifier {
id: "hbaseSiteDefault",
span: Span {
start: Position {
line: 36,
column: 34,
},
end: Position {
line: 36,
column: 50,
},
},
},
),
operator: Update,
right: BinaryOperation(
BinaryOperation {
left: Identifier(
Identifier {
id: "hbaseSite",
span: Span {
start: Position {
line: 36,
column: 54,
},
end: Position {
line: 36,
column: 63,
},
},
},
),
operator: Update,
right: Identifier(
Identifier {
id: "hbaseSiteInternal",
span: Span {
start: Position {
line: 36,
column: 67,
},
end: Position {
line: 36,
column: 84,
},
},
},
),
},
),
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "/* $out/\ncp ",
span: Span {
start: Position {
line: 33,
column: 1,
},
end: Position {
line: 37,
column: 6,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "siteXml",
span: Span {
start: Position {
line: 37,
column: 8,
},
end: Position {
line: 37,
column: 15,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "mapred-site.xml",
span: Span {
start: Position {
line: 37,
column: 17,
},
end: Position {
line: 37,
column: 32,
},
},
},
),
],
span: Span {
start: Position {
line: 37,
column: 16,
},
end: Position {
line: 37,
column: 33,
},
},
},
),
BinaryOperation(
BinaryOperation {
left: Identifier(
Identifier {
id: "mapredSiteDefault",
span: Span {
start: Position {
line: 37,
column: 35,
},
end: Position {
line: 37,
column: 52,
},
},
},
),
operator: Update,
right: Identifier(
Identifier {
id: "mapredSite",
span: Span {
start: Position {
line: 37,
column: 56,
},
end: Position {
line: 37,
column: 66,
},
},
},
),
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "/* $out/\ncp ",
span: Span {
start: Position {
line: 33,
column: 1,
},
end: Position {
line: 38,
column: 6,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "siteXml",
span: Span {
start: Position {
line: 38,
column: 8,
},
end: Position {
line: 38,
column: 15,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "yarn-site.xml",
span: Span {
start: Position {
line: 38,
column: 17,
},
end: Position {
line: 38,
column: 30,
},
},
},
),
],
span: Span {
start: Position {
line: 38,
column: 16,
},
end: Position {
line: 38,
column: 31,
},
},
},
),
BinaryOperation(
BinaryOperation {
left: Identifier(
Identifier {
id: "yarnSiteDefault",
span: Span {
start: Position {
line: 38,
column: 33,
},
end: Position {
line: 38,
column: 48,
},
},
},
),
operator: Update,
right: BinaryOperation(
BinaryOperation {
left: Identifier(
Identifier {
id: "yarnSite",
span: Span {
start: Position {
line: 38,
column: 52,
},
end: Position {
line: 38,
column: 60,
},
},
},
),
operator: Update,
right: Identifier(
Identifier {
id: "yarnSiteInternal",
span: Span {
start: Position {
line: 38,
column: 64,
},
end: Position {
line: 38,
column: 80,
},
},
},
),
},
),
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "/* $out/\ncp ",
span: Span {
start: Position {
line: 33,
column: 1,
},
end: Position {
line: 39,
column: 6,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "siteXml",
span: Span {
start: Position {
line: 39,
column: 8,
},
end: Position {
line: 39,
column: 15,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "httpfs-site.xml",
span: Span {
start: Position {
line: 39,
column: 17,
},
end: Position {
line: 39,
column: 32,
},
},
},
),
],
span: Span {
start: Position {
line: 39,
column: 16,
},
end: Position {
line: 39,
column: 33,
},
},
},
),
Identifier(
Identifier {
id: "httpfsSite",
span: Span {
start: Position {
line: 39,
column: 34,
},
end: Position {
line: 39,
column: 44,
},
},
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "/* $out/\ncp ",
span: Span {
start: Position {
line: 33,
column: 1,
},
end: Position {
line: 40,
column: 6,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: Identifier(
Identifier {
id: "cfgFile",
span: Span {
start: Position {
line: 40,
column: 8,
},
end: Position {
line: 40,
column: 15,
},
},
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "container-executor.cfg",
span: Span {
start: Position {
line: 40,
column: 17,
},
end: Position {
line: 40,
column: 39,
},
},
},
),
],
span: Span {
start: Position {
line: 40,
column: 16,
},
end: Position {
line: 40,
column: 40,
},
},
},
),
Identifier(
Identifier {
id: "containerExecutorCfg",
span: Span {
start: Position {
line: 40,
column: 41,
},
end: Position {
line: 40,
column: 61,
},
},
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "/* $out/\ncp ",
span: Span {
start: Position {
line: 33,
column: 1,
},
end: Position {
line: 41,
column: 6,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 41,
column: 8,
},
end: Position {
line: 41,
column: 12,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "writeTextDir",
span: Span {
start: Position {
line: 41,
column: 13,
},
end: Position {
line: 41,
column: 25,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "hadoop-user-functions.sh",
span: Span {
start: Position {
line: 41,
column: 27,
},
end: Position {
line: 41,
column: 51,
},
},
},
),
],
span: Span {
start: Position {
line: 41,
column: 26,
},
end: Position {
line: 41,
column: 52,
},
},
},
),
Identifier(
Identifier {
id: "userFunctions",
span: Span {
start: Position {
line: 41,
column: 53,
},
end: Position {
line: 41,
column: 66,
},
},
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "/* $out/\ncp ",
span: Span {
start: Position {
line: 33,
column: 1,
},
end: Position {
line: 42,
column: 6,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "pkgs",
span: Span {
start: Position {
line: 42,
column: 8,
},
end: Position {
line: 42,
column: 12,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "writeTextDir",
span: Span {
start: Position {
line: 42,
column: 13,
},
end: Position {
line: 42,
column: 25,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "hadoop-env.sh",
span: Span {
start: Position {
line: 42,
column: 27,
},
end: Position {
line: 42,
column: 40,
},
},
},
),
],
span: Span {
start: Position {
line: 42,
column: 26,
},
end: Position {
line: 42,
column: 41,
},
},
},
),
Identifier(
Identifier {
id: "hadoopEnv",
span: Span {
start: Position {
line: 42,
column: 42,
},
end: Position {
line: 42,
column: 51,
},
},
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "/* $out/\ncp ",
span: Span {
start: Position {
line: 33,
column: 1,
},
end: Position {
line: 43,
column: 6,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "log4jProperties",
span: Span {
start: Position {
line: 43,
column: 8,
},
end: Position {
line: 43,
column: 23,
},
},
},
),
},
),
Raw(
PartRaw {
content: " $out/log4j.properties\n",
span: Span {
start: Position {
line: 33,
column: 1,
},
end: Position {
line: 44,
column: 3,
},
},
},
),
Interpolation(
PartInterpolation {
expression: FunctionApplication(
FunctionApplication {
function: PropertyAccess(
PropertyAccess {
expression: Identifier(
Identifier {
id: "lib",
span: Span {
start: Position {
line: 44,
column: 5,
},
end: Position {
line: 44,
column: 8,
},
},
},
),
attribute_path: [
Raw(
PartRaw {
content: "concatMapStringsSep",
span: Span {
start: Position {
line: 44,
column: 9,
},
end: Position {
line: 44,
column: 28,
},
},
},
),
],
default: None,
},
),
arguments: [
String(
String_ {
parts: [
Raw(
PartRaw {
content: "\n",
span: Span {
start: Position {
line: 44,
column: 30,
},
end: Position {
line: 44,
column: 32,
},
},
},
),
],
span: Span {
start: Position {
line: 44,
column: 29,
},
end: Position {
line: 44,
column: 33,
},
},
},
),
Function(
Function {
head: Simple(
FunctionHeadSimple {
identifier: "dir",
},
),
body: String(
String_ {
parts: [
Raw(
PartRaw {
content: "cp -f -r ",
span: Span {
start: Position {
line: 44,
column: 41,
},
end: Position {
line: 44,
column: 56,
},
},
},
),
Interpolation(
PartInterpolation {
expression: Identifier(
Identifier {
id: "dir",
span: Span {
start: Position {
line: 44,
column: 52,
},
end: Position {
line: 44,
column: 55,
},
},
},
),
},
),
Raw(
PartRaw {
content: "/* $out/",
span: Span {
start: Position {
line: 44,
column: 41,
},
end: Position {
line: 44,
column: 64,
},
},
},
),
],
span: Span {
start: Position {
line: 44,
column: 40,
},
end: Position {
line: 44,
column: 65,
},
},
},
),
span: Span {
start: Position {
line: 44,
column: 35,
},
end: Position {
line: 44,
column: 65,
},
},
},
),
Identifier(
Identifier {
id: "extraConfDirs",
span: Span {
start: Position {
line: 44,
column: 67,
},
end: Position {
line: 44,
column: 80,
},
},
},
),
],
},
),
},
),
Raw(
PartRaw {
content: "\n",
span: Span {
start: Position {
line: 33,
column: 1,
},
end: Position {
line: 45,
column: 1,
},
},
},
),
],
span: Span {
start: Position {
line: 32,
column: 45,
},
end: Position {
line: 45,
column: 3,
},
},
},
),
span: Span {
start: Position {
line: 32,
column: 35,
},
end: Position {
line: 45,
column: 3,
},
},
},
),
],
},
),
span: Span {
start: Position {
line: 2,
column: 1,
},
end: Position {
line: 45,
column: 4,
},
},
},
),
span: Span {
start: Position {
line: 1,
column: 1,
},
end: Position {
line: 45,
column: 4,
},
},
},
)