A simple package containing models and UI for listing open source components.
Add the following dependency to your Package.swift
:
.package(url: "https://github.com/sersoft-gmbh/licensed-components.git", from: "1.0.0"),
Or add it via Xcode (as of Xcode 11).
Licensed Components contains two targets: LicensedComponents
and LicensedComponentsUI
.
The former contains the model LicensedComponent
and the latter contains SwiftUI views for listing them.
To use the UI, simply pass a list of LicensedComponent
s to the LicensedComponentsList
:
import SwiftUI
struct ContentView: View {
private let components: [LicensedComponent] = [
LicensedComponent(
name: "Licensed Components",
license: .apache(.v2),
copyrightYears: "2020-2021",
copyrightHolders: "ser.soft GmbH"
),
LicensedComponent(
name: "Color Components",
license: .apache(.v2),
copyrightYears: "2020-2021",
copyrightHolders: "ser.soft GmbH"
),
LicensedComponent(
name: "CocoaLumberjack",
license: .bsd(.threeClause),
copyrightYears: "2010-2021",
copyrightHolders: "Deusty, LLC"
)
]
var body: some View {
NavigationView {
LicensedComponentsList(components: components)
}
}
}
The API is documented using header doc. If you prefer to view the documentation as a webpage, there is an online version available for you:
If you find a bug / like to see a new feature in this package there are a few ways of helping out:
- If you can fix the bug / implement the feature yourself please do and open a PR.
- If you know how to code (which you probably do), please add a (failing) test and open a PR. We'll try to get your test green ASAP.
- If you can do neither, then open an issue. While this might be the easiest way, it will likely take the longest for the bug to be fixed / feature to be implemented.
See LICENSE file.
For integrating as LicensedComponent
:
LicensedComponent(
name: "Licensed Components",
license: .apache(.v2),
copyrightYears: "2020-2021",
copyrightHolders: "ser.soft GmbH"
)