Description
This continues discussion from #124, but decided it would be better to start a clean one since this is already "Calls to Action".
I'm assigning myself as I'd like to do many of the things here myself, but would love help on things related to Carthage and SPM since that's not my expertise :)
Here's the current checklist I have in mind.
Please feel free to comment and help me perfect this before I get started on making some work - hopefully before the weekend.
RxSwiftExt + RxCocoaExt (Single repo) checklist
-
Suggest folder structure for all components (Source/RxCocoa is great, but do we want more internal folders to separate ControlEvents, Operators, etc?)
Something like this might work (just a suggestion of course needs more discussion)
- RxSwift - Operators - Common (or Core or Observables or something to describe non-operators) - RxCocoa - Operators - ControlEvents (or `UI`, or `Components` or something to describe non-operators related to UIKit/Cocoa extensions) - Common (rename Tools, just my personal preference Tools are more like scripts and not Helpers or Common shared code) - Common helpers that support both Pods
-
Create a new RxCocoaExt subspec that would match the Source paths described above
-
File name convention - Proposed and approved in Decide on File naming for RxCocoaExt(s) and RxSwiftExt(s) #131
-
Swiftlint - Going to add the base and then make custom adjustments based on our current code base, and will refine from there [Swiftlint #128]
-
Danger - Danger is super crucial in getting good automation and quality of PRs IMO. The current pieces I'm thinking of (ideas, not all are necessities)
- Body must be longer than 25-50 characters (has a normal description) (Should warn if not)
- CHANGELOG must have been modified (Should error if not)
- Confirm the Tests folder changed and a relevant test-file was modified/created for a PR (Should error if not)
- Confirm file name convention for tests, operators, etc.
- Confirm a Playgrounds page was created if a new file was created (Should error if not)
- Confirm Playgrounds were modified if Sources were modified (should warn if not)
- Confirm correct filename if a new operator or control event is added (we know this based on the folder structure and a new function added, possibly), should error if not
-
Migrate to CircleCI - TL;DR Travis is slow and have been crappy for OSS. Myself and @ashfurrow migrated some repos to CircleCI and it's proven to be much more stable and deliver better build times and less waits. (Move to CircleCI #129)
-
Confirm support for Carthage and SPM