Skip to content

Commit

Permalink
Initial Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Spotifier committed Mar 8, 2019
0 parents commit d31ddaa
Show file tree
Hide file tree
Showing 126 changed files with 11,697 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
codecov:
strict_yaml_branch: master

ignore:
- "*/Test/**/*"
48 changes: 48 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# Xcode
#

## Build generated
build/
DerivedData/

## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/
project.xcworkspace/

## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint

## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM
*.DS_Store

## Playgrounds
timeline.xctimeline
playground.xcworkspace

# Swift Package Manager
#
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
# Package.pins
# Package.resolved
.build/

# Carthage
Carthage/Build

# Codecov
*.coverage.txt
9 changes: 9 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[submodule "Carthage/Checkouts/xcconfigs"]
path = Carthage/Checkouts/xcconfigs
url = https://github.com/jspahrsummers/xcconfigs.git
[submodule "Carthage/Checkouts/Quick"]
path = Carthage/Checkouts/Quick
url = https://github.com/Quick/Quick.git
[submodule "Carthage/Checkouts/Nimble"]
path = Carthage/Checkouts/Nimble
url = https://github.com/Quick/Nimble.git
37 changes: 37 additions & 0 deletions .swiftformat
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Rule configurations
--allman false
--binarygrouping 4,8
--commas always
--comments indent
--decimalgrouping 3,5
--elseposition same-line
--empty void
--exponentcase lowercase
--exponentgrouping disabled
--fractiongrouping enabled
--header "// Copyright (c) 2019 Spotify AB.\n//\n// Licensed to the Apache Software Foundation (ASF) under one\n// or more contributor license agreements. See the NOTICE file\n// distributed with this work for additional information\n// regarding copyright ownership. The ASF licenses this file\n// to you under the Apache License, Version 2.0 (the\n// \"License\"); you may not use this file except in compliance\n// with the License. You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing,\n// software distributed under the License is distributed on an\n// \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n// KIND, either express or implied. See the License for the\n// specific language governing permissions and limitations\n// under the License."
--hexgrouping none
--hexliteralcase lowercase
--ifdef noindent
--indent 4
--indentcase false
--linebreaks lf
--octalgrouping 4,8
--operatorfunc spaced
--patternlet hoist
--ranges nospace
--self remove
--semicolons inline
--stripunusedargs closure-only
--trimwhitespace always
--wraparguments beforefirst
--wrapcollections beforefirst

# Disabled rules
--disable numberFormatting

# Tool options
--symlinks ignore

# Excluded directories
--exclude Carthage
89 changes: 89 additions & 0 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
disabled_rules:
- empty_enum_arguments # It warns about an explicit pattern we use.
- superfluous_disable_command # Disabled since we disable some rules pre-emptively to avoid issues in the future
- trailing_comma # Disabled since having a trailing comma reduces diff sizes.
- todo # Disabled while we are filling out the framework; re-enable when we get closer to completion
- legacy_hashing # until we're building with Xcode 10.2 at a minimum
opt_in_rules:
- anyobject_protocol
- attributes
- closure_end_indentation
- closure_spacing
- colon
- contains_over_first_not_nil
- discouraged_object_literal
- empty_count
- empty_string
- explicit_init
- extension_access_modifier
- fatal_error_message
- file_header
- first_where
- implicit_return
- joined_default_parameter
- literal_expression_end_indentation
- multiline_arguments
- multiline_parameters
- notification_center_detachment
- number_separator
- operator_usage_whitespace
- overridden_super_call
- pattern_matching_keywords
- private_action
- prohibited_super_call
- quick_discouraged_call
- redundant_nil_coalescing
- single_test_class
- sorted_imports
- trailing_comma
- trailing_whitespace
- unneeded_parentheses_in_closure_argument
- vertical_parameter_alignment_on_call
- yoda_condition

excluded:
- build
- Carthage
- Other
- Tools
- Templates

attributes:
always_on_same_line:
- "@IBAction"
- "@NSManaged"
- "@objc"
closure_spacing: error
empty_count: error
explicit_init: error
fatal_error_message: error
file_header:
severity: error
forbidden_pattern: |
\/\/
\/\/ .*?\..*
\/\/ .*
\/\/
\/\/ Created by .*? on .*\.
\/\/ Copyright © \d{4} .*\. All rights reserved\.
\/\/
implicit_getter: error
indentation: 4 # 4 spaces
line_length:
warning: 200 # our line length is 120 chars, sometimes surpassing that is fine
error: 200
ignores_function_declarations: true
multiline_arguments:
first_argument_location: next_line
number_separator:
minimum_length: 5 # number of digits, i.e. >= 10_000
redundant_nil_coalescing: error
trailing_comma:
mandatory_comma: true
vertical_whitespace:
max_empty_lines: 1
weak_delegate: warning

reporter:
- "xcode"
- "junit"
13 changes: 13 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
os: osx
osx_image: xcode10.1
branches:
only:
- master

env:
global:
- LC_CTYPE=en_US.UTF-8
- LANG=en_US.UTF-8

script:
- ./Tools/ci.sh
30 changes: 30 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Contributing guidelines
Anyone is more than welcome to contribute to Mobius.swift! Together we can make the framework even
more capable, and help each other fix any issues that we might find.

Before you send a PR, however, please make sure your change complies with these quick guidelines:

- Always fully unit test your code.
- Always fully document APIs, in a way that makes new users of those APIs understand how they work,
and highlight things that are good to keep in mind when using them.
- For larger API changes it’s recommended (but not required) to open an RFC as a GitHub issue
first. This will let you recieve feedback faster on your idea(s), rather than having to wait
until it has been implemented. It will also give us, the maintainers, a chance to plan and share
our roadmap.

## Reporting security issues
Spotify takes security seriously. If you discover a security issue then please bring it to our
attention right away! You can report the security issue via our
[bounty program hosted by Bugcrowd](https://bugcrowd.com/spotify). Thank you in advance!

Please **DO NOT** file a public issue (e.g. on GitHub or in our community forums), instead report
it privately to our [bounty program hosted by Bugcrowd](https://bugcrowd.com/spotify). This will
help ensure that any vulnerabilities that are found can be
[disclosed responsibly](http://en.wikipedia.org/wiki/Responsible_disclosure) to any affected
parties.

## Code of conduct
This project adheres to the [Open Code of Conduct][code-of-conduct]. By participating, you are
expected to honor this code.

[code-of-conduct]: https://github.com/spotify/code-of-conduct/blob/master/code-of-conduct.md
6 changes: 6 additions & 0 deletions Cartfile.private
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Build system configs
github "jspahrsummers/xcconfigs" == 0.12

# Testing tools
github "Quick/Nimble" ~> 7.0
github "Quick/Quick" ~> 1.2
3 changes: 3 additions & 0 deletions Cartfile.resolved
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
github "Quick/Nimble" "v7.3.1"
github "Quick/Quick" "v1.3.2"
github "jspahrsummers/xcconfigs" "0.12"
1 change: 1 addition & 0 deletions Carthage/Checkouts/Nimble
Submodule Nimble added at cd6dfb
1 change: 1 addition & 0 deletions Carthage/Checkouts/Quick
Submodule Quick added at 5fbf13
1 change: 1 addition & 0 deletions Carthage/Checkouts/xcconfigs
Submodule xcconfigs added at bb7955
Loading

0 comments on commit d31ddaa

Please sign in to comment.