crafter 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.idea/workspace.xml +85 -61
- data/bin/crafter +4 -2
- data/craft.gemspec +1 -1
- data/lib/config/default.rb +16 -56
- data/lib/config/default_scripts.rb +52 -0
- data/lib/crafter.rb +13 -0
- data/lib/project_helper.rb +2 -2
- data/lib/target_configuration.rb +3 -2
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bbdb5f063d5cc6d04ebeffe0f6c32eb57e2160cc
|
4
|
+
data.tar.gz: abb7df528cb65029514055dc36b09be28eb0d186
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 673e2a03b87918de15a1e14a2fd7bd9a10192041ac95fb7576bbab29d85af5dfe2ec26c799c430a61adea569f6c09a299c2a2a83796999fc6fe33431ef5ef253
|
7
|
+
data.tar.gz: e604ef305fb4c6029057a094cf7215f50bd618c01ce1371739ad1f2f6a840c548ef0842db6e066d6e0d7472ca983d79de3481c37cc538469c97a57bf9d4dd7ed
|
data/.idea/workspace.xml
CHANGED
@@ -1,19 +1,29 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<project version="4">
|
3
3
|
<component name="ChangeListManager">
|
4
|
-
<list default="true" id="1c2ddb89-233e-4d24-a76e-018875b6dd93" name="Default" comment="++"
|
4
|
+
<list default="true" id="1c2ddb89-233e-4d24-a76e-018875b6dd93" name="Default" comment="++">
|
5
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/crafter.rb" afterPath="$PROJECT_DIR$/lib/crafter.rb" />
|
6
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/bin/crafter" afterPath="$PROJECT_DIR$/bin/crafter" />
|
7
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/config/default.rb" afterPath="$PROJECT_DIR$/lib/config/default.rb" />
|
8
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/lib/target_configuration.rb" afterPath="$PROJECT_DIR$/lib/target_configuration.rb" />
|
9
|
+
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
10
|
+
</list>
|
5
11
|
<ignored path="takeoff.iws" />
|
6
12
|
<ignored path=".idea/workspace.xml" />
|
7
13
|
<file path="/takeoff.thor" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="1363189032100" ignored="false" />
|
8
|
-
<file path="/project_helper.rb" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="
|
9
|
-
<file path="/temp.rb" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="
|
14
|
+
<file path="/project_helper.rb" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="1367481410582" ignored="false" />
|
15
|
+
<file path="/temp.rb" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="1367418656531" ignored="false" />
|
10
16
|
<file path="/takeoff.rb" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="1367405682357" ignored="false" />
|
11
17
|
<file path="/configuration.rb" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="1363265151762" ignored="false" />
|
12
|
-
<file path="/default.rb" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="
|
13
|
-
<file path="/Dummy.txt" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="
|
18
|
+
<file path="/default.rb" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="1367484095890" ignored="false" />
|
19
|
+
<file path="/Dummy.txt" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="1367487163146" ignored="false" />
|
14
20
|
<file path="$APPLICATION_HOME_DIR$/lib/rubymine.jar!/resources/relaxng.rng" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="1366270630920" ignored="false" />
|
15
|
-
<file path="/target_configuration.rb" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="
|
21
|
+
<file path="/target_configuration.rb" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="1367484633690" ignored="false" />
|
16
22
|
<file path="/craft" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="1367407972026" ignored="false" />
|
23
|
+
<file path="/crafter" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="1367484519852" ignored="false" />
|
24
|
+
<file path="/crafter.rb" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="1367480880558" ignored="false" />
|
25
|
+
<file path="/default_scripts.rb" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="1367418618387" ignored="false" />
|
26
|
+
<file path="/a.dummy" changelist="1c2ddb89-233e-4d24-a76e-018875b6dd93" time="1367487248372" ignored="false" />
|
17
27
|
<option name="TRACKING_ENABLED" value="true" />
|
18
28
|
<option name="SHOW_DIALOG" value="false" />
|
19
29
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
@@ -35,19 +45,10 @@
|
|
35
45
|
<splitter split-orientation="horizontal" split-proportion="0.5">
|
36
46
|
<split-first>
|
37
47
|
<leaf>
|
38
|
-
<file leaf-file-name="craft.rb" pinned="false" current="true" current-in-tab="true">
|
39
|
-
<entry file="file://$PROJECT_DIR$/lib/craft.rb">
|
40
|
-
<provider selected="true" editor-type-id="text-editor">
|
41
|
-
<state line="21" column="33" selection-start="454" selection-end="454" vertical-scroll-proportion="0.24324325">
|
42
|
-
<folding />
|
43
|
-
</state>
|
44
|
-
</provider>
|
45
|
-
</entry>
|
46
|
-
</file>
|
47
48
|
<file leaf-file-name="project_helper.rb" pinned="false" current="false" current-in-tab="false">
|
48
49
|
<entry file="file://$PROJECT_DIR$/lib/project_helper.rb">
|
49
50
|
<provider selected="true" editor-type-id="text-editor">
|
50
|
-
<state line="
|
51
|
+
<state line="58" column="23" selection-start="1752" selection-end="1752" vertical-scroll-proportion="0.0">
|
51
52
|
<folding />
|
52
53
|
</state>
|
53
54
|
</provider>
|
@@ -56,7 +57,7 @@
|
|
56
57
|
<file leaf-file-name="git_helper.rb" pinned="false" current="false" current-in-tab="false">
|
57
58
|
<entry file="file://$PROJECT_DIR$/lib/git_helper.rb">
|
58
59
|
<provider selected="true" editor-type-id="text-editor">
|
59
|
-
<state line="48" column="
|
60
|
+
<state line="48" column="0" selection-start="1405" selection-end="1405" vertical-scroll-proportion="0.0">
|
60
61
|
<folding />
|
61
62
|
</state>
|
62
63
|
</provider>
|
@@ -65,38 +66,56 @@
|
|
65
66
|
<file leaf-file-name="target_configuration.rb" pinned="false" current="false" current-in-tab="false">
|
66
67
|
<entry file="file://$PROJECT_DIR$/lib/target_configuration.rb">
|
67
68
|
<provider selected="true" editor-type-id="text-editor">
|
68
|
-
<state line="
|
69
|
+
<state line="36" column="26" selection-start="757" selection-end="757" vertical-scroll-proportion="0.0">
|
69
70
|
<folding />
|
70
71
|
</state>
|
71
72
|
</provider>
|
72
73
|
</entry>
|
73
74
|
</file>
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
75
|
+
<file leaf-file-name="default_scripts.rb" pinned="false" current="false" current-in-tab="false">
|
76
|
+
<entry file="file://$PROJECT_DIR$/lib/config/default_scripts.rb">
|
77
|
+
<provider selected="true" editor-type-id="text-editor">
|
78
|
+
<state line="17" column="36" selection-start="575" selection-end="575" vertical-scroll-proportion="0.0">
|
79
|
+
<folding />
|
80
|
+
</state>
|
81
|
+
</provider>
|
82
|
+
</entry>
|
83
|
+
</file>
|
84
|
+
<file leaf-file-name="crafter.rb" pinned="false" current="false" current-in-tab="false">
|
85
|
+
<entry file="file://$PROJECT_DIR$/lib/crafter.rb">
|
86
|
+
<provider selected="true" editor-type-id="text-editor">
|
87
|
+
<state line="6" column="3" selection-start="171" selection-end="171" vertical-scroll-proportion="0.0">
|
88
|
+
<folding />
|
89
|
+
</state>
|
90
|
+
</provider>
|
91
|
+
</entry>
|
92
|
+
</file>
|
93
|
+
<file leaf-file-name="default.rb" pinned="false" current="false" current-in-tab="false">
|
79
94
|
<entry file="file://$PROJECT_DIR$/lib/config/default.rb">
|
80
95
|
<provider selected="true" editor-type-id="text-editor">
|
81
|
-
<state line="
|
96
|
+
<state line="51" column="64" selection-start="2045" selection-end="2045" vertical-scroll-proportion="0.0">
|
82
97
|
<folding />
|
83
98
|
</state>
|
84
99
|
</provider>
|
85
100
|
</entry>
|
86
101
|
</file>
|
87
|
-
<file leaf-file-name="
|
88
|
-
<entry file="file://$PROJECT_DIR$/bin/
|
102
|
+
<file leaf-file-name="crafter" pinned="false" current="true" current-in-tab="true">
|
103
|
+
<entry file="file://$PROJECT_DIR$/bin/crafter">
|
89
104
|
<provider selected="true" editor-type-id="text-editor">
|
90
|
-
<state line="
|
105
|
+
<state line="13" column="24" selection-start="363" selection-end="363" vertical-scroll-proportion="0.22700815">
|
91
106
|
<folding />
|
92
107
|
</state>
|
93
108
|
</provider>
|
94
109
|
</entry>
|
95
110
|
</file>
|
96
|
-
|
111
|
+
</leaf>
|
112
|
+
</split-first>
|
113
|
+
<split-second>
|
114
|
+
<leaf>
|
115
|
+
<file leaf-file-name="craft.gemspec" pinned="false" current="false" current-in-tab="true">
|
97
116
|
<entry file="file://$PROJECT_DIR$/craft.gemspec">
|
98
117
|
<provider selected="true" editor-type-id="text-editor">
|
99
|
-
<state line="
|
118
|
+
<state line="10" column="43" selection-start="523" selection-end="523" vertical-scroll-proportion="0.17462166">
|
100
119
|
<folding />
|
101
120
|
</state>
|
102
121
|
</provider>
|
@@ -126,11 +145,16 @@
|
|
126
145
|
<option value="$PROJECT_DIR$/lib/takeoff.thor" />
|
127
146
|
<option value="$PROJECT_DIR$/lib/configuration.rb" />
|
128
147
|
<option value="$PROJECT_DIR$/lib/config/configuration.rb" />
|
129
|
-
<option value="$PROJECT_DIR$/lib/config/default.rb" />
|
130
148
|
<option value="$PROJECT_DIR$/lib/takeoff.rb" />
|
131
|
-
<option value="$PROJECT_DIR$/lib/target_configuration.rb" />
|
132
|
-
<option value="$PROJECT_DIR$/lib/project_helper.rb" />
|
133
149
|
<option value="$PROJECT_DIR$/bin/craft" />
|
150
|
+
<option value="$PROJECT_DIR$/lib/config/scripts.rb" />
|
151
|
+
<option value="$PROJECT_DIR$/lib/config/default_scripts.rb" />
|
152
|
+
<option value="$PROJECT_DIR$/craft.gemspec" />
|
153
|
+
<option value="$PROJECT_DIR$/lib/project_helper.rb" />
|
154
|
+
<option value="$PROJECT_DIR$/bin/crafter" />
|
155
|
+
<option value="$PROJECT_DIR$/lib/config/default.rb" />
|
156
|
+
<option value="$PROJECT_DIR$/lib/target_configuration.rb" />
|
157
|
+
<option value="$PROJECT_DIR$/lib/crafter.rb" />
|
134
158
|
</list>
|
135
159
|
</option>
|
136
160
|
</component>
|
@@ -215,7 +239,6 @@
|
|
215
239
|
<sortByType />
|
216
240
|
</navigator>
|
217
241
|
<panes>
|
218
|
-
<pane id="Scope" />
|
219
242
|
<pane id="ProjectPane">
|
220
243
|
<subPane>
|
221
244
|
<PATH>
|
@@ -230,7 +253,7 @@
|
|
230
253
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
231
254
|
</PATH_ELEMENT>
|
232
255
|
<PATH_ELEMENT>
|
233
|
-
<option name="myItemId" value="
|
256
|
+
<option name="myItemId" value="crafter" />
|
234
257
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
235
258
|
</PATH_ELEMENT>
|
236
259
|
</PATH>
|
@@ -240,7 +263,7 @@
|
|
240
263
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
241
264
|
</PATH_ELEMENT>
|
242
265
|
<PATH_ELEMENT>
|
243
|
-
<option name="myItemId" value="
|
266
|
+
<option name="myItemId" value="crafter" />
|
244
267
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
245
268
|
</PATH_ELEMENT>
|
246
269
|
<PATH_ELEMENT>
|
@@ -254,7 +277,7 @@
|
|
254
277
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
255
278
|
</PATH_ELEMENT>
|
256
279
|
<PATH_ELEMENT>
|
257
|
-
<option name="myItemId" value="
|
280
|
+
<option name="myItemId" value="crafter" />
|
258
281
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
259
282
|
</PATH_ELEMENT>
|
260
283
|
<PATH_ELEMENT>
|
@@ -272,7 +295,7 @@
|
|
272
295
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
|
273
296
|
</PATH_ELEMENT>
|
274
297
|
<PATH_ELEMENT>
|
275
|
-
<option name="myItemId" value="
|
298
|
+
<option name="myItemId" value="crafter" />
|
276
299
|
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
|
277
300
|
</PATH_ELEMENT>
|
278
301
|
<PATH_ELEMENT>
|
@@ -282,16 +305,17 @@
|
|
282
305
|
</PATH>
|
283
306
|
</subPane>
|
284
307
|
</pane>
|
308
|
+
<pane id="Scope" />
|
285
309
|
</panes>
|
286
310
|
</component>
|
287
311
|
<component name="PropertiesComponent">
|
288
312
|
<property name="options.splitter.main.proportions" value="0.3" />
|
289
313
|
<property name="WebServerToolWindowFactoryState" value="false" />
|
290
|
-
<property name="recentsLimit" value="5" />
|
291
314
|
<property name="options.lastSelected" value="editor.preferences.appearance" />
|
315
|
+
<property name="recentsLimit" value="5" />
|
292
316
|
<property name="FullScreen" value="false" />
|
293
|
-
<property name="options.splitter.details.proportions" value="0.2" />
|
294
317
|
<property name="options.searchVisible" value="true" />
|
318
|
+
<property name="options.splitter.details.proportions" value="0.2" />
|
295
319
|
</component>
|
296
320
|
<component name="RecentsManager">
|
297
321
|
<key name="MoveFile.RECENT_KEYS">
|
@@ -509,10 +533,10 @@
|
|
509
533
|
<layout>
|
510
534
|
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32955405" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
511
535
|
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32955405" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
512
|
-
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="
|
536
|
+
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32955405" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
513
537
|
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
514
538
|
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
515
|
-
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.
|
539
|
+
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.14661355" sideWeight="0.670446" order="0" side_tool="false" content_ui="combo" />
|
516
540
|
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39984593" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
517
541
|
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
518
542
|
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32955405" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
@@ -593,11 +617,6 @@
|
|
593
617
|
</breakpoint-manager>
|
594
618
|
</component>
|
595
619
|
<component name="editorHistoryManager">
|
596
|
-
<entry file="file://$USER_HOME$/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/ostruct.rb">
|
597
|
-
<provider selected="true" editor-type-id="text-editor">
|
598
|
-
<state line="164" column="6" selection-start="4915" selection-end="4915" vertical-scroll-proportion="2.366548" />
|
599
|
-
</provider>
|
600
|
-
</entry>
|
601
620
|
<entry file="file://$USER_HOME$/.rvm/gems/ruby-1.9.3-p194/gems/activesupport-3.2.12/lib/active_support/core_ext/string/starts_ends_with.rb">
|
602
621
|
<provider selected="true" editor-type-id="text-editor">
|
603
622
|
<state line="1" column="2" selection-start="15" selection-end="15" vertical-scroll-proportion="0.018979834" />
|
@@ -635,56 +654,61 @@
|
|
635
654
|
</entry>
|
636
655
|
<entry file="file://$USER_HOME$/.rvm/gems/ruby-1.9.3-p194/gems/highline-1.6.15/lib/highline.rb">
|
637
656
|
<provider selected="true" editor-type-id="text-editor">
|
638
|
-
<state line="315" column="6" selection-start="12130" selection-end="12130" vertical-scroll-proportion="0.1757858"
|
657
|
+
<state line="315" column="6" selection-start="12130" selection-end="12130" vertical-scroll-proportion="0.1757858" />
|
658
|
+
</provider>
|
659
|
+
</entry>
|
660
|
+
<entry file="file://$PROJECT_DIR$/craft.gemspec">
|
661
|
+
<provider selected="true" editor-type-id="text-editor">
|
662
|
+
<state line="10" column="43" selection-start="523" selection-end="523" vertical-scroll-proportion="0.17462166">
|
639
663
|
<folding />
|
640
664
|
</state>
|
641
665
|
</provider>
|
642
666
|
</entry>
|
643
|
-
<entry file="file://$PROJECT_DIR$/
|
667
|
+
<entry file="file://$PROJECT_DIR$/lib/config/default_scripts.rb">
|
644
668
|
<provider selected="true" editor-type-id="text-editor">
|
645
|
-
<state line="
|
669
|
+
<state line="17" column="36" selection-start="575" selection-end="575" vertical-scroll-proportion="0.0">
|
646
670
|
<folding />
|
647
671
|
</state>
|
648
672
|
</provider>
|
649
673
|
</entry>
|
650
|
-
<entry file="file://$PROJECT_DIR$/lib/
|
674
|
+
<entry file="file://$PROJECT_DIR$/lib/project_helper.rb">
|
651
675
|
<provider selected="true" editor-type-id="text-editor">
|
652
|
-
<state line="
|
676
|
+
<state line="58" column="23" selection-start="1752" selection-end="1752" vertical-scroll-proportion="0.0">
|
653
677
|
<folding />
|
654
678
|
</state>
|
655
679
|
</provider>
|
656
680
|
</entry>
|
657
|
-
<entry file="file://$PROJECT_DIR$/lib/
|
681
|
+
<entry file="file://$PROJECT_DIR$/lib/target_configuration.rb">
|
658
682
|
<provider selected="true" editor-type-id="text-editor">
|
659
|
-
<state line="
|
683
|
+
<state line="36" column="26" selection-start="757" selection-end="757" vertical-scroll-proportion="0.0">
|
660
684
|
<folding />
|
661
685
|
</state>
|
662
686
|
</provider>
|
663
687
|
</entry>
|
664
|
-
<entry file="file://$PROJECT_DIR$/lib/
|
688
|
+
<entry file="file://$PROJECT_DIR$/lib/config/default.rb">
|
665
689
|
<provider selected="true" editor-type-id="text-editor">
|
666
|
-
<state line="
|
690
|
+
<state line="51" column="64" selection-start="2045" selection-end="2045" vertical-scroll-proportion="0.0">
|
667
691
|
<folding />
|
668
692
|
</state>
|
669
693
|
</provider>
|
670
694
|
</entry>
|
671
|
-
<entry file="file://$PROJECT_DIR$/
|
695
|
+
<entry file="file://$PROJECT_DIR$/lib/git_helper.rb">
|
672
696
|
<provider selected="true" editor-type-id="text-editor">
|
673
|
-
<state line="
|
697
|
+
<state line="48" column="0" selection-start="1405" selection-end="1405" vertical-scroll-proportion="0.0">
|
674
698
|
<folding />
|
675
699
|
</state>
|
676
700
|
</provider>
|
677
701
|
</entry>
|
678
|
-
<entry file="file://$PROJECT_DIR$/lib/
|
702
|
+
<entry file="file://$PROJECT_DIR$/lib/crafter.rb">
|
679
703
|
<provider selected="true" editor-type-id="text-editor">
|
680
|
-
<state line="
|
704
|
+
<state line="6" column="3" selection-start="171" selection-end="171" vertical-scroll-proportion="0.0">
|
681
705
|
<folding />
|
682
706
|
</state>
|
683
707
|
</provider>
|
684
708
|
</entry>
|
685
|
-
<entry file="file://$PROJECT_DIR$/
|
709
|
+
<entry file="file://$PROJECT_DIR$/bin/crafter">
|
686
710
|
<provider selected="true" editor-type-id="text-editor">
|
687
|
-
<state line="
|
711
|
+
<state line="13" column="24" selection-start="363" selection-end="363" vertical-scroll-proportion="0.22700815">
|
688
712
|
<folding />
|
689
713
|
</state>
|
690
714
|
</provider>
|
data/bin/crafter
CHANGED
@@ -4,10 +4,12 @@ require 'fileutils'
|
|
4
4
|
$:.push File.expand_path("../../lib", __FILE__)
|
5
5
|
|
6
6
|
if ARGV[0] == 'reset'
|
7
|
-
puts '
|
7
|
+
puts 'reseting to default setup in ~/.crafter.rb'
|
8
8
|
root = File.expand_path('.', File.dirname(__FILE__))
|
9
9
|
FileUtils.cp("#{root}/../lib/config/default.rb", File.join(Dir.home, '.crafter.rb'))
|
10
|
+
exit(0)
|
10
11
|
end
|
11
12
|
|
12
13
|
require 'crafter'
|
13
|
-
Crafter::setup_project()
|
14
|
+
Crafter::setup_project()
|
15
|
+
puts 'Finished.'
|
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.1.
|
6
|
+
gem.version = '0.1.3'
|
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.}
|
data/lib/config/default.rb
CHANGED
@@ -1,56 +1,13 @@
|
|
1
|
-
|
2
|
-
commit=`git rev-parse --short HEAD`
|
3
|
-
branch=`git rev-parse --abbrev-ref HEAD`
|
4
|
-
version=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${INFOPLIST_FILE}"`
|
5
|
-
|
6
|
-
function processIcon() {
|
7
|
-
export PATH=$PATH:/usr/local/bin
|
8
|
-
base_file=$1
|
9
|
-
if [ ! -f $base_file ]; then return; fi
|
10
|
-
|
11
|
-
target_file=`echo $base_file | sed "s/_base//"`
|
12
|
-
target_path="${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${target_file}"
|
13
|
-
|
14
|
-
if [ $CONFIGURATION = "Release" ]; then
|
15
|
-
cp ${base_file} $target_path
|
16
|
-
return
|
17
|
-
fi
|
18
|
-
|
19
|
-
width=`identify -format %w ${base_file}`
|
20
|
-
|
21
|
-
convert -background '#0008' -fill white -gravity center -size ${width}x40\
|
22
|
-
caption:"${version} ${branch} ${commit}"\
|
23
|
-
${base_file} +swap -gravity south -composite ${target_path}
|
24
|
-
}
|
25
|
-
|
26
|
-
processIcon "Icon_base.png"
|
27
|
-
processIcon "Icon_base@2x.png"
|
28
|
-
processIcon "Icon_base~iPad.png"
|
29
|
-
processIcon "Icon_base@2x~iPad.png"
|
30
|
-
]
|
31
|
-
|
32
|
-
|
33
|
-
test_script = %q[
|
34
|
-
# Launch application using ios-sim and set up environment to inject test bundle into application
|
35
|
-
# Source: http://stackoverflow.com/a/12682617/504494
|
36
|
-
|
37
|
-
echo "ENTERING TEST SCRIPT"
|
38
|
-
|
39
|
-
if [ "$RUN_UNIT_TEST_WITH_IOS_SIM" = "YES" ]; then
|
40
|
-
echo "TESTING_"
|
41
|
-
test_bundle_path="$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.$WRAPPER_EXTENSION"
|
42
|
-
ios-sim launch "$(dirname "$TEST_HOST")" --setenv DYLD_INSERT_LIBRARIES=/../../Library/PrivateFrameworks/IDEBundleInjection.framework/IDEBundleInjection --setenv XCInjectBundle="$test_bundle_path" --setenv XCInjectBundleInto="$TEST_HOST" --args -SenTest All "$test_bundle_path"
|
43
|
-
echo "Finished running tests with ios-sim"
|
44
|
-
else
|
45
|
-
#"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"
|
46
|
-
fi
|
47
|
-
]
|
1
|
+
load "#{Crafter::ROOT}/config/default_scripts.rb"
|
48
2
|
|
3
|
+
# All your configuration should happen inside configure block
|
49
4
|
Crafter.configure do
|
5
|
+
# This are projects wide instructions
|
50
6
|
add_platform({:platform => :ios, :deployment => 6.0})
|
51
7
|
add_git_ignore
|
52
8
|
duplicate_configurations({:adhoc => :debug, :profiling => :debug})
|
53
9
|
|
10
|
+
# set of options, warnings, static analyser and anything else normal xcode treats as build options
|
54
11
|
set_options %w(
|
55
12
|
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED
|
56
13
|
GCC_WARN_MISSING_PARENTHESES
|
@@ -71,24 +28,28 @@ Crafter.configure do
|
|
71
28
|
GCC_TREAT_WARNINGS_AS_ERRORS
|
72
29
|
)
|
73
30
|
|
31
|
+
# target specific options, :default is just a name for you, feel free to call it whatever you like
|
74
32
|
with :default do
|
33
|
+
# each target have set of pods
|
75
34
|
pods << %w(NSLogger-CocoaLumberjack-connector TestFlightSDK)
|
76
35
|
|
36
|
+
# each target can have optional blocks, eg. crafter will ask you if you want to include networking with a project
|
77
37
|
add_option :networking do
|
78
38
|
pods << 'AFNetworking'
|
79
39
|
end
|
80
40
|
|
81
|
-
|
82
41
|
add_option :coredata do
|
83
42
|
pods << 'MagicalRecord'
|
84
43
|
end
|
85
44
|
|
86
|
-
# icon versioning
|
87
|
-
scripts << {:name => 'icon versioning', :script =>
|
45
|
+
# each target can have shell scripts added, in this example we are adding my icon versioning script as in http://www.merowing.info/2013/03/overlaying-application-version-on-top-of-your-icon/
|
46
|
+
scripts << {:name => 'icon versioning', :script => @icon_versioning_script}
|
47
|
+
|
48
|
+
# we can also execute arbitrary ruby code when configuring our projects, here we rename all our standard icon* to icon_base for versioning script
|
88
49
|
icon_rename = proc do |file|
|
89
50
|
extension = File.extname(file)
|
90
51
|
file_name = File.basename(file, extension)
|
91
|
-
File.rename(file, "#{File.dirname(file)}/#{file_name}_base
|
52
|
+
File.rename(file, "#{File.dirname(file)}/#{file_name}_base#{extension}")
|
92
53
|
end
|
93
54
|
|
94
55
|
Dir['**/Icon.png'].each(&icon_rename)
|
@@ -97,12 +58,11 @@ Crafter.configure do
|
|
97
58
|
Dir['**/Icon-72@2x.png'].each(&icon_rename)
|
98
59
|
end
|
99
60
|
|
100
|
-
|
61
|
+
# more targets setup
|
101
62
|
with :tests do
|
102
|
-
add_option :
|
63
|
+
add_option :kiwi do
|
103
64
|
pods << 'Kiwi'
|
104
|
-
scripts << {:name => 'command line unit tests', :script =>
|
65
|
+
scripts << {:name => 'command line unit tests', :script => @command_line_test_script}
|
105
66
|
end
|
106
67
|
end
|
107
|
-
|
108
|
-
end
|
68
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Crafter
|
2
|
+
extend self
|
3
|
+
|
4
|
+
@icon_versioning_script = %q[
|
5
|
+
commit=`git rev-parse --short HEAD`
|
6
|
+
branch=`git rev-parse --abbrev-ref HEAD`
|
7
|
+
version=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${INFOPLIST_FILE}"`
|
8
|
+
|
9
|
+
function processIcon() {
|
10
|
+
export PATH=$PATH:/usr/local/bin
|
11
|
+
base_file=$1
|
12
|
+
if [ ! -f $base_file ]; then return; fi
|
13
|
+
|
14
|
+
target_file=`echo $base_file | sed "s/_base//"`
|
15
|
+
target_path="${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/${target_file}"
|
16
|
+
|
17
|
+
if [ $CONFIGURATION = "Release" ]; then
|
18
|
+
cp ${base_file} $target_path
|
19
|
+
return
|
20
|
+
fi
|
21
|
+
|
22
|
+
width=`identify -format %w ${base_file}`
|
23
|
+
|
24
|
+
convert -background '#0008' -fill white -gravity center -size ${width}x40\
|
25
|
+
caption:"${version} ${branch} ${commit}"\
|
26
|
+
${base_file} +swap -gravity south -composite ${target_path}
|
27
|
+
}
|
28
|
+
|
29
|
+
processIcon "Icon_base.png"
|
30
|
+
processIcon "Icon_base@2x.png"
|
31
|
+
processIcon "Icon_base~iPad.png"
|
32
|
+
processIcon "Icon_base@2x~iPad.png"
|
33
|
+
]
|
34
|
+
|
35
|
+
|
36
|
+
@command_line_test_script = %q[
|
37
|
+
# Launch application using ios-sim and set up environment to inject test bundle into application
|
38
|
+
# Source: http://stackoverflow.com/a/12682617/504494
|
39
|
+
|
40
|
+
echo "ENTERING TEST SCRIPT"
|
41
|
+
|
42
|
+
if [ "$RUN_UNIT_TEST_WITH_IOS_SIM" = "YES" ]; then
|
43
|
+
echo "TESTING_"
|
44
|
+
test_bundle_path="$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.$WRAPPER_EXTENSION"
|
45
|
+
ios-sim launch "$(dirname "$TEST_HOST")" --setenv DYLD_INSERT_LIBRARIES=/../../Library/PrivateFrameworks/IDEBundleInjection.framework/IDEBundleInjection --setenv XCInjectBundle="$test_bundle_path" --setenv XCInjectBundleInto="$TEST_HOST" --args -SenTest All "$test_bundle_path"
|
46
|
+
echo "Finished running tests with ios-sim"
|
47
|
+
else
|
48
|
+
#"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests"
|
49
|
+
fi
|
50
|
+
]
|
51
|
+
|
52
|
+
end
|
data/lib/crafter.rb
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
unless Kernel.respond_to?(:require_relative)
|
2
|
+
module Kernel
|
3
|
+
def require_relative(path)
|
4
|
+
require File.join(File.dirname(caller[0]), path.to_str)
|
5
|
+
end
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
1
9
|
require_relative 'project_helper'
|
2
10
|
require_relative 'git_helper'
|
3
11
|
require_relative 'target_configuration'
|
@@ -56,6 +64,7 @@ module Crafter
|
|
56
64
|
end
|
57
65
|
|
58
66
|
def process_configurations
|
67
|
+
puts 'duplicating configurations'
|
59
68
|
self.project.duplicate_configurations(@configuration)
|
60
69
|
end
|
61
70
|
|
@@ -64,14 +73,17 @@ module Crafter
|
|
64
73
|
end
|
65
74
|
|
66
75
|
def process_options
|
76
|
+
puts 'setting up variety of options'
|
67
77
|
self.project.enable_options(@options)
|
68
78
|
end
|
69
79
|
|
70
80
|
def process_git
|
81
|
+
puts 'preparing git ignore'
|
71
82
|
GitHelper.new.generate_files
|
72
83
|
end
|
73
84
|
|
74
85
|
def process_pods
|
86
|
+
puts 'preparing pod file'
|
75
87
|
File.open('Podfile', File::WRONLY|File::CREAT|File::EXCL) do |f|
|
76
88
|
|
77
89
|
@platforms.each do |hash|
|
@@ -92,6 +104,7 @@ module Crafter
|
|
92
104
|
end
|
93
105
|
|
94
106
|
def process_scripts
|
107
|
+
puts 'adding scripts'
|
95
108
|
@targets.each { |_, v| v.process_scripts(self.project) }
|
96
109
|
end
|
97
110
|
|
data/lib/project_helper.rb
CHANGED
@@ -19,7 +19,7 @@ class ProjectHelper
|
|
19
19
|
|
20
20
|
def add_shell_script(target, name, script)
|
21
21
|
if target.shell_script_build_phases.to_a.index { |phase| phase.name == name }
|
22
|
-
puts "Skipping adding
|
22
|
+
puts "Skipping adding \"#{name}\" script for target #{target} as it already exist"
|
23
23
|
else
|
24
24
|
target.new_shell_script_build_phase(name).shell_script = script
|
25
25
|
save_changes
|
@@ -81,7 +81,7 @@ class ProjectHelper
|
|
81
81
|
|
82
82
|
def choose_item(title, objects)
|
83
83
|
if objects.empty?
|
84
|
-
raise
|
84
|
+
raise 'Could not locate any Targets!'
|
85
85
|
elsif objects.size == 1
|
86
86
|
objects.first
|
87
87
|
else
|
data/lib/target_configuration.rb
CHANGED
@@ -17,7 +17,7 @@ class TargetConfiguration
|
|
17
17
|
def process_optional
|
18
18
|
@options.each do |key, obj|
|
19
19
|
key_string = key.to_s
|
20
|
-
if ask_question "do you want to add #{key_string}?"
|
20
|
+
if ask_question "do you want to add #{key_string}? [Yn]"
|
21
21
|
raise unless obj.is_a? Proc
|
22
22
|
obj.call()
|
23
23
|
end
|
@@ -25,9 +25,10 @@ class TargetConfiguration
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def write_pods(f)
|
28
|
+
return if @pods.empty?
|
28
29
|
f.puts "target :#{@target.name}, :exclusive => true do"
|
29
30
|
pods.flatten.each do |pod|
|
30
|
-
f.puts "pod '#{pod}'"
|
31
|
+
f.puts " pod '#{pod}'"
|
31
32
|
end
|
32
33
|
f.puts 'end'
|
33
34
|
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.1.
|
4
|
+
version: 0.1.3
|
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: 2013-05-
|
11
|
+
date: 2013-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xcodeproj
|
@@ -57,6 +57,7 @@ files:
|
|
57
57
|
- bin/crafter
|
58
58
|
- craft.gemspec
|
59
59
|
- lib/config/default.rb
|
60
|
+
- lib/config/default_scripts.rb
|
60
61
|
- lib/crafter.rb
|
61
62
|
- lib/git_helper.rb
|
62
63
|
- lib/project_helper.rb
|