in packaging/src/main/scala/org/jetbrains/sbtidea/packaging/mappings/LinearMappingsBuilder.scala [37:62]
private def processTarget(node: PackagedProjectNode): File = {
node.packagingOptions.packageMethod match {
case PackagingMethod.DepsOnly(targetPath) =>
outputDir / targetPath
case PackagingMethod.MergeIntoParent() =>
val eligibleParentProject = findParentToMerge(node)
val parentJar = getTopLevelJarPath(eligibleParentProject)
validateMerge(node, eligibleParentProject)
addProductDirs(node, outputDir / parentJar)
case PackagingMethod.MergeIntoOther(project) =>
val eligibleParentProject = findParentToMerge(project)
val otherJar = getTopLevelJarPath(eligibleParentProject)
validateMerge(node, eligibleParentProject)
addProductDirs(node, outputDir / otherJar)
case PackagingMethod.Standalone("", isStatic) =>
val target = outputDir / mkProjectJarDefaultPath(node)
addProductDirs(node, target, isStatic)
case PackagingMethod.Standalone(targetPath, isStatic) =>
val target = outputDir / targetPath
addProductDirs(node, target, isStatic)
case PackagingMethod.PluginModule(moduleName, isStatic) =>
val target = outputDir / mkPluginModulePath(moduleName)
addProductDirs(node, target, isStatic)
case PackagingMethod.Skip() => throw new MappingBuildException("Unreachable")
}
}