diff --git a/.jazzy.yml b/.jazzy.yml new file mode 100644 index 00000000..82068f85 --- /dev/null +++ b/.jazzy.yml @@ -0,0 +1,278 @@ +--- +custom_categories: +- name: RxSwift + children: + - AnyObserver + - Cancelable + - ConnectableObservableType + - Disposable + - Errors + - Event + - ImmediateSchedulerType + - Observable+Extensions + - Observable + - ObservableConvertibleType + - ObservableType + - ObserverType + - Rx + - RxMutableBox + - SchedulerType +- name: RxSwift/Concurrency + children: + - AsyncLock + - Lock + - LockOwnerType + - SynchronizedDisposeType + - SynchronizedOnType + - SynchronizedSubscribeType + - SynchronizedUnsubscribeType +- name: RxSwift/DataStructures + children: + - Bag + - InfiniteSequence + - PriorityQueue + - Queue +- name: RxSwift/Disposables + children: + - AnonymousDisposable + - BinaryDisposable + - BooleanDisposable + - CompositeDisposable + - DisposeBag + - DisposeBase + - NAryDisposable + - NopDisposable + - RefCountDisposable + - ScheduledDisposable + - SerialDisposable + - SingleAssignmentDisposable + - StableCompositeDisposable + - SubscriptionDisposable +- name: RxSwift/Extensions + children: + - String+Rx +- name: RxSwift/Observables/Implementations + children: + - AddRef + - Amb + - AnonymousObservable + - Buffer + - Catch + - CombineLatest+arity + - CombineLatest+CollectionType + - CombineLatest + - Concat + - ConnectableObservable + - Debug + - Deferred + - DelaySubscription + - DistinctUntilChanged + - Do + - ElementAt + - Empty + - Error + - Filter + - Generate + - Just + - Map + - Merge + - Multicast + - Never + - ObserveOn + - ObserveOnSerialDispatchQueue + - Producer + - Range + - Reduce + - RefCount + - Repeat + - RetryWhen + - Sample + - Scan + - Sequence + - ShareReplay1 + - ShareReplay1WhileConnected + - SingleAsync + - Sink + - Skip + - SkipUntil + - SkipWhile + - StartWith + - SubscribeOn + - Switch + - Take + - TakeLast + - TakeUntil + - TakeWhile + - Throttle + - Timeout + - Timer + - ToArray + - Using + - Window + - WithLatestFrom + - Zip+arity + - Zip+CollectionType + - Zip +- name: RxSwift/Observables + children: + - Observable+Aggregate + - Observable+Binding + - Observable+Concurrency + - Observable+Creation + - Observable+Debug + - Observable+Multiple + - Observable+Single + - Observable+StandardSequenceOperators + - Observable+Time +- name: RxSwift/Observers + children: + - AnonymousObserver + - ObserverBase + - TailRecursiveSink +- name: RxSwift/Platform + children: + - Platform.Darwin + - Platform.Linux +- name: RxSwift/Schedulers + children: + - ConcurrentDispatchQueueScheduler + - ConcurrentMainScheduler + - CurrentThreadScheduler + - DispatchQueueSchedulerQOS + - HistoricalScheduler + - HistoricalSchedulerTimeConverter + - ImmediateScheduler + - MainScheduler + - OperationQueueScheduler + - RecursiveScheduler + - SchedulerServices+Emulation + - SerialDispatchQueueScheduler + - VirtualTimeConverterType + - VirtualTimeScheduler +- name: RxSwift/Schedulers/Internal + children: + - AnonymousInvocable + - InvocableScheduledItem + - InvocableType + - ScheduledItem + - ScheduledItemType +- name: RxSwift/Subjects + children: + - BehaviorSubject + - PublishSubject + - ReplaySubject + - SubjectType + - Variable +- name: RxCocoa/Common + children: + - CLLocationManager+Rx + - DelegateProxy + - DelegateProxyType + - KVORepresentable+CoreGraphics + - KVORepresentable+Swift + - KVORepresentable + - Logging + - NSLayoutConstraint+Rx + - Observable+Bind + - Reactive + - RxCocoa + - RxTarget + - RxTextInput + - SectionedViewDataSourceType +- name: RxCocoa/Common/CocoaUnits + children: + - ControlEvent + - ControlProperty + - UIBindingObserver +- name: RxCocoa/Common/CocoaUnits/Driver + children: + - ControlEvent+Driver + - ControlProperty+Driver + - Driver+Operators+arity + - Driver+Operators + - Driver+Subscription + - Driver + - ObservableConvertibleType+Driver + - Variable+Driver +- name: RxCocoa/Common/Observables/Implementations + children: + - ControlTarget + - DeallocObservable + - KVOObservable + - KVOObserver + - MessageSentObserver +- name: RxCocoa/Common/Observables + children: + - NSNotificationCenter+Rx + - NSObject+Rx+KVORepresentable + - NSObject+Rx+RawRepresentable + - NSObject+Rx + - NSURLSession+Rx +- name: RxCocoa/Common/Proxies + children: + - RxCLLocationManagerDelegateProxy +- name: RxCocoa/iOS/DataSources + children: + - RxCollectionViewReactiveArrayDataSource + - RxTableViewReactiveArrayDataSource +- name: RxCocoa/iOS/Events + children: + - ItemEvents +- name: RxCocoa/iOS + children: + - NSTextStorage+Rx + - UIActivityIndicatorView+Rx + - UIAlertAction+Rx + - UIApplication+Rx + - UIBarButtonItem+Rx + - UIButton+Rx + - UICollectionView+Rx + - UIControl+Rx + - UIDatePicker+Rx + - UIGestureRecognizer+Rx + - UIImagePickerController+Rx + - UIImageView+Rx + - UILabel+Rx + - UINavigationItem+Rx + - UIPageControl+Rx + - UIPickerView+Rx + - UIProgressView+Rx + - UIRefreshControl+Rx + - UIScrollView+Rx + - UISearchBar+Rx + - UISearchController+Rx + - UISegmentedControl+Rx + - UISlider+Rx + - UIStepper+Rx + - UISwitch+Rx + - UITabBarItem+Rx + - UITableView+Rx + - UITextField+Rx + - UITextView+Rx + - UIView+Rx + - UIViewController+Rx +- name: RxCocoa/iOS/Protocols + children: + - RxCollectionViewDataSourceType + - RxTableViewDataSourceType +- name: RxCocoa/iOS/Proxies + children: + - RxCollectionViewDataSourceProxy + - RxCollectionViewDelegateProxy + - RxImagePickerDelegateProxy + - RxPickerViewDelegateProxy + - RxScrollViewDelegateProxy + - RxSearchBarDelegateProxy + - RxSearchControllerDelegateProxy + - RxTableViewDataSourceProxy + - RxTableViewDelegateProxy + - RxTextStorageDelegateProxy + - RxTextViewDelegateProxy +- name: RxCocoa/OSX + children: + - NSButton+Rx + - NSControl+Rx + - NSImageView+Rx + - NSSlider+Rx + - NSTextField+Rx + - NSView+Rx diff --git a/scripts/release-prep.sh b/scripts/release-prep.sh new file mode 100755 index 00000000..7bc1831c --- /dev/null +++ b/scripts/release-prep.sh @@ -0,0 +1,5 @@ +# run tests +. scripts/pre-release-tests.sh + +# update jazzy documentation config +./scripts/update-jazzy-config.rb diff --git a/scripts/update-jazzy-config.rb b/scripts/update-jazzy-config.rb new file mode 100755 index 00000000..3b5c629a --- /dev/null +++ b/scripts/update-jazzy-config.rb @@ -0,0 +1,25 @@ +#!/usr/bin/env ruby + +require 'yaml' + +included_directories = %w(RxSwift RxCocoa) + +files_and_directories = included_directories.collect do |directory| + Dir.glob("#{directory}/**/*") +end.flatten + +swift_files = files_and_directories.select { |file| file =~ /.*\.swift$/ } + +directory_and_name = swift_files.map do |file| + { File.dirname(file) => File.basename(file, '.swift') } +end + +categories = directory_and_name.flat_map(&:entries) + .group_by(&:first) + .map { |k,v| { 'name' => k, 'children' => v.map(&:last) } } + +config = { 'custom_categories' => categories } + +File.open('.jazzy.yml','w') do |h| + h.write config.to_yaml +end