Kitura / Kitura-CredentialsHTTP

A plugin for the Kitura-Credentials framework that authenticates using HTTP Basic and Digest authentication
Apache License 2.0
16 stars 14 forks source link

Build against Swift 5 #56

Closed djones6 closed 5 years ago

djones6 commented 5 years ago

Adds testing with a Swift 5 development snapshot. The snapshot is defined in Travis as SWIFT_DEVELOPMENT_SNAPSHOT consistently across the IBM-Swift repos, to enable us to automate updating the version.

Also fixes an invalid Swift version number in an @available annotation on the CredentialsHTTPBasic.init(userProfileLoader:) initializer. The intention was to mark this as deprecated from v2 of this repo, but that's not what the deprecation syntax means - it is specifically the swift version that the deprecation applies to. 2.0 is not a valid Swift version in this context and Swift 5 now warns us about that.

djones6 commented 5 years ago

One compiler warning to be resolved:

/home/travis/build/IBM-Swift/Kitura-CredentialsHTTP/Sources/CredentialsHTTP/CredentialsHTTPBasic.swift:53:6: warning: unexpected version number in 'available' attribute for non-specific platform '*'
    @available(*, deprecated: 2.0, message: "userProfileLoader has been deprecated from Basic Authentication because of security improvements. Please use verifyPassword.")  public init (userProfileLoader: @escaping UserProfileLoader, realm: String?=nil) {
     ^                      ~~~~~

Also some warnings in the tests:

/home/travis/build/IBM-Swift/Kitura-CredentialsHTTP/Tests/CredentialsHTTPTests/TestBasic.swift:52:107: warning: string interpolation produces a debug description for an optional value; did you mean to make this explicit?
                XCTAssertEqual(response?.statusCode, HTTPStatusCode.unauthorized, "HTTP Status code was \(response?.statusCode)")
                                                                                                          ^~~~~~~~~~~~~~~~~~~~