synx 0.0.52 → 0.0.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -13
- data/README.md +8 -7
- data/bin/synx +3 -2
- data/lib/synx.rb +2 -9
- data/lib/synx/project.rb +10 -11
- data/lib/synx/tabber.rb +19 -13
- data/lib/synx/version.rb +1 -1
- data/lib/synx/xcodeproj_ext.rb +7 -0
- data/lib/synx/{abstract_object.rb → xcodeproj_ext/project/object/abstract_object.rb} +1 -3
- data/lib/synx/{abstract_target.rb → xcodeproj_ext/project/object/abstract_target.rb} +1 -3
- data/lib/synx/{pbx_file_reference.rb → xcodeproj_ext/project/object/pbx_file_reference.rb} +6 -8
- data/lib/synx/{pbx_group.rb → xcodeproj_ext/project/object/pbx_group.rb} +3 -5
- data/lib/synx/{pbx_variant_group.rb → xcodeproj_ext/project/object/pbx_variant_group.rb} +1 -3
- data/spec/spec_helper.rb +2 -4
- data/spec/synx/project_spec.rb +8 -9
- data/spec/synx/tabber_spec.rb +26 -6
- data/spec/synx/{pbx_group_spec.rb → xcodeproj_ext/project/object/pbx_group_spec.rb} +1 -1
- data/synx.gemspec +1 -1
- metadata +34 -34
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
5
|
-
data.tar.gz: !binary |-
|
6
|
-
MjFmMzIxZjM1MjYzZTYzYWRjYzg5YTY2M2I4ZjA2NDY1YTQ1NThiMQ==
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5043440d8edbbb67b2ef33b532a58059c61d12ed
|
4
|
+
data.tar.gz: c4fd56cb0af56f445ddc9756088b6c92c0cba029
|
7
5
|
SHA512:
|
8
|
-
metadata.gz:
|
9
|
-
|
10
|
-
YmJjMzJlNDM1ZTNkMGIyZjY3MGI1NTVlYWY4NGFlMDljYmVlYzA0OGEzM2Mz
|
11
|
-
ZWZmN2I1MzNjNWViN2NiYmJlODgyZTRiN2RlYWQ1N2FkNDJlZjA=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
ZjMxMWMwNWY2OGEyNzMyZWRiN2Y3N2Y1NTRjODY2NjEzNTMwMjZlMjhkM2Qw
|
14
|
-
N2UyZTJmN2Y3MDYxMDA2YWE2YjFlM2MwMGMyN2MzZDlhYjdkOTVjOTM0YTM3
|
15
|
-
ODc5ZDI3Mjg2ZGE0OTY4ZTMzYTI0OGY1YzkzZTc5YjgwZDUyMjg=
|
6
|
+
metadata.gz: f7cfb4d9ca835d619aec07971e5ae968384a5c91140080528d563da18730957396ced3ca088b82a3859677ff6dfdfaacdf169ff4f84705fb1131b8cb5ee2811b
|
7
|
+
data.tar.gz: 08a25df38b0915f8cac88728f3c2d80f78624dfda690324c78d300fce5b6886cc79009ca3fdfa02d8dceae6bbdf6d91bb358950171361c7c452cff10ebba2243
|
data/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
+

|
2
|
+
|
1
3
|
[](http://badge.fury.io/rb/synx)
|
2
4
|
[](https://travis-ci.org/venmo/synx)
|
3
5
|
|
4
|
-

|
5
|
-
|
6
6
|
A command-line tool that reorganizes your Xcode project folder to match your Xcode groups.
|
7
7
|
|
8
8
|

|
@@ -41,7 +41,9 @@ Synx supports the following options:
|
|
41
41
|
|
42
42
|
```
|
43
43
|
--prune, -p remove source files and image resources that are not referenced by the the xcode project
|
44
|
+
--no-color removes all color from the output
|
44
45
|
--no-default-exclusions doesn't use the default exclusions of /Libraries, /Frameworks, and /Products
|
46
|
+
--quiet, -q silence all output
|
45
47
|
--exclusion, -e EXCLUSION ignore an Xcode group while syncing
|
46
48
|
```
|
47
49
|
|
@@ -53,11 +55,10 @@ if they wanted to not sync the `/OCMock/Core Mocks` and `/OCMockTests` groups, a
|
|
53
55
|
|
54
56
|
## Contributing
|
55
57
|
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
5. Create a new Pull Request
|
58
|
+
We'd love to see your ideas for improving this library! The best way to contribute is by submitting a pull request. We'll do our best to respond to your patch as soon as possible. You can also submit a [new Github issue](https://github.com/venmo/synx/issues/new) if you find bugs or have questions. :octocat:
|
59
|
+
|
60
|
+
Please make sure to follow our general coding style and add test coverage for new features!
|
61
|
+
|
61
62
|
|
62
63
|
## Contributors
|
63
64
|
|
data/bin/synx
CHANGED
@@ -1,19 +1,20 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require 'clamp'
|
4
|
-
require
|
4
|
+
require 'synx'
|
5
5
|
|
6
6
|
Clamp do
|
7
7
|
|
8
8
|
parameter "xcodeproj", "Path to the xcodeproj", :attribute_name => :xcodeproj_path
|
9
9
|
option ["--prune", "-p"], :flag, "remove source files and image resources that are not referenced by the the xcode project"
|
10
|
+
option "--no-color", :flag, "removes all color from the output"
|
10
11
|
option "--no-default-exclusions", :flag, "doesn't use the default exclusions of /Libraries, /Frameworks, and /Products"
|
11
12
|
option ["--quiet", "-q"], :flag, "silence all output"
|
12
13
|
option ["--exclusion", "-e"], "EXCLUSION", "ignore an Xcode group while syncing", :multivalued => true
|
13
14
|
|
14
15
|
def execute
|
15
16
|
project = Synx::Project.open(xcodeproj_path)
|
16
|
-
project.sync(:prune => prune?, :quiet => quiet?, :no_default_exclusions => no_default_exclusions?, :group_exclusions => exclusion_list)
|
17
|
+
project.sync(:prune => prune?, :quiet => quiet?, :no_color => no_color?, :no_default_exclusions => no_default_exclusions?, :group_exclusions => exclusion_list)
|
17
18
|
end
|
18
19
|
|
19
20
|
end
|
data/lib/synx.rb
CHANGED
@@ -1,13 +1,6 @@
|
|
1
|
+
require "synx/xcodeproj_ext"
|
1
2
|
require "synx/version"
|
2
3
|
require "synx/project"
|
3
|
-
require "synx/pbx_file_reference"
|
4
|
-
require "synx/pbx_group"
|
5
|
-
require "synx/abstract_object"
|
6
|
-
require "synx/abstract_target"
|
7
|
-
require "synx/pbx_variant_group"
|
8
4
|
require "synx/tabber"
|
9
5
|
|
10
|
-
require "
|
11
|
-
|
12
|
-
module Synx
|
13
|
-
end
|
6
|
+
require "colorize"
|
data/lib/synx/project.rb
CHANGED
@@ -7,7 +7,7 @@ module Synx
|
|
7
7
|
SYNXRONIZE_DIR = File.join(ENV["HOME"], '.synx')
|
8
8
|
private_constant :SYNXRONIZE_DIR
|
9
9
|
|
10
|
-
DEFAULT_EXCLUSIONS = %W(/Libraries /Frameworks /Products)
|
10
|
+
DEFAULT_EXCLUSIONS = %W(/Libraries /Frameworks /Products /Pods)
|
11
11
|
private_constant :DEFAULT_EXCLUSIONS
|
12
12
|
|
13
13
|
attr_accessor :delayed_groups_set_path, :group_exclusions, :prune
|
@@ -18,7 +18,7 @@ module Synx
|
|
18
18
|
Synx::Tabber.increase
|
19
19
|
Synx::Tabber.puts "Syncing files that are included in Xcode project...".bold.white
|
20
20
|
main_group.all_groups.each { |gr| gr.sync(main_group) }
|
21
|
-
puts "\n\n"
|
21
|
+
Synx::Tabber.puts "\n\n"
|
22
22
|
Synx::Tabber.puts "Syncing files that are not included in Xcode project..".bold.white
|
23
23
|
main_group.all_groups.each(&:move_entries_not_in_xcodeproj)
|
24
24
|
transplant_work_project
|
@@ -49,7 +49,7 @@ module Synx
|
|
49
49
|
|
50
50
|
self.group_exclusions |= options[:group_exclusions] if options[:group_exclusions]
|
51
51
|
|
52
|
-
Synx::Tabber.
|
52
|
+
Synx::Tabber.options = options
|
53
53
|
end
|
54
54
|
private :set_options
|
55
55
|
|
@@ -93,21 +93,20 @@ module Synx
|
|
93
93
|
end
|
94
94
|
|
95
95
|
def group_exclusions=(new_exclusions)
|
96
|
-
new_exclusions.
|
96
|
+
@group_exclusions = new_exclusions.map do |exclusion|
|
97
97
|
# Group paths always start with a '/', so put one there if it isn't already.
|
98
|
-
exclusion
|
98
|
+
exclusion = "/" + exclusion unless exclusion[0] == "/"
|
99
99
|
# Don't check our own default exclusions -- they may not have it in their project.
|
100
100
|
unless DEFAULT_EXCLUSIONS.include?(exclusion)
|
101
101
|
# remove leading '/' for this check
|
102
|
-
|
103
|
-
|
104
|
-
unless self[
|
105
|
-
raise IndexError, "No group #{
|
102
|
+
exclusionCopy = exclusion.dup
|
103
|
+
exclusionCopy[0] = ''
|
104
|
+
unless self[exclusionCopy]
|
105
|
+
raise IndexError, "No group #{exclusionCopy} exists"
|
106
106
|
end
|
107
107
|
end
|
108
|
+
exclusion
|
108
109
|
end
|
109
|
-
|
110
|
-
@group_exclusions = new_exclusions
|
111
110
|
end
|
112
111
|
|
113
112
|
def has_object_for_pathname?(pathname)
|
data/lib/synx/tabber.rb
CHANGED
@@ -1,38 +1,39 @@
|
|
1
1
|
module Synx
|
2
2
|
class Tabber
|
3
3
|
|
4
|
-
|
5
|
-
|
4
|
+
@options = {}
|
5
|
+
@tabbing = 0
|
6
6
|
|
7
7
|
class << self
|
8
8
|
def increase(n=1)
|
9
|
-
|
9
|
+
@tabbing += n
|
10
10
|
end
|
11
11
|
|
12
12
|
def decrease(n=1)
|
13
|
-
|
14
|
-
|
13
|
+
@tabbing -= n
|
14
|
+
@tabbing = 0 if @tabbing < 0
|
15
15
|
end
|
16
16
|
|
17
17
|
def current
|
18
|
-
|
18
|
+
@tabbing
|
19
19
|
end
|
20
20
|
|
21
21
|
def reset
|
22
|
-
|
23
|
-
self.
|
22
|
+
@tabbing = 0
|
23
|
+
self.options = {}
|
24
24
|
end
|
25
25
|
|
26
|
-
def
|
27
|
-
|
26
|
+
def options=(options = {})
|
27
|
+
@options = options
|
28
28
|
end
|
29
29
|
|
30
|
-
def
|
31
|
-
|
30
|
+
def options
|
31
|
+
@options
|
32
32
|
end
|
33
33
|
|
34
34
|
def puts(str="")
|
35
|
-
|
35
|
+
str = str.uncolorize if options[:no_color]
|
36
|
+
output.puts (a_single_tab * @tabbing) + str.to_s unless options[:quiet]
|
36
37
|
end
|
37
38
|
|
38
39
|
def a_single_tab
|
@@ -40,6 +41,11 @@ module Synx
|
|
40
41
|
end
|
41
42
|
private :a_single_tab
|
42
43
|
|
44
|
+
def output
|
45
|
+
options.fetch(:output, $stdout)
|
46
|
+
end
|
47
|
+
private :output
|
48
|
+
|
43
49
|
end
|
44
50
|
end
|
45
51
|
end
|
data/lib/synx/version.rb
CHANGED
@@ -0,0 +1,7 @@
|
|
1
|
+
require "xcodeproj"
|
2
|
+
|
3
|
+
require "synx/xcodeproj_ext/project/object/pbx_file_reference"
|
4
|
+
require "synx/xcodeproj_ext/project/object/pbx_group"
|
5
|
+
require "synx/xcodeproj_ext/project/object/abstract_object"
|
6
|
+
require "synx/xcodeproj_ext/project/object/abstract_target"
|
7
|
+
require "synx/xcodeproj_ext/project/object/pbx_variant_group"
|
@@ -1,10 +1,8 @@
|
|
1
|
-
require 'xcodeproj'
|
2
|
-
|
3
1
|
module Xcodeproj
|
4
2
|
class Project
|
5
3
|
module Object
|
6
4
|
class PBXFileReference
|
7
|
-
|
5
|
+
|
8
6
|
def sync(group)
|
9
7
|
if should_sync?
|
10
8
|
if should_move?
|
@@ -25,10 +23,10 @@ module Xcodeproj
|
|
25
23
|
end
|
26
24
|
|
27
25
|
def output
|
28
|
-
|
26
|
+
build_settings_amended = "(build settings amended: #{@setting_keys_changed.join(", ")})" if @setting_keys_changed.count > 0
|
29
27
|
removed_from_groups = "(had multiple parent groups, removed from groups: #{@removed_from_groups.join(", ")})" if @removed_from_groups.count > 0
|
30
|
-
str_output = "#{basename} #{
|
31
|
-
str_output = str_output.yellow if removed_from_groups ||
|
28
|
+
str_output = "#{basename} #{build_settings_amended} #{removed_from_groups}"
|
29
|
+
str_output = str_output.yellow if removed_from_groups || build_settings_amended
|
32
30
|
Synx::Tabber.puts str_output
|
33
31
|
end
|
34
32
|
|
@@ -48,7 +46,7 @@ module Xcodeproj
|
|
48
46
|
def change_build_settings_reference
|
49
47
|
@setting_keys_changed = []
|
50
48
|
return unless basename =~ /\.(pch|plist)$/
|
51
|
-
|
49
|
+
|
52
50
|
project.targets.each do |t|
|
53
51
|
t.each_build_settings do |bs|
|
54
52
|
["INFOPLIST_FILE", "GCC_PREFIX_HEADER"].each do |setting_key|
|
@@ -67,4 +65,4 @@ module Xcodeproj
|
|
67
65
|
end
|
68
66
|
end
|
69
67
|
end
|
70
|
-
end
|
68
|
+
end
|
@@ -1,10 +1,8 @@
|
|
1
|
-
require 'xcodeproj'
|
2
|
-
|
3
1
|
module Xcodeproj
|
4
2
|
class Project
|
5
3
|
module Object
|
6
4
|
class PBXGroup
|
7
|
-
|
5
|
+
|
8
6
|
def sync(group)
|
9
7
|
ensure_internal_consistency(group)
|
10
8
|
if excluded_from_sync?
|
@@ -61,7 +59,7 @@ module Xcodeproj
|
|
61
59
|
|
62
60
|
def handle_unused_entry(entry_pathname)
|
63
61
|
entries_to_ignore = %W(.DS_Store)
|
64
|
-
unless entries_to_ignore.include?(entry_pathname.basename.to_s)
|
62
|
+
unless entries_to_ignore.include?(entry_pathname.basename.to_s)
|
65
63
|
if entry_pathname.directory?
|
66
64
|
work_entry_pathname = project.pathname_to_work_pathname(entry_pathname)
|
67
65
|
# The directory may have already been created for one of two reasons
|
@@ -134,4 +132,4 @@ module Xcodeproj
|
|
134
132
|
end
|
135
133
|
end
|
136
134
|
end
|
137
|
-
end
|
135
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,11 +1,9 @@
|
|
1
1
|
require 'bundler/setup'
|
2
|
-
Bundler.setup
|
3
|
-
|
4
2
|
require 'synx'
|
5
3
|
require 'pry'
|
6
4
|
|
7
|
-
DUMMY_SYNX_PATH = File.
|
8
|
-
DUMMY_SYNX_TEST_PATH = File.
|
5
|
+
DUMMY_SYNX_PATH = File.expand_path('../dummy', __FILE__)
|
6
|
+
DUMMY_SYNX_TEST_PATH = File.expand_path('../test_dummy', __FILE__)
|
9
7
|
DUMMY_SYNX_TEST_PROJECT_PATH = File.join(DUMMY_SYNX_TEST_PATH, 'dummy.xcodeproj')
|
10
8
|
FileUtils.rm_rf(DUMMY_SYNX_TEST_PATH)
|
11
9
|
FileUtils.cp_r(DUMMY_SYNX_PATH, DUMMY_SYNX_TEST_PATH)
|
data/spec/synx/project_spec.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
|
-
require
|
2
|
-
|
1
|
+
require 'spec_helper'
|
3
2
|
require 'fileutils'
|
4
3
|
require 'pathname'
|
5
4
|
require 'yaml'
|
@@ -86,17 +85,17 @@ describe Synx::Project do
|
|
86
85
|
end
|
87
86
|
|
88
87
|
def expected_file_structure
|
89
|
-
YAML::load_file(File.
|
88
|
+
YAML::load_file(File.expand_path("../expected_file_structure.yml", __FILE__))
|
90
89
|
end
|
91
90
|
|
92
91
|
def expected_group_structure
|
93
|
-
YAML::load_file(File.
|
92
|
+
YAML::load_file(File.expand_path("../expected_group_structure.yml", __FILE__))
|
94
93
|
end
|
95
94
|
|
96
95
|
describe "with no additional options" do
|
97
96
|
|
98
97
|
before(:all) do
|
99
|
-
DUMMY_SYNX_TEST_PROJECT.sync
|
98
|
+
DUMMY_SYNX_TEST_PROJECT.sync(:output => StringIO.new)
|
100
99
|
end
|
101
100
|
|
102
101
|
it "should have the correct physical file structure" do
|
@@ -125,7 +124,7 @@ describe Synx::Project do
|
|
125
124
|
describe "with the prune option toggled" do
|
126
125
|
|
127
126
|
before(:all) do
|
128
|
-
DUMMY_SYNX_TEST_PROJECT.sync(:prune => true)
|
127
|
+
DUMMY_SYNX_TEST_PROJECT.sync(:prune => true, :output => StringIO.new)
|
129
128
|
end
|
130
129
|
|
131
130
|
it "should remove unreferenced images and source files if the prune option is toggled" do
|
@@ -144,7 +143,7 @@ describe Synx::Project do
|
|
144
143
|
describe "with the no_default_exclusions option toggled" do
|
145
144
|
|
146
145
|
before(:all) do
|
147
|
-
DUMMY_SYNX_TEST_PROJECT.sync(:no_default_exclusions => true)
|
146
|
+
DUMMY_SYNX_TEST_PROJECT.sync(:no_default_exclusions => true, :output => StringIO.new)
|
148
147
|
end
|
149
148
|
|
150
149
|
it "should have an empty array for default exclusions" do
|
@@ -155,11 +154,11 @@ describe Synx::Project do
|
|
155
154
|
describe "with group_exclusions provided as options" do
|
156
155
|
|
157
156
|
before(:all) do
|
158
|
-
DUMMY_SYNX_TEST_PROJECT.sync(:group_exclusions => %W(/dummy /dummy/SuchGroup/VeryChildGroup))
|
157
|
+
DUMMY_SYNX_TEST_PROJECT.sync(:group_exclusions => %W(/dummy /dummy/SuchGroup/VeryChildGroup), :output => StringIO.new)
|
159
158
|
end
|
160
159
|
|
161
160
|
it "should add the group exclusions to the array" do
|
162
|
-
expect(DUMMY_SYNX_TEST_PROJECT.group_exclusions.sort).to eq(%W(/Libraries /Products /Frameworks /dummy /dummy/SuchGroup/VeryChildGroup).sort)
|
161
|
+
expect(DUMMY_SYNX_TEST_PROJECT.group_exclusions.sort).to eq(%W(/Libraries /Products /Frameworks /Pods /dummy /dummy/SuchGroup/VeryChildGroup).sort)
|
163
162
|
end
|
164
163
|
end
|
165
164
|
|
data/spec/synx/tabber_spec.rb
CHANGED
@@ -1,11 +1,14 @@
|
|
1
|
-
require
|
1
|
+
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Synx::Tabber do
|
4
4
|
|
5
5
|
before(:each) do
|
6
6
|
Synx::Tabber.reset
|
7
|
+
Synx::Tabber.options[:output] = output
|
7
8
|
end
|
8
9
|
|
10
|
+
let(:output) { StringIO.new }
|
11
|
+
|
9
12
|
describe "::increase" do
|
10
13
|
it "should default to increasing tabbing by 1" do
|
11
14
|
Synx::Tabber.increase
|
@@ -48,16 +51,33 @@ describe Synx::Tabber do
|
|
48
51
|
end
|
49
52
|
|
50
53
|
describe "::puts" do
|
51
|
-
it "should
|
54
|
+
it "should print to the output io with the appropriate indentation" do
|
52
55
|
Synx::Tabber.increase(3)
|
53
|
-
expect(Kernel).to receive(:puts).with(" Hello, world.")
|
54
56
|
Synx::Tabber.puts("Hello, world.")
|
57
|
+
expect(output.string).to eq(" Hello, world.\n")
|
55
58
|
end
|
56
59
|
|
57
60
|
it "should not print anything if quiet is true" do
|
58
|
-
Synx::Tabber.quiet = true
|
59
|
-
Synx::Tabber.
|
60
|
-
expect(
|
61
|
+
Synx::Tabber.options[:quiet] = true
|
62
|
+
Synx::Tabber.puts("Hello, world.")
|
63
|
+
expect(output.string).to eq("")
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should print colors if no_color is false or not present" do
|
67
|
+
Synx::Tabber.puts("Hello, world.".red)
|
68
|
+
expect(output.string).to eq("\e[0;31;49mHello, world.\e[0m\n")
|
69
|
+
end
|
70
|
+
|
71
|
+
it "should not print colors if no_color is true" do
|
72
|
+
Synx::Tabber.options[:no_color] = true
|
73
|
+
Synx::Tabber.puts("Hello, world.".red)
|
74
|
+
expect(output.string).to eq("Hello, world.\n")
|
75
|
+
end
|
76
|
+
|
77
|
+
it "prints to stdout if no output is specified" do
|
78
|
+
expect($stdout).to receive(:puts).with(" Hello, world.")
|
79
|
+
Synx::Tabber.reset
|
80
|
+
Synx::Tabber.increase
|
61
81
|
Synx::Tabber.puts("Hello, world.")
|
62
82
|
end
|
63
83
|
end
|
data/synx.gemspec
CHANGED
@@ -27,6 +27,6 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.add_development_dependency "pry", "~> 0.9"
|
28
28
|
|
29
29
|
spec.add_dependency "clamp", "~> 0.6"
|
30
|
-
spec.add_dependency "
|
30
|
+
spec.add_dependency "colorize", "~> 0.7"
|
31
31
|
spec.add_dependency "xcodeproj", "~> 0.17"
|
32
32
|
end
|
metadata
CHANGED
@@ -1,116 +1,116 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: synx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.53
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mark Larsen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-11-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.6'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.6'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '10.3'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '2.14'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '2.14'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: pry
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0.9'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - ~>
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0.9'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: clamp
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0.6'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0.6'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: colorize
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '0.7'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '0.7'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: xcodeproj
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - ~>
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0.17'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - ~>
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0.17'
|
111
|
-
description:
|
112
|
-
|
113
|
-
|
111
|
+
description: |2
|
112
|
+
A command-line tool that reorganizes your Xcode project folder to match your Xcode groups
|
113
|
+
Synx parses your .xcodeproj to build the same group structure out on the file system.
|
114
114
|
email:
|
115
115
|
- mark@venmo.com
|
116
116
|
executables:
|
@@ -118,22 +118,23 @@ executables:
|
|
118
118
|
extensions: []
|
119
119
|
extra_rdoc_files: []
|
120
120
|
files:
|
121
|
-
- .gitignore
|
122
|
-
- .travis.yml
|
121
|
+
- ".gitignore"
|
122
|
+
- ".travis.yml"
|
123
123
|
- Gemfile
|
124
124
|
- LICENSE.txt
|
125
125
|
- README.md
|
126
126
|
- Rakefile
|
127
127
|
- bin/synx
|
128
128
|
- lib/synx.rb
|
129
|
-
- lib/synx/abstract_object.rb
|
130
|
-
- lib/synx/abstract_target.rb
|
131
|
-
- lib/synx/pbx_file_reference.rb
|
132
|
-
- lib/synx/pbx_group.rb
|
133
|
-
- lib/synx/pbx_variant_group.rb
|
134
129
|
- lib/synx/project.rb
|
135
130
|
- lib/synx/tabber.rb
|
136
131
|
- lib/synx/version.rb
|
132
|
+
- lib/synx/xcodeproj_ext.rb
|
133
|
+
- lib/synx/xcodeproj_ext/project/object/abstract_object.rb
|
134
|
+
- lib/synx/xcodeproj_ext/project/object/abstract_target.rb
|
135
|
+
- lib/synx/xcodeproj_ext/project/object/pbx_file_reference.rb
|
136
|
+
- lib/synx/xcodeproj_ext/project/object/pbx_group.rb
|
137
|
+
- lib/synx/xcodeproj_ext/project/object/pbx_variant_group.rb
|
137
138
|
- spec/dummy/dummy.xcodeproj/project.pbxproj
|
138
139
|
- spec/dummy/dummy.xcodeproj/project.xcworkspace/contents.xcworkspacedata
|
139
140
|
- spec/dummy/dummy.xcodeproj/xcuserdata/marklarsen.xcuserdatad/xcschemes/dummy.xcscheme
|
@@ -171,9 +172,9 @@ files:
|
|
171
172
|
- spec/spec_helper.rb
|
172
173
|
- spec/synx/expected_file_structure.yml
|
173
174
|
- spec/synx/expected_group_structure.yml
|
174
|
-
- spec/synx/pbx_group_spec.rb
|
175
175
|
- spec/synx/project_spec.rb
|
176
176
|
- spec/synx/tabber_spec.rb
|
177
|
+
- spec/synx/xcodeproj_ext/project/object/pbx_group_spec.rb
|
177
178
|
- synx.gemspec
|
178
179
|
homepage: https://github.com/venmo/synx
|
179
180
|
licenses:
|
@@ -185,12 +186,12 @@ require_paths:
|
|
185
186
|
- lib
|
186
187
|
required_ruby_version: !ruby/object:Gem::Requirement
|
187
188
|
requirements:
|
188
|
-
- -
|
189
|
+
- - ">="
|
189
190
|
- !ruby/object:Gem::Version
|
190
191
|
version: '0'
|
191
192
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
192
193
|
requirements:
|
193
|
-
- -
|
194
|
+
- - ">="
|
194
195
|
- !ruby/object:Gem::Version
|
195
196
|
version: '0'
|
196
197
|
requirements: []
|
@@ -238,7 +239,6 @@ test_files:
|
|
238
239
|
- spec/spec_helper.rb
|
239
240
|
- spec/synx/expected_file_structure.yml
|
240
241
|
- spec/synx/expected_group_structure.yml
|
241
|
-
- spec/synx/pbx_group_spec.rb
|
242
242
|
- spec/synx/project_spec.rb
|
243
243
|
- spec/synx/tabber_spec.rb
|
244
|
-
|
244
|
+
- spec/synx/xcodeproj_ext/project/object/pbx_group_spec.rb
|