The Swift Package Index logo.Swift Package Index

Build Information

Successful build of L10nLint, reference main (3dd0a0), with Swift 6.3 for Linux on 26 Jun 2026 11:31:51 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-53886769-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 0e64495ecc1688c3b3e031a5ef1348b5c05091ae
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/s2mr/L10nLint.git
Reference: main
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
 * branch            main       -> FETCH_HEAD
 * [new branch]      main       -> origin/main
HEAD is now at 3dd0a0c Add star history graph to README
Cloned https://github.com/s2mr/L10nLint.git
Revision (git rev-parse @):
3dd0a0cc061bb2240e05875c55f81f3ae5154f76
SUCCESS checkout https://github.com/s2mr/L10nLint.git at main
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.3
Building package at path:  $PWD
https://github.com/s2mr/L10nLint.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-53886769-0":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:518d581a7f3cc0f988d8921e0dce92c3361f942cd4cc7d944cb46f8707e06c63
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest
Fetching https://github.com/apple/swift-argument-parser
Fetching https://github.com/jpsim/Yams.git
[1/11837] Fetching yams
[2/29786] Fetching yams, swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (0.71s)
[6392/11837] Fetching yams
Fetched https://github.com/jpsim/Yams.git from cache (1.32s)
Computing version for https://github.com/jpsim/Yams.git
Computed https://github.com/jpsim/Yams.git at 5.4.0 (2.17s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.8.2 (0.14s)
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.8.2
[1/1] Compiling plugin GenerateManual
[2/2] Compiling plugin GenerateDoccReference
Building for debugging...
[2/21] Write sources
[7/21] Compiling writer.c
[8/21] Compiling reader.c
[9/21] Compiling api.c
[10/21] Write swift-version-24593BA9C3E375BF.txt
[11/21] Compiling parser.c
[12/23] Compiling emitter.c
[13/23] Compiling scanner.c
[15/43] Emitting module Yams
[16/45] Compiling Yams Mark.swift
[17/45] Compiling Yams Node.Alias.swift
[18/45] Compiling Yams Node.Mapping.swift
[19/45] Compiling ArgumentParserToolInfo ToolInfo.swift
[20/45] Emitting module ArgumentParserToolInfo
[21/46] Wrapping AST for ArgumentParserToolInfo for debugging
[23/93] Compiling ArgumentParser ParserError.swift
[24/93] Compiling ArgumentParser SplitArguments.swift
[25/93] Compiling ArgumentParser Name.swift
[26/93] Compiling ArgumentParser Parsed.swift
[27/93] Compiling ArgumentParser ParsedValues.swift
[28/93] Compiling ArgumentParser ZshCompletionsGenerator.swift
[29/93] Compiling ArgumentParser Argument.swift
[30/93] Compiling ArgumentParser ArgumentDiscussion.swift
[31/93] Compiling ArgumentParser ArgumentHelp.swift
[32/93] Compiling ArgumentParser ArgumentVisibility.swift
[33/93] Compiling ArgumentParser CompletionKind.swift
[34/93] Compiling ArgumentParser Errors.swift
[35/93] Compiling ArgumentParser Flag.swift
[36/93] Compiling ArgumentParser BashCompletionsGenerator.swift
[37/93] Compiling ArgumentParser CompletionsGenerator.swift
[38/93] Compiling ArgumentParser FishCompletionsGenerator.swift
[39/93] Compiling ArgumentParser DumpHelpGenerator.swift
[40/93] Compiling ArgumentParser Mutex.swift
[41/94] Wrapping AST for Yams for debugging
[43/142] Emitting module ArgumentParser
[44/148] Compiling L10nLintFramework StringView.swift
[45/148] Compiling L10nLintFramework MessageError.swift
[46/148] Compiling L10nLintFramework ProjectGenerator.swift
[47/148] Compiling L10nLintFramework Rule.swift
[48/148] Compiling L10nLintFramework RuleDescription.swift
[49/148] Compiling L10nLintFramework RulesFilter.swift
[50/148] Compiling L10nLintFramework RulesVerifier.swift
[51/148] Compiling L10nLintFramework KeyOrderRule.swift
[52/148] Compiling L10nLintFramework KeyValueExtraSpaceRule.swift
[53/148] Compiling L10nLintFramework KeyValueFormatSpecifierCountRule.swift
[54/148] Compiling L10nLintFramework MarkSyntaxRule.swift
[55/148] Compiling L10nLintFramework MixedChineseRule.swift
[56/148] Compiling L10nLintFramework MultilineFeedRule.swift
[57/148] Compiling L10nLintFramework DuplicateKeyRule.swift
[58/148] Compiling L10nLintFramework EmptyKeyRule.swift
[59/148] Compiling L10nLintFramework EmptyValueRule.swift
[60/148] Compiling L10nLintFramework MixedChineseRule+SimplifiedCharacters.swift
[61/148] Compiling L10nLintFramework MixedChineseRule+TraditionalCharacters.swift
[62/148] Compiling L10nLintFramework IntegerFormatSpecifierRule.swift
[63/148] Compiling L10nLintFramework EmbeddedRules.swift
[64/148] Compiling L10nLintFramework FileRewriter.swift
[65/148] Compiling L10nLintFramework FormattedRules.swift
[66/148] Compiling L10nLintFramework LintRunner.swift
[67/148] Compiling L10nLintFramework Linter.swift
[68/148] Compiling L10nLintFramework LocalizationFile.swift
[69/148] Compiling L10nLintFramework LocalizedProjectFactory.swift
[70/148] Compiling ArgumentParser AsyncCompletionsValidator.swift
[71/148] Compiling ArgumentParser CodingKeyValidator.swift
[72/148] Compiling ArgumentParser NonsenseFlagsValidator.swift
[73/148] Compiling ArgumentParser ParsableArgumentsValidation.swift
[74/148] Compiling ArgumentParser PositionalArgumentsValidator.swift
[75/148] Compiling ArgumentParser UniqueNamesValidator.swift
[76/148] Emitting module L10nLintFramework
[83/154] Compiling L10nLintFramework StyleViolation.swift
[84/154] Compiling L10nLintFramework SwiftLint-LICENSE.swift
[85/154] Compiling L10nLintFramework ViolationSeverity.swift
[86/154] Compiling L10nLintFramework XCFileListGenerator.swift
[87/154] Compiling L10nLintFramework JsonReporter.swift
[88/154] Compiling L10nLintFramework Reporter.swift
[89/154] Compiling L10nLintFramework XcodeReporter.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 |     }
/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 |     }
/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 |     }
/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 |     }
/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 |     }
/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 |     }
/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 |     }
[103/154] Compiling L10nLintFramework Collection+Utility.swift
[104/154] Compiling L10nLintFramework NSRegularExpression+Utility.swift
[105/154] Compiling L10nLintFramework QueuedPrint.swift
[106/154] Compiling L10nLintFramework CodeCopier.swift
[107/154] Compiling L10nLintFramework Configuration.swift
[108/154] Compiling L10nLintFramework CopyMarker.swift
[109/154] Compiling L10nLintFramework CopyMarkerDetector.swift
[124/154] Compiling L10nLintFramework RuleConfigurationProtocol.swift
[125/154] Compiling L10nLintFramework RuleConfigurations.swift
[126/154] Compiling L10nLintFramework TodoRuleConfiguration.swift
[127/154] Compiling L10nLintFramework SpaceInKeyRule.swift
[128/154] Compiling L10nLintFramework TodoRule.swift
[129/154] Compiling L10nLintFramework ConfigurationProviderRule.swift
[130/154] Compiling L10nLintFramework ByteRange.swift
[131/154] Compiling L10nLintFramework File.swift
[132/154] Compiling L10nLintFramework Line.swift
[133/154] Compiling L10nLintFramework Location.swift
[134/154] Compiling L10nLintFramework SourceKitten-LICENSE.swift
[135/154] Compiling L10nLintFramework SourceLocation.swift
[143/155] Wrapping AST for L10nLintFramework for debugging
[152/156] Wrapping AST for ArgumentParser for debugging
[154/164] Compiling l10nlint Rules.swift
[155/164] Compiling l10nlint GenerateXCFileList.swift
[156/164] 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 |
[157/164] Compiling l10nlint DefaultArguments.swift
[158/164] Compiling l10nlint Copy.swift
[159/164] 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 |
[160/164] Compiling l10nlint Version.swift
[161/164] Compiling l10nlint Lint.swift
[162/165] Wrapping AST for l10nlint for debugging
[163/165] Write Objects.LinkFileList
[164/165] Linking l10nlint
Build complete! (9.52s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "swift-argument-parser",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.6.1",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/apple/swift-argument-parser"
    },
    {
      "identity" : "yams",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "5.4.0",
            "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
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "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" : "6.1"
}
basic-6.3-latest: Pulling from saguaro1/spi-images
Digest: sha256:518d581a7f3cc0f988d8921e0dce92c3361f942cd4cc7d944cb46f8707e06c63
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.3-latest
Done.