1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 08:27:12 -07:00

GithubApi work.

This commit is contained in:
Cedric Beust 2015-11-11 13:16:21 -08:00
parent c14f27b618
commit 779d8d7b8a

View file

@ -1,5 +1,6 @@
package com.beust.kobalt.misc package com.beust.kobalt.misc
import com.beust.kobalt.homeDir
import com.beust.kobalt.maven.KobaltException import com.beust.kobalt.maven.KobaltException
import com.google.gson.JsonArray import com.google.gson.JsonArray
import com.google.gson.JsonObject import com.google.gson.JsonObject
@ -10,7 +11,6 @@ import retrofit.RestAdapter
import retrofit.client.OkClient import retrofit.client.OkClient
import retrofit.http.* import retrofit.http.*
import rx.Observable import rx.Observable
import rx.Observer
import java.io.BufferedReader import java.io.BufferedReader
import java.io.File import java.io.File
import java.io.IOException import java.io.IOException
@ -75,13 +75,16 @@ public class GithubApi @Inject constructor(val executors: KobaltExecutors) {
fun releases(@Path("owner") owner: String, @Path("repo") repo: String): List<Release> fun releases(@Path("owner") owner: String, @Path("repo") repo: String): List<Release>
@POST("/repos/{owner}/{repo}/releases") @POST("/repos/{owner}/{repo}/releases")
fun createRelease(@Path("owner") owner: String, @Path("repo") repo: String, fun createRelease(@Path("owner") owner: String,
@Query("access_token") accessToken: String, @Query("access_token") accessToken: String,
@Path("repo") repo: String,
@Body createRelease: CreateRelease @Body createRelease: CreateRelease
) : Observable<CreateReleaseResponse> ) : Observable<CreateReleaseResponse>
@POST("/repos/{owner}/{repo}/releases/{id}/assets") @POST("/repos/{owner}/{repo}/releases/{id}/assets")
fun uploadRelease(@Path("owner") owner: String, @Path("repo") repo: String, fun uploadRelease(@Path("owner") owner: String,
@Query("access_token") accessToken: String,
@Path("repo") repo: String,
@Path("id") id: String, @Path("id") id: String,
@Query("name") name: String, @Query("name") name: String,
@Query("label") label: String, @Query("label") label: String,
@ -134,30 +137,9 @@ public class GithubApi @Inject constructor(val executors: KobaltExecutors) {
val accessToken: String get() = fromProperties(ACCESS_TOKEN_PROPERTY) val accessToken: String get() = fromProperties(ACCESS_TOKEN_PROPERTY)
val username: String get() = fromProperties(USERNAME_PROPERTY) val username: String get() = fromProperties(USERNAME_PROPERTY)
fun uploadRelease() { fun uploadRelease() : Int {
val id = createRelease()
// val typedFile = File("c:\\users\\cbeust\\t\\a.zip")
// s.uploadRelease("cbeust", "kobalt", "42", "kobalt-0.500", "0.500", typedFile)
// .subscribe(object: Observer<UploadReleaseResponse> {
// override fun onCompleted() {
// println("Call completed")
// }
//
// override fun onNext(response: UploadReleaseResponse?) {
// println("Received response: $response")
// }
//
// override fun onError(e: Throwable) {
// println("Error: $e")
// }
//
// })
}
fun createRelease() : Int {
println("createRelease()") println("createRelease()")
service.createRelease(username, "kobalt", accessToken, service.createRelease(username, accessToken, "kobalt",
// hashMapOf("tag_name" to "0.502tagName") // hashMapOf("tag_name" to "0.502tagName")
CreateRelease("0.503tagName") CreateRelease("0.503tagName")
// CreateRelease().apply { tag_name = "0.500tagName"} // CreateRelease().apply { tag_name = "0.500tagName"}
@ -166,24 +148,24 @@ public class GithubApi @Inject constructor(val executors: KobaltExecutors) {
// "A test release", // "A test release",
// draft = false, prerelease = true) // draft = false, prerelease = true)
) )
.subscribe(object: Observer<CreateReleaseResponse> { .map { response: CreateReleaseResponse? ->
override fun onCompleted() { uploadRelease(response?.id!!)
println("Call completed") println("Received id " + response?.id)
} }
.subscribe(
override fun onNext(response: CreateReleaseResponse?) { { println("success") },
println("Received response: $response") { e: Throwable -> println("error" + e)},
} { println("complete")}
)
override fun onError(e: Throwable) { // })
println("Error: $e")
}
})
Thread.sleep(10000) Thread.sleep(10000)
return 0 return 0
} }
fun uploadRelease(id: String) {
service.uploadRelease(username, accessToken, "kobalt", id, "The zip file", "The label",
File(homeDir("kotlin", "kobalt", "src", "Build.kt")))
}
} }
} }