Skip to content

Commit dec7bfb

Browse files
committed
A few more necessary ivy changes
1 parent 2a941c0 commit dec7bfb

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

core/src/main/scala/org/apache/spark/deploy/SparkSubmit.scala

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -952,12 +952,14 @@ private[spark] object SparkSubmitUtils {
952952
* @return a comma-delimited list of paths for the dependencies
953953
*/
954954
def resolveDependencyPaths(
955-
artifacts: Array[AnyRef],
955+
artifacts: Array[Artifact],
956956
cacheDirectory: File): String = {
957957
artifacts.map { artifactInfo =>
958-
val artifact = artifactInfo.asInstanceOf[Artifact].getModuleRevisionId
958+
val artifact = artifactInfo.getModuleRevisionId
959+
val classifier =
960+
Option(artifactInfo.getExtraAttribute("classifier")).map("-" + _).getOrElse("")
959961
cacheDirectory.getAbsolutePath + File.separator +
960-
s"${artifact.getOrganisation}_${artifact.getName}-${artifact.getRevision}.jar"
962+
s"${artifact.getOrganisation}_${artifact.getName}${classifier}-${artifact.getRevision}.jar"
961963
}.mkString(",")
962964
}
963965

@@ -967,15 +969,12 @@ private[spark] object SparkSubmitUtils {
967969
artifacts: Seq[MavenCoordinate],
968970
ivyConfName: String): Unit = {
969971
artifacts.foreach { mvn =>
970-
val ri = ModuleRevisionId.newInstance(mvn.groupId, mvn.artifactId, mvn.version)
972+
val extraAttributes =
973+
mvn.classifier.map(c => Collections.singletonMap("classifier", c)).orNull
974+
val ri = ModuleRevisionId.newInstance(
975+
mvn.groupId, mvn.artifactId, mvn.version, extraAttributes)
971976
val dd = new DefaultDependencyDescriptor(ri, false, false)
972977
dd.addDependencyConfiguration(ivyConfName, ivyConfName + "(runtime)")
973-
if (mvn.classifier.isDefined) {
974-
val typeExt = mvn.packaging.getOrElse("jar")
975-
dd.addDependencyArtifact(ivyConfName, new DefaultDependencyArtifactDescriptor(
976-
dd, mvn.artifactId, typeExt, typeExt, null,
977-
Collections.singletonMap("classifier", mvn.classifier.get)))
978-
}
979978
// scalastyle:off println
980979
printStream.println(s"${dd.getDependencyId} added as a dependency")
981980
// scalastyle:on println
@@ -1163,9 +1162,10 @@ private[spark] object SparkSubmitUtils {
11631162
// retrieve all resolved dependencies
11641163
ivy.retrieve(rr.getModuleDescriptor.getModuleRevisionId,
11651164
packagesDirectory.getAbsolutePath + File.separator +
1166-
"[organization]_[artifact]-[revision].[ext]",
1165+
"[organization]_[artifact](-[classifier])-[revision].[ext]",
11671166
retrieveOptions.setConfs(Array(ivyConfName)))
1168-
resolveDependencyPaths(rr.getArtifacts.toArray, packagesDirectory)
1167+
resolveDependencyPaths(
1168+
rr.getArtifacts.toArray.map(_.asInstanceOf[Artifact]), packagesDirectory)
11691169
} finally {
11701170
System.setOut(sysOut)
11711171
}

0 commit comments

Comments
 (0)