XcodeServer

3.0.0

A swift framework for interacting with, and persisting data from an "Xcode Server".
richardpiazza/XcodeServer

What's New

XcodeServer 3.0.0 🚀

2022-05-31T14:11:08Z

Another hefty update to XcodeServer. Building on the 2.0.0 release, the overall framework continues to evolve, the biggest change being the including of async/await concurrency features.


  • Async/Await: The Persistable and Queryable protocols have had their implementations updated to use the async syntax in place of completion handlers.
  • Platform Limitations: The package now uses Swift tools 5.5, and the minimum supported os versions are now:
    • .macOS(.v12)
    • .iOS(.v15)
    • .tvOS(.v15)
    • .watchOS(.v8)
  • XCSClient: Has been re-written to use the SessionPlus.URLSessionClient to support networking on multiple platforms, removing the swift-nio dependency tree.
  • Model 2.0.0: A new model version was added the prefixed the internal Core Data entities with 'Managed', clearing up namespace prefixing ('XcodeServer.'). Plus the Integration to Issue mappings have been updated to correctly reflect an issue being related to multiple integrations.

XcodeServer

A swift framework for interacting with, and persisting data from an "Xcode Server".

Twitter: @richardpiazza

Installation

This software is distributed using Swift Package Manager. You can add it using Xcode or by listing it as a dependency in your Package.swift manifest:

let package = Package(
  ...
  dependencies: [
    .package(url: "https://github.com/richardpiazza/XcodeServer.git", .upToNextMajor(from: "3.0.0")
  ],
  ...
  targets: [
    .target(
      name: "MyPackage",
      dependencies: [
        "XcodeServer"
      ]
    )
  ]
)

Prerequisites

macOS, iOS, tvOS, watchOS

none

Linux (Ubuntu)

zlib1g-dev must be pre-installed. sudo apt-get install -y zlib1g-dev

Usage

XcodeServer

Core module that provides a unified model representing an Xcode Server and all related entities.

XcodeServerAPI

All of the DTO definitions for the Xcode Server API. The XCSClient class provides endpoint definitions and utilities for interacting with an Xcode Server API as well as downloading Integration coverage data & assets.

XcodeServerCoreData

A CoreData (on Apple platforms) driven implementation of primary Xcode Server entities and their relationships to one another.

The executable xcscli provides a command line interface to the Xcode Server API. To execute from the command line (without building a binary version), you can use the swift run command from the root directory. For instance:

$ swift run xcscli --help

Contribution

Contributions are welcomed and encouraged! See the Contribution Guide for more information.

References

Description

  • Swift Tools 5.5.0
View More Packages from this Author

Dependencies

Last updated: Sat Apr 13 2024 07:53:30 GMT-0900 (Hawaii-Aleutian Daylight Time)