52 Commits

Author SHA1 Message Date
marklarr
9efde0115e When synx'ing, also sort entries by if they are a group/file, then name. 2015-08-21 15:26:37 -07:00
Andrea Laren
56769a7f60 Fixes handling of localized project files
Made changes so synx understands Xcode's weird subfolder structure for localized files and folders (PBXVariantGroup), added a file with multiple localizations to the dummy project, and updated the tests.
2014-12-29 23:09:57 -05:00
Dustin Bachrach
246b570c2b #49 and #50 2014-10-09 16:19:06 -07:00
Alex Genco
7407c7ffe5 Separate xcodeproj monkey patching
Moves all xcodeproj monkeypatching into synx/xcodeproj_ext following the
directory structure of their respective class hierarchies.
2014-08-05 17:55:52 -07:00
Alex Genco
c9424731d1 Remove output from tests
Tabber accepts an :output option, which points to $stdout by default.
Tests set this option to a StringIO object instead.
2014-08-04 12:37:56 -07:00
Alex Genco
fa38cd75cf Fix various require and File.join calls.
In many cases it's safe to assume the load path will be setup correctly
at runtime, eliminating the need for absolute paths. For instance, in
your bin/synx executable, RubyGems sets the load path such that you can
just `require "synx"`. When you use RSpec, it also sets the load path to
allow you to use `require "spec_helper"`.

I also cleaned up the `File.join(File.dirname(__FILE__)...` stuff to use
the more idiomatic `File.expand_path`.
2014-08-02 10:57:56 -07:00
Sam Symons
415b1de055 Test that omitting the no_color option will allow colors to be printed. 2014-06-30 13:58:23 -07:00
Sam Symons
917d080e2d Add support for the --no-color option.
The `colored` gem was replaced with `colorize`. It has a very
similar API but comes with a few extra methods to remove or check
colors.

The Tabber class has had an options hash added to it, to make
further additions easier.
2014-06-28 11:45:45 -07:00
Mark Larsen
49c5a22196 Merge pull request #30 from venmo/marklarr/localization_and_huge_bug_fix
en.lproj syncing
2014-06-24 14:10:12 -07:00
Mark Larsen
8210321301 Smarter way of finding out if a file/folder was being tracked by the xcodeproj or not. Way less efficient, but doesn't fail like the old way did. 2014-06-23 13:12:34 -07:00
Mark Larsen
a998a04b04 Add support for en.lproj being a group already vs not a group already. Can't get rid of en.lproj even if it's not a group because Xcode needs it 2014-06-23 13:12:34 -07:00
Mark Larsen
8337a38202 add better test failure message, lets you know which files/folders caused the failure 2014-06-23 13:09:23 -07:00
Sam Symons
e26f61b491 Add support for a --quiet option. 2014-06-22 21:07:33 -07:00
Mark Larsen
f8d024008b Change Dir globbing to also find hidden files. Ignore .DS_Store. 2014-06-06 16:51:29 -07:00
Mark Larsen
e9d64eccd4 Merge pull request #17 from venmo/marklarr/forward_slashes_in_groups
Abort sync if project has groups containing a forward slash
2014-06-02 11:28:30 -07:00
Mark Larsen
1559a27783 Test was passing, because group_exclusions was getting mutated, but it wasn't clear. Make the expected value more clear. 2014-06-01 17:01:34 -07:00
Mark Larsen
a0e53c3d36 pry-debugger has issues on ruby 2.0.0 2014-05-31 21:36:57 -07:00
Mark Larsen
ab672dba22 be more forgiving with exclusion names by prepending a '/' if it's not there 2014-05-31 21:24:31 -07:00
Mark Larsen
8c88bd7ae0 remove coveralls 2014-05-31 21:19:54 -07:00
Mark Larsen
26f1c95454 Abort sync if project has groups containing a forward slash 2014-05-31 21:14:08 -07:00
Mark Larsen
2fc4fe441d There's more than just native_targets that have build settings -- move code for build settings out onto abstract target. 2014-05-29 14:30:38 -07:00
Mark Larsen
1daf370ac8 Accommodate for the fact that directory names on OS X are apparently case insensitive
Move to a better solution
2014-05-29 05:10:08 -07:00
Mark Larsen
8c9624fd33 add coveralls 2014-05-28 18:53:11 -07:00
Mark Larsen
a4b7a62787 print better message for excluded folders. Allow user to override exclusions and set themselves 2014-05-27 22:23:39 -07:00
Mark Larsen
a1f2d45511 add support for pruning the project of unused source and image files 2014-05-27 16:36:44 -07:00
Mark Larsen
da61fd60e2 recurse through folders that are not in xcode project as well, checking their files 2014-05-27 15:30:12 -07:00
Mark Larsen
424497c839 verify that group exclusions exist before setting 2014-05-27 14:24:31 -07:00
Mark Larsen
ee9c2073f1 add 'Other files' to expected structures 2014-05-27 12:41:46 -07:00
Mark Larsen
3f381038c3 Ensure that groups don't have multiple parents 2014-05-27 12:38:05 -07:00
Mark Larsen
6d69414b76 remove duplicate files from groups 2014-05-27 11:42:12 -07:00
Mark Larsen
7068ce854d rename synxronize to synx 2014-05-27 10:55:05 -07:00
Mark Larsen
654689c6ec add back tear down 2014-05-23 14:58:13 -07:00
Mark Larsen
71a78fb7fb tabber for putsing out with tabs. specs. 2014-05-23 14:58:02 -07:00
Mark Larsen
60efa5c889 Test that build settings are changed accordingly 2014-05-13 01:37:38 -07:00
Mark Larsen
fc17eb1d17 Handle lproj folders by simply copying them over as-is, since they are encoding strangely inside the pbxproj 2014-05-13 01:20:12 -07:00
Mark Larsen
f8197def89 Tests for expected group structure 2014-05-12 01:06:45 -07:00
Mark Larsen
930cb9e1ad Set instance variable to nil before each test 2014-05-12 00:26:19 -07:00
Mark Larsen
3310bb71fd Add test dummy into gitignore 2014-05-12 00:21:42 -07:00
Mark Larsen
a3dc51bb40 copy over dummy into another directory, and then blow it away on the tear down, to avoid dirtying the git index. 2014-05-12 00:18:51 -07:00
Mark Larsen
813c85ba3d Make expected file structure yml to aid in specs 2014-05-12 00:18:05 -07:00
Mark Larsen
8c5836b915 start integration test 2014-05-09 16:08:47 -07:00
Mark Larsen
6ef1b98135 Need to move files after the sync, because folders that aren't in Xcodeproj might contain files that are, and we need to move those out before moving the folder 2014-05-09 10:28:10 -07:00
Mark Larsen
0ccd63d663 Make a totally messed up xcodeproj 2014-05-09 10:03:25 -07:00
Mark Larsen
c5a0f465f9 Refactor. Handle changed build setting paths. 2014-05-07 00:35:20 -07:00
Mark Larsen
901f19c02e Refactor my terrible code 2014-05-02 01:02:08 -07:00
Mark Larsen
dbdbf5aaf0 remove venmo project from tests :) 2014-05-01 00:55:02 -07:00
Mark Larsen
94b629e10e clean up logic b moving out into more methods. 2014-04-30 01:29:09 -07:00
Mark Larsen
45ff3c5b42 Add pry to debug tests. Sync the projects. 2014-04-29 00:54:46 -07:00
Mark Larsen
1fddbfe088 don't track this xcode file 2014-04-29 00:06:40 -07:00
Mark Larsen
a7925b312d test memoization 2014-04-27 20:42:29 -07:00