Compare commits

..

24 Commits

Author SHA1 Message Date
Petro Rovenskyy 04d486a091
Merge pull request #23 from 3a4oT/projectsettings
removed module map file
2020-12-14 00:10:36 +02:00
3a4oT 26b1e9b35d removed module map file 2020-12-14 00:01:41 +02:00
Petro Rovenskyy 0704e418d3
Merge pull request #22 from 3a4oT/spmFix
removed modulemap
2020-12-13 23:56:05 +02:00
3a4oT b6fc49255b removed modulemap 2020-12-13 23:49:47 +02:00
3a4oT 7e26e4e7c7 use env.FRAMEWORK_NAME 2020-09-29 13:42:55 +03:00
Petro Rovenskyy 2a8091cb81
Merge pull request #21 from 3a4oT/artifactUpload
Try to fix  issue with CD workflow
2020-09-29 13:31:08 +03:00
3a4oT 0664d84fbf fixed issue with workflow 2020-09-29 13:30:14 +03:00
Petro Rovenskyy 4ccaafb383
Merge pull request #20 from 3a4oT/artifactUpload
APPLICATION_EXTENSION_API_ONLY = YES; upload artifact with github actions.
2020-09-29 13:15:49 +03:00
3a4oT 811dacddef APPLICATION_EXTENSION_API_ONLY = YES; upload artifact with github actions. 2020-09-29 13:12:57 +03:00
Petro Rovenskyy 8d77590831
Merge pull request #19 from 3a4oT/travisFix
regenerate Travis deploy token
2020-09-15 14:20:36 +03:00
3a4oT a3578e5d68 regenerate Travis deploy token 2020-09-15 14:12:11 +03:00
Petro Rovenskyy 2df5f1d1cb
Merge pull request #18 from 3a4oT/fixSPM
Added full SPM 5.3 support and Xcode 12
2020-09-15 12:57:48 +03:00
3a4oT d950cfb436 use xcode 12 for SPM CI 2020-09-15 12:53:17 +03:00
3a4oT 76efa21cbe updated CI paths 2020-09-15 12:32:13 +03:00
3a4oT 01b315a1fb updated readme. 2020-09-15 12:29:19 +03:00
3a4oT a93adceed4 - removed modulemap.
- Regenerate xcodeproj from Package.swift
- use 5.3 tools
- Added preprocessor macro BUILD_FOR_COCOA_FRAMEWORK and adjusted tests to pass for SPM.
- set to 1.0.5
2020-09-15 12:23:36 +03:00
Petro Rovenskyy 36a81d0c41
Merge pull request #17 from 3a4oT/travisUpgrade
Use xcode 11.6 to generate Carthage builds
2020-09-09 22:50:12 +03:00
3a4oT 5df8404be4 use xcode 11.6 to generate Carthage builds 2020-09-09 22:48:59 +03:00
Petro Rovenskyy 7b3ecc8839
Merge pull request #16 from 3a4oT/githubActions
Added github actions CI
2020-09-08 14:07:00 +03:00
3a4oT 6082c23b7b Added github actions CI 2020-09-08 13:56:11 +03:00
Petro Rovenskyy 1f9e337edf
Merge pull request #14 from 3a4oT/bundleVersion
Fixed CFBundleVersion regression, added unit test
2019-09-14 14:36:17 +03:00
3a4oT 124273450c Fixed CFBundleVersion regression, added unit test 2019-09-14 14:22:09 +03:00
Petro Rovenskyy ee813dcd2d
Update README.md 2019-08-30 19:26:22 +03:00
Petro Rovenskyy ad2176e7df
Merge pull request #12 from 3a4oT/readmeUpdate
updated README.
2019-08-30 19:25:47 +03:00
16 changed files with 394 additions and 295 deletions

42
.github/workflows/CD.yml vendored Normal file
View File

@ -0,0 +1,42 @@
name: Carthage Artifact Upload
on:
push:
tags:
- '*'
jobs:
build:
name: Upload Release Asset
runs-on: macos-latest
env:
DEVELOPER_DIR: /Applications/Xcode_11.7.app/Contents/Developer
FRAMEWORK_NAME: DateToolsObjC
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build & archive framework with Carthage
run: carthage build --no-skip-current && carthage archive
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./${{env.FRAMEWORK_NAME}}.framework.zip
asset_name: ${{env.FRAMEWORK_NAME}}.framework.zip
asset_content_type: application/zip

67
.github/workflows/CI.yml vendored Normal file
View File

@ -0,0 +1,67 @@
name: CI
on:
pull_request:
paths:
- ".github/workflows/CI.yml"
- "Sources/*"
- "Tests/*"
jobs:
SPM-Build:
runs-on: macos-latest
env:
DEVELOPER_DIR: /Applications/Xcode_12_beta.app/Contents/Developer
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Verify that DateToolsObjC can be build by SPM
run: xcrun swift build
iOS-Xcode:
name: Test iOS
runs-on: macOS-latest
env:
DEVELOPER_DIR: /Applications/Xcode_11.6.app/Contents/Developer
strategy:
matrix:
destination: ["OS=13.6,name=iPhone 11 Pro"] #, "OS=12.4,name=iPhone XS", "OS=11.4,name=iPhone X", "OS=10.3.1,name=iPhone SE"]
steps:
- uses: actions/checkout@v2
- name: iOS - ${{ matrix.destination }}
run: xcodebuild -project "DateToolsObjC.xcodeproj" -scheme "DateToolsObjC" -destination "${{ matrix.destination }}" clean test | xcpretty
iOS14-Xcode:
name: Test iOS 14
runs-on: macOS-latest
env:
DEVELOPER_DIR: /Applications/Xcode_12_beta.app/Contents/Developer
strategy:
matrix:
destination: ["OS=14.0,name=iPhone 11 Pro"] #, "OS=12.4,name=iPhone XS", "OS=11.4,name=iPhone X", "OS=10.3.1,name=iPhone SE"]
steps:
- uses: actions/checkout@v2
- name: iOS - ${{ matrix.destination }}
run: xcodebuild -project "DateToolsObjC.xcodeproj" -scheme "DateToolsObjC" -destination "${{ matrix.destination }}" clean test | xcpretty
tvOS-Xcode:
name: Test tvOS
runs-on: macOS-latest
env:
DEVELOPER_DIR: /Applications/Xcode_11.6.app/Contents/Developer
strategy:
matrix:
destination: ["OS=13.4,name=Apple TV 4K"] #, "OS=11.4,name=Apple TV 4K", "OS=10.2,name=Apple TV 1080p"]
steps:
- uses: actions/checkout@v2
- name: tvOS - ${{ matrix.destination }}
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "DateToolsObjC.xcodeproj" -scheme "DateToolsObjC" -destination "${{ matrix.destination }}" clean test | xcpretty
watchOS-Xcode:
name: Build watchOS
runs-on: macOS-latest
env:
DEVELOPER_DIR: /Applications/Xcode_11.6.app/Contents/Developer
strategy:
matrix:
destination: ["OS=6.2.1,name=Apple Watch Series 5 - 44mm"] #, "OS=4.2,name=Apple Watch Series 3 - 42mm", "OS=3.2,name=Apple Watch Series 2 - 42mm"]
steps:
- uses: actions/checkout@v2
- name: watchOS - ${{ matrix.destination }}
run: xcodebuild -project "DateToolsObjC.xcodeproj" -scheme "DateToolsObjC" -destination "${{ matrix.destination }}" clean build | xcpretty

View File

@ -1,25 +0,0 @@
language: objective-c
osx_image: xcode10.3
xcode_project: DateToolsObjC.xcodeproj
xcode_scheme: DateToolsObjC
env:
global: FRAMEWORK_NAME=DateToolsObjC
before_script:
- brew update
- brew outdated carthage || brew upgrade carthage
- gem install xcpretty
- gem install xcpretty-travis-formatter
script:
- xcodebuild -project DateToolsObjC.xcodeproj -scheme DateToolsObjC -configuration Release test | xcpretty
before_deploy:
- carthage build --no-skip-current
- carthage archive $FRAMEWORK_NAME
deploy:
provider: releases
api_key:
secure: SiSM4AMUPQGETdnkgxpQ4HHsBcQcD5Fd9PK+ShmsV2rsKjoBAkH3NIY2XS5C3zTwuDq7rtqDY2+y7qnCgi+2iExoQX0VlzC8nUtsTMz//W4KbcuChmmWR501chsvQxHGqmcS9XkHuuVz7ocrtDCNP1y+k8r1N2CEGd9+uVOSsgGyZC+qC2pMm22Gte7ToJrHhnRqYBLAZM+d73ZWdqlSKUJDKKgf6ROyhpY0+gCilCdAh5yN3+prfI428rwCBIGtqmjHGlANS6U/rwfpOQv4W82Aw5RQnmFjz3wEPzzr1xXdCb/pcZUhf8fhHuajR2Y3IoDtzkQ663ydNc/hKkg1onrrmd0vO3LQ59UjePaPD0nH3nNn9Npq8gDKuYIBnvchIaCY7U25AkL4s4FjHpLrekteS9R8uNI4U9k3iBLfkWDJnabgiAWiv0H+4xEO+xbEGIwqqedAuSjQWcyMgMgCKzW4G0dQJNkU3fummVVWH42n35TxzqZXJNISc8MGYGKRNqJmeFW8p75NSLrJXcmL98N+8Irin2lC0EzZCMbTbWN6hbuiUf+F6KsGGpv+FfuNtOIbfhMQkIptbtXacnE+vIMNiTQ0lpAUNzY7NTqOdv7rQYm2X16IqHAbIwXoNWgRqRuDL0IOQZ423LuI986yn0phhH9yFNtgxEeST47C7o4=
file: "$FRAMEWORK_NAME.framework.zip"
skip_cleanup: true
on:
repo: 3a4oT/DateToolsObjC
tags: true

View File

@ -1,25 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>NSPrincipalClass</key>
<string></string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleShortVersionString</key>
<string>1.0.5</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0.0</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@ -15,11 +15,11 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.4</string>
<string>1.0.6</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
<string>1.0.0</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>

View File

@ -9,11 +9,11 @@
/* Begin PBXAggregateTarget section */
"DateToolsObjC::DateToolsObjCPackageTests::ProductTarget" /* DateToolsObjCPackageTests */ = {
isa = PBXAggregateTarget;
buildConfigurationList = OBJ_61 /* Build configuration list for PBXAggregateTarget "DateToolsObjCPackageTests" */;
buildConfigurationList = OBJ_62 /* Build configuration list for PBXAggregateTarget "DateToolsObjCPackageTests" */;
buildPhases = (
);
dependencies = (
OBJ_64 /* PBXTargetDependency */,
OBJ_65 /* PBXTargetDependency */,
);
name = DateToolsObjCPackageTests;
productName = DateToolsObjCPackageTests;
@ -21,42 +21,42 @@
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
0A6F4A5A231961870032E882 /* DateTools.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 0A6F4A582319616E0032E882 /* DateTools.bundle */; };
0A6F4A5E231961A50032E882 /* DTError.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_17 /* DTError.h */; settings = {ATTRIBUTES = (Public, ); }; };
0A6F4A5F231961A50032E882 /* DTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_18 /* DTConstants.h */; settings = {ATTRIBUTES = (Public, ); }; };
0A6F4A60231961A50032E882 /* DTTimePeriodChain.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_19 /* DTTimePeriodChain.h */; settings = {ATTRIBUTES = (Public, ); }; };
0A6F4A61231961A50032E882 /* DTTimePeriodCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_20 /* DTTimePeriodCollection.h */; settings = {ATTRIBUTES = (Public, ); }; };
0A6F4A62231961A50032E882 /* DateTools.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_21 /* DateTools.h */; settings = {ATTRIBUTES = (Public, ); }; };
0A6F4A63231961A50032E882 /* DTTimePeriod.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_22 /* DTTimePeriod.h */; settings = {ATTRIBUTES = (Public, ); }; };
0A6F4A64231961A50032E882 /* DTTimePeriodGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_23 /* DTTimePeriodGroup.h */; settings = {ATTRIBUTES = (Public, ); }; };
0A6F4A65231961A50032E882 /* NSDate+DateTools.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_24 /* NSDate+DateTools.h */; settings = {ATTRIBUTES = (Public, ); }; };
0A6F4A68231967330032E882 /* DateTools.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 0A6F4A582319616E0032E882 /* DateTools.bundle */; };
OBJ_46 /* DTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_9 /* DTConstants.m */; };
OBJ_47 /* DTError.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_10 /* DTError.m */; };
OBJ_48 /* DTTimePeriod.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_11 /* DTTimePeriod.m */; };
OBJ_49 /* DTTimePeriodChain.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_12 /* DTTimePeriodChain.m */; };
OBJ_50 /* DTTimePeriodCollection.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_13 /* DTTimePeriodCollection.m */; };
OBJ_51 /* DTTimePeriodGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_14 /* DTTimePeriodGroup.m */; };
OBJ_52 /* NSDate+DateTools.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_15 /* NSDate+DateTools.m */; };
OBJ_59 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; };
OBJ_70 /* DTTimeAgoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_29 /* DTTimeAgoTests.m */; };
OBJ_71 /* DTTimePeriodChainTests.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_30 /* DTTimePeriodChainTests.m */; };
OBJ_72 /* DTTimePeriodCollectionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_31 /* DTTimePeriodCollectionTests.m */; };
OBJ_73 /* DTTimePeriodGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_32 /* DTTimePeriodGroupTests.m */; };
OBJ_74 /* DTTimePeriodTests.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_33 /* DTTimePeriodTests.m */; };
OBJ_75 /* DateToolsObjCTests.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_34 /* DateToolsObjCTests.m */; };
OBJ_77 /* DateToolsObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "DateToolsObjC::DateToolsObjC::Product" /* DateToolsObjC.framework */; };
FB4A802C250A1C1600BF0D78 /* DateTools.bundle in Resources */ = {isa = PBXBuildFile; fileRef = FB4A802A250A1C0400BF0D78 /* DateTools.bundle */; };
FB4A802E250A1C2400BF0D78 /* DateTools.bundle in Resources */ = {isa = PBXBuildFile; fileRef = FB4A802A250A1C0400BF0D78 /* DateTools.bundle */; };
FB4A8037250A571F00BF0D78 /* DTError.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_17 /* DTError.h */; settings = {ATTRIBUTES = (Public, ); }; };
FB4A8038250A572100BF0D78 /* DTConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_18 /* DTConstants.h */; settings = {ATTRIBUTES = (Public, ); }; };
FB4A8039250A572400BF0D78 /* DTTimePeriodChain.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_19 /* DTTimePeriodChain.h */; settings = {ATTRIBUTES = (Public, ); }; };
FB4A803A250A572600BF0D78 /* DTTimePeriodCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_20 /* DTTimePeriodCollection.h */; settings = {ATTRIBUTES = (Public, ); }; };
FB4A803B250A572B00BF0D78 /* DateTools.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_21 /* DateTools.h */; settings = {ATTRIBUTES = (Public, ); }; };
FB4A803C250A572D00BF0D78 /* DTTimePeriod.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_22 /* DTTimePeriod.h */; settings = {ATTRIBUTES = (Public, ); }; };
FB4A803D250A572F00BF0D78 /* DTTimePeriodGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_23 /* DTTimePeriodGroup.h */; settings = {ATTRIBUTES = (Public, ); }; };
FB4A803E250A573100BF0D78 /* NSDate+DateTools.h in Headers */ = {isa = PBXBuildFile; fileRef = OBJ_24 /* NSDate+DateTools.h */; settings = {ATTRIBUTES = (Public, ); }; };
OBJ_47 /* DTConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_9 /* DTConstants.m */; };
OBJ_48 /* DTError.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_10 /* DTError.m */; };
OBJ_49 /* DTTimePeriod.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_11 /* DTTimePeriod.m */; };
OBJ_50 /* DTTimePeriodChain.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_12 /* DTTimePeriodChain.m */; };
OBJ_51 /* DTTimePeriodCollection.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_13 /* DTTimePeriodCollection.m */; };
OBJ_52 /* DTTimePeriodGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_14 /* DTTimePeriodGroup.m */; };
OBJ_53 /* NSDate+DateTools.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_15 /* NSDate+DateTools.m */; };
OBJ_60 /* Package.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_6 /* Package.swift */; };
OBJ_71 /* DTTimeAgoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_29 /* DTTimeAgoTests.m */; };
OBJ_72 /* DTTimePeriodChainTests.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_30 /* DTTimePeriodChainTests.m */; };
OBJ_73 /* DTTimePeriodCollectionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_31 /* DTTimePeriodCollectionTests.m */; };
OBJ_74 /* DTTimePeriodGroupTests.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_32 /* DTTimePeriodGroupTests.m */; };
OBJ_75 /* DTTimePeriodTests.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_33 /* DTTimePeriodTests.m */; };
OBJ_76 /* DateToolsObjCTests.m in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_34 /* DateToolsObjCTests.m */; };
OBJ_78 /* DateToolsObjC.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = "DateToolsObjC::DateToolsObjC::Product" /* DateToolsObjC.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
0A6F4A55231960C40032E882 /* PBXContainerItemProxy */ = {
FB4A8027250A1BC900BF0D78 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = OBJ_1 /* Project object */;
proxyType = 1;
remoteGlobalIDString = "DateToolsObjC::DateToolsObjC";
remoteInfo = DateToolsObjC;
};
0A6F4A56231960C40032E882 /* PBXContainerItemProxy */ = {
FB4A8028250A1BCA00BF0D78 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = OBJ_1 /* Project object */;
proxyType = 1;
@ -66,9 +66,10 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
0A6F4A582319616E0032E882 /* DateTools.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = DateTools.bundle; sourceTree = "<group>"; };
"DateToolsObjC::DateToolsObjC::Product" /* DateToolsObjC.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = DateToolsObjC.framework; sourceTree = BUILT_PRODUCTS_DIR; };
"DateToolsObjC::DateToolsObjCTests::Product" /* DateToolsObjCTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = DateToolsObjCTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
FB4A802A250A1C0400BF0D78 /* DateTools.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = DateTools.bundle; sourceTree = "<group>"; };
FB4A8033250A533400BF0D78 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = module.modulemap; sourceTree = "<group>"; };
OBJ_10 /* DTError.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DTError.m; sourceTree = "<group>"; };
OBJ_11 /* DTTimePeriod.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DTTimePeriod.m; sourceTree = "<group>"; };
OBJ_12 /* DTTimePeriodChain.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DTTimePeriodChain.m; sourceTree = "<group>"; };
@ -83,7 +84,6 @@
OBJ_22 /* DTTimePeriod.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DTTimePeriod.h; sourceTree = "<group>"; };
OBJ_23 /* DTTimePeriodGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DTTimePeriodGroup.h; sourceTree = "<group>"; };
OBJ_24 /* NSDate+DateTools.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSDate+DateTools.h"; sourceTree = "<group>"; };
OBJ_25 /* module.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; name = module.modulemap; path = /Users/provenskyy/xcodeProjects/DateToolsObjC/Sources/DateToolsObjC/include/module.modulemap; sourceTree = "<group>"; };
OBJ_28 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
OBJ_29 /* DTTimeAgoTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DTTimeAgoTests.m; sourceTree = "<group>"; };
OBJ_30 /* DTTimePeriodChainTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DTTimePeriodChainTests.m; sourceTree = "<group>"; };
@ -91,36 +91,37 @@
OBJ_32 /* DTTimePeriodGroupTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DTTimePeriodGroupTests.m; sourceTree = "<group>"; };
OBJ_33 /* DTTimePeriodTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DTTimePeriodTests.m; sourceTree = "<group>"; };
OBJ_34 /* DateToolsObjCTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DateToolsObjCTests.m; sourceTree = "<group>"; };
OBJ_38 /* LICENCE.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = LICENCE.md; sourceTree = "<group>"; };
OBJ_39 /* CREDITS.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CREDITS.md; sourceTree = "<group>"; };
OBJ_40 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
OBJ_38 /* Carthage */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Carthage; sourceTree = SOURCE_ROOT; };
OBJ_39 /* LICENCE.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = LICENCE.md; sourceTree = "<group>"; };
OBJ_40 /* CREDITS.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CREDITS.md; sourceTree = "<group>"; };
OBJ_41 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
OBJ_6 /* Package.swift */ = {isa = PBXFileReference; explicitFileType = sourcecode.swift; path = Package.swift; sourceTree = "<group>"; };
OBJ_9 /* DTConstants.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DTConstants.m; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
OBJ_53 /* Frameworks */ = {
OBJ_54 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
OBJ_76 /* Frameworks */ = {
OBJ_77 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 0;
files = (
OBJ_77 /* DateToolsObjC.framework in Frameworks */,
OBJ_78 /* DateToolsObjC.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
0A6F4A572319616E0032E882 /* Resources */ = {
FB4A8029250A1C0400BF0D78 /* Resources */ = {
isa = PBXGroup;
children = (
0A6F4A582319616E0032E882 /* DateTools.bundle */,
FB4A802A250A1C0400BF0D78 /* DateTools.bundle */,
);
path = Resources;
sourceTree = "<group>";
@ -128,6 +129,7 @@
OBJ_16 /* include */ = {
isa = PBXGroup;
children = (
FB4A8033250A533400BF0D78 /* module.modulemap */,
OBJ_17 /* DTError.h */,
OBJ_18 /* DTConstants.h */,
OBJ_19 /* DTTimePeriodChain.h */,
@ -136,7 +138,6 @@
OBJ_22 /* DTTimePeriod.h */,
OBJ_23 /* DTTimePeriodGroup.h */,
OBJ_24 /* NSDate+DateTools.h */,
OBJ_25 /* module.modulemap */,
);
path = include;
sourceTree = "<group>";
@ -173,18 +174,18 @@
name = Products;
sourceTree = BUILT_PRODUCTS_DIR;
};
OBJ_5 /* */ = {
OBJ_5 = {
isa = PBXGroup;
children = (
OBJ_6 /* Package.swift */,
OBJ_7 /* Sources */,
OBJ_26 /* Tests */,
OBJ_35 /* Products */,
OBJ_38 /* LICENCE.md */,
OBJ_39 /* CREDITS.md */,
OBJ_40 /* README.md */,
OBJ_38 /* Carthage */,
OBJ_39 /* LICENCE.md */,
OBJ_40 /* CREDITS.md */,
OBJ_41 /* README.md */,
);
name = "";
sourceTree = "<group>";
};
OBJ_7 /* Sources */ = {
@ -198,7 +199,7 @@
OBJ_8 /* DateToolsObjC */ = {
isa = PBXGroup;
children = (
0A6F4A572319616E0032E882 /* Resources */,
FB4A8029250A1C0400BF0D78 /* Resources */,
OBJ_9 /* DTConstants.m */,
OBJ_10 /* DTError.m */,
OBJ_11 /* DTTimePeriod.m */,
@ -215,18 +216,18 @@
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
0A6F4A5D231961990032E882 /* Headers */ = {
FB4A8036250A571600BF0D78 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
0A6F4A5E231961A50032E882 /* DTError.h in Headers */,
0A6F4A5F231961A50032E882 /* DTConstants.h in Headers */,
0A6F4A60231961A50032E882 /* DTTimePeriodChain.h in Headers */,
0A6F4A61231961A50032E882 /* DTTimePeriodCollection.h in Headers */,
0A6F4A62231961A50032E882 /* DateTools.h in Headers */,
0A6F4A63231961A50032E882 /* DTTimePeriod.h in Headers */,
0A6F4A64231961A50032E882 /* DTTimePeriodGroup.h in Headers */,
0A6F4A65231961A50032E882 /* NSDate+DateTools.h in Headers */,
FB4A8037250A571F00BF0D78 /* DTError.h in Headers */,
FB4A8038250A572100BF0D78 /* DTConstants.h in Headers */,
FB4A803A250A572600BF0D78 /* DTTimePeriodCollection.h in Headers */,
FB4A803B250A572B00BF0D78 /* DateTools.h in Headers */,
FB4A803C250A572D00BF0D78 /* DTTimePeriod.h in Headers */,
FB4A803D250A572F00BF0D78 /* DTTimePeriodGroup.h in Headers */,
FB4A803E250A573100BF0D78 /* NSDate+DateTools.h in Headers */,
FB4A8039250A572400BF0D78 /* DTTimePeriodChain.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@ -235,12 +236,12 @@
/* Begin PBXNativeTarget section */
"DateToolsObjC::DateToolsObjC" /* DateToolsObjC */ = {
isa = PBXNativeTarget;
buildConfigurationList = OBJ_42 /* Build configuration list for PBXNativeTarget "DateToolsObjC" */;
buildConfigurationList = OBJ_43 /* Build configuration list for PBXNativeTarget "DateToolsObjC" */;
buildPhases = (
0A6F4A5D231961990032E882 /* Headers */,
OBJ_45 /* Sources */,
OBJ_53 /* Frameworks */,
0A6F4A59231961820032E882 /* Resources */,
FB4A8036250A571600BF0D78 /* Headers */,
OBJ_46 /* Sources */,
OBJ_54 /* Frameworks */,
FB4A802B250A1C1000BF0D78 /* Resources */,
);
buildRules = (
);
@ -253,16 +254,16 @@
};
"DateToolsObjC::DateToolsObjCTests" /* DateToolsObjCTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = OBJ_66 /* Build configuration list for PBXNativeTarget "DateToolsObjCTests" */;
buildConfigurationList = OBJ_67 /* Build configuration list for PBXNativeTarget "DateToolsObjCTests" */;
buildPhases = (
OBJ_69 /* Sources */,
OBJ_76 /* Frameworks */,
0A6F4A5B2319618C0032E882 /* Resources */,
OBJ_70 /* Sources */,
OBJ_77 /* Frameworks */,
FB4A802D250A1C2000BF0D78 /* Resources */,
);
buildRules = (
);
dependencies = (
OBJ_78 /* PBXTargetDependency */,
OBJ_79 /* PBXTargetDependency */,
);
name = DateToolsObjCTests;
productName = DateToolsObjCTests;
@ -271,9 +272,9 @@
};
"DateToolsObjC::SwiftPMPackageDescription" /* DateToolsObjCPackageDescription */ = {
isa = PBXNativeTarget;
buildConfigurationList = OBJ_55 /* Build configuration list for PBXNativeTarget "DateToolsObjCPackageDescription" */;
buildConfigurationList = OBJ_56 /* Build configuration list for PBXNativeTarget "DateToolsObjCPackageDescription" */;
buildPhases = (
OBJ_58 /* Sources */,
OBJ_59 /* Sources */,
);
buildRules = (
);
@ -290,17 +291,17 @@
isa = PBXProject;
attributes = {
LastSwiftMigration = 9999;
LastUpgradeCheck = 9999;
LastUpgradeCheck = 1200;
};
buildConfigurationList = OBJ_2 /* Build configuration list for PBXProject "DateToolsObjC" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
English,
en,
Base,
);
mainGroup = OBJ_5 /* */;
mainGroup = OBJ_5;
productRefGroup = OBJ_35 /* Products */;
projectDirPath = "";
projectRoot = "";
@ -314,72 +315,72 @@
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
0A6F4A59231961820032E882 /* Resources */ = {
FB4A802B250A1C1000BF0D78 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
0A6F4A5A231961870032E882 /* DateTools.bundle in Resources */,
FB4A802C250A1C1600BF0D78 /* DateTools.bundle in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
0A6F4A5B2319618C0032E882 /* Resources */ = {
FB4A802D250A1C2000BF0D78 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
0A6F4A68231967330032E882 /* DateTools.bundle in Resources */,
FB4A802E250A1C2400BF0D78 /* DateTools.bundle in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
OBJ_45 /* Sources */ = {
OBJ_46 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 0;
files = (
OBJ_46 /* DTConstants.m in Sources */,
OBJ_47 /* DTError.m in Sources */,
OBJ_48 /* DTTimePeriod.m in Sources */,
OBJ_49 /* DTTimePeriodChain.m in Sources */,
OBJ_50 /* DTTimePeriodCollection.m in Sources */,
OBJ_51 /* DTTimePeriodGroup.m in Sources */,
OBJ_52 /* NSDate+DateTools.m in Sources */,
OBJ_47 /* DTConstants.m in Sources */,
OBJ_48 /* DTError.m in Sources */,
OBJ_49 /* DTTimePeriod.m in Sources */,
OBJ_50 /* DTTimePeriodChain.m in Sources */,
OBJ_51 /* DTTimePeriodCollection.m in Sources */,
OBJ_52 /* DTTimePeriodGroup.m in Sources */,
OBJ_53 /* NSDate+DateTools.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
OBJ_58 /* Sources */ = {
OBJ_59 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 0;
files = (
OBJ_59 /* Package.swift in Sources */,
OBJ_60 /* Package.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
OBJ_69 /* Sources */ = {
OBJ_70 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 0;
files = (
OBJ_70 /* DTTimeAgoTests.m in Sources */,
OBJ_71 /* DTTimePeriodChainTests.m in Sources */,
OBJ_72 /* DTTimePeriodCollectionTests.m in Sources */,
OBJ_73 /* DTTimePeriodGroupTests.m in Sources */,
OBJ_74 /* DTTimePeriodTests.m in Sources */,
OBJ_75 /* DateToolsObjCTests.m in Sources */,
OBJ_71 /* DTTimeAgoTests.m in Sources */,
OBJ_72 /* DTTimePeriodChainTests.m in Sources */,
OBJ_73 /* DTTimePeriodCollectionTests.m in Sources */,
OBJ_74 /* DTTimePeriodGroupTests.m in Sources */,
OBJ_75 /* DTTimePeriodTests.m in Sources */,
OBJ_76 /* DateToolsObjCTests.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
OBJ_64 /* PBXTargetDependency */ = {
OBJ_65 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = "DateToolsObjC::DateToolsObjCTests" /* DateToolsObjCTests */;
targetProxy = 0A6F4A56231960C40032E882 /* PBXContainerItemProxy */;
targetProxy = FB4A8028250A1BCA00BF0D78 /* PBXContainerItemProxy */;
};
OBJ_78 /* PBXTargetDependency */ = {
OBJ_79 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = "DateToolsObjC::DateToolsObjC" /* DateToolsObjC */;
targetProxy = 0A6F4A55231960C40032E882 /* PBXContainerItemProxy */;
targetProxy = FB4A8027250A1BC900BF0D78 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
@ -388,20 +389,48 @@
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_NS_ASSERTIONS = YES;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"SWIFT_PACKAGE=1",
"DEBUG=1",
"BUILD_FOR_COCOA_FRAMEWORK=1",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10;
ONLY_ACTIVE_ARCH = YES;
OTHER_SWIFT_FLAGS = "-DXcode";
OTHER_SWIFT_FLAGS = "$(inherited) -DXcode";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator";
@ -415,17 +444,44 @@
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(inherited)",
"SWIFT_PACKAGE=1",
"BUILD_FOR_COCOA_FRAMEWORK=1",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 10.10;
OTHER_SWIFT_FLAGS = "-DXcode";
OTHER_SWIFT_FLAGS = "$(inherited) -DXcode";
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = macosx;
SUPPORTED_PLATFORMS = "macosx iphoneos iphonesimulator appletvos appletvsimulator watchos watchsimulator";
@ -435,53 +491,25 @@
};
name = Release;
};
OBJ_43 /* Debug */ = {
OBJ_44 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_WARN_ASSIGN_ENUM = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES_ERROR;
CLANG_WARN_COMMA = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_IMPLICIT_SIGN_CONVERSION = NO;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES_ERROR;
CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES_ERROR;
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES_ERROR;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES_AGGRESSIVE;
DEFINES_MODULE = YES;
ENABLE_TESTABILITY = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
);
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
GCC_WARN_SHADOW = YES;
GCC_WARN_SIGN_COMPARE = NO;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNKNOWN_PRAGMAS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_LABEL = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/Sources/DateToolsObjC/include",
);
INFOPLIST_FILE = DateToolsObjC.xcodeproj/DateToolsObjC_Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MODULEMAP_FILE = "$(SRCROOT)/Sources/DateToolsObjC/include/module.modulemap";
MACOSX_DEPLOYMENT_TARGET = 10.13;
MODULEMAP_FILE = "";
OTHER_CFLAGS = "$(inherited)";
OTHER_LDFLAGS = "$(inherited)";
OTHER_SWIFT_FLAGS = "$(inherited)";
@ -491,58 +519,30 @@
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited)";
TARGET_NAME = DateToolsObjC;
TVOS_DEPLOYMENT_TARGET = 9.0;
WATCHOS_DEPLOYMENT_TARGET = 2.0;
TVOS_DEPLOYMENT_TARGET = 12.0;
WATCHOS_DEPLOYMENT_TARGET = 3.0;
};
name = Debug;
};
OBJ_44 /* Release */ = {
OBJ_45 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
APPLICATION_EXTENSION_API_ONLY = YES;
CLANG_WARN_ASSIGN_ENUM = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES_ERROR;
CLANG_WARN_COMMA = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_IMPLICIT_SIGN_CONVERSION = NO;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES_ERROR;
CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES_ERROR;
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES_ERROR;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES_AGGRESSIVE;
DEFINES_MODULE = YES;
ENABLE_TESTABILITY = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
);
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES;
GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES;
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
GCC_WARN_SHADOW = YES;
GCC_WARN_SIGN_COMPARE = NO;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNKNOWN_PRAGMAS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_LABEL = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"$(inherited)",
"$(SRCROOT)/Sources/DateToolsObjC/include",
);
INFOPLIST_FILE = DateToolsObjC.xcodeproj/DateToolsObjC_Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) $(TOOLCHAIN_DIR)/usr/lib/swift/macosx";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MODULEMAP_FILE = "$(SRCROOT)/Sources/DateToolsObjC/include/module.modulemap";
MACOSX_DEPLOYMENT_TARGET = 10.13;
MODULEMAP_FILE = "";
OTHER_CFLAGS = "$(inherited)";
OTHER_LDFLAGS = "$(inherited)";
OTHER_SWIFT_FLAGS = "$(inherited)";
@ -552,46 +552,46 @@
SKIP_INSTALL = YES;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited)";
TARGET_NAME = DateToolsObjC;
TVOS_DEPLOYMENT_TARGET = 9.0;
WATCHOS_DEPLOYMENT_TARGET = 2.0;
TVOS_DEPLOYMENT_TARGET = 12.0;
WATCHOS_DEPLOYMENT_TARGET = 3.0;
};
name = Release;
};
OBJ_56 /* Debug */ = {
OBJ_57 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
LD = /usr/bin/true;
OTHER_SWIFT_FLAGS = "-swift-version 5 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4_2 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk";
OTHER_SWIFT_FLAGS = "-swift-version 5 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4_2 -sdk /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk -package-description-version 5.3.0";
SWIFT_VERSION = 5.0;
};
name = Debug;
};
OBJ_57 /* Release */ = {
OBJ_58 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
LD = /usr/bin/true;
OTHER_SWIFT_FLAGS = "-swift-version 5 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4_2 -target x86_64-apple-macosx10.10 -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk";
OTHER_SWIFT_FLAGS = "-swift-version 5 -I $(TOOLCHAIN_DIR)/usr/lib/swift/pm/4_2 -sdk /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk -package-description-version 5.3.0";
SWIFT_VERSION = 5.0;
};
name = Release;
};
OBJ_62 /* Debug */ = {
OBJ_63 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
};
name = Debug;
};
OBJ_63 /* Release */ = {
OBJ_64 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
};
name = Release;
};
OBJ_67 /* Debug */ = {
OBJ_68 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_ENABLE_MODULES = YES;
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
@ -601,25 +601,25 @@
"$(SRCROOT)/Tests/DateToolsObjCTests/include",
"$(SRCROOT)/Sources/DateToolsObjC/include",
);
INFOPLIST_FILE = "$(SRCROOT)/Tests/DateToolsObjCTests/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
INFOPLIST_FILE = DateToolsObjC.xcodeproj/DateToolsObjCTests_Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/../Frameworks @loader_path/Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET = 10.15;
OTHER_CFLAGS = "$(inherited)";
OTHER_LDFLAGS = "$(inherited)";
OTHER_SWIFT_FLAGS = "$(inherited)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited)";
TARGET_NAME = DateToolsObjCTests;
TVOS_DEPLOYMENT_TARGET = 9.0;
WATCHOS_DEPLOYMENT_TARGET = 2.0;
TVOS_DEPLOYMENT_TARGET = 12.0;
WATCHOS_DEPLOYMENT_TARGET = 3.0;
};
name = Debug;
};
OBJ_68 /* Release */ = {
OBJ_69 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CLANG_ENABLE_MODULES = YES;
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(PLATFORM_DIR)/Developer/Library/Frameworks",
@ -629,17 +629,17 @@
"$(SRCROOT)/Tests/DateToolsObjCTests/include",
"$(SRCROOT)/Sources/DateToolsObjC/include",
);
INFOPLIST_FILE = "$(SRCROOT)/Tests/DateToolsObjCTests/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 8.0;
INFOPLIST_FILE = DateToolsObjC.xcodeproj/DateToolsObjCTests_Info.plist;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/../Frameworks @loader_path/Frameworks";
MACOSX_DEPLOYMENT_TARGET = 10.10;
MACOSX_DEPLOYMENT_TARGET = 10.15;
OTHER_CFLAGS = "$(inherited)";
OTHER_LDFLAGS = "$(inherited)";
OTHER_SWIFT_FLAGS = "$(inherited)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited)";
TARGET_NAME = DateToolsObjCTests;
TVOS_DEPLOYMENT_TARGET = 9.0;
WATCHOS_DEPLOYMENT_TARGET = 2.0;
TVOS_DEPLOYMENT_TARGET = 12.0;
WATCHOS_DEPLOYMENT_TARGET = 3.0;
};
name = Release;
};
@ -655,38 +655,38 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
OBJ_42 /* Build configuration list for PBXNativeTarget "DateToolsObjC" */ = {
OBJ_43 /* Build configuration list for PBXNativeTarget "DateToolsObjC" */ = {
isa = XCConfigurationList;
buildConfigurations = (
OBJ_43 /* Debug */,
OBJ_44 /* Release */,
OBJ_44 /* Debug */,
OBJ_45 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
OBJ_55 /* Build configuration list for PBXNativeTarget "DateToolsObjCPackageDescription" */ = {
OBJ_56 /* Build configuration list for PBXNativeTarget "DateToolsObjCPackageDescription" */ = {
isa = XCConfigurationList;
buildConfigurations = (
OBJ_56 /* Debug */,
OBJ_57 /* Release */,
OBJ_57 /* Debug */,
OBJ_58 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
OBJ_61 /* Build configuration list for PBXAggregateTarget "DateToolsObjCPackageTests" */ = {
OBJ_62 /* Build configuration list for PBXAggregateTarget "DateToolsObjCPackageTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
OBJ_62 /* Debug */,
OBJ_63 /* Release */,
OBJ_63 /* Debug */,
OBJ_64 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
OBJ_66 /* Build configuration list for PBXNativeTarget "DateToolsObjCTests" */ = {
OBJ_67 /* Build configuration list for PBXNativeTarget "DateToolsObjCTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
OBJ_67 /* Debug */,
OBJ_68 /* Release */,
OBJ_68 /* Debug */,
OBJ_69 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "9999"
LastUpgradeVersion = "1200"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -39,8 +39,6 @@
</BuildableReference>
</TestableReference>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
@ -52,17 +50,6 @@
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DateToolsObjC::DateToolsObjC"
BuildableName = "DateToolsObjC.framework"
BlueprintName = "DateToolsObjC"
ReferencedContainer = "container:DateToolsObjC.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1030"
LastUpgradeVersion = "1200"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -39,17 +39,6 @@
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "DateToolsObjC::DateToolsObjC"
BuildableName = "DateToolsObjC.framework"
BlueprintName = "DateToolsObjC"
ReferencedContainer = "container:DateToolsObjC.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
@ -70,8 +59,6 @@
ReferencedContainer = "container:DateToolsObjC.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1030"
LastUpgradeVersion = "1200"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
@ -23,8 +23,6 @@
</BuildableReference>
</TestableReference>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
@ -36,8 +34,6 @@
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"

View File

@ -1,4 +1,4 @@
// swift-tools-version:5.0
// swift-tools-version:5.3
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
@ -6,10 +6,10 @@ import PackageDescription
let package = Package(
name: "DateToolsObjC",
platforms: [
.macOS(.v10_10),
.iOS(.v8),
.watchOS(.v2),
.tvOS(.v9)
.macOS(.v10_13),
.iOS(.v9),
.watchOS(.v3),
.tvOS(.v10)
],
products: [
// Products define the executables and libraries produced by a package, and make them visible to other packages.
@ -26,9 +26,11 @@ let package = Package(
// Targets can depend on other targets in this package, and on products in packages which this package depends on.
.target(
name: "DateToolsObjC",
dependencies: []),
dependencies: [],
resources: [.process("Resources")]),
.testTarget(
name: "DateToolsObjCTests",
dependencies: ["DateToolsObjC"]),
dependencies: ["DateToolsObjC"],
exclude: ["Info.plist"]),
]
)

View File

@ -19,11 +19,11 @@ if ([periodA overlapsWith:periodB]) {
}
```
## Use with Swift Package Manger
## Use with Swift Package Manager
```swift
.package(url: "https://github.com/3a4oT/DateToolsObjC", .upToNextMajor(from: "1.0.4"))
.package(url: "https://github.com/3a4oT/DateToolsObjC", .upToNextMajor(from: "1.0.5"))
```

View File

@ -22,6 +22,15 @@
#import "include/NSDate+DateTools.h"
#ifndef BUILD_FOR_COCOA_FRAMEWORK
@implementation NSBundle (ObjcModule)
+ (nullable NSBundle*)locBundle {
return [NSBundle bundleWithURL:[SWIFTPM_MODULE_BUNDLE URLForResource:@"DateTools"
withExtension:@"bundle"]];
}
@end
#endif
typedef NS_ENUM(NSUInteger, DTDateComponent){
DTDateComponentEra,
DTDateComponentYear,

View File

@ -20,14 +20,28 @@
// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#ifndef DateToolsLocalizedStrings
#define DateToolsLocalizedStrings(key) \
NSLocalizedStringFromTableInBundle(key, @"DateTools", [NSBundle bundleWithPath:[[[NSBundle bundleForClass:[DTError class]] resourcePath] stringByAppendingPathComponent:@"DateTools.bundle"]], nil)
#ifdef BUILD_FOR_COCOA_FRAMEWORK
#ifndef DateToolsLocalizedStrings
#define DateToolsLocalizedStrings(key) \
NSLocalizedStringFromTableInBundle(key, @"DateTools", [NSBundle bundleWithPath:[[[NSBundle bundleForClass:[DTError class]] resourcePath] stringByAppendingPathComponent:@"DateTools.bundle"]], nil)
#endif
#else
#ifndef DateToolsLocalizedStrings
#define DateToolsLocalizedStrings(key) \
NSLocalizedStringFromTableInBundle(key, @"DateTools", [NSBundle locBundle], nil)
#endif
#endif
#import <Foundation/Foundation.h>
#import "DTConstants.h"
#ifndef BUILD_FOR_COCOA_FRAMEWORK
@interface NSBundle (ObjcModule)
+ (nullable NSBundle*)locBundle;
@end
#endif
@interface NSDate (DateTools)
#pragma mark - Time Ago

View File

@ -1,3 +0,0 @@
module DateToolsObjC {
umbrella header "Headers/DateTools.h" requires objc export *
}

View File

@ -164,12 +164,21 @@
{
NSString *en_local = @"Yesterday";
NSString *ja_local = @"昨日";
NSString *key = en_local;
NSBundle *mainBundle = [NSBundle bundleForClass:self.class];
#ifdef BUILD_FOR_COCOA_FRAMEWORK
NSBundle *dateToolsBundle = [NSBundle bundleWithPath:[mainBundle pathForResource:@"DateTools"
ofType:@"bundle"]];
#else
NSBundle* modBundle = [NSBundle bundleWithPath:[mainBundle pathForResource:@"DateToolsObjC_DateToolsObjC"
ofType:@"bundle"]];
NSBundle *dateToolsBundle = [NSBundle bundleWithPath:[modBundle pathForResource:@"DateTools"
ofType:@"bundle"]];
#endif
NSBundle *jaBundle = [NSBundle bundleWithPath:[dateToolsBundle pathForResource:@"ja"
ofType:@"lproj"]];

View File

@ -37,6 +37,19 @@
#pragma mark - Date Components
#ifdef BUILD_FOR_COCOA_FRAMEWORK
- (void)testBundleVersion {
NSBundle *appBundle = [NSBundle bundleWithIdentifier:@"DateToolsObjC"];
XCTAssertNotNil(appBundle);
NSString *bundleVersion = [appBundle.infoDictionary valueForKey:@"CFBundleVersion"];
XCTAssertEqualObjects(bundleVersion, @"1.0.0");
// Bump before release and update test
// agvtool new-marketing-version x.x.x
NSString *marketingVersion = [appBundle.infoDictionary valueForKey:@"CFBundleShortVersionString"];
XCTAssertEqualObjects(marketingVersion, @"1.0.5");
}
#endif
- (void)testEra {
XCTAssertEqual(1, [[NSDate date] era], @"%s Failed", __PRETTY_FUNCTION__);
}