dgodd / concourse-summary

MIT License
62 stars 12 forks source link

Problem building with current dependencies #22

Closed thelangley closed 7 years ago

thelangley commented 7 years ago

Current shard.yml has kemal dependency on master branch.

Application does not build on Kemal commit f4de825ab83276f6e78b98c8a7ad895cf478f412

We've changed our shard.yml dependencies to look like this

dependencies:
  kemal:
    github: sdogruyol/kemal
    commit: 875737c446758465865a29c7d13f0d8661f5efd1

This makes it build successfully

Using crystal 0.21.0

If I raise a PR to fix kemal dependency, would you be happy with merging?

For more info the error during build looks like this

+ COMMIT_MESSAGE=1de0ff6 Update to crystal 0.21.0
+ shards update
Updating https://github.com/sdogruyol/kemal.git
Updating https://github.com/luislavena/radix.git
Updating https://github.com/jeromegn/kilt.git
Installing kemal (master)
Installing radix (0.3.8)
Installing kilt (0.3.3)
+ crystal dep
Updating https://github.com/sdogruyol/kemal.git
Updating https://github.com/luislavena/radix.git
Updating https://github.com/jeromegn/kilt.git
Using kemal (f4de825ab83276f6e78b98c8a7ad895cf478f412)
Using radix (0.3.8)
Installing kilt (0.3.3)
+ crystal build --release src/concourse-summary.cr
Error in src/concourse-summary.cr:64: instantiating 'MyData:Class#get_data(String, (Bool | Float64 | Int32 | Int64 | String | Nil), (Bool | Float64 | Int32 | Int64 | String | Nil), Nil, Bool, (Array(String) | String))'

  data = MyData.get_data(host, username, password, nil, login_form, team_name)
                ^~~~~~~~

in src/concourse-summary/my_data.cr:39: no overload matches 'HttpClient.new' with types String, (Bool | Float64 | Int32 | Int64 | String | Nil), (Bool | Float64 | Int32 | Int64 | String | Nil), Bool, (Array(String) | String)
Overloads are:
 - HttpClient.new(host, username, password, login_form = false, team_name : String = "main")
Couldn't find overloads for these types:
 - HttpClient.new(host : String, username : Bool, password : Bool, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Bool, password : Float64, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Bool, password : Int32, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Bool, password : Int64, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Bool, password : String, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Bool, password : Nil, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Float64, password : Bool, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Float64, password : Float64, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Float64, password : Int32, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Float64, password : Int64, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Float64, password : String, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Float64, password : Nil, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Int32, password : Bool, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Int32, password : Float64, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Int32, password : Int32, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Int32, password : Int64, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Int32, password : String, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Int32, password : Nil, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Int64, password : Bool, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Int64, password : Float64, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Int64, password : Int32, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Int64, password : Int64, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Int64, password : String, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Int64, password : Nil, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : String, password : Bool, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : String, password : Float64, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : String, password : Int32, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : String, password : Int64, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : String, password : String, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : String, password : Nil, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Nil, password : Bool, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Nil, password : Float64, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Nil, password : Int32, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Nil, password : Int64, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Nil, password : String, login_form : Bool, team_name : Array(String))
 - HttpClient.new(host : String, username : Nil, password : Nil, login_form : Bool, team_name : Array(String))

    client = HttpClient.new(host, username, password, login_form, team_name)
dgodd commented 7 years ago

I suspect that it would be better to force username and password to be of type "String | Nil" ; does that sound sensible to you? I would accept either PR