nixenvironment 0.0.9 → 0.0.10
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/.gitignore +2 -1
- data/README.md +5 -3
- data/bin/Config +38 -0
- data/bin/nixenvironment +63 -21
- data/lib/nixenvironment/version.rb +1 -1
- 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: 6038c1ba13612621fdf47bea372dcc0967e48e4b
|
4
|
+
data.tar.gz: 41b2f2670e4bbc5ba47910a0370cec404dc103dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57c4ac0d9615bfef6ea692d0b612c4520ba69ba0bf600d13e575c5f11055318ee57b5c78db2e9c72e1ce5cb953a5ce63fe631fba187c7244386221307de7bc3f
|
7
|
+
data.tar.gz: c77c38efa209d4f9fa4c1e097c0544dfb57b51ee27d8b639cda07ed669af5dfb0356ec9df2049852d9f66b53ba7d1d7a593f409111bc3f694b2cf336e39285a2
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -15,6 +15,8 @@ Nixenvironment installs, updates and manages inner NIX environment stuff to make
|
|
15
15
|
clean # Remove temp files and clean all targets for xcode project
|
16
16
|
|
17
17
|
clean_working_copy # Make working copy clean
|
18
|
+
|
19
|
+
code_coverage # Generate xctest unit tests code coverage report
|
18
20
|
|
19
21
|
code_duplication_report # Generate code duplication report
|
20
22
|
|
@@ -26,7 +28,7 @@ Nixenvironment installs, updates and manages inner NIX environment stuff to make
|
|
26
28
|
|
27
29
|
tag # Make SVN/git/mercurial tag, SCM_USERNAME and SCM_PASSWORD must be defined on calling this target
|
28
30
|
|
29
|
-
test # Build unit tests and run them in simulator
|
31
|
+
test # Build xctest unit tests and run them in simulator
|
30
32
|
|
31
33
|
update # Install or update ninbas and other environment stuff
|
32
34
|
|
@@ -61,5 +63,5 @@ Nixenvironment installs, updates and manages inner NIX environment stuff to make
|
|
61
63
|
|
62
64
|
1. Move project adjuster to this gem.
|
63
65
|
2. Implement bunch ipa making and deployment.
|
64
|
-
3.
|
65
|
-
4. Rewrite
|
66
|
+
3. Rewrite XcodeIconTagger/tagIcons.sh and use it in prebuild method.
|
67
|
+
4. Rewrite README for ninbas!
|
data/bin/Config
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
---
|
2
|
+
# set these vars if you have multiple projects in the root directory:
|
3
|
+
PROJECT_TO_BUILD:
|
4
|
+
PROJECT_TARGET_TO_BUILD:
|
5
|
+
PROJECT_TARGET_TO_TEST:
|
6
|
+
|
7
|
+
# OR set these vars if you want to build the workspace instead of the project:
|
8
|
+
WORKSPACE_TO_BUILD: NIXProject.xcworkspace
|
9
|
+
WORKSPACE_SCHEME_TO_BUILD: Application
|
10
|
+
WORKSPACE_SCHEME_TO_TEST: Tests
|
11
|
+
|
12
|
+
# for osx projects sdk should be macosx10.8 or macosx10.7
|
13
|
+
SDK: iphoneos
|
14
|
+
SDK_FOR_TESTS: iphonesimulator
|
15
|
+
|
16
|
+
EXCLUDE_PATTERN_FOR_CODE_COVERAGE: ".*/Vendor/.*|.*/Tests/.*"
|
17
|
+
EXCLUDE_PATTERN_FOR_CODE_DUPLICATION: "**/Vendor|**/Scripts"
|
18
|
+
|
19
|
+
# you shouldn't touch these variables, because they will be defined on the CI server:
|
20
|
+
# DEPLOY_HOST:
|
21
|
+
# DEPLOY_PATH:
|
22
|
+
# DEPLOY_USERNAME:
|
23
|
+
# DEPLOY_PASSWORD:
|
24
|
+
|
25
|
+
# set these var if you want to add build number on icon
|
26
|
+
ICONS_PATH: Resources/Icons
|
27
|
+
|
28
|
+
# Specifies the device to be used as destination
|
29
|
+
XCTEST_DESTINATION_DEVICE: platform=iOS Simulator,name=iPhone 5,OS=latest
|
30
|
+
|
31
|
+
# Configuration of code coverage
|
32
|
+
CONFIGURATION_FILES_PATH: ./Scripts/ConfigurationFiles
|
33
|
+
CODE_COVERAGE_CONFIGURATION: /CodeCoverage/CodeCoverageConfiguration.xcconfig
|
34
|
+
CODE_COVERAGE_OUTPUT_DIRECTORY: ./Coverage/
|
35
|
+
|
36
|
+
ENV_VAR_PREFIX: NIXENV_
|
37
|
+
|
38
|
+
INFOPLIST_PATH: Resources/Plists/Info.plist
|
data/bin/nixenvironment
CHANGED
@@ -26,9 +26,11 @@ command :build do |c|
|
|
26
26
|
c.description = 'Build project for selected configuration and make signed/resigned ipa'
|
27
27
|
c.option '--config NAME', String, 'Select configuration'
|
28
28
|
c.option '--ipa NAME', String, 'Select sign'
|
29
|
+
c.option '--ci_build VALUE', String, 'Define NIXENV_CI_BUILD environment variable'
|
29
30
|
c.action do |args, options|
|
30
|
-
options.default :config => 'Debug', :ipa => 'ipa'
|
31
|
+
options.default :config => 'Debug', :ipa => 'ipa', :ci_build => 'yes'
|
31
32
|
read_config
|
33
|
+
enable_ci_build(options.ci_build)
|
32
34
|
build_settings = setup(options.config)
|
33
35
|
prebuild(build_settings)
|
34
36
|
build(options.config, options.ipa)
|
@@ -55,16 +57,25 @@ end
|
|
55
57
|
|
56
58
|
command :test do |c|
|
57
59
|
c.syntax = 'nixenvironment test'
|
58
|
-
c.description = 'Build unit tests and run them in simulator'
|
60
|
+
c.description = 'Build xctest unit tests and run them in simulator'
|
59
61
|
c.action do |args, options|
|
60
62
|
read_config
|
61
63
|
test
|
62
64
|
end
|
63
65
|
end
|
64
66
|
|
67
|
+
command :code_coverage do |c|
|
68
|
+
c.syntax = 'nixenvironment code_coverage'
|
69
|
+
c.description = 'Generate xctest unit tests code coverage report'
|
70
|
+
c.action do |args, options|
|
71
|
+
read_config
|
72
|
+
code_coverage
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
65
76
|
command :code_duplication_report do |c|
|
66
77
|
c.syntax = 'nixenvironment code_duplication_report'
|
67
|
-
c.description = 'Generate code duplication report'
|
78
|
+
c.description = 'Generate code duplication report for xctest'
|
68
79
|
c.action do |args, options|
|
69
80
|
read_config
|
70
81
|
code_duplication_report
|
@@ -147,12 +158,22 @@ end
|
|
147
158
|
|
148
159
|
def read_config
|
149
160
|
begin
|
150
|
-
@config = YAML.load(File.read('Config'))
|
161
|
+
@config = YAML.load(File.read(File.join(File.dirname(__FILE__), 'Config')))
|
151
162
|
rescue
|
152
163
|
abort('Config file processing error!')
|
153
164
|
end
|
154
165
|
end
|
155
166
|
|
167
|
+
def enable_ci_build(ci_build)
|
168
|
+
if ci_build == 'yes' or ci_build == 'true' or ci_build == '1' or ci_build == 'on'
|
169
|
+
ENV['NIXENV_CI_BUILD'] = '1'
|
170
|
+
p('CI_BUILD enabled.')
|
171
|
+
else
|
172
|
+
ENV['NIXENV_CI_BUILD'] = nil
|
173
|
+
p('CI_BUILD disabled.')
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
156
177
|
def working_copy_is_clean?
|
157
178
|
is_clean = system("
|
158
179
|
LAST_REVISION_FILE=\"_last_revision.sh\"
|
@@ -258,7 +279,11 @@ def build(config, ipa)
|
|
258
279
|
--configuration \"#{config}\"\
|
259
280
|
--sdk \"#{@config['SDK']}\"\
|
260
281
|
--env-var-prefix \"#{@config['ENV_VAR_PREFIX']}\"")
|
261
|
-
|
282
|
+
|
283
|
+
unless build_success
|
284
|
+
revert_info_plist
|
285
|
+
abort('Build error!')
|
286
|
+
end
|
262
287
|
|
263
288
|
case ipa
|
264
289
|
# create .ipa file from last built app product
|
@@ -278,7 +303,11 @@ def build(config, ipa)
|
|
278
303
|
end
|
279
304
|
|
280
305
|
make_success = system("#{make}") if defined? make
|
281
|
-
|
306
|
+
|
307
|
+
unless make_success
|
308
|
+
revert_info_plist
|
309
|
+
abort("#{make} error!")
|
310
|
+
end
|
282
311
|
end
|
283
312
|
|
284
313
|
def revert_info_plist
|
@@ -312,24 +341,37 @@ def clean
|
|
312
341
|
end
|
313
342
|
|
314
343
|
def test
|
315
|
-
|
316
|
-
|
317
|
-
|
344
|
+
code_coverage_configuration = File.join(@config['CONFIGURATION_FILES_PATH'], @config['CODE_COVERAGE_CONFIGURATION'])
|
345
|
+
timeout = 10
|
346
|
+
ocunit2junit = File.join(BUILD_SCRIPTS_PATH, 'Utils/ocunit2junit')
|
347
|
+
|
348
|
+
run_tests_success = system("xcodebuild -workspace \"#{@config['WORKSPACE_TO_BUILD']}\"\
|
349
|
+
-scheme \"#{@config['WORKSPACE_SCHEME_TO_TEST']}\"\
|
350
|
+
-configuration \"Debug\"\
|
351
|
+
-sdk \"#{@config['SDK_FOR_TESTS']}\"\
|
352
|
+
-xcconfig \"#{code_coverage_configuration}\"\
|
353
|
+
-destination-timeout \"#{timeout}\"\
|
354
|
+
-destination \"#{@config['XCTEST_DESTINATION_DEVICE']}\"\
|
355
|
+
test 2>&1 | \"#{ocunit2junit}\"")
|
318
356
|
|
319
|
-
build_success = system("#{build} --project \"#{@config['PROJECT_TO_BUILD']}\"\
|
320
|
-
--target \"#{@config['PROJECT_TARGET_TO_TEST']}\"\
|
321
|
-
--workspace \"#{@config['WORKSPACE_TO_BUILD']}\"\
|
322
|
-
--scheme \"#{@config['WORKSPACE_SCHEME_TO_TEST']}\"\
|
323
|
-
--configuration \"Release\"\
|
324
|
-
--sdk \"#{@config['SDK_FOR_TESTS']}\"\
|
325
|
-
--env-var-prefix \"#{@config['ENV_VAR_PREFIX']}\"")
|
326
|
-
abort('Build for test error!') unless build_success
|
327
|
-
|
328
|
-
run_tests_success = system("#{run_tests}")
|
329
357
|
abort('Run test error!') unless run_tests_success
|
358
|
+
end
|
330
359
|
|
331
|
-
|
332
|
-
|
360
|
+
def code_coverage
|
361
|
+
generate_code_coverage_report = File.join(BUILD_SCRIPTS_PATH, 'GenerateCodeCoverageForXCTests.sh')
|
362
|
+
code_coverage_configuration = File.join(@config['CONFIGURATION_FILES_PATH'], @config['CODE_COVERAGE_CONFIGURATION'])
|
363
|
+
timeout = 10
|
364
|
+
|
365
|
+
report_success = system("#{generate_code_coverage_report} -workspace \"#{@config['WORKSPACE_TO_BUILD']}\"\
|
366
|
+
-scheme \"#{@config['WORKSPACE_SCHEME_TO_TEST']}\"\
|
367
|
+
-configuration \"Debug\"\
|
368
|
+
-sdk \"#{@config['SDK_FOR_TESTS']}\"\
|
369
|
+
-xcconfig \"#{code_coverage_configuration}\"\
|
370
|
+
-exclude \"#{@config['EXCLUDE_PATTERN_FOR_CODE_COVERAGE']}\"\
|
371
|
+
-output \"#{@config['CODE_COVERAGE_OUTPUT_DIRECTORY']}\"\
|
372
|
+
-destination-timeout \"#{timeout}\"\
|
373
|
+
-destination \"#{@config['XCTEST_DESTINATION_DEVICE']}\"")
|
374
|
+
abort('Code coverage error!') unless report_success
|
333
375
|
end
|
334
376
|
|
335
377
|
def code_duplication_report
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nixenvironment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Karen Arzumanian
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -81,6 +81,7 @@ files:
|
|
81
81
|
- LICENSE.txt
|
82
82
|
- README.md
|
83
83
|
- Rakefile
|
84
|
+
- bin/Config
|
84
85
|
- bin/nixenvironment
|
85
86
|
- gemify.sh
|
86
87
|
- lib/nixenvironment.rb
|