Skip to content
This repository has been archived by the owner on Jun 5, 2018. It is now read-only.

Commit

Permalink
Add a variable for plugin extension
Browse files Browse the repository at this point in the history
  • Loading branch information
x2on committed Dec 16, 2014
1 parent 1810e91 commit 525ab64
Showing 1 changed file with 55 additions and 52 deletions.
107 changes: 55 additions & 52 deletions src/main/groovy/de/felixschulze/gradle/HockeyAppUploadTask.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ class HockeyAppUploadTask extends DefaultTask {
String variantName
ApplicationVariant applicationVariant
boolean mightHaveMapping = true // Specify otherwise in Android config
HockeyAppPluginExtension hockeyApp


HockeyAppUploadTask() {
Expand All @@ -67,6 +68,8 @@ class HockeyAppUploadTask extends DefaultTask {
@TaskAction
def upload() throws IOException {

hockeyApp = project.hockeyapp

// Get the first output apk file if android
if (applicationVariant) {
applicationVariant.outputs.each {
Expand All @@ -88,25 +91,25 @@ class HockeyAppUploadTask extends DefaultTask {
}

if (!applicationFile?.exists()) {
if (!project.hockeyapp.appFileNameRegex) {
if (!hockeyApp.appFileNameRegex) {
throw new IllegalArgumentException("No applicationFile found or no appFileNameRegex provided.")
}
if (!project.hockeyapp.outputDirectory || !project.hockeyapp.outputDirectory.exists()) {
throw new IllegalArgumentException("The outputDirectory (" + project.hockeyapp.outputDirectory ? project.hockeyapp.outputDirectory.absolutePath : " not defined " + ") doesn't exists")
if (!hockeyApp.outputDirectory || !hockeyApp.outputDirectory.exists()) {
throw new IllegalArgumentException("The outputDirectory (" + hockeyApp.outputDirectory ? hockeyApp.outputDirectory.absolutePath : " not defined " + ") doesn't exists")
}
applicationFile = getFile(project.hockeyapp.appFileNameRegex, project.hockeyapp.outputDirectory);
applicationFile = getFile(hockeyApp.appFileNameRegex, hockeyApp.outputDirectory);
if (!applicationFile) {
throw new IllegalStateException("No app file found in directory " + project.hockeyapp.outputDirectory.absolutePath)
throw new IllegalStateException("No app file found in directory " + hockeyApp.outputDirectory.absolutePath)
}
}

logger.lifecycle("App file: " + applicationFile.absolutePath)

// Retrieve mapping file if not using Android Gradle Plugin
// Requires it to be set in the project config
if (mightHaveMapping && !mappingFile && project.hockeyapp.symbolsDirectory?.exists()) {
symbolsDirectory = project.hockeyapp.symbolsDirectory
mappingFile = getFile(project.hockeyapp.mappingFileNameRegex, symbolsDirectory);
if (mightHaveMapping && !mappingFile && hockeyApp.symbolsDirectory?.exists()) {
symbolsDirectory = hockeyApp.symbolsDirectory
mappingFile = getFile(hockeyApp.mappingFileNameRegex, symbolsDirectory);

if (!mappingFile) {
logger.warn("No Mapping file found.")
Expand All @@ -118,8 +121,8 @@ class HockeyAppUploadTask extends DefaultTask {
}

String appId = null
if (project.hockeyapp.variantToApplicationId) {
appId = project.hockeyapp.variantToApplicationId[variantName]
if (hockeyApp.variantToApplicationId) {
appId = hockeyApp.variantToApplicationId[variantName]
if (!appId)
throw new IllegalArgumentException("Could not resolve app ID for variant: ${variantName} in the variantToApplicationId map.")
}
Expand All @@ -131,13 +134,13 @@ class HockeyAppUploadTask extends DefaultTask {

ProgressLogger progressLogger = services.get(ProgressLoggerFactory).newOperation(this.getClass())
progressLogger.start("Upload file to Hockey App", "Upload file")
if (project.hockeyapp.teamCityLog) {
if (hockeyApp.teamCityLog) {
println TeamCityStatusMessageHelper.buildProgressString(TeamCityProgressType.START, "Upload file to Hockey App")
}

RequestConfig.Builder requestBuilder = RequestConfig.custom()
requestBuilder = requestBuilder.setConnectTimeout(project.hockeyapp.timeout)
requestBuilder = requestBuilder.setConnectionRequestTimeout(project.hockeyapp.timeout)
requestBuilder = requestBuilder.setConnectTimeout(hockeyApp.timeout)
requestBuilder = requestBuilder.setConnectionRequestTimeout(hockeyApp.timeout)

String proxyHost = System.getProperty("http.proxyHost", "")
int proxyPort = System.getProperty("http.proxyPort", "0") as int
Expand Down Expand Up @@ -172,7 +175,7 @@ class HockeyAppUploadTask extends DefaultTask {

int lastProgress = 0
Logger loggerForCallback = logger
Boolean teamCityLog = project.hockeyapp.teamCityLog
Boolean teamCityLog = hockeyApp.teamCityLog
ProgressHttpEntityWrapper.ProgressCallback progressCallback = new ProgressHttpEntityWrapper.ProgressCallback() {

@Override
Expand Down Expand Up @@ -222,72 +225,72 @@ class HockeyAppUploadTask extends DefaultTask {
logger.debug(" upload response: " + uploadResponse)
}
}
if (project.hockeyapp.teamCityLog) {
if (hockeyApp.teamCityLog) {
println TeamCityStatusMessageHelper.buildProgressString(TeamCityProgressType.FINISH, "Application uploaded successfully.")
}
progressLogger.completed()
}
}

private void decorateWithOptionalProperties(MultipartEntityBuilder entityBuilder) {
if (project.hockeyapp.notify) {
entityBuilder.addPart("notify", new StringBody(project.hockeyapp.notify))
if (hockeyApp.notify) {
entityBuilder.addPart("notify", new StringBody(hockeyApp.notify as String))
}
String notesType = project.hockeyapp.notesType
if(project.hockeyapp.variantToNotesType){
if(project.hockeyapp.variantToNotesType[variantName]){
notesType = project.hockeyapp.variantToNotesType[variantName]
String notesType = hockeyApp.notesType
if(hockeyApp.variantToNotesType){
if(hockeyApp.variantToNotesType[variantName]){
notesType = hockeyApp.variantToNotesType[variantName]
}
}
if (notesType) {
entityBuilder.addPart("notes_type", new StringBody(notesType))
}
String notes = project.hockeyapp.notes
if(project.hockeyapp.variantToNotes){
if(project.hockeyapp.variantToNotes[variantName]){
notes = project.hockeyapp.variantToNotes[variantName]
String notes = hockeyApp.notes
if(hockeyApp.variantToNotes){
if(hockeyApp.variantToNotes[variantName]){
notes = hockeyApp.variantToNotes[variantName]
}
}
if (notes) {
entityBuilder.addPart("notes", new StringBody(notes))
}
String status = project.hockeyapp.status
if (project.hockeyapp.variantToStatus) {
if (project.hockeyapp.variantToStatus[variantName]){
status = project.hockeyapp.variantToStatus[variantName]
String status = hockeyApp.status
if (hockeyApp.variantToStatus) {
if (hockeyApp.variantToStatus[variantName]){
status = hockeyApp.variantToStatus[variantName]
}
}
if (status) {
entityBuilder.addPart("status", new StringBody(status))
}
String releaseType = project.hockeyapp.releaseType
if (project.hockeyapp.variantToReleaseType) {
if (project.hockeyapp.variantToReleaseType[variantName]) {
releaseType = project.hockeyapp.variantToReleaseType[variantName]
String releaseType = hockeyApp.releaseType
if (hockeyApp.variantToReleaseType) {
if (hockeyApp.variantToReleaseType[variantName]) {
releaseType = hockeyApp.variantToReleaseType[variantName]
}
}
if (releaseType) {
entityBuilder.addPart("release_type", new StringBody(project.hockeyapp.releaseType))
entityBuilder.addPart("release_type", new StringBody(hockeyApp.releaseType as String))
}
if (project.hockeyapp.commitSha) {
entityBuilder.addPart("commit_sha", new StringBody(project.hockeyapp.commitSha))
if (hockeyApp.commitSha) {
entityBuilder.addPart("commit_sha", new StringBody(hockeyApp.commitSha))
}
if (project.hockeyapp.buildServerUrl) {
entityBuilder.addPart("build_server_url", new StringBody(project.hockeyapp.buildServerUrl))
if (hockeyApp.buildServerUrl) {
entityBuilder.addPart("build_server_url", new StringBody(hockeyApp.buildServerUrl))
}
if (project.hockeyapp.repositoryUrl) {
entityBuilder.addPart("repository_url", new StringBody(project.hockeyapp.repositoryUrl))
if (hockeyApp.repositoryUrl) {
entityBuilder.addPart("repository_url", new StringBody(hockeyApp.repositoryUrl))
}
if (project.hockeyapp.tags) {
entityBuilder.addPart("tags", new StringBody(project.hockeyapp.tags))
if (hockeyApp.tags) {
entityBuilder.addPart("tags", new StringBody(hockeyApp.tags))
}
if (project.hockeyapp.teams) {
entityBuilder.addPart("teams", new StringBody(project.hockeyapp.teams))
if (hockeyApp.teams) {
entityBuilder.addPart("teams", new StringBody(hockeyApp.teams))
}
String mandatory = project.hockeyapp.mandatory
if (project.hockeyapp.variantToMandatory){
if (project.hockeyapp.variantToMandatory[variantName]){
mandatory = project.hockeyapp.variantToMandatory[variantName]
String mandatory = hockeyApp.mandatory
if (hockeyApp.variantToMandatory){
if (hockeyApp.variantToMandatory[variantName]){
mandatory = hockeyApp.variantToMandatory[variantName]
}
}
if (mandatory){
Expand All @@ -296,10 +299,10 @@ class HockeyAppUploadTask extends DefaultTask {
}

private String getApiToken() {
String apiToken = project.hockeyapp.apiToken
if (project.hockeyapp.variantToApiToken) {
if (project.hockeyapp.variantToApiToken[variantName]) {
apiToken = project.hockeyapp.variantToApiToken[variantName]
String apiToken = hockeyApp.apiToken
if (hockeyApp.variantToApiToken) {
if (hockeyApp.variantToApiToken[variantName]) {
apiToken = hockeyApp.variantToApiToken[variantName]
}
}
return apiToken
Expand Down

0 comments on commit 525ab64

Please sign in to comment.