-
Notifications
You must be signed in to change notification settings - Fork 29
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
14 changed files
with
400 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
--- | ||
language: objective-c | ||
|
||
before_script: | ||
- sudo easy_install cpp-coveralls | ||
|
||
script: | ||
- xctool -project genstrings2.xcodeproj -scheme "Static Library" test -arch x86_64 ONLY_ACTIVE_ARCH=NO | ||
### disabled until Travis-CI fixes missing appledoc install on 10.9 machines | ||
# - appledoc -o /tmp . | ||
|
||
after_success: | ||
- ./coveralls.rb --extension m --exclude-folder Demo --exclude-folder Test --exclude-folder Externals |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
Pod::Spec.new do |spec| | ||
spec.name = 'DTLocalizableStringScanner' | ||
spec.version = '1.0.0' | ||
spec.platform = :osx, '10.7' | ||
spec.license = 'BSD' | ||
spec.source = { :git => 'https://github.com/Cocoanetics/DTLocalizableStringScanner.git', :tag => spec.version.to_s } | ||
spec.source_files = 'Core/Source/*.{h,m,c}' | ||
spec.requires_arc = true | ||
spec.homepage = 'https://github.com/Cocoanetics/DTLocalizableStringScanner' | ||
spec.summary = 'A better performing multi-threaded replacement for genstrings as component you can use in your own apps scanning for localizable strings.' | ||
spec.author = { 'Oliver Drobnik' => '[email protected]' } | ||
spec.documentation_url = 'docs.cocoanetics.com/DTLocalizableStringScanner' | ||
spec.social_media_url = 'https://twitter.com/cocoanetics' | ||
end | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
/* Issue 7: A string can span multiple lines */ | ||
|
||
NSString *multiLine = NSLocalizedString(@"Here is one line!" | ||
"And another" | ||
"And yet another", @"Multiple Lines"); | ||
|
||
|
||
/* Issue 10: A string can have multiple parts */ | ||
|
||
NSLocalizedString(@"foo " @"bar", @"Test multi-part quoted strings"); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
/* Tests if the escaping of double quotes and slashes works */ | ||
|
||
NSLocalizedString(@"here are three \\\\\\\"\"\"\nslashes"es: \\\\\\\"\"\"", nil) | ||
NSLocalizedString(@"here are three \\\\\\\"\"\"\nslashes"es: \\\\\\\"\"\"", nil) | ||
|
||
NSLocalizedString(@"bar", @"Test comment ending with \"quotes\""); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
#!/usr/bin/env ruby | ||
|
||
require 'etc' | ||
require 'fileutils' | ||
require 'find' | ||
require 'optparse' | ||
|
||
# arraw of source subfolders to exclude | ||
excludedFolders = [] | ||
extensionsToProcess = [] | ||
coveralls_cmd = "coveralls" | ||
|
||
excludeHeaders = false | ||
|
||
# create option parser | ||
opts = OptionParser.new | ||
opts.banner = "Usage: coveralls.rb [options]" | ||
|
||
opts.on('-e', '--exclude-folder FOLDER', 'Folder to exclude') do |v| | ||
excludedFolders << v | ||
coveralls_cmd.concat(" -e #{v}") | ||
end | ||
|
||
opts.on('-h', '--exclude-headers', 'Ignores headers') do |v| | ||
excludeHeaders = true | ||
end | ||
|
||
opts.on('-x', '--extension EXT', 'Source file extension to process') do |v| | ||
extensionsToProcess << v | ||
coveralls_cmd.concat(" -x #{v}") | ||
end | ||
|
||
opts.on_tail("-?", "--help", "Show this message") do | ||
puts opts | ||
exit | ||
end | ||
|
||
# parse the options | ||
begin | ||
opts.parse!(ARGV) | ||
rescue OptionParser::InvalidOption => e | ||
puts e | ||
puts opts | ||
exit(1) | ||
end | ||
|
||
# the folders | ||
workingDir = Dir.getwd | ||
derivedDataDir = "#{Etc.getpwuid.dir}/Library/Developer/Xcode/DerivedData/" | ||
outputDir = workingDir + "/gcov" | ||
|
||
# create gcov output folder | ||
FileUtils.mkdir outputDir | ||
|
||
# pattern to get source file from first line of gcov file | ||
GCOV_SOURCE_PATTERN = Regexp.new(/Source:(.*)/) | ||
|
||
# enumerate all gcda files underneath derivedData | ||
Find.find(derivedDataDir) do |gcda_file| | ||
|
||
if gcda_file.match(/\.gcda\Z/) | ||
|
||
#get just the folder name | ||
gcov_dir = File.dirname(gcda_file) | ||
|
||
# cut off absolute working dir to get relative source path | ||
relative_input_path = gcda_file.slice(derivedDataDir.length, gcda_file.length) | ||
puts "\nINPUT: #{relative_input_path}" | ||
|
||
#process the file | ||
result = %x( gcov '#{gcda_file}' -o '#{gcov_dir}' ) | ||
|
||
# filter the resulting output | ||
Dir.glob("*.gcov") do |gcov_file| | ||
|
||
firstLine = File.open(gcov_file).readline | ||
match = GCOV_SOURCE_PATTERN.match(firstLine) | ||
|
||
if (match) | ||
|
||
source_path = match[1] | ||
|
||
puts "source: #{source_path} - #{workingDir}" | ||
|
||
if (source_path.start_with? workingDir) | ||
|
||
# cut off absolute working dir to get relative source path | ||
relative_path = source_path.slice(workingDir.length+1, source_path.length) | ||
|
||
extension = File.extname(relative_path) | ||
extension = extension.slice(1, extension.length-1) | ||
|
||
puts "#{extension}" | ||
|
||
# get the path components | ||
path_comps = relative_path.split(File::SEPARATOR) | ||
|
||
shouldProcess = false | ||
exclusionMsg ="" | ||
|
||
if (excludedFolders.include?(path_comps[0])) | ||
exclusionMsg = "excluded via option" | ||
else | ||
if (excludeHeaders == true && extension == 'h') | ||
exclusionMsg = "excluded header" | ||
else | ||
if (extensionsToProcess.count == 0 || extensionsToProcess.include?(extension)) | ||
shouldProcess = true | ||
else | ||
exclusionMsg = "excluded extension" | ||
shouldProcess = false | ||
end | ||
end | ||
end | ||
|
||
if (shouldProcess) | ||
puts " - process: #{relative_path}" | ||
FileUtils.mv(gcov_file, outputDir) | ||
else | ||
puts " - ignore: #{relative_path} (#{exclusionMsg})" | ||
FileUtils.rm gcov_file | ||
end | ||
else | ||
puts " - ignore: #{gcov_file} (outside source folder)" | ||
FileUtils.rm gcov_file | ||
end | ||
end | ||
end | ||
end | ||
end | ||
|
||
#call the coveralls, exclude some files | ||
system coveralls_cmd | ||
|
||
#clean up | ||
FileUtils.rm_rf outputDir |
Oops, something went wrong.