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 Linux on 21 Jun 2025 07:05:23 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 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:         linux
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-0":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.2-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:f81a7bd7aa87a0f81848d48c5bcc03f5f78deebd37fa5f9be9913077205d3687
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.2-latest
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/jpsim/Yams.git
[1/10874] Fetching yams
[1198/26254] Fetching yams, swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (1.97s)
Fetched https://github.com/jpsim/Yams.git from cache (2.11s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.1 (2.93s)
Computing version for https://github.com/jpsim/Yams.git
Computed https://github.com/jpsim/Yams.git at 5.4.0 (0.86s)
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-24593BA9C3E375BF.txt
[9/20] Compiling parser.c
[10/22] Compiling api.c
[11/22] Compiling emitter.c
[12/22] Compiling scanner.c
[14/42] Emitting module Yams
[15/44] Compiling Yams Tag.swift
[16/44] Compiling Yams YamlAnchorProviding.swift
[17/44] Emitting module ArgumentParserToolInfo
[18/44] Compiling ArgumentParserToolInfo ToolInfo.swift
[19/45] Wrapping AST for ArgumentParserToolInfo for debugging
[21/83] Compiling ArgumentParser ParsableArgumentsValidation.swift
[22/83] Compiling ArgumentParser ParsableCommand.swift
[23/83] Compiling ArgumentParser CommandGroup.swift
[24/83] Compiling ArgumentParser EnumerableFlag.swift
[25/83] Compiling ArgumentParser OptionGroup.swift
[26/83] Compiling ArgumentParser AsyncParsableCommand.swift
[27/83] Compiling ArgumentParser CommandConfiguration.swift
[28/83] Compiling ArgumentParser BashCompletionsGenerator.swift
[29/83] Compiling ArgumentParser CompletionsGenerator.swift
[30/83] Compiling ArgumentParser FishCompletionsGenerator.swift
[31/83] Compiling ArgumentParser ZshCompletionsGenerator.swift
[32/83] Compiling ArgumentParser Argument.swift
[33/83] Compiling ArgumentParser ArgumentHelp.swift
[34/83] Compiling ArgumentParser Flag.swift
[35/83] Compiling ArgumentParser NameSpecification.swift
[36/83] Compiling ArgumentParser Option.swift
[37/83] Compiling ArgumentParser ArgumentVisibility.swift
[38/83] Compiling ArgumentParser CompletionKind.swift
[39/83] Compiling ArgumentParser Errors.swift
[40/84] Wrapping AST for Yams for debugging
[42/132] Emitting module L10nLintFramework
[43/138] Compiling L10nLintFramework MultilineFeedRule.swift
[44/138] Compiling L10nLintFramework EmbeddedRules.swift
[45/138] Compiling L10nLintFramework FileRewriter.swift
[46/138] Compiling L10nLintFramework FormattedRules.swift
[47/138] Compiling L10nLintFramework LintRunner.swift
[48/143] Compiling ArgumentParser Tree.swift
[49/143] Compiling L10nLintFramework EmptyKeyRule.swift
[50/143] Compiling L10nLintFramework EmptyValueRule.swift
[51/143] Compiling L10nLintFramework MixedChineseRule+SimplifiedCharacters.swift
[52/143] Compiling L10nLintFramework MixedChineseRule+TraditionalCharacters.swift
[53/143] Compiling L10nLintFramework IntegerFormatSpecifierRule.swift
[54/143] Compiling L10nLintFramework StyleViolation.swift
[55/143] Compiling L10nLintFramework SwiftLint-LICENSE.swift
[56/143] Compiling L10nLintFramework ViolationSeverity.swift
[57/143] Compiling L10nLintFramework XCFileListGenerator.swift
[58/143] Compiling L10nLintFramework JsonReporter.swift
[59/143] Compiling L10nLintFramework Reporter.swift
[60/143] Compiling L10nLintFramework XcodeReporter.swift
[61/143] Compiling L10nLintFramework Collection+Utility.swift
[62/143] Compiling L10nLintFramework NSRegularExpression+Utility.swift
[63/143] Compiling L10nLintFramework QueuedPrint.swift
[64/143] Compiling L10nLintFramework CodeCopier.swift
[65/143] Compiling L10nLintFramework Configuration.swift
[66/143] Compiling L10nLintFramework CopyMarker.swift
[67/143] Compiling L10nLintFramework CopyMarkerDetector.swift
[68/143] Compiling L10nLintFramework ByteRange.swift
[69/143] Compiling L10nLintFramework File.swift
[70/143] Compiling L10nLintFramework Line.swift
[71/143] Compiling ArgumentParser CollectionExtensions.swift
[72/143] Compiling ArgumentParser Platform.swift
[73/143] Compiling ArgumentParser SequenceExtensions.swift
[74/143] Compiling ArgumentParser StringExtensions.swift
[75/143] Emitting module ArgumentParser
[76/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 |     }
[77/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 |     }
[78/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 |     }
[79/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 |     }
[80/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 |     }
[81/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 |     }
[82/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 |     }
[87/143] Compiling L10nLintFramework Linter.swift
[88/143] Compiling L10nLintFramework LocalizationFile.swift
[89/143] Compiling L10nLintFramework LocalizedProjectFactory.swift
[90/143] Compiling L10nLintFramework KeyOrderRule.swift
[91/143] Compiling L10nLintFramework KeyValueExtraSpaceRule.swift
[92/143] Compiling L10nLintFramework KeyValueFormatSpecifierCountRule.swift
[93/143] Compiling L10nLintFramework MarkSyntaxRule.swift
[94/143] Compiling L10nLintFramework MixedChineseRule.swift
[96/143] Compiling L10nLintFramework RuleConfigurationProtocol.swift
[97/143] Compiling L10nLintFramework RuleConfigurations.swift
[98/143] Compiling L10nLintFramework TodoRuleConfiguration.swift
[99/143] Compiling L10nLintFramework SpaceInKeyRule.swift
[100/143] Compiling L10nLintFramework TodoRule.swift
[101/143] Compiling L10nLintFramework ConfigurationProviderRule.swift
[108/144] Wrapping AST for L10nLintFramework for debugging
[141/145] Wrapping AST for ArgumentParser for debugging
[143/153] Compiling l10nlint Version.swift
[144/153] Compiling l10nlint Rules.swift
[145/153] Compiling l10nlint Lint.swift
[146/153] Compiling l10nlint Copy.swift
[147/153] Compiling l10nlint GenerateXCFileList.swift
[148/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 |
[149/153] Compiling l10nlint DefaultArguments.swift
[150/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 |
[151/154] Wrapping AST for l10nlint for debugging
[152/154] Write Objects.LinkFileList
[153/154] Linking l10nlint
Build complete! (24.20s)
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"
}
basic-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:f81a7bd7aa87a0f81848d48c5bcc03f5f78deebd37fa5f9be9913077205d3687
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.2-latest
Done.