Skip to content

Commit b8d8df5

Browse files
committed
Merge pull request #18 from crossroadlabs/develop
Linux support
2 parents db1c8cc + 25a0f22 commit b8d8df5

File tree

15 files changed

+258
-163
lines changed

15 files changed

+258
-163
lines changed

.travis.yml

Lines changed: 62 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,65 @@
1-
language: objective-c
2-
osx_image: xcode7.2
31
env:
4-
global:
5-
- FRAMEWORK_NAME=Regex
6-
- secure: hsSJ4btmCIbNjAPyAOZvCAUUbupx9Obo0YIXkrQ/iteC4oWRv0g4TMh9Ie/zg9Cdn8P6QOlV2waoG4ZdCymW08/MASK5+Z+uRqAuAExF2l0NllbVTymEDKHkzGdId9EN4thj10TXrsq8kfTWg8O1As3r2Nl/H2lBmDK49DHZVU2cNl9EbgmALYS7CoZ2LwM/TnJgSvUB4l0yzPyz4veDNAgRvQ9iMXN1/gHsemZdcxrd9q3ce53+PRap2z9NUGQrpAefXCLjN8M8aKHExgr90aUxGz4DoHm+pRppMqFo9hIjEi0WQc+ikD3ExchxQH6LCCdTF20L5L0Sxj3AzhUsojDtB5zG9Rc8O/1UjzbcuHbdr0PC+0mSFuQzYsG009Zg1i6moeattmQOC/F/QYp/cXdlHT9K9T4dqh62Wp9lU/CeigJ6orKR9NgBuxEDOsObzNVoiRsqBn4fEOE2b+24XB7D8u4Twc7koRB1gG96JUFNWm5pSmM1WDzTJIlHTcxiU4iHMV/19mWnzJhYTLSXhXOhG1lO2FddeRlkKCuklWqcKvWWr6FnFA2uFxp17hM6YfVsvhDQiJ3Xd/byuNIVgkDuL80Jo/v7dkM8tElYeJsRGiRkZLtkOlIiRnWYTeFclNNSzJ14Ub/MT5W6wfEm/nqeY2G0w50Peu362XL2rFs=
7-
before_install:
8-
- brew update
9-
- brew unlink carthage
10-
- brew install carthage
11-
- brew link carthage
12-
before_script:
13-
# bootstrap the dependencies for the project
14-
# you can remove if you don't have dependencies
15-
# - carthage bootstrap
16-
before_deploy:
17-
- carthage build --no-skip-current
18-
- carthage archive $FRAMEWORK_NAME
19-
- pod trunk push CrossroadRegex.podspec
20-
script:
21-
- xcodebuild test -project Regex.xcodeproj -scheme Regex-OSX
22-
- xcodebuild test -project Regex.xcodeproj -scheme Regex-iOS -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6'
23-
- xcodebuild test -project Regex.xcodeproj -scheme Regex-tvOS -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV 1080p'
24-
- xcodebuild build -project Regex.xcodeproj -scheme Regex-watchOS -sdk watchsimulator -destination 'platform=watchOS Simulator,name=Apple Watch - 42mm'
2+
global:
3+
- MODULE_NAME=Regex
4+
matrix:
5+
include:
6+
- script:
7+
- xcodebuild test -project $MODULE_NAME.xcodeproj -scheme $MODULE_NAME-OSX
8+
- xcodebuild test -project $MODULE_NAME.xcodeproj -scheme $MODULE_NAME-iOS -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6'
9+
- xcodebuild test -project $MODULE_NAME.xcodeproj -scheme $MODULE_NAME-tvOS -sdk appletvsimulator -destination 'platform=tvOS Simulator,name=Apple TV 1080p'
10+
- xcodebuild build -project $MODULE_NAME.xcodeproj -scheme $MODULE_NAME-watchOS -sdk watchsimulator -destination 'platform=watchOS Simulator,name=Apple Watch - 42mm'
11+
os: osx
12+
osx_image: xcode7.2
13+
language: objective-c
14+
env:
15+
- secure: hsSJ4btmCIbNjAPyAOZvCAUUbupx9Obo0YIXkrQ/iteC4oWRv0g4TMh9Ie/zg9Cdn8P6QOlV2waoG4ZdCymW08/MASK5+Z+uRqAuAExF2l0NllbVTymEDKHkzGdId9EN4thj10TXrsq8kfTWg8O1As3r2Nl/H2lBmDK49DHZVU2cNl9EbgmALYS7CoZ2LwM/TnJgSvUB4l0yzPyz4veDNAgRvQ9iMXN1/gHsemZdcxrd9q3ce53+PRap2z9NUGQrpAefXCLjN8M8aKHExgr90aUxGz4DoHm+pRppMqFo9hIjEi0WQc+ikD3ExchxQH6LCCdTF20L5L0Sxj3AzhUsojDtB5zG9Rc8O/1UjzbcuHbdr0PC+0mSFuQzYsG009Zg1i6moeattmQOC/F/QYp/cXdlHT9K9T4dqh62Wp9lU/CeigJ6orKR9NgBuxEDOsObzNVoiRsqBn4fEOE2b+24XB7D8u4Twc7koRB1gG96JUFNWm5pSmM1WDzTJIlHTcxiU4iHMV/19mWnzJhYTLSXhXOhG1lO2FddeRlkKCuklWqcKvWWr6FnFA2uFxp17hM6YfVsvhDQiJ3Xd/byuNIVgkDuL80Jo/v7dkM8tElYeJsRGiRkZLtkOlIiRnWYTeFclNNSzJ14Ub/MT5W6wfEm/nqeY2G0w50Peu362XL2rFs=
16+
before_install:
17+
- brew update
18+
- brew unlink carthage
19+
- brew install carthage
20+
- brew link carthage
21+
before_script:
22+
# bootstrap the dependencies for the project
23+
# you can remove if you don't have dependencies
24+
# - carthage bootstrap
25+
before_deploy:
26+
- carthage build --no-skip-current
27+
- carthage archive $MODULE_NAME
28+
- pod trunk push CrossroadRegex.podspec
29+
deploy:
30+
provider: releases
31+
api_key:
32+
secure: bln+wxsxX4fV0egcGEnF4VJpQBBos+ZqqnO8j88HVeVqTVKjrcnICalowX8nxwX6KhXqnuZNZWacc4bl4bLbIlAns1EgxhsR/N0qeMnp0SpSasBUSulWSaC8R4G7I6hxtScxZhh3BtZbJq3iYMGNj27LhpKaTpXGWxk4YOWmZEm19v8vUrXBI7qPYLRbnlHXx8DwOC3vjotSlIMyNGBlmC/npZ3A3QH2CLZSW8seXEhSlTUzbQ9gY5nNs7/rjmDhkRnNtEnvEuZdUix5SuCD5WO7VMYY7+Y+O3XyGjeIrd22B04DXyL70XrfTjbFGaQAt7uRYXWbd9M4ONo762Ee5boRNCJKolD6hVzUp0eRY3cLZgGIoZDMqUXEX5N4ZF1PbULKyEWGfavB7kzLx1kw4P6unYJW5gZR3blreij+eaN9HAVGNzf++c7vGhbwiE+zsoRZEiriEtii/hRZZ//czmeiFn7t0TQo/PozEu9lSaRSeGsUXseX12lWg9VCAYADvVV1PIIkb/FfQ76WRtP8BMJgu/yjUSB7ZxDxkB4zPvJNRuD/V7z9HTD9GNEyRuAdpiJy++dVyjRkW/xMfbPTkUCp0AdqdzL4L8orF7Ur9v+o3mlzKMTtmWxFhNo0dhAK4WC/jdNVKxbpV9ObG9Ew4+Hi43a7r4yxneNZWA1SikM=
33+
file: $MODULE_NAME.framework.zip
34+
skip_cleanup: true
35+
on:
36+
repo: crossroadlabs/Regex
37+
tags: true
38+
- script:
39+
# build (yes for now swift-build should be like this)
40+
- export SBCMD=`which swift-build`
41+
- $SBCMD
42+
# test
43+
- swift test
44+
sudo: required
45+
dist: trusty
46+
language: generic
47+
before_install:
48+
# install original swift distribution
49+
- wget -q -O - https://swift.org/keys/all-keys.asc | gpg --import -
50+
- cd ..
51+
- export SWIFT_VERSION=swift-DEVELOPMENT-SNAPSHOT-2016-02-08-a
52+
- wget https://swift.org/builds/development/ubuntu1404/$SWIFT_VERSION/$SWIFT_VERSION-ubuntu14.04.tar.gz
53+
- tar xzf $SWIFT_VERSION-ubuntu14.04.tar.gz
54+
- export PATH="${PWD}/${SWIFT_VERSION}-ubuntu14.04/usr/bin:${PATH}"
55+
# install latest package manager with `swift-test`
56+
- git clone https://github.com/apple/swift-package-manager
57+
- cd swift-package-manager
58+
- Utilities/bootstrap
59+
- export SWIFT_BUILD_PATH=`pwd`
60+
- export PATH=$SWIFT_BUILD_PATH/.build/debug:$PATH
61+
- cd ..
62+
# get back home
63+
- cd $MODULE_NAME
2564
notifications:
2665
email: false
27-
deploy:
28-
provider: releases
29-
api_key:
30-
secure: bln+wxsxX4fV0egcGEnF4VJpQBBos+ZqqnO8j88HVeVqTVKjrcnICalowX8nxwX6KhXqnuZNZWacc4bl4bLbIlAns1EgxhsR/N0qeMnp0SpSasBUSulWSaC8R4G7I6hxtScxZhh3BtZbJq3iYMGNj27LhpKaTpXGWxk4YOWmZEm19v8vUrXBI7qPYLRbnlHXx8DwOC3vjotSlIMyNGBlmC/npZ3A3QH2CLZSW8seXEhSlTUzbQ9gY5nNs7/rjmDhkRnNtEnvEuZdUix5SuCD5WO7VMYY7+Y+O3XyGjeIrd22B04DXyL70XrfTjbFGaQAt7uRYXWbd9M4ONo762Ee5boRNCJKolD6hVzUp0eRY3cLZgGIoZDMqUXEX5N4ZF1PbULKyEWGfavB7kzLx1kw4P6unYJW5gZR3blreij+eaN9HAVGNzf++c7vGhbwiE+zsoRZEiriEtii/hRZZ//czmeiFn7t0TQo/PozEu9lSaRSeGsUXseX12lWg9VCAYADvVV1PIIkb/FfQ76WRtP8BMJgu/yjUSB7ZxDxkB4zPvJNRuD/V7z9HTD9GNEyRuAdpiJy++dVyjRkW/xMfbPTkUCp0AdqdzL4L8orF7Ur9v+o3mlzKMTtmWxFhNo0dhAK4WC/jdNVKxbpV9ObG9Ew4+Hi43a7r4yxneNZWA1SikM=
31-
file: $FRAMEWORK_NAME.framework.zip
32-
skip_cleanup: true
33-
on:
34-
repo: crossroadlabs/Regex
35-
tags: true

CrossroadRegex.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = 'CrossroadRegex'
3-
s.version = '0.4.1'
3+
s.version = '0.5'
44
s.license = { :type => 'Apache 2.0', :file => 'LICENSE' }
55
s.summary = 'Easy, portable and feature reach Regular Expressions for Swift'
66
s.homepage = 'https://github.com/crossroadlabs/Regex'

Package.swift

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//===--- Package.swift ----------------------------------------------------===//
2+
//Copyright (c) 2016 Daniel Leping (dileping)
3+
//
4+
//Licensed under the Apache License, Version 2.0 (the "License");
5+
//you may not use this file except in compliance with the License.
6+
//You may obtain a copy of the License at
7+
//
8+
//http://www.apache.org/licenses/LICENSE-2.0
9+
//
10+
//Unless required by applicable law or agreed to in writing, software
11+
//distributed under the License is distributed on an "AS IS" BASIS,
12+
//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
//See the License for the specific language governing permissions and
14+
//limitations under the License.
15+
//===----------------------------------------------------------------------===//
16+
17+
import PackageDescription
18+
19+
let package = Package(
20+
name: "Regex",
21+
targets: [
22+
Target(
23+
name: "Regex"
24+
)
25+
]
26+
)

README.md

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,29 @@
11
# Regex
22

3+
![🐧 linux: ready](https://img.shields.io/badge/%F0%9F%90%A7%20linux-ready-red.svg)
34
[![GitHub license](https://img.shields.io/badge/license-Apache 2.0-lightgrey.svg)](https://raw.githubusercontent.com/crossroadlabs/Regex/master/LICENSE)
45
[![Build Status](https://travis-ci.org/crossroadlabs/Regex.svg?branch=master)](https://travis-ci.org/crossroadlabs/Regex)
56
[![GitHub release](https://img.shields.io/github/release/crossroadlabs/Regex.svg)](https://github.com/crossroadlabs/Regex/releases)
67
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
78
[![CocoaPods version](https://img.shields.io/cocoapods/v/CrossroadRegex.svg)](https://cocoapods.org/pods/CrossroadRegex)
8-
![Platform OS X | iOS | tvOS | watchOS](https://img.shields.io/badge/platform-OS%20X%20%7C%20iOS%20%7C%20tvOS%20%7C%20watchOS-orange.svg)
9+
![Platform OS X | iOS | tvOS | watchOS | Linux](https://img.shields.io/badge/platform-Linux%20%7C%20OS%20X%20%7C%20iOS%20%7C%20tvOS%20%7C%20watchOS-orange.svg)
910

1011
## Advanced regular expressions for Swift
1112

1213
## Getting started
1314

1415
### Installation
1516

17+
#### [Package Manager](https://swift.org/package-manager/)
18+
19+
Add the following dependency to your [Package.swift](https://github.com/apple/swift-package-manager/blob/master/Documentation/Package.swift.md):
20+
21+
```swift
22+
.Package(url: "https://github.com/ypopovych/Regex.git", majorVersion: 1)
23+
```
24+
25+
Run ```swift build``` and build your app. Package manager is supported on OS X, but it's still recommended to be used on Linux only.
26+
1627
#### [CocoaPods](http://cocoapods.org/)
1728
Add the following to your [Podfile](http://guides.cocoapods.org/using/the-podfile.html):
1829

@@ -121,10 +132,12 @@ Regex framework was mainly introduced to fulfill the needs of [Swift Express](ht
121132

122133
## Roadmap
123134

124-
* v0.5: alternative PCRE based implementation (OS X, Linux)
125-
* v1.0: full Linux support
135+
* v1.0: stable release (once we will see that no issues are coming)
126136

127137
## Changelog
138+
* v0.5
139+
* package manager support
140+
* full linux support 🐧
128141
* v0.4.1
129142
* support for optionally present groups
130143
* v0.4

0 commit comments

Comments
 (0)