crafter 0.1.6 → 0.2
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 +4 -4
- data/craft.gemspec +2 -2
- data/lib/config/default.rb +2 -2
- data/lib/crafter.rb +12 -1
- data/lib/git_helper.rb +65 -15
- data/lib/project_helper.rb +3 -3
- metadata +5 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 274618fe58464761e8ee8539c47f6ad7dd400b37
|
4
|
+
data.tar.gz: a6d9ccef4636ef3c4c6ad2f7e1c463ed8f6bcb45
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 717b547af092e49e332d8a32abbbd0fae446bcdc5e2b71fb0da427d3561cd01e7883f8e7c0090eafe2b18fd6a0bbb787d94b792eba0b12852ebbff2f290d2c27
|
7
|
+
data.tar.gz: 12b045dc54de32e15283da885dfdaf2524a9c5e0496f5a855263a9b5ca1051fbfebca56ed2d14d099f8f08075a4cea09584b4e980b9dfdd5e0ae7d4bbc4519de
|
data/craft.gemspec
CHANGED
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
|
4
4
|
Gem::Specification.new do |gem|
|
5
5
|
gem.name = 'crafter'
|
6
|
-
gem.version = '0.
|
6
|
+
gem.version = '0.2'
|
7
7
|
gem.authors = ['Krzysztof Zabłocki']
|
8
8
|
gem.email = ['merowing2@gmail.com']
|
9
9
|
gem.description = %q{CLI for setting up new Xcode projects. Inspired by thoughtbot liftoff.}
|
@@ -11,7 +11,7 @@ Gem::Specification.new do |gem|
|
|
11
11
|
gem.homepage = 'https://github.com/krzysztofzablocki/crafter'
|
12
12
|
gem.license = 'MIT'
|
13
13
|
|
14
|
-
gem.add_dependency 'xcodeproj', '~>
|
14
|
+
gem.add_dependency 'xcodeproj', '~> 1.4'
|
15
15
|
gem.add_dependency 'highline', '~> 1.6'
|
16
16
|
|
17
17
|
gem.files = `git ls-files`.split($/)
|
data/lib/config/default.rb
CHANGED
@@ -4,9 +4,9 @@ load "#{Crafter::ROOT}/config/default_scripts.rb"
|
|
4
4
|
Crafter.configure do
|
5
5
|
|
6
6
|
# This are projects wide instructions
|
7
|
-
add_platform({:platform => :ios, :deployment =>
|
7
|
+
add_platform({:platform => :ios, :deployment => 8.0})
|
8
8
|
add_git_ignore
|
9
|
-
duplicate_configurations({:
|
9
|
+
duplicate_configurations({:Adhoc => :Release})
|
10
10
|
|
11
11
|
# set of options, warnings, static analyser and anything else normal xcode treats as build options
|
12
12
|
set_options %w(
|
data/lib/crafter.rb
CHANGED
@@ -18,6 +18,7 @@ module Crafter
|
|
18
18
|
@add_git_ignore = false
|
19
19
|
@platforms = []
|
20
20
|
@build_settings = {}
|
21
|
+
@language_swift = false
|
21
22
|
|
22
23
|
def configure(&block)
|
23
24
|
instance_eval &block
|
@@ -59,6 +60,10 @@ module Crafter
|
|
59
60
|
@build_settings[configuration] = build_settings
|
60
61
|
end
|
61
62
|
|
63
|
+
def set_language_swift(is_swift)
|
64
|
+
@language_swift = is_swift
|
65
|
+
end
|
66
|
+
|
62
67
|
def setup_project
|
63
68
|
process_optional()
|
64
69
|
process_configurations() if @configuration && !@configuration.empty?
|
@@ -97,6 +102,10 @@ module Crafter
|
|
97
102
|
puts 'preparing pod file'
|
98
103
|
File.open('Podfile', File::WRONLY|File::CREAT|File::EXCL) do |f|
|
99
104
|
|
105
|
+
if @language_swift
|
106
|
+
f.puts "use_frameworks!"
|
107
|
+
end
|
108
|
+
|
100
109
|
@platforms.each do |hash|
|
101
110
|
name = hash[:platform]
|
102
111
|
deployment = hash[:deployment]
|
@@ -119,7 +128,9 @@ module Crafter
|
|
119
128
|
@targets.each { |_, v| v.process_scripts(self.project) }
|
120
129
|
end
|
121
130
|
|
122
|
-
if File.exists?(File.join(
|
131
|
+
if File.exists?(File.join('./', 'crafter.rb')) then
|
132
|
+
load './crafter.rb'
|
133
|
+
elsif File.exists?(File.join(ENV['HOME'], '.crafter.rb')) then
|
123
134
|
load '~/.crafter.rb'
|
124
135
|
else
|
125
136
|
load "#{Crafter::ROOT}/config/default.rb"
|
data/lib/git_helper.rb
CHANGED
@@ -22,33 +22,84 @@
|
|
22
22
|
#WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
23
23
|
|
24
24
|
GITIGNORE_CONTENTS = <<GITIGNORE
|
25
|
-
|
25
|
+
|
26
|
+
#### Mac Finder specific (in case it's not elsewhere)
|
26
27
|
.DS_Store
|
27
28
|
|
28
|
-
|
29
|
-
|
29
|
+
|
30
|
+
#### Xcode
|
31
|
+
|
32
|
+
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
|
33
|
+
|
34
|
+
#### Build generated
|
35
|
+
build/
|
36
|
+
DerivedData/
|
37
|
+
|
38
|
+
#### Various settings
|
39
|
+
*.pbxuser
|
40
|
+
!default.pbxuser
|
30
41
|
*.mode1v3
|
42
|
+
!default.mode1v3
|
31
43
|
*.mode2v3
|
32
|
-
|
44
|
+
!default.mode2v3
|
33
45
|
*.perspectivev3
|
34
|
-
|
35
|
-
xcuserdata
|
46
|
+
!default.perspectivev3
|
47
|
+
xcuserdata/
|
36
48
|
|
37
|
-
|
38
|
-
|
39
|
-
*.
|
40
|
-
|
49
|
+
#### Other
|
50
|
+
*.moved-aside
|
51
|
+
*.xcuserstate
|
52
|
+
|
53
|
+
#### Obj-C/Swift specific
|
41
54
|
*.hmap
|
55
|
+
*.ipa
|
56
|
+
*.dSYM.zip
|
57
|
+
*.dSYM
|
42
58
|
|
43
|
-
|
59
|
+
#### Automatic backup files
|
44
60
|
*~.nib/
|
45
61
|
*.swp
|
46
62
|
*~
|
47
63
|
*.dat
|
48
64
|
*.dep
|
49
65
|
|
50
|
-
|
51
|
-
|
66
|
+
|
67
|
+
#### CocoaPods
|
68
|
+
|
69
|
+
# We recommend against adding the Pods directory to your .gitignore. However
|
70
|
+
# you should judge for yourself, the pros and cons are mentioned at:
|
71
|
+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
|
72
|
+
|
73
|
+
Pods/
|
74
|
+
|
75
|
+
|
76
|
+
#### Carthage
|
77
|
+
|
78
|
+
# Add this line if you want to avoid checking in source code from Carthage dependencies.
|
79
|
+
# Carthage/Checkouts
|
80
|
+
|
81
|
+
# Carthage/Build
|
82
|
+
|
83
|
+
|
84
|
+
#### fastlane
|
85
|
+
|
86
|
+
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
|
87
|
+
# screenshots whenever they are needed.
|
88
|
+
# For more information about the recommended setup visit:
|
89
|
+
# https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Gitignore.md
|
90
|
+
|
91
|
+
fastlane/report.xml
|
92
|
+
fastlane/Preview.html
|
93
|
+
fastlane/screenshots
|
94
|
+
fastlane/test_output
|
95
|
+
|
96
|
+
|
97
|
+
#### Code Injection
|
98
|
+
|
99
|
+
# After new code Injection tools there's a generated folder /iOSInjectionProject
|
100
|
+
# https://github.com/johnno1962/injectionforxcode
|
101
|
+
|
102
|
+
iOSInjectionProject/
|
52
103
|
|
53
104
|
GITIGNORE
|
54
105
|
|
@@ -85,9 +136,8 @@ class GitHelper
|
|
85
136
|
end
|
86
137
|
|
87
138
|
new_contents = current_file_contents + contents.split("\n")
|
88
|
-
|
89
139
|
File.open(filename, 'w') do |file|
|
90
140
|
file.write(new_contents.uniq.join("\n"))
|
91
141
|
end
|
92
142
|
end
|
93
|
-
end
|
143
|
+
end
|
data/lib/project_helper.rb
CHANGED
@@ -5,7 +5,7 @@ class ProjectHelper
|
|
5
5
|
PROJECTS = Dir.glob('*.xcodeproj')
|
6
6
|
|
7
7
|
def initialize
|
8
|
-
@project = Xcodeproj::Project.
|
8
|
+
@project = Xcodeproj::Project.open(xcode_project_file)
|
9
9
|
end
|
10
10
|
|
11
11
|
def enable_options(options)
|
@@ -110,6 +110,6 @@ class ProjectHelper
|
|
110
110
|
end
|
111
111
|
|
112
112
|
def save_changes
|
113
|
-
@project.
|
113
|
+
@project.save xcode_project_file
|
114
114
|
end
|
115
|
-
end
|
115
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: crafter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.2'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Krzysztof Zabłocki
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-03-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xcodeproj
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '1.4'
|
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
|
-
version:
|
26
|
+
version: '1.4'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: highline
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -75,9 +75,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
75
75
|
version: '0'
|
76
76
|
requirements: []
|
77
77
|
rubyforge_project:
|
78
|
-
rubygems_version: 2.
|
78
|
+
rubygems_version: 2.5.1
|
79
79
|
signing_key:
|
80
80
|
specification_version: 4
|
81
81
|
summary: Define your craft rules once, then apply it to all your Xcode projects.
|
82
82
|
test_files: []
|
83
|
-
has_rdoc:
|