@@ -34,6 +34,12 @@ object SharkBuild extends Build {
34
34
// "1.0.1" for Apache releases, or "0.20.2-cdh3u3" for Cloudera Hadoop.
35
35
val HADOOP_VERSION = " 1.0.4"
36
36
37
+ // Whether to build Shark with Yarn support
38
+ val YARN_ENABLED = scala.util.Properties .envOrNone(" SHARK_YARN" ) match {
39
+ case None => false
40
+ case Some (v) => v.toBoolean
41
+ }
42
+
37
43
// Whether to build Shark with Tachyon jar.
38
44
val TACHYON_ENABLED = false
39
45
@@ -117,6 +123,7 @@ object SharkBuild extends Build {
117
123
" junit" % " junit" % " 4.10" % " test" ,
118
124
" net.java.dev.jets3t" % " jets3t" % " 0.7.1" ,
119
125
" com.novocode" % " junit-interface" % " 0.8" % " test" ) ++
126
+ (if (YARN_ENABLED ) Some (" org.apache.spark" %% " spark-yarn" % SPARK_VERSION ) else None ).toSeq ++
120
127
(if (TACHYON_ENABLED ) Some (" org.tachyonproject" % " tachyon" % " 0.3.0-SNAPSHOT" excludeAll(excludeKyro, excludeHadoop) ) else None ).toSeq
121
128
)
122
129
@@ -129,6 +136,7 @@ object SharkBuild extends Build {
129
136
mergeStrategy in assembly := {
130
137
case m if m.toLowerCase.endsWith(" manifest.mf" ) => MergeStrategy .discard
131
138
case m if m.toLowerCase.matches(" meta-inf.*\\ .sf$" ) => MergeStrategy .discard
139
+ case " META-INF/services/org.apache.hadoop.fs.FileSystem" => MergeStrategy .concat
132
140
case " reference.conf" => MergeStrategy .concat
133
141
case _ => MergeStrategy .first
134
142
}
0 commit comments