Commit graph

15 commits

Author SHA1 Message Date
Nate Stedman
f367b455a6 Properly split IGListDiffKit and IGListKit podspecs (#1385)
Summary:
Pull Request resolved: https://github.com/Instagram/IGListKit/pull/1385

I attempted to work the two frameworks into a single podspec, but it didn't really work that well. Instead, let's just split them into two podspec files - this should work fine, and more closely follows the Carthage/Xcode behavior.

This should address #1382. Note that the attached project does need to be edited, because we also need to manually specify the `IGListDiffKit` pod location. This issue will go away with the release of 4.0.

Reviewed By: iperry90

Differential Revision: D18449843

fbshipit-source-id: 2750aee1ba39d21b9f1b3521ea8911929ae728b1
2019-11-13 05:30:28 -08:00
Benny Wong
831e9b8809 Fix travis & upgrade cocoapods (#1317)
Summary:
This is a bigger PR than I'd like but there is a bunch of stuff in here that feels like we should land all at once to fix the Travis setup.

Currently, there is a few things wrong. Briefly:
1. Travis is failing to even build the library (see: [build 2298](https://travis-ci.org/Instagram/IGListKit/jobs/506564900))
2. There are legitimately failing tests
3. Travis seems to be flakey running UI tests

This PR deals with the first two.

The Xcode projects were not building because some recently added files weren't added to the xcodeproj (ie. 46a124ddfe and 4662454c4a).

Also added `Foundation.h` import for `bool` definition for `IGSystemVersion` (also a new file)

The main `Podfile.lock` was already being generated via `1.5.3` (0c0b31ad7c) but the `Gemfile` had the wrong version and none of the example project `Podfile.lock`s were re-generated with it.

Once I got the projects correctly building and tests running, I discovered there were a bunch of tests that were legitimately failing. It's unclear when these started failing and what caused it.

I thought it made sense to disable these tests for now and then create Github issues to fix them as starter tasks instead of making this diff even larger.. I can create those if that sounds good.

Somewhat related, it seems like the UI tests on Travis may be a bit flakey. They pass locally, but breaks on Travis [[example](https://travis-ci.com/bdotdub/IGListKit/jobs/195758250)] with error messages like `Failure requesting automation session for com.instagram.IGListKitExamples:85190`

----

- [X] All tests pass. Demo project builds and runs.
- [X] I added tests, an experiment, or detailed why my change isn't tested.
- [X] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [X] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
Pull Request resolved: https://github.com/Instagram/IGListKit/pull/1317

Reviewed By: rnystrom

Differential Revision: D15157375

Pulled By: rnystrom

fbshipit-source-id: b29131f59b74398b6d2b3a73453248cb3325a955
2019-05-01 15:13:25 -07:00
Jesse Squires
8dd464e712 Update swiftlint + script, add newrules, autocorrect
Summary:
- Updates to SwiftLint 0.24.2
- Improve `scripts/lint.sh`
    - pull version out to a var for easier maintenance
    - better error message
    - make script fail xcode build if not installed (so we don't commit lint errors)
- Adds a few new SwiftLint rules
- Correct all new lint errors (most can be done by running `swiftlint autocorrect`)
- Cleans up `.swiftlint.yml`
- Fix up example projects
Closes https://github.com/Instagram/IGListKit/pull/1058

Differential Revision: D6776177

Pulled By: rnystrom

fbshipit-source-id: 345172237b97aaed0d62312c8f366f46145f8cd9
2018-01-22 12:14:38 -08:00
Ryan Nystrom
f7220b5cfe Update example project files, convert to Swift 4, and fix errors
Summary:
Used migration tool with Swift 4, fixed build errors, and killed all warnings. Only non-trivial change was in the macOS example. Will flag that one.

No changelog needed for this, right?

- [x] All tests pass. Demo project builds and runs.
Closes https://github.com/Instagram/IGListKit/pull/941

Differential Revision: D5890505

Pulled By: rnystrom

fbshipit-source-id: 7e0d3510ff0e5856a0ffd59f1a97548a72266c20
2017-09-22 06:55:23 -07:00
Ryan Nystrom
0ad49e16f0 Pod install 3.1.0
Summary:
Updating example pods via script
Closes https://github.com/Instagram/IGListKit/pull/911

Differential Revision: D5695840

Pulled By: rnystrom

fbshipit-source-id: 7aaaf9f07e0aa0cccbebbcbd12d9e5a617755cf1
2017-08-23 19:32:17 -07:00
heshamsalman
57bd9e24fe Updated script to pin SwiftLint version
Summary:
Issue fixed: #847

Pinned SwiftLint to 20.1
Closes https://github.com/Instagram/IGListKit/pull/854

Differential Revision: D5407797

Pulled By: rnystrom

fbshipit-source-id: d092e9ff78853d6bb17e6b58d896ab1313e5d3c7
2017-07-12 12:22:40 -07:00
James Sherlock
b71c346f66 Amend swiftlint to work with older installations
Summary:
![image](https://cloud.githubusercontent.com/assets/15193942/26492070/41f53338-420a-11e7-8ed6-f5d9872338c4.png)

Noticed an issue when trying to build the examples project that I couldn't because of the Swiftlint build phase (see the image above)

As it turns out in between the version I have installed (0.16.1) and the latest (0.19.0) they've made it so you can drop `lint` from the command (which is the default task).

I see two options really:
1. We add `lint` to the command which at least lets older versions of Swiftlint compile the project without making changes to run phases. It's worth noting that this means that certain (newer) rules won't be detected.
2. We add a way of detecting if they have an older version (likely by comparing the output of `$(swiftlint version)` to the version we know it works on. And display a more appropriate message and not fail the build.

Happy to discuss this

heshamsalman jessesquires rnystrom
Closes https://github.com/Instagram/IGListKit/pull/796

Differential Revision: D5137557

Pulled By: rnystrom

fbshipit-source-id: b6c85197d7a66e37976d66b646c9c9241827ce42
2017-05-26 08:17:15 -07:00
heshamsalman
02f28fc994 Implemented SwiftLint, new PR
Summary:
Replaces #642, #681

Issue ref: #394

Changes from last PR:
- Deleted the shared SwiftLint folder, incl. all files (On the plus side, did this in the quest to get this PR in https://github.com/realm/SwiftLint/pull/1513)
- Changed the build script such that it runs the user's `HomeBrew` installation of SwiftLint instead of the local copy

Integrates SwiftLint into DangerBot.
You may want to append a ?w=1 to the end of the files-changed url to exclude whitespace-only changes.

- [ ] All tests pass. Demo project builds and runs.
- [ ] I added tests, an experiment, or detailed why my change isn't tested.
- [ ] I added an entry to the `CHANGELOG.md` for any breaking changes, enhancements, or bug fixes.
- [ ] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/.github/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/741

Differential Revision: D5068134

Pulled By: jessesquires

fbshipit-source-id: 68d6a57e0072672e38eeb94908d00f26bbd68fbc
2017-05-16 07:31:43 -07:00
Ryan Nystrom
32a566d7c9 Regen docs for 3.0
Summary:
~~Land after #661, #730 and D5031184~~

Rebuild the docs from script. Couple notes:

- Went from 100% to 99%, does that matter? Script output says
  - > 99% documentation coverage with 2 undocumented symbols
  - Looks like `NS_SWIFT_NAME` throws documentation for a loop on `IGListDiffOption` and `IGListExperiment`
- Swift names are different, will that be a problem?

Part of #707

Closes https://github.com/Instagram/IGListKit/pull/728

Differential Revision: D5050951

Pulled By: jessesquires

fbshipit-source-id: 19249c1d34e6f253b911965114fd4ae7458d2684
2017-05-12 07:25:00 -07:00
Ryan Nystrom
f1ebfbdb7d Disable iOS 9.3 tests
Summary:
These tests are timing out all the time. ☠️

Issue fixed: #683
Closes https://github.com/Instagram/IGListKit/pull/688

Differential Revision: D4965525

Pulled By: rnystrom

fbshipit-source-id: ea122e66379646c557d1b8f1c7325894620b88fb
2017-04-27 14:47:43 -07:00
Sherlock
a748e6f6c7 Changed minimum macOS deployment target to 10.10
Summary:
Worth noting that while we support 10.8 and newer, Swift support is only 10.9 and newer. There were only a few more errors for 10.9 deployment target, but I'm not familiar with how it all works.

Using an `available` to disable row actions for users on 10.10 (only available for 10.11 and newer).
Closes https://github.com/Instagram/IGListKit/pull/374

Differential Revision: D4372977

Pulled By: jessesquires

fbshipit-source-id: 19f4b50c8eb4aa92f80241d69c44a367e854f5e8
2016-12-29 11:13:57 -08:00
Jesse Squires
9600c23d15 run pod install everywhere, gen docs.
Summary:
- Project fixes for macOS support, #270
- Podspec fixes for macOS, #270
- Project test target fixes
- Pod install all examples
- Re-gen docs

Differential Revision: D4327169

fbshipit-source-id: bbe7896f8f50aaf3b8da03d0c21a0fb6f775c7cd
2016-12-14 14:44:10 -08:00
Jesse Squires
b994a40bfd project organization, 'sort by name'
Summary: Closes https://github.com/Instagram/IGListKit/pull/271

Differential Revision: D4259848

Pulled By: jessesquires

fbshipit-source-id: 4a7a1159bbb335b88243e4fbc7bf62c54ce7b6dc
2016-12-01 11:59:10 -08:00
Ryan Nystrom
316fbe2b8b Remove NSObject+IGListDiffable category
Summary: Removing the category entirely (recreated for unit tests and examples). Went through and updated all of Instagram so we don't rely on the category and found a few models that needed cleaning up.

Reviewed By: jessesquires

Differential Revision: D4206552

fbshipit-source-id: ee8147e8872ea19f6c8bd8072df61eed5bffb6f3
2016-11-21 16:59:00 -08:00
Jesse Squires
879260b417 internal diff for PR #209
Summary: https://github.com/Instagram/IGListKit/pull/209

Reviewed By: rnystrom

Differential Revision: D4190633

fbshipit-source-id: 9d382b9ba3f3d20c8b9c48d900650ec354bc9728
2016-11-16 12:44:19 -08:00