JetBrains / intellij-platform-gradle-plugin

Gradle plugin for building plugins for IntelliJ-based IDEs
https://plugins.jetbrains.com/docs/intellij/gradle-prerequisites.html
Apache License 2.0
1.42k stars 270 forks source link

403 error when trying to upload plugin #321

Closed cursive-ide closed 5 years ago

cursive-ide commented 5 years ago

I'm currently unable to upload my plugin. When I try it from the co-working space I'm working in, I get the following error:

> Task :publishPlugin
Failed to upload plugin: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>403 ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
This distribution is not configured to allow the HTTP request method that was used for this request. The distribution supports only cachable requests.

<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: VJXOwIH-BYI41haq9YXyKPjxiMVK9L2b1_WtFuPRsFmBk-MwS8BRmw==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>

@YannCebron in gitter suggested that it might be a network or proxy issue, which I couldn't confirm since the relevant person wasn't available. But I tried it from home last night, which failed with a slightly different error:

> Task :publishPlugin
Failed to upload plugin: Error writing request body to server

However this morning it's now giving me the same original error (the 403).

Unfortunately a lot has changed since I last deployed. Due to a Kotlin compilation issue I had to upgrade Gradle from a fairly ancient version to 4.2.1, and I also upgrade this plugin to the latest version. Additionally it's the first time I've tried to upload from this home connection and also from the co-working space.

~/d/cursive (idea-2016.2)> ./gradlew --version

------------------------------------------------------------
Gradle 4.2.1
------------------------------------------------------------

Build time:   2017-10-02 15:36:21 UTC
Revision:     a88ebd6be7840c2e59ae4782eb0f27fbe3405ddf

Groovy:       2.4.12
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_144 (Oracle Corporation 25.144-b01)
OS:           Mac OS X 10.13.6 x86_64

Trying to attach my build file here gives an error, so here's the relevant bit:

import org.gradle.internal.jvm.Jvm
import org.jetbrains.intellij.IntelliJPlugin
import org.jetbrains.intellij.Utils

buildscript {
  ext.kotlin_version = '1.2.70'

  repositories {
//    mavenLocal()
    mavenCentral()
    maven {
      url "https://oss.sonatype.org/content/repositories/snapshots/"
    }
  }

  dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    // Uncomment when using plugin from local repo
    classpath "com.cursive-ide:gradle-clojure:1.1.0"
    // classpath "org.jetbrains.intellij.plugins:gradle-intellij-plugin:0.2.0"
  }
}

plugins {
  id 'org.ajoberstar.grgit' version '1.4.2'
//  id "com.cursive-ide.clojure" version "1.1.0"
  id "org.jetbrains.intellij" version "0.3.10"
}

allprojects {
  group 'com.cursive-ide'
  version baseVersion + '-' + platformVersion

  apply plugin: 'java'

  compileJava {
    sourceCompatibility = javaVersion
    targetCompatibility = javaVersion
  }

  compileTestJava {
    sourceCompatibility = javaVersion
    targetCompatibility = javaVersion
  }
}

apply plugin: 'maven'
apply plugin: 'kotlin'

// Uncomment when using plugin from local repo
apply plugin: 'com.cursive-ide.clojure'

// Uncomment this when using snapshots
// apply plugin: 'org.jetbrains.intellij'

compileClojure {
  aotCompile = true
  reflectionWarnings {
    enabled = true
    projectOnly = true
    asErrors = true
  }

  disableLocalsClearing = false
  elideMeta = ['doc', 'file', 'line', 'added']

  systemProperty 'java.awt.headless', true
}

compileKotlin {
  kotlinOptions {
    jvmTarget = "1.8"
  }
}

intellij {
  version ideaVersion
  // properties is required for Maven
  plugins = ['copyright', 'maven', 'properties']
  pluginName 'clojure-plugin'
  downloadSources Boolean.valueOf(sources)
  updateSinceUntilBuild false
  sandboxDirectory project.file("sandbox").absolutePath
}

runIde {
  systemProperty("ide.nrepl.server.port", 40000)
  systemProperty("idea.is.internal", true)
}

publishPlugin {
  username publishUsername
  password publishPassword
  channels publishChannels.split(',')
}

project.afterEvaluate {
  project.tasks.buildPlugin.baseName = "cursive"
//  project.tasks.runIdea.maxHeapSize = "2048m"
}

test {
  exclude 'cursive/**'
}

compileTestClojure {
  exclude 'cursive/**/*generative*'
  exclude 'cursive/tests/maven_tests.clj'
  systemProperty 'java.awt.headless', true
}

testClojure {
  systemProperty 'java.awt.headless', true
}

ext.startTime = new Date().format("yyyy-MM-dd HH:mm")

ext.repo = org.ajoberstar.grgit.Grgit.open(project.file('.'))
ext.repoVersion = repo.describe()

patchPluginXml {
  pluginDescription """<p>Provides full Clojure and ClojureScript language support.<p/>
    <ul type="circle">
    <li><b>Intelligent Editor</b> featuring code completion, syntax highlighting and real-time error highlighting.</li>
    <li><b>First-class ClojureScript</b> nearly all functionality is equivalent in Clojure and ClojureScript.</li>
    <li><b>Code Navigation</b> project and structure views, navigation to symbols, namespaces, classes, and Find Usages.</li>
    <li><b>REPL Integration</b> full integration with nREPL and clojure.main style REPLs for Clojure and ClojureScript.</li>
    <li><b>Test Integration</b> interactive running of clojure.test tests, with failures marked in the editor and visual diffs.</li>
    <li><b>Leiningen Support</b> full support for Leiningen including support for large multi-module projects.</li>
    <li><b>Structural Editing</b> full support for paredit style editing.</li>
    <li><b>Code Formatting</b> smart, customisable formatting support.</li>
    <li><b>Clojure Debugger</b> full support for debugging Clojure, including expression evaluation and debug REPLs.</li>
    <li><b>Refactorings</b> seamless rename, extract let, automatic imports and requires, and more.</li>
    <li><b>Interop Support</b> best in class support for Java interop, including smart completion using type inference.</li>
    </ul>
    <p>Built on: $startTime</p>
    <p>Built from: $repoVersion</p>"""
}
zolotov commented 5 years ago

please try to set publishPlugin { host 'https://plugins.jetbrains.com' }, does it help?