Skip to content

Commit

Permalink
Merge pull request #12 from yutailang0119/develop
Browse files Browse the repository at this point in the history
Release 0.4.0
  • Loading branch information
yutailang0119 committed Mar 14, 2021
2 parents baa36e0 + b80f3b5 commit 2eb007d
Show file tree
Hide file tree
Showing 9 changed files with 85 additions and 65 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Tests

on:
push:
branches: [develop, main]
pull_request:

jobs:
macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Build
run: swift build
- name: Run tests
run: swift test
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build
run: swift build
- name: Run tests
run: swift test
File renamed without changes
File renamed without changes
15 changes: 3 additions & 12 deletions Package.resolved
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,13 @@
"object": {
"pins": [
{
"package": "llbuild",
"repositoryURL": "https://github.com/apple/swift-llbuild.git",
"package": "swift-tools-support-core",
"repositoryURL": "https://github.com/apple/swift-tools-support-core",
"state": {
"branch": null,
"revision": "f73b84bc1525998e5e267f9d830c1411487ac65e",
"revision": "2954e55faee5bfee928e844bb09e97fcfa8d24af",
"version": "0.2.0"
}
},
{
"package": "SwiftPM",
"repositoryURL": "https://github.com/apple/swift-package-manager.git",
"state": {
"branch": null,
"revision": "9abcc2260438177cecd7cf5185b144d13e74122b",
"version": "0.5.0"
}
}
]
},
Expand Down
16 changes: 11 additions & 5 deletions Package.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// swift-tools-version:5.1
// swift-tools-version:5.3
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription
Expand All @@ -9,11 +9,17 @@ let package = Package(
.library(name: "ProgressSpinnerKit", targets: ["ProgressSpinnerKit"]),
],
dependencies: [
.package(url: "https://github.com/apple/swift-package-manager.git", from: "0.5.0"),
.package(url: "https://github.com/apple/swift-tools-support-core", from: "0.2.0"),
],
targets: [
.target(name: "ProgressSpinnerKit", dependencies: ["SPMUtility"]),
.testTarget(name: "ProgressSpinnerKitTests", dependencies: ["ProgressSpinnerKit"]),
.target(name: "Demo", dependencies: ["ProgressSpinnerKit"]),
.target(name: "ProgressSpinnerKit",
dependencies: [
.product(name: "SwiftToolsSupport",
package: "swift-tools-support-core"),
]),
.testTarget(name: "ProgressSpinnerKitTests",
dependencies: ["ProgressSpinnerKit"]),
.target(name: "Demo",
dependencies: ["ProgressSpinnerKit"]),
]
)
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<p align="left">
<a href="https://developer.apple.com/swift"><img alt="Swift 5.1" src="https://img.shields.io/badge/Swift-5.1-orange.svg?style=flat"/></a>
<a href="https://developer.apple.com/swift"><img alt="Swift 5.3" src="https://img.shields.io/badge/Swift-5.3-orange.svg?style=flat"/></a>
<a href="https://swift.org/package-manager/"><img alt="Swift Package Manager" src="https://img.shields.io/badge/Swift_Package_Manager-compatible-green.svg?style=flat"/></a>
<a href="https://github.com/yutailang0119/ProgressSpinnerKit/blob/master/LICENSE"><img alt="Lincense" src="https://img.shields.io/badge/license-MIT-black.svg?style=flat"/></a>
</p>

<p align="center">
<img src="./ProgressSpinnerKit.gif">
<img src="./Documentation/ProgressSpinnerKit.gif">
</p>

A library to display an ActivityIndicator for CLI.
Expand All @@ -20,25 +20,25 @@ ProgressSpinnerKit is still in active development.

## Dome

![](./Sources/Demo/Demo.gif)
![](./Documentation/Demo.gif)

## Installation

### [Swift Package Manager](https://swift.org/package-manager/)

```swift
// swift-tools-version:5.1
// swift-tools-version:5.3
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
name: "test",
name: "DemoPackage",
dependencies: [
.package(url: "https://github.com/yutailang0119/ProgressSpinnerKit", from: "0.3.0"),
.package(url: "https://github.com/yutailang0119/ProgressSpinnerKit", from: "0.4.0"),
],
targets: [
.target(name: "targetName", dependencies: ["ProgressSpinnerKit"]),
.target(name: "DemoTarget", dependencies: ["ProgressSpinnerKit"]),
]
)

Expand All @@ -49,10 +49,10 @@ https://github.com/apple/swift-package-manager
## Usege

```swift
import Basic
import TSCBasic
import ProgressSpinnerKit

let spinner = createProgressSpinner(forStream: Basic.stdoutStream, header: " Loading:")
let spinner = createProgressSpinner(forStream: TSCBasic.stdoutStream, header: " Loading:")
spinner.start()
// Something on the main thread.
spinner.stop()
Expand Down
59 changes: 29 additions & 30 deletions Sources/Demo/main.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,203 +6,202 @@
//

import Foundation
import Basic
import POSIX
import TSCBasic
import ProgressSpinnerKit

private let duration = useconds_t(Double(2.0) * pow(1000, 2))

do {
let defaultSpinner = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " default:")
let defaultSpinner = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " default:")
defaultSpinner.start()
usleep(duration)
defaultSpinner.stop()
}

do {
let box1 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " box1:", spinner: Spinner(kind: .box1))
let box1 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " box1:", spinner: Spinner(kind: .box1))
box1.start()
usleep(duration)
box1.stop()
}

do {
let box2 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " box2:", spinner: Spinner(kind: .box2))
let box2 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " box2:", spinner: Spinner(kind: .box2))
box2.start()
usleep(duration)
box2.stop()
}

do {
let box3 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " box3:", spinner: Spinner(kind: .box3))
let box3 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " box3:", spinner: Spinner(kind: .box3))
box3.start()
usleep(duration)
box3.stop()
}

do {
let box4 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " box4:", spinner: Spinner(kind: .box4))
let box4 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " box4:", spinner: Spinner(kind: .box4))
box4.start()
usleep(duration)
box4.stop()
}

do {
let box5 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " box5:", spinner: Spinner(kind: .box5))
let box5 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " box5:", spinner: Spinner(kind: .box5))
box5.start()
usleep(duration)
box5.stop()
}

do {
let box6 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " box6:", spinner: Spinner(kind: .box6))
let box6 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " box6:", spinner: Spinner(kind: .box6))
box6.start()
usleep(duration)
box6.stop()
}

do {
let box7 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " box7:", spinner: Spinner(kind: .box7))
let box7 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " box7:", spinner: Spinner(kind: .box7))
box7.start()
usleep(duration)
box7.stop()
}

do {
let bar1 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " bar1:", spinner: Spinner(kind: .bar1))
let bar1 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " bar1:", spinner: Spinner(kind: .bar1))
bar1.start()
usleep(duration)
bar1.stop()
}

do {
let bar2 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " bar2:", spinner: Spinner(kind: .bar2))
let bar2 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " bar2:", spinner: Spinner(kind: .bar2))
bar2.start()
usleep(duration)
bar2.stop()
}

do {
let bar3 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " bar3:", spinner: Spinner(kind: .bar3))
let bar3 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " bar3:", spinner: Spinner(kind: .bar3))
bar3.start()
usleep(duration)
bar3.stop()
}

do {
let bar4 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " bar4:", spinner: Spinner(kind: .bar4))
let bar4 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " bar4:", spinner: Spinner(kind: .bar4))
bar4.start()
usleep(duration)
bar4.stop()
}

do {
let bar5 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " bar5:", spinner: Spinner(kind: .bar5))
let bar5 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " bar5:", spinner: Spinner(kind: .bar5))
bar5.start()
usleep(duration)
bar5.stop()
}

do {
let bar6 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " bar6:", spinner: Spinner(kind: .bar6))
let bar6 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " bar6:", spinner: Spinner(kind: .bar6))
bar6.start()
usleep(duration)
bar6.stop()
}

do {
let spin1 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " spin1:", spinner: Spinner(kind: .spin1))
let spin1 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " spin1:", spinner: Spinner(kind: .spin1))
spin1.start()
usleep(duration)
spin1.stop()
}

do {
let spin2 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " spin2:", spinner: Spinner(kind: .spin2))
let spin2 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " spin2:", spinner: Spinner(kind: .spin2))
spin2.start()
usleep(duration)
spin2.stop()
}

do {
let spin3 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " spin3:", spinner: Spinner(kind: .spin3))
let spin3 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " spin3:", spinner: Spinner(kind: .spin3))
spin3.start()
usleep(duration)
spin3.stop()
}

do {
let spin4 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " spin4:", spinner: Spinner(kind: .spin4))
let spin4 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " spin4:", spinner: Spinner(kind: .spin4))
spin4.start()
usleep(duration)
spin4.stop()
}

do {
let spin5 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " spin5:", spinner: Spinner(kind: .spin5))
let spin5 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " spin5:", spinner: Spinner(kind: .spin5))
spin5.start()
usleep(duration)
spin5.stop()
}

do {
let spin6 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " spin6:", spinner: Spinner(kind: .spin6))
let spin6 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " spin6:", spinner: Spinner(kind: .spin6))
spin6.start()
usleep(duration)
spin6.stop()
}

do {
let spin7 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " spin7:", spinner: Spinner(kind: .spin7))
let spin7 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " spin7:", spinner: Spinner(kind: .spin7))
spin7.start()
usleep(duration)
spin7.stop()
}

do {
let spin8 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " spin8:", spinner: Spinner(kind: .spin8))
let spin8 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " spin8:", spinner: Spinner(kind: .spin8))
spin8.start()
usleep(duration)
spin8.stop()
}

do {
let spin9 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " spin9:", spinner: Spinner(kind: .spin9))
let spin9 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " spin9:", spinner: Spinner(kind: .spin9))
spin9.start()
usleep(duration)
spin9.stop()
}

do {
let spin10 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " spin10:", spinner: Spinner(kind: .spin10))
let spin10 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " spin10:", spinner: Spinner(kind: .spin10))
spin10.start()
usleep(duration)
spin10.stop()
}

do {
let spin11 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " spin11:", spinner: Spinner(kind: .spin11))
let spin11 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " spin11:", spinner: Spinner(kind: .spin11))
spin11.start()
usleep(duration)
spin11.stop()
}

do {
let spin12 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " spin12:", spinner: Spinner(kind: .spin12))
let spin12 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " spin12:", spinner: Spinner(kind: .spin12))
spin12.start()
usleep(duration)
spin12.stop()
}

do {
let spin13 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " spin13:", spinner: Spinner(kind: .spin13))
let spin13 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " spin13:", spinner: Spinner(kind: .spin13))
spin13.start()
usleep(duration)
spin13.stop()
}

do {
let spin14 = ProgressSpinnerKit.createProgressSpinner(forStream: Basic.stderrStream, header: " spin14:", spinner: Spinner(kind: .spin14))
let spin14 = ProgressSpinnerKit.createProgressSpinner(forStream: TSCBasic.stderrStream, header: " spin14:", spinner: Spinner(kind: .spin14))
spin14.start()
usleep(duration)
spin14.stop()
Expand Down
4 changes: 2 additions & 2 deletions Sources/ProgressSpinnerKit/ProgressSpinner.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
//

import Foundation
import Basic
import SPMUtility
import TSCBasic
import TSCUtility

private var fps: useconds_t {
let fps: Double = 1 / 60
Expand Down

0 comments on commit 2eb007d

Please sign in to comment.