nixenvironment 0.0.60 → 0.0.61
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/nixenvironment +17 -9
- data/lib/nixenvironment/archiver.rb +2 -1
- data/lib/nixenvironment/plist.rb +7 -1
- data/lib/nixenvironment/version.rb +1 -1
- data/lib/nixenvironment/xcodebuild.rb +2 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 15a73175ee07edbc0f5170d24a202e060ce8e40a
|
4
|
+
data.tar.gz: b243443f10988191b70644fed2d8f851a143d6f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 856086dd0722b9fe336935b619b59498de7145f1039af48c9a2945ee7996d87bf1ea162567afb0d9be0d0285cea816fe232db23195e918316b4531f41676ad7f
|
7
|
+
data.tar.gz: 48a96dfc1bf496fdfb93ea58677ae746a4e4b3069a96c3ccf247a50e8ff446e35f824a5f536ee0052c8be122e3d0b096b0ea631828d2191f5971df3408e27965
|
data/bin/nixenvironment
CHANGED
@@ -70,6 +70,7 @@ command :build do |c|
|
|
70
70
|
c.option '--key_alias_password PASSWORD', String, 'Specify the password for accessing an alias name'
|
71
71
|
c.option '--unity_platform TARGET PLATFORM', String, 'Select target platform for unity build (ios or android)'
|
72
72
|
c.option '--ndsym', 'Disable .dsym generation for ios project'
|
73
|
+
c.option '--ci_build', 'Deprecated' # TODO: remove
|
73
74
|
c.option '--icon_tagger MODE', String, 'Set XcodeIconTagger mode (full, short, off)'
|
74
75
|
c.action do |_args, options|
|
75
76
|
options.default :config => 'Debug', :ipa => 'device', :icon_tagger => 'full', :unity_path => 'UNITY'
|
@@ -145,19 +146,28 @@ end
|
|
145
146
|
command :test do |c|
|
146
147
|
c.syntax = 'nixenvironment test'
|
147
148
|
c.description = 'Build xctest unit tests and run them in simulator'
|
148
|
-
c.action
|
149
|
+
c.action do
|
150
|
+
read_config_settings
|
151
|
+
test
|
152
|
+
end
|
149
153
|
end
|
150
154
|
|
151
155
|
command :code_coverage do |c|
|
152
156
|
c.syntax = 'nixenvironment code_coverage'
|
153
157
|
c.description = 'Generate xctest unit tests code coverage report'
|
154
|
-
c.action
|
158
|
+
c.action do
|
159
|
+
read_config_settings
|
160
|
+
code_coverage
|
161
|
+
end
|
155
162
|
end
|
156
163
|
|
157
164
|
command :code_duplication_report do |c|
|
158
165
|
c.syntax = 'nixenvironment code_duplication_report'
|
159
166
|
c.description = 'Generate code duplication report'
|
160
|
-
c.action
|
167
|
+
c.action do
|
168
|
+
read_config_settings
|
169
|
+
code_duplication_report
|
170
|
+
end
|
161
171
|
end
|
162
172
|
|
163
173
|
command :tag do |c|
|
@@ -466,9 +476,6 @@ def unity_build(configuration, unity_platform, unity_path, development_build, ke
|
|
466
476
|
success('IOS project was generated.')
|
467
477
|
|
468
478
|
clean_working_copy(false)
|
469
|
-
|
470
|
-
$project_to_build = 'Unity-iPhone.xcodeproj'
|
471
|
-
$project_target_to_build = 'Unity-iPhone'
|
472
479
|
when 'android'
|
473
480
|
development_build_arg = development_build ? '--development-build' : ''
|
474
481
|
keystore_path_arg = keystore_path ? "--keystore-path #{keystore_path}" : ''
|
@@ -643,20 +650,21 @@ def test
|
|
643
650
|
code_coverage_config = File.join(@config_settings[CONFIGURATION_FILES_PATH_KEY], @config_settings[CODE_COVERAGE_CONFIGURATION_KEY])
|
644
651
|
|
645
652
|
Xcodebuild.test(@config_settings[SDK_FOR_TESTS_KEY], 'Debug', @config_settings[WORKSPACE_TO_BUILD_KEY],
|
646
|
-
@config_settings[WORKSPACE_SCHEME_TO_TEST_KEY], code_coverage_config
|
653
|
+
@config_settings[WORKSPACE_SCHEME_TO_TEST_KEY], code_coverage_config,
|
654
|
+
TESTS_AND_COVERAGE_TIMEOUT, @config_settings[XCTEST_DESTINATION_DEVICE_KEY])
|
647
655
|
|
648
656
|
error('Run test error!') unless Xcodebuild.last_cmd_success?
|
649
657
|
end
|
650
658
|
|
651
659
|
def code_coverage
|
652
|
-
|
660
|
+
code_coverage_config = File.join(@config_settings[CONFIGURATION_FILES_PATH_KEY], @config_settings[CODE_COVERAGE_CONFIGURATION_KEY])
|
653
661
|
|
654
662
|
# TODO: move to Xcodebuild class
|
655
663
|
report_success = system("#{CODE_COVERAGE_REPORT_SCRIPT_PATH} -workspace \"#{@config_settings[WORKSPACE_TO_BUILD_KEY]}\"\
|
656
664
|
-scheme \"#{@config_settings[WORKSPACE_SCHEME_TO_TEST_KEY]}\"\
|
657
665
|
-configuration \"Debug\"\
|
658
666
|
-sdk \"#{@config_settings[SDK_FOR_TESTS_KEY]}\"\
|
659
|
-
-xcconfig \"#{
|
667
|
+
-xcconfig \"#{code_coverage_config}\"\
|
660
668
|
-exclude \"#{@config_settings[EXCLUDE_PATTERN_FOR_CODE_COVERAGE_KEY]}\"\
|
661
669
|
-output \"#{@config_settings[CODE_COVERAGE_OUTPUT_DIRECTORY_KEY]}\"\
|
662
670
|
-destination-timeout \"#{TESTS_AND_COVERAGE_TIMEOUT}\"\
|
@@ -666,7 +666,8 @@ NAME_FOR_DEPLOYMENT='#{configuration}'
|
|
666
666
|
keychain_name = 'XCodeKeys'
|
667
667
|
keychain_path = %x[ security list | grep '#{keychain_name}' | sed 's/\"//g' | xargs ].strip
|
668
668
|
security_report = %x[ #{IDENTITIESLIST_UTILITY_PATH} -k #{keychain_path} ]
|
669
|
-
|
669
|
+
# TODO: investigate encoding issues without implicit .encode('UTF-8')
|
670
|
+
entries = security_report.encode('UTF-8').split(/\n/)
|
670
671
|
entries.to_set
|
671
672
|
end
|
672
673
|
|
data/lib/nixenvironment/plist.rb
CHANGED
@@ -8,7 +8,13 @@ module Nixenvironment
|
|
8
8
|
FORMAT_AUTO = CFPropertyList::List::FORMAT_AUTO
|
9
9
|
|
10
10
|
def self.from_file(path)
|
11
|
-
|
11
|
+
# FIXME
|
12
|
+
# used instead of new(CFPropertyList::List.new(:file => path))
|
13
|
+
# because of odd <ArgumentError: invalid byte sequence in US-ASCII>
|
14
|
+
plist = CFPropertyList::List.new
|
15
|
+
plist.load_str(File.read(path))
|
16
|
+
plist.filename = path
|
17
|
+
new(plist)
|
12
18
|
end
|
13
19
|
|
14
20
|
def self.from_hash(hash)
|
@@ -51,13 +51,14 @@ module Nixenvironment
|
|
51
51
|
# set "Precompile Prefix Header" flag to "NO";
|
52
52
|
# otherwise it can throw error ".pch.pch has been modified since the precompiled header"
|
53
53
|
build_args << 'GCC_PRECOMPILE_PREFIX_HEADER=NO'
|
54
|
+
build_args << 'ENABLE_BITCODE=NO' # need this in order to build unity <= 5.2.0 generated projects. TODO: remove me!
|
54
55
|
build_args << other.map { |key, value| "#{key}='#{value}'" }.join(' ')
|
55
56
|
build_args << '| xcpretty -c; exit ${PIPESTATUS[0]}'
|
56
57
|
|
57
58
|
execute(nil, build_args)
|
58
59
|
end
|
59
60
|
|
60
|
-
def self.test(sdk = nil, config = nil, workspace = nil, scheme = nil, code_coverage_config = nil)
|
61
|
+
def self.test(sdk = nil, config = nil, workspace = nil, scheme = nil, code_coverage_config = nil, timeout = nil, destination = nil)
|
61
62
|
build_args = []
|
62
63
|
build_args << "-sdk '#{sdk}'" if sdk.present?
|
63
64
|
build_args << "-configuration '#{config}'" if config.present?
|