Skip to content

Commit 1b53dbf

Browse files
Mark Pospeselmpospese
authored andcommitted
[CM-604] Code and tests for YMatterType
1 parent fbf3191 commit 1b53dbf

File tree

99 files changed

+6161
-18
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

99 files changed

+6161
-18
lines changed
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1340"
4+
version = "1.3">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES">
8+
<BuildActionEntries>
9+
<BuildActionEntry
10+
buildForTesting = "YES"
11+
buildForRunning = "YES"
12+
buildForProfiling = "YES"
13+
buildForArchiving = "YES"
14+
buildForAnalyzing = "YES">
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "YMatterType"
18+
BuildableName = "YMatterType"
19+
BlueprintName = "YMatterType"
20+
ReferencedContainer = "container:">
21+
</BuildableReference>
22+
</BuildActionEntry>
23+
<BuildActionEntry
24+
buildForTesting = "YES"
25+
buildForRunning = "YES"
26+
buildForProfiling = "NO"
27+
buildForArchiving = "NO"
28+
buildForAnalyzing = "YES">
29+
<BuildableReference
30+
BuildableIdentifier = "primary"
31+
BlueprintIdentifier = "YMatterTypeTests"
32+
BuildableName = "YMatterTypeTests"
33+
BlueprintName = "YMatterTypeTests"
34+
ReferencedContainer = "container:">
35+
</BuildableReference>
36+
</BuildActionEntry>
37+
</BuildActionEntries>
38+
</BuildAction>
39+
<TestAction
40+
buildConfiguration = "Debug"
41+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
42+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
43+
shouldUseLaunchSchemeArgsEnv = "YES"
44+
codeCoverageEnabled = "YES">
45+
<Testables>
46+
<TestableReference
47+
skipped = "NO"
48+
testExecutionOrdering = "random">
49+
<BuildableReference
50+
BuildableIdentifier = "primary"
51+
BlueprintIdentifier = "YMatterTypeTests"
52+
BuildableName = "YMatterTypeTests"
53+
BlueprintName = "YMatterTypeTests"
54+
ReferencedContainer = "container:">
55+
</BuildableReference>
56+
</TestableReference>
57+
</Testables>
58+
</TestAction>
59+
<LaunchAction
60+
buildConfiguration = "Debug"
61+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
62+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
63+
launchStyle = "0"
64+
useCustomWorkingDirectory = "NO"
65+
ignoresPersistentStateOnLaunch = "NO"
66+
debugDocumentVersioning = "YES"
67+
debugServiceExtension = "internal"
68+
allowLocationSimulation = "YES">
69+
</LaunchAction>
70+
<ProfileAction
71+
buildConfiguration = "Release"
72+
shouldUseLaunchSchemeArgsEnv = "YES"
73+
savedToolIdentifier = ""
74+
useCustomWorkingDirectory = "NO"
75+
debugDocumentVersioning = "YES">
76+
<MacroExpansion>
77+
<BuildableReference
78+
BuildableIdentifier = "primary"
79+
BlueprintIdentifier = "YMatterType"
80+
BuildableName = "YMatterType"
81+
BlueprintName = "YMatterType"
82+
ReferencedContainer = "container:">
83+
</BuildableReference>
84+
</MacroExpansion>
85+
</ProfileAction>
86+
<AnalyzeAction
87+
buildConfiguration = "Debug">
88+
</AnalyzeAction>
89+
<ArchiveAction
90+
buildConfiguration = "Release"
91+
revealArchiveInOrganizer = "YES">
92+
</ArchiveAction>
93+
</Scheme>

PULL_REQUEST_TEMPLATE.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
## Introduction ##
2+
3+
In layman's terms, provide a brief introduction to the issue. No more than 3 sentences.
4+
5+
## Purpose ##
6+
7+
Explain the purpose of this pull request. Include a link to the issue being addressed.
8+
9+
## Scope ##
10+
11+
Detail the scope of the pull request, i.e. what changed.
12+
13+
// Optional sections
14+
15+
## Discussion ##
16+
17+
Any discussion about approach, challenges, etc. that you feel is relevant.
18+
19+
## Out of Scope ##
20+
21+
Call out any known issues that are purposely not addressed in this pull request.
22+
23+
## 📱 Screenshots ##
24+
25+
For UI work, please include before/after screenshots hosted in a 2-column table for easy side-by-side comparison.
26+
27+
## 🎬 Video ##
28+
29+
Same as Screenshots above.
30+
31+
## 📈 Coverage ##
32+
33+
##### Code #####
34+
35+
Include a snapshot of the Code Coverage report generated when you ran the full unit test suite.
36+
37+
##### Documentation #####
38+
39+
Include a snapshot of the documentation coverage report when you ran jazzy locally to generate documentation. We require 100% documentation coverage of all `public` interfaces.

Package.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ let package = Package(
2929
),
3030
.testTarget(
3131
name: "YMatterTypeTests",
32-
dependencies: ["YMatterType"]
32+
dependencies: ["YMatterType"],
33+
resources: [.copy("Assets")]
3334
)
3435
]
3536
)

README.md

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,106 @@
11
# Y-Matter Type
22
An opinionated take on Design System Typography for iOS
3+
4+
Documentation
5+
----------
6+
7+
Documentation is automatically generated from source code comments and rendered as a static website hosted via GitHub Pages at: https://yml-org.github.io/YMatterType/
8+
9+
Requirements
10+
----------
11+
12+
### SwiftLint (linter)
13+
```
14+
brew install swiftlint
15+
```
16+
17+
### Jazzy (documentation)
18+
```
19+
sudo gem install jazzy
20+
```
21+
22+
Setup
23+
----------
24+
25+
Open `Package.swift` in Xcode.
26+
27+
Contributing to Y-Matter Type
28+
----------
29+
30+
### Versioning strategy
31+
32+
We utilize [semantic versioning](https://semver.org).
33+
34+
```
35+
{major}.{minor}.{patch}
36+
```
37+
38+
e.g.
39+
40+
```
41+
1.0.5
42+
```
43+
44+
### Branching strategy
45+
46+
We utilize a simplified branching strategy for our frameworks.
47+
48+
* main (and development) branch is `main`
49+
* both feature (and bugfix) branches branch off of `main`
50+
* feature (and bugfix) branches are merged back into `main` as they are completed and approved.
51+
* `main` gets tagged with an updated version # for each release
52+
53+
### Branch naming conventions:
54+
55+
```
56+
feature/{ticket-number}-{short-description}
57+
bugfix/{ticket-number}-{short-description}
58+
```
59+
e.g.
60+
```
61+
feature/CM-44-button
62+
bugfix/CM-236-textview-color
63+
```
64+
65+
### Pull Requests
66+
67+
Prior to submitting a pull request you should:
68+
69+
1. Compile and ensure there are no warnings and no errors.
70+
2. Run all unit tests and confirm that everything passes.
71+
3. Check unit test coverage and confirm that all new / modified code is fully covered.
72+
4. Run `swiftlint` from the command line and confirm that there are no violations.
73+
5. Run `jazzy` from the command line and confirm that you have 100% documentation coverage.
74+
6. Consider using `git rebase -i HEAD~{commit-count}` to squash your last {commit-count} commits together into functional chunks.
75+
7. If HEAD of the parent branch (typically `main`) has been updated since you created your branch, use `git rebase main` to rebase your branch.
76+
* _Never_ merge the parent branch into your branch.
77+
* _Always_ rebase your branch off of the parent branch.
78+
79+
When submitting a pull request:
80+
81+
* Use the [provided pull request template](PULL_REQUEST_TEMPLATE.md) and populate the Introduction, Purpose, and Scope fields at a minimum.
82+
* If you're submitting before and after screenshots, movies, or GIF's, enter them in a two-column table so that they can be viewed side-by-side.
83+
84+
When merging a pull request:
85+
86+
* Make sure the branch is rebased (not merged) off of the latest HEAD from the parent branch. This keeps our git history easy to read and understand.
87+
* Make sure the branch is deleted upon merge (should be automatic).
88+
89+
### Releasing new versions
90+
* Tag the corresponding commit with the new version (e.g. `1.0.5`)
91+
* Push the local tag to remote
92+
93+
Generating Documentation (via Jazzy)
94+
----------
95+
96+
You can generate your own local set of documentation directly from the source code using the following command from Terminal:
97+
```
98+
jazzy
99+
```
100+
This generates a set of documentation under `/docs`. The default configuration is set in the default config file `.jazzy.yaml` file.
101+
102+
To view additional documentation options type:
103+
```
104+
jazzy --help
105+
```
106+
A GitHub Action automatically runs each time a commit is pushed to `main` that runs Jazzy to generate the documentation for our GitHub page at: https://yml-org.github.io/YMatterType/

0 commit comments

Comments
 (0)