Skip to content

Commit

Permalink
Merge pull request #9 from gallardo/issue-7-b
Browse files Browse the repository at this point in the history
Implement #7: fail on response failure
  • Loading branch information
importre committed Feb 18, 2016
2 parents ab37f05 + 10b2182 commit f50df45
Showing 1 changed file with 19 additions and 5 deletions.
24 changes: 19 additions & 5 deletions src/main/groovy/co/riiid/gradle/ReleaseTask.groovy
Expand Up @@ -4,6 +4,7 @@ import groovyx.net.http.ContentType
import groovyx.net.http.Method
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
import org.gradle.api.GradleScriptException
import org.zeroturnaround.zip.ZipUtil

class ReleaseTask extends DefaultTask {
Expand Down Expand Up @@ -40,15 +41,28 @@ class ReleaseTask extends DefaultTask {
headers.'Authorization' = "token ${project.github.token}"
headers.'Accept' = accept

def postLogMessage = "POST ${uri.path}\n" +
" > User-Agent: ${headers['User-Agent']}\n" +
" > Authorization: (not shown)\n" +
" > Accept: ${headers.Accept}\n" +
" > body: $body\n"
logger.debug "$postLogMessage"

response.success = { resp, json ->
println json
logger.debug "< $resp.statusLine"
logger.debug 'Response headers: \n' + resp.headers.collect { "< $it" }.join('\n')
if (project.github.assets != null) {
postAssets(json.upload_url, project.github.assets, accept)
}
}

response.failure = { resp, json ->
System.err.println json
logger.error "Error in $postLogMessage"
logger.debug 'Response headers: \n' + resp.headers.collect { "< $it" }.join('\n')
def errorMessage = json?json.message:resp.statusLine
def ref = json?"See $json.documentation_url":''
def errorDetails = json && json.errors? "Details: " + json.errors.collect { it }.join('\n'):''
throw new GradleScriptException("$errorMessage. $ref. $errorDetails", null)
}
}
}
Expand All @@ -63,7 +77,7 @@ class ReleaseTask extends DefaultTask {

def upload = uploadUrl.replace(
'{?name,label}', "?name=${name}&label=${name}")
println "upload url: ${upload}"
logger.debug "upload url: ${upload}"

def url = new URL(upload as String)
def host = url.host + (url.port > 0 ? ":" + url.port + "" : "")
Expand Down Expand Up @@ -96,13 +110,13 @@ class ReleaseTask extends DefaultTask {


response.success = { resp, json ->
println json
logger.debug "$json"
if (file.exists() && file.name.endsWith(".zip"))
file.delete()
}

response.failure = { resp, json ->
System.err.println json
logger.error "$json"
if (file.exists() && file.name.endsWith(".zip"))
file.delete()
}
Expand Down

0 comments on commit f50df45

Please sign in to comment.