private def processTarget()

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")
    }
  }