override fun uploadNewPlugin()

in rest/src/main/kotlin/org/jetbrains/intellij/pluginRepository/internal/instances/PluginUploaderInstance.kt [15:40]


  override fun uploadNewPlugin(
    file: File,
    tags: List<String>,
    licenseUrl: LicenseUrl,
    family: ProductFamily,
    vendor: String?,
    channel: String?,
    isHidden: Boolean
  ): PluginBean {
    return baseUploadPlugin(file) {
      require(vendor == null || vendor.isNotBlank()) { Messages.getMessage("empty.vendor") }
      require(tags.isNotEmpty()) { Messages.getMessage("empty.tags") }
      require(licenseUrl.url.isNotEmpty()) { Messages.getMessage("empty.license.url") }
      val license = URI.create(licenseUrl.url).toURL().toExternalForm().toRequestBody()
      val requestTags = tags.map { it.toRequestBody() }
      uploadOrFail(service.uploadNewPlugin(
        file = file.toMultipartBody(),
        family = family.id,
        licenseUrl = license,
        tags = ArrayList(requestTags),
        vendor = vendor?.toRequestBody(),
        channel = channel?.toRequestBody(),
        isHidden = isHidden
      ))
    }
  }