XcodeServerSDK alternatives and similar libraries
Based on the "Webserver" category.
Alternatively, view XcodeServerSDK alternatives based on common mentions on social networks and blogs.
-
Perfect
Server-side Swift. The Perfect core toolset and framework for Swift Developers. (For mobile back-end development, website and API development, and moreβ¦) -
swifter
Tiny http server engine written in Swift programming language. -
Swifton
A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X -
Zewo
Lightweight library for web server applications in Swift on macOS and Linux powered by coroutines. -
Taylor
A lightweight library for writing HTTP web servers with Swift -
Blackfish
A minimal, fast and unopinionated web framework for Swift -
Express
Swift Express is a simple, yet unopinionated web application server written in Swift -
Embassy
Super lightweight async HTTP server library in pure Swift runs in iOS / MacOS / Linux -
Restofire
Restofire is a protocol oriented networking client for Alamofire -
Frank
Frank is a DSL for quickly writing web applications in Swift -
Edge
A Swift Multiplatform Single-threaded Non-blocking Web and Networking Framework -
NetworkObjects
Swift backend / server framework (Pure Swift, Supports Linux) -
RxNetworks
π§ Responsive plugin network architecture for RxSwift + Moya + HandyJSON + Plugins. -
Ambassador
Super lightweight web framework in Swift based on SWSGI -
SwiftyHTTP
A simple GCD based HTTP client and server, written in 'pure' Swift -
Dynamo
High Performance (nearly)100% Swift Web server supporting dynamic content. -
Swift-Server
A very basic proof-of-concept Swift HTTP server that does not require Foundation -
Corvus
Corvus has been archived in favor of https://github.com/Apodini/Apodini .
Appwrite - The open-source backend cloud platform
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of XcodeServerSDK or a related project?
README
Xcode Server SDK
Use Xcode Server's API with native Swift objects.
First brought to you in Buildasaur, now in an independent project. This is an unofficial, community-maintained project and is not associated with Apple. We also maintain the unofficial documentation of Xcode Server in case you'd like to integrate using a different programming language! :wink:
:mortar_board: Getting Started With Xcode Server
To find out how to set up Xcode Server on your Mac in minutes (and more), check out my series of tutorials.
To see how easy it is to integrate XcodeServerSDK
into an iOS app, check out the XCSDemo project created by @cojoj.
:signal_strength: Xcode Server API Versions
Xcode Server API | Supported? |
---|---|
Xcode 7 and newer | :white_check_mark: from 0.1 |
Xcode 6 and older | :white_check_mark: up to 0.0.4 |
You'll need OS X Server of version >= 4. For Xcode 7 you need OS X >= 10.10.4.
The latest version supporting the old, undocumented Xcode 6 version of the Xcode Server API is 0.0.4. All newer versions only support the new, first publicly documented Xcode 7 version of the API.
:octocat: Sources
One way to integrate XcodeServerSDK
into your project is with CocoaPods. Add this to your Podfile (with the version being the latest released pod version: :
pod 'XcodeServerSDK'
:wrench: Usage
Create the server config object with the server's URL, username and password.
do {
let config = XcodeServerConfig(host: "https://127.0.0.1", user: "IRuleBots", password: "superSecr3t")
} catch ConfigurationErrors.NoHostProvided {
fatalError("You haven't provided any host")
} catch ConfigurationErrors.InvalidHostProvided(let host){
fatalError("You've provided invalid host: \(host)")
} catch ConfigurationErrors.InvalidSchemeProvided(let scheme) {
fatalError("You've provided invalid scheme: \(scheme)")
} catch {
fatalError("Error, not related to XcodeServerConfig; \(error)")
}
Instantiate XcodeServer
.
let server = XcodeServerFactory.server(config: config)
Go wild!
server.getBots { bots, error in
guard error == nil else {
Log.error("Oh no! \(error.description)")
return
}
// go crazy with bots
if let firstBot = bots?.first {
// use the first bot...
}
}
:signal_strength: Swift Versions
The latest Swift 1.2 compatible version is 0.0.4, so put this exact version in your Podfile if you're targeting Swift 1.2. All newer releases will be targeting Swift 2, because we're all just so forward-thinking.
:circus_tent: Play with Playground
We're providing a Plaground in which you can easily interact with XcodeServerSDK
and test it's functionalities without any need to create a new app. Playground target is set to be OS X (so don't use UIKit
inside).
:rocket: Features
Apple has finally shipped the official docs for Xcode Server. They're slightly different from what has been presented on WWDC (slide 69).
Below is the table with features described in docs - divided into categories. Last category, unofficial, is the cluster of features reverse engineered while working on XcodesServerSDK
, so you won't find them in docs, but they're definitely in code! π
Category | Description | XcodeServerSDK support |
---|---|---|
Bots | ||
Creates a new bot | β | |
Retrieve a list of bots | β | |
Retrieve a single bot | β | |
Update a single bot | β | |
Delete a single bot | β | |
Duplicate an existing bot | β | |
Integrations | ||
Begin an integration for the specified bot | β | |
Retrieve a single integration | β | |
Delete an integration | β | |
Cancel a integration currently being executed | β | |
Retrieve options to perform filters, selections and calculations on all integrations for the specified bot | partially | |
Retrieve options to perform filters, selections and calculations on all integrations | partially | |
Retrieve the tests for an integration | partially | |
Retrieve the test information list for a given integration and device identifier | partially | |
Retrieve the test information list of issues for a given integration and device identifier | β | |
Retrieve the list of files for a given integration | β | |
Assets | ||
Retrieve an asset given its relative path | β | |
Code Coverage | ||
Retrieve the Code Coverage information for a given integration | β | |
Unofficial | ||
Check if user can create bots | β | |
List hosted repositories on server | β | |
Create a new hosted repository | β | |
Get supported platforms | β | |
Get SCM branches from Blueprint | β | |
Verify user can manage server | β |
:city_sunrise: Supported Platforms
Currently XcodeServerSDK
provides support for the following platforms:
Platform | Minimum Version | CocoaPods |
---|---|---|
OS X | 10.10 | :white_check_mark: |
iOS | 8.0 | :white_check_mark: |
watchOS | 2.0 | :white_check_mark: |
tvOS | 9.0 | :white_check_mark: |
:tada: Projects using XcodeServerSDK
- Buildasaur - connect Xcode Server with GitHub Pull Requests.
- (using XcodeServerSDK too? Send a PR with a link to your project added here!)
Want to create yours but need some inspiration? Watch this WWDC 2015 session on Xcode Server! Using hardware buttons to start integrations? Why not! The sky is the limit.
:v: License
:ship: Building & Testing
We use CocoaPods for dependency management. When you clone the repo, you'll need to run pod install
to download the necessary dependencies.
:blue_heart: Code of Conduct
Please note that this project is released with a [Contributor Code of Conduct](./CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
:pencil2: Contributing
Create an issue or (preferably) send a pull request. Do you just want to get involved and help out? See the issues marked as up-for-grabs. These are the ones just waiting for some beautiful soul like you to build/fix it. We just don't have enough bandwidth and any help is welcome :) (You'll be in the contributors list of the release if you send a PR! :fireworks:)
:speech_balloon: Get in touch
For things like general problems/ideas please report an issue, so anyone can see them and relate to them in the future. It's realy important for Open Source projects like this! If your problem requires a deep discussion or you have a great idea and you really want to share it with someone before opening an issue you can join the official Buildasaurs Slack team! (To do so, go to this website and have your e-mail address ready :e-mail:)
:santa: Origin Story
This code has been pulled out of Buildasaur, bringing you integration of GitHub Pull Requests to Xcode Bots.
:alien: Author
Honza Dvorsky honzadvorsky.com @czechboy0
*Note that all licence references and agreements mentioned in the XcodeServerSDK README section above
are relevant to that project's source code only.