The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of L10nLint, reference 0.5.0 (75aaca), with Swift 6.2 (beta) for Android on 21 Jun 2025 07:05:08 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/s2mr/L10nLint.git
Reference: 0.5.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/s2mr/L10nLint
 * tag               0.5.0      -> FETCH_HEAD
HEAD is now at 75aaca2 Bump version to 0.5.0
Cloned https://github.com/s2mr/L10nLint.git
Revision (git rev-parse @):
75aaca2534554c3bd6dc83ddc388bb056750c6a2
SUCCESS checkout https://github.com/s2mr/L10nLint.git at 0.5.0
========================================
Build
========================================
Selected platform:         android
Swift version:             6.2
Building package at path:  $PWD
https://github.com/s2mr/L10nLint.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:b7c4a6b4153ff40ef9277e2157e708f835b8eb011095d53bd8db4594eb2b7798
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.2-latest
Fetching https://github.com/jpsim/Yams.git
Fetching https://github.com/apple/swift-argument-parser
[1/15380] Fetching swift-argument-parser
[11229/26254] Fetching swift-argument-parser, yams
Fetched https://github.com/apple/swift-argument-parser from cache (1.40s)
Fetched https://github.com/jpsim/Yams.git from cache (1.43s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.1 (1.78s)
Computing version for https://github.com/jpsim/Yams.git
Computed https://github.com/jpsim/Yams.git at 5.4.0 (0.36s)
Creating working copy for https://github.com/jpsim/Yams.git
Working copy of https://github.com/jpsim/Yams.git resolved at 5.4.0
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.1
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/20] Write sources
[6/20] Compiling reader.c
[7/20] Compiling writer.c
[8/20] Write swift-version-8C5A4AE7A8CE2BA.txt
[9/20] Compiling api.c
[10/20] Compiling parser.c
[11/22] Compiling emitter.c
[12/22] Compiling scanner.c
[14/42] Emitting module ArgumentParserToolInfo
[15/42] Compiling ArgumentParserToolInfo ToolInfo.swift
[16/75] Wrapping AST for ArgumentParserToolInfo for debugging
[18/81] Compiling ArgumentParser ParsableArguments.swift
[19/81] Compiling ArgumentParser ParsableArgumentsValidation.swift
[20/83] Compiling ArgumentParser BashCompletionsGenerator.swift
[21/83] Compiling ArgumentParser CompletionsGenerator.swift
[22/83] Compiling ArgumentParser FishCompletionsGenerator.swift
[23/83] Emitting module Yams
[24/83] Compiling ArgumentParser ArgumentSet.swift
[25/83] Compiling ArgumentParser CommandParser.swift
[26/83] Compiling ArgumentParser InputKey.swift
[27/83] Compiling ArgumentParser InputOrigin.swift
[28/83] Compiling ArgumentParser ExpressibleByArgument.swift
[29/83] Compiling ArgumentParser Name.swift
[30/83] Compiling ArgumentParser Parsed.swift
[31/83] Compiling ArgumentParser ParsedValues.swift
[32/83] Compiling ArgumentParser ZshCompletionsGenerator.swift
[33/83] Compiling ArgumentParser Argument.swift
[34/83] Compiling ArgumentParser ArgumentHelp.swift
[35/83] Compiling ArgumentParser ParserError.swift
[36/83] Compiling ArgumentParser SplitArguments.swift
[37/83] Compiling ArgumentParser ArgumentDefinition.swift
[38/83] Compiling Yams YamlError.swift
[39/83] Compiling Yams YamlTagProviding.swift
[40/84] Wrapping AST for Yams for debugging
[42/132] Compiling L10nLintFramework Collection+Utility.swift
[43/132] Compiling L10nLintFramework NSRegularExpression+Utility.swift
[44/132] Compiling L10nLintFramework QueuedPrint.swift
[45/132] Compiling L10nLintFramework CodeCopier.swift
[46/132] Compiling L10nLintFramework Configuration.swift
[47/132] Compiling L10nLintFramework CopyMarker.swift
[48/132] Emitting module ArgumentParser
[49/137] Compiling L10nLintFramework DuplicateKeyRule.swift
[50/137] Compiling L10nLintFramework EmptyKeyRule.swift
[51/137] Compiling L10nLintFramework EmptyValueRule.swift
[52/137] Compiling L10nLintFramework MixedChineseRule+SimplifiedCharacters.swift
[53/137] Compiling L10nLintFramework MixedChineseRule+TraditionalCharacters.swift
[54/137] Compiling L10nLintFramework IntegerFormatSpecifierRule.swift
[55/137] Compiling ArgumentParser Tree.swift
[56/137] Compiling L10nLintFramework KeyValueExtraSpaceRule.swift
[57/137] Compiling L10nLintFramework KeyValueFormatSpecifierCountRule.swift
[58/137] Compiling L10nLintFramework MarkSyntaxRule.swift
[59/137] Compiling L10nLintFramework MixedChineseRule.swift
[60/137] Compiling L10nLintFramework MultilineFeedRule.swift
[61/143] Compiling L10nLintFramework MessageError.swift
/host/spi-builder-workspace/Sources/L10nLintFramework/Models/ProjectGenerator.swift:49:51: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
47 |     public func markerRemovedContent(baseProject: LocalizedProject) -> String {
48 |         let mutableString = NSMutableString(string: baseProject.stringsFile.contents)
49 |         CopyMarkerDetector.Const.startMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
   |                                                   `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
50 |         CopyMarkerDetector.Const.endMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
51 |         return mutableString as String
/host/spi-builder-workspace/Sources/L10nLintFramework/Models/ProjectGenerator.swift:50:49: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
48 |         let mutableString = NSMutableString(string: baseProject.stringsFile.contents)
49 |         CopyMarkerDetector.Const.startMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
50 |         CopyMarkerDetector.Const.endMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
   |                                                 `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
51 |         return mutableString as String
52 |     }
[62/143] Compiling L10nLintFramework ProjectGenerator.swift
/host/spi-builder-workspace/Sources/L10nLintFramework/Models/ProjectGenerator.swift:49:51: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
47 |     public func markerRemovedContent(baseProject: LocalizedProject) -> String {
48 |         let mutableString = NSMutableString(string: baseProject.stringsFile.contents)
49 |         CopyMarkerDetector.Const.startMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
   |                                                   `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
50 |         CopyMarkerDetector.Const.endMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
51 |         return mutableString as String
/host/spi-builder-workspace/Sources/L10nLintFramework/Models/ProjectGenerator.swift:50:49: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
48 |         let mutableString = NSMutableString(string: baseProject.stringsFile.contents)
49 |         CopyMarkerDetector.Const.startMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
50 |         CopyMarkerDetector.Const.endMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
   |                                                 `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
51 |         return mutableString as String
52 |     }
[63/143] Compiling L10nLintFramework Rule.swift
/host/spi-builder-workspace/Sources/L10nLintFramework/Models/ProjectGenerator.swift:49:51: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
47 |     public func markerRemovedContent(baseProject: LocalizedProject) -> String {
48 |         let mutableString = NSMutableString(string: baseProject.stringsFile.contents)
49 |         CopyMarkerDetector.Const.startMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
   |                                                   `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
50 |         CopyMarkerDetector.Const.endMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
51 |         return mutableString as String
/host/spi-builder-workspace/Sources/L10nLintFramework/Models/ProjectGenerator.swift:50:49: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
48 |         let mutableString = NSMutableString(string: baseProject.stringsFile.contents)
49 |         CopyMarkerDetector.Const.startMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
50 |         CopyMarkerDetector.Const.endMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
   |                                                 `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
51 |         return mutableString as String
52 |     }
[64/143] Compiling L10nLintFramework RuleDescription.swift
/host/spi-builder-workspace/Sources/L10nLintFramework/Models/ProjectGenerator.swift:49:51: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
47 |     public func markerRemovedContent(baseProject: LocalizedProject) -> String {
48 |         let mutableString = NSMutableString(string: baseProject.stringsFile.contents)
49 |         CopyMarkerDetector.Const.startMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
   |                                                   `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
50 |         CopyMarkerDetector.Const.endMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
51 |         return mutableString as String
/host/spi-builder-workspace/Sources/L10nLintFramework/Models/ProjectGenerator.swift:50:49: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
48 |         let mutableString = NSMutableString(string: baseProject.stringsFile.contents)
49 |         CopyMarkerDetector.Const.startMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
50 |         CopyMarkerDetector.Const.endMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
   |                                                 `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
51 |         return mutableString as String
52 |     }
[65/143] Compiling L10nLintFramework RulesFilter.swift
/host/spi-builder-workspace/Sources/L10nLintFramework/Models/ProjectGenerator.swift:49:51: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
47 |     public func markerRemovedContent(baseProject: LocalizedProject) -> String {
48 |         let mutableString = NSMutableString(string: baseProject.stringsFile.contents)
49 |         CopyMarkerDetector.Const.startMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
   |                                                   `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
50 |         CopyMarkerDetector.Const.endMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
51 |         return mutableString as String
/host/spi-builder-workspace/Sources/L10nLintFramework/Models/ProjectGenerator.swift:50:49: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
48 |         let mutableString = NSMutableString(string: baseProject.stringsFile.contents)
49 |         CopyMarkerDetector.Const.startMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
50 |         CopyMarkerDetector.Const.endMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
   |                                                 `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
51 |         return mutableString as String
52 |     }
[66/143] Compiling L10nLintFramework RulesVerifier.swift
/host/spi-builder-workspace/Sources/L10nLintFramework/Models/ProjectGenerator.swift:49:51: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
47 |     public func markerRemovedContent(baseProject: LocalizedProject) -> String {
48 |         let mutableString = NSMutableString(string: baseProject.stringsFile.contents)
49 |         CopyMarkerDetector.Const.startMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
   |                                                   `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
50 |         CopyMarkerDetector.Const.endMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
51 |         return mutableString as String
/host/spi-builder-workspace/Sources/L10nLintFramework/Models/ProjectGenerator.swift:50:49: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
48 |         let mutableString = NSMutableString(string: baseProject.stringsFile.contents)
49 |         CopyMarkerDetector.Const.startMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
50 |         CopyMarkerDetector.Const.endMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
   |                                                 `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
51 |         return mutableString as String
52 |     }
[67/143] Compiling L10nLintFramework ByteCount.swift
/host/spi-builder-workspace/Sources/L10nLintFramework/Models/ProjectGenerator.swift:49:51: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
47 |     public func markerRemovedContent(baseProject: LocalizedProject) -> String {
48 |         let mutableString = NSMutableString(string: baseProject.stringsFile.contents)
49 |         CopyMarkerDetector.Const.startMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
   |                                                   `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
50 |         CopyMarkerDetector.Const.endMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
51 |         return mutableString as String
/host/spi-builder-workspace/Sources/L10nLintFramework/Models/ProjectGenerator.swift:50:49: warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
48 |         let mutableString = NSMutableString(string: baseProject.stringsFile.contents)
49 |         CopyMarkerDetector.Const.startMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
50 |         CopyMarkerDetector.Const.endMarkerRegex.replaceMatches(in: mutableString, range: NSRange(location: 0, length: mutableString.length), withTemplate: "")
   |                                                 `- warning: result of call to 'replaceMatches(in:options:range:withTemplate:)' is unused [#no-usage]
51 |         return mutableString as String
52 |     }
[68/143] Compiling L10nLintFramework CopyMarkerDetector.swift
[69/143] Compiling L10nLintFramework EmbeddedRules.swift
[70/143] Compiling L10nLintFramework FileRewriter.swift
[71/143] Compiling L10nLintFramework FormattedRules.swift
[72/143] Compiling L10nLintFramework LintRunner.swift
[74/143] Compiling L10nLintFramework StyleViolation.swift
[75/143] Compiling L10nLintFramework SwiftLint-LICENSE.swift
[76/143] Compiling L10nLintFramework ViolationSeverity.swift
[77/143] Compiling L10nLintFramework XCFileListGenerator.swift
[82/143] Compiling L10nLintFramework Linter.swift
[83/143] Compiling L10nLintFramework LocalizationFile.swift
[84/143] Compiling L10nLintFramework LocalizedProjectFactory.swift
[92/143] Emitting module L10nLintFramework
[93/143] Compiling L10nLintFramework RuleConfigurationProtocol.swift
[94/143] Compiling L10nLintFramework RuleConfigurations.swift
[95/143] Compiling L10nLintFramework TodoRuleConfiguration.swift
[96/143] Compiling L10nLintFramework SpaceInKeyRule.swift
[97/143] Compiling L10nLintFramework TodoRule.swift
[98/143] Compiling L10nLintFramework ConfigurationProviderRule.swift
[104/143] Compiling L10nLintFramework JsonReporter.swift
[105/143] Compiling L10nLintFramework Reporter.swift
[106/143] Compiling L10nLintFramework XcodeReporter.swift
[107/143] Compiling L10nLintFramework ByteRange.swift
[108/143] Compiling L10nLintFramework File.swift
[109/143] Compiling L10nLintFramework Line.swift
[120/143] Compiling ArgumentParser CollectionExtensions.swift
[121/143] Compiling ArgumentParser Platform.swift
[122/143] Compiling ArgumentParser SequenceExtensions.swift
[123/143] Compiling ArgumentParser StringExtensions.swift
[125/144] Wrapping AST for ArgumentParser for debugging
[141/145] Wrapping AST for L10nLintFramework for debugging
[143/153] Compiling l10nlint Version.swift
[144/153] Compiling l10nlint Rules.swift
[145/153] Compiling l10nlint MainTool.swift
/host/spi-builder-workspace/Sources/l10nlint/Commands/MainTool.swift:9:33: warning: result of call to 'changeCurrentDirectoryPath' is unused [#no-usage]
 7 |     static let configuration: CommandConfiguration = {
 8 |         if let directory = ProcessInfo.processInfo.environment["BUILD_WORKSPACE_DIRECTORY"] {
 9 |             FileManager.default.changeCurrentDirectoryPath(directory)
   |                                 `- warning: result of call to 'changeCurrentDirectoryPath' is unused [#no-usage]
10 |         }
11 |
[146/153] Compiling l10nlint GenerateXCFileList.swift
[147/153] Compiling l10nlint Lint.swift
[148/153] Compiling l10nlint Copy.swift
[149/153] Compiling l10nlint DefaultArguments.swift
[150/153] Emitting module l10nlint
/host/spi-builder-workspace/Sources/l10nlint/Commands/MainTool.swift:9:33: warning: result of call to 'changeCurrentDirectoryPath' is unused [#no-usage]
 7 |     static let configuration: CommandConfiguration = {
 8 |         if let directory = ProcessInfo.processInfo.environment["BUILD_WORKSPACE_DIRECTORY"] {
 9 |             FileManager.default.changeCurrentDirectoryPath(directory)
   |                                 `- warning: result of call to 'changeCurrentDirectoryPath' is unused [#no-usage]
10 |         }
11 |
[151/154] Wrapping AST for l10nlint for debugging
[152/154] Write Objects.LinkFileList
[153/154] Linking l10nlint
Build complete! (22.26s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.2.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    },
    {
      "identity" : "yams",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.0.4",
            "upper_bound" : "6.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/jpsim/Yams.git"
    }
  ],
  "manifest_display_name" : "L10nLint",
  "name" : "L10nLint",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    }
  ],
  "products" : [
    {
      "name" : "l10nlint",
      "targets" : [
        "l10nlint"
      ],
      "type" : {
        "executable" : null
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "l10nlint",
      "module_type" : "SwiftTarget",
      "name" : "l10nlint",
      "path" : "Sources/l10nlint",
      "product_dependencies" : [
        "ArgumentParser"
      ],
      "product_memberships" : [
        "l10nlint"
      ],
      "sources" : [
        "Arguments/DefaultArguments.swift",
        "Commands/Copy.swift",
        "Commands/GenerateXCFileList.swift",
        "Commands/Lint.swift",
        "Commands/MainTool.swift",
        "Commands/Rules.swift",
        "Generated/Version.swift"
      ],
      "target_dependencies" : [
        "L10nLintFramework"
      ],
      "type" : "executable"
    },
    {
      "c99name" : "L10nLintFrameworkTests",
      "module_type" : "SwiftTarget",
      "name" : "L10nLintFrameworkTests",
      "path" : "Tests/L10nLintFrameworkTests",
      "sources" : [
        "CodeCopierTests.swift",
        "ConfigurationTests.swift",
        "CopyMarkerDetectorTests.swift",
        "LintRunnerTests.swift",
        "ProjectGeneratorTests.swift",
        "RulesTests.swift",
        "RulesVerifierTests.swift",
        "TestHelper.swift",
        "XCFileListExporterTests.swift"
      ],
      "target_dependencies" : [
        "L10nLintFramework"
      ],
      "type" : "test"
    },
    {
      "c99name" : "L10nLintFramework",
      "module_type" : "SwiftTarget",
      "name" : "L10nLintFramework",
      "path" : "Sources/L10nLintFramework",
      "product_dependencies" : [
        "Yams"
      ],
      "product_memberships" : [
        "l10nlint"
      ],
      "sources" : [
        "Extensions/Collection+Utility.swift",
        "Extensions/NSRegularExpression+Utility.swift",
        "Extensions/QueuedPrint.swift",
        "Models/CodeCopier.swift",
        "Models/Configuration.swift",
        "Models/CopyMarker.swift",
        "Models/CopyMarkerDetector.swift",
        "Models/EmbeddedRules.swift",
        "Models/FileRewriter.swift",
        "Models/FormattedRules.swift",
        "Models/LintRunner.swift",
        "Models/Linter.swift",
        "Models/LocalizationFile.swift",
        "Models/LocalizedProjectFactory.swift",
        "Models/MessageError.swift",
        "Models/ProjectGenerator.swift",
        "Models/Rule.swift",
        "Models/RuleDescription.swift",
        "Models/RulesFilter.swift",
        "Models/RulesVerifier.swift",
        "Models/SourceKitten/ByteCount.swift",
        "Models/SourceKitten/ByteRange.swift",
        "Models/SourceKitten/File.swift",
        "Models/SourceKitten/Line.swift",
        "Models/SourceKitten/Location.swift",
        "Models/SourceKitten/SourceKitten-LICENSE.swift",
        "Models/SourceKitten/SourceLocation.swift",
        "Models/SourceKitten/StringView.swift",
        "Models/SwiftLint/StyleViolation.swift",
        "Models/SwiftLint/SwiftLint-LICENSE.swift",
        "Models/SwiftLint/ViolationSeverity.swift",
        "Models/XCFileListGenerator.swift",
        "Reporter/JsonReporter.swift",
        "Reporter/Reporter.swift",
        "Reporter/XcodeReporter.swift",
        "Rules/DuplicateKeyRule.swift",
        "Rules/EmptyKeyRule.swift",
        "Rules/EmptyValueRule.swift",
        "Rules/Extensions/MixedChineseRule+SimplifiedCharacters.swift",
        "Rules/Extensions/MixedChineseRule+TraditionalCharacters.swift",
        "Rules/IntegerFormatSpecifierRule.swift",
        "Rules/KeyOrderRule.swift",
        "Rules/KeyValueExtraSpaceRule.swift",
        "Rules/KeyValueFormatSpecifierCountRule.swift",
        "Rules/MarkSyntaxRule.swift",
        "Rules/MixedChineseRule.swift",
        "Rules/MultilineFeedRule.swift",
        "Rules/RuleConfigurations/RuleConfigurationProtocol.swift",
        "Rules/RuleConfigurations/RuleConfigurations.swift",
        "Rules/RuleConfigurations/TodoRuleConfiguration.swift",
        "Rules/SpaceInKeyRule.swift",
        "Rules/TodoRule.swift",
        "Rules/Utility/ConfigurationProviderRule.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7"
}
android-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:b7c4a6b4153ff40ef9277e2157e708f835b8eb011095d53bd8db4594eb2b7798
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.2-latest
Done.