objc 0.0.3 → 0.0.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 89dc80ed78bea1f21e8d7b978ad9a3b96311d68f
4
- data.tar.gz: dea221d86ebab2bfadf7732f28f6ec4c437bc275
3
+ metadata.gz: c76582912afd3763e1fe94bff4a215d35de141ca
4
+ data.tar.gz: ea26686f0f6c15a3827b9593aed32da129bd88f2
5
5
  SHA512:
6
- metadata.gz: 6c44a61d7023c0fa11d14ce6e018adf6723f382cca9701b2aba7e016eaf5aeb9abe0a3feca874c5459f5f0bf73213b75dbe6a15d82b3488be9b32cf1b6c9eb9a
7
- data.tar.gz: bc131a25b2a54b7cc4de01c4497d4de0bf10f4f29c6ebf01b2477dc48147a9381d83df5201aade4981ec97c6ee4d6b2cd2ead93d334ee1c0c74a3a76e9935168
6
+ metadata.gz: f38efdb80c7cd4ddd1f98f9c3cf484684df600dfe2195569dd8f6914dff4a694edc1321fa821ddf703063b8b9741a9f35011a6b64097298c7e3547a5dbcbc927
7
+ data.tar.gz: e8d02cabdf451e7f26c3020c11609eb2b79519aa02be6eff2d5deb0c38ac2ce8168379f1185b8dd0a0badbc6d80e6d427e66e50e8c446e2b81d579c6f8efccbc
data/bin/objc CHANGED
@@ -2,12 +2,13 @@
2
2
 
3
3
  path = __FILE__
4
4
  $:.unshift(File.join(File.dirname(File.expand_path(path)), '..', 'lib'))
5
+
5
6
  require 'objc'
7
+ require 'optparse'
6
8
 
7
- if ARGV.length == 1
8
- Objc::Test.with(ARGV[0])
9
- else
10
- puts %{
9
+ def usage
10
+ <<-TXT.sub(/^\s+/, '')
11
+ Usage: objc [options] FILE_PREFIX
11
12
 
12
13
  The `objc` binary requires that you provide a file prefix so that it is
13
14
  able to find the: header file; source file; and test file.
@@ -15,5 +16,34 @@ else
15
16
  $ objc Anagram
16
17
 
17
18
  This will find the following: Anagram.h; Anagram.m; and AnagramTest.m
18
- }
19
+ TXT
20
+ end
21
+
22
+ options = { runner: :xctool }
23
+
24
+ OptionParser.new do |opts|
25
+ opts.banner = usage
26
+ opts.separator ""
27
+ opts.separator "Specific options:"
28
+
29
+ opts.on("-x", "--xcodebuild", "Use xcodebuild") do
30
+ options[:runner] = :xcodebuild
31
+ end
32
+
33
+ opts.on_tail("-h", "--help", "Show this message") do
34
+ puts opts
35
+ exit
36
+ end
37
+
38
+ opts.on_tail("--version", "Show version") do
39
+ puts Objc::VERSION
40
+ exit
41
+ end
42
+ end.parse!
43
+
44
+ if ARGV.count == 1
45
+ Objc::Test.with(ARGV[0], runner: options[:runner])
46
+ else
47
+ system("objc --help")
48
+ exit
19
49
  end
@@ -9,12 +9,12 @@ module Objc
9
9
  module Test
10
10
  extend self
11
11
 
12
- def with(filePrefix)
12
+ def with(filePrefix, runner: :xctool)
13
13
  puts "Looking for all files with prefix: #{filePrefix}"
14
14
 
15
15
  files = SourceFiles.new(filePrefix)
16
16
 
17
- project = XcodeProject.new
17
+ project = XcodeProject.new(runner)
18
18
  project.install!
19
19
  project.add(files)
20
20
  project.execute!
@@ -1,3 +1,3 @@
1
1
  module Objc
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -1,6 +1,11 @@
1
1
  module Objc
2
2
  module Test
3
3
  class XcodeProject
4
+ attr_reader :runner
5
+
6
+ def initialize(runner)
7
+ @runner = runner
8
+ end
4
9
 
5
10
  def install!
6
11
  clean
@@ -74,9 +79,17 @@ module Objc
74
79
  'test-suite'
75
80
  end
76
81
 
82
+ def use_xcodebuild?
83
+ runner == :xcodebuild
84
+ end
85
+
77
86
  def xctool_command
78
- "xctool -project #{project_path} -scheme IgnoreThisTarget test"
87
+ if use_xcodebuild?
88
+ "xcodebuild -project #{project_path} -scheme IgnoreThisTarget test | xcpretty"
89
+ else
90
+ "xctool -project #{project_path} -scheme IgnoreThisTarget test"
91
+ end
79
92
  end
80
93
  end
81
94
  end
82
- end
95
+ end
@@ -21,8 +21,9 @@ execution of a test suite without the hassle of managing an Xcode Project File}
21
21
  spec.require_paths = ["lib"]
22
22
 
23
23
  spec.add_dependency "xcoder", "~> 0.1.15"
24
+ spec.add_dependency "xcpretty", "~> 0.2.6"
24
25
 
25
26
  spec.add_development_dependency "bundler", "~> 1.3"
26
- spec.add_development_dependency "rake"
27
+ spec.add_development_dependency "rake", "~> 11.2"
27
28
 
28
29
  end
metadata CHANGED
@@ -1,57 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: objc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Franklin Webber
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-22 00:00:00.000000000 Z
11
+ date: 2017-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xcoder
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 0.1.15
20
20
  type: :runtime
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: 0.1.15
27
+ - !ruby/object:Gem::Dependency
28
+ name: xcpretty
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.2.6
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.2.6
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
- - - ~>
45
+ - - "~>"
32
46
  - !ruby/object:Gem::Version
33
47
  version: '1.3'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
- - - ~>
52
+ - - "~>"
39
53
  - !ruby/object:Gem::Version
40
54
  version: '1.3'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - '>='
59
+ - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: '0'
61
+ version: '11.2'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - '>='
66
+ - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: '0'
68
+ version: '11.2'
55
69
  description: |-
56
70
  This gem is a test suite runner for Objective-C files to allow for the easy
57
71
  execution of a test suite without the hassle of managing an Xcode Project File. This allows you to work on your source files outside of a Xcode project but still have them tested. This is useful when when you want to practice Objective-C without the hassle of Xcode.
@@ -62,7 +76,7 @@ executables:
62
76
  extensions: []
63
77
  extra_rdoc_files: []
64
78
  files:
65
- - .gitignore
79
+ - ".gitignore"
66
80
  - Gemfile
67
81
  - LICENSE.txt
68
82
  - README.md
@@ -84,17 +98,17 @@ require_paths:
84
98
  - lib
85
99
  required_ruby_version: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - '>='
101
+ - - ">="
88
102
  - !ruby/object:Gem::Version
89
103
  version: '0'
90
104
  required_rubygems_version: !ruby/object:Gem::Requirement
91
105
  requirements:
92
- - - '>='
106
+ - - ">="
93
107
  - !ruby/object:Gem::Version
94
108
  version: '0'
95
109
  requirements: []
96
110
  rubyforge_project:
97
- rubygems_version: 2.1.9
111
+ rubygems_version: 2.5.1
98
112
  signing_key:
99
113
  specification_version: 4
100
114
  summary: This gem is a test suite runner for Objective-C files to allow for the easy