Build Information
Successful build of PerfectSMTP, reference main (d50ac7), with Swift 6.4 for Linux on 9 Oct 2026 05:21:07 UTC.
Swift 6 data race errors: 0
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344845-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.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/perfectlysoft/perfect-smtp.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/perfectlysoft/perfect-smtp
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at d50ac75 Merge pull request #31 from PerfectlySoft/claude/blissful-tu-a92c8d
Cloned https://github.com/perfectlysoft/perfect-smtp.git
Revision (git rev-parse @):
d50ac7522c03c97da515486f87afd35c91c86eae
SUCCESS checkout https://github.com/perfectlysoft/perfect-smtp.git at main
========================================
Build
========================================
Selected platform: linux
Swift version: 6.4
Building package at path: $PWD
https://github.com/perfectlysoft/perfect-smtp.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344845-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.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:cb09f0c0d537a8668f02529c380785d189fc75032d54572211355a09e050e122
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Fetching https://github.com/apple/swift-nio.git
Fetching https://github.com/apple/swift-nio-ssl.git
Fetching https://github.com/apple/swift-crypto.git
Fetching https://github.com/apple/swift-log.git
[1/18603] Fetching swift-crypto
[2/26860] Fetching swift-crypto, swift-log
[12537/43716] Fetching swift-crypto, swift-log, swift-nio-ssl
[17270/130077] Fetching swift-crypto, swift-log, swift-nio-ssl, swift-nio
Fetched https://github.com/apple/swift-log.git (1.73s)
[97639/121820] Fetching swift-crypto, swift-nio-ssl, swift-nio
Fetched https://github.com/apple/swift-nio-ssl.git (3.27s)
Fetched https://github.com/apple/swift-crypto.git (3.28s)
Fetched https://github.com/apple/swift-nio.git (3.30s)
Computing version for https://github.com/apple/swift-crypto.git
Computed https://github.com/apple/swift-crypto.git at 4.5.1 (4.25s)
Fetching https://github.com/apple/swift-asn1.git
[1/1995] Fetching swift-asn1
Fetched https://github.com/apple/swift-asn1.git (0.50s)
Computing version for https://github.com/apple/swift-asn1.git
Computed https://github.com/apple/swift-asn1.git at 1.7.3 (0.69s)
Computing version for https://github.com/apple/swift-nio-ssl.git
Computed https://github.com/apple/swift-nio-ssl.git at 2.37.5 (0.18s)
Computing version for https://github.com/apple/swift-nio.git
Computed https://github.com/apple/swift-nio.git at 2.104.0 (0.26s)
Fetching https://github.com/apple/swift-atomics.git
Fetching https://github.com/apple/swift-system.git
Fetching https://github.com/apple/swift-collections.git
[1/1885] Fetching swift-atomics
[1886/9126] Fetching swift-atomics, swift-system
Fetched https://github.com/apple/swift-system.git (0.89s)
[1/28691] Fetching swift-collections
Fetched https://github.com/apple/swift-atomics.git (1.67s)
Fetched https://github.com/apple/swift-collections.git (1.68s)
Computing version for https://github.com/apple/swift-atomics.git
Computed https://github.com/apple/swift-atomics.git at 1.3.1 (1.85s)
Computing version for https://github.com/apple/swift-collections.git
Computed https://github.com/apple/swift-collections.git at 1.7.2 (0.23s)
Computing version for https://github.com/apple/swift-system.git
Computed https://github.com/apple/swift-system.git at 1.8.1 (0.18s)
Computing version for https://github.com/apple/swift-log.git
Computed https://github.com/apple/swift-log.git at 1.16.1 (0.15s)
Creating working copy for https://github.com/apple/swift-atomics.git
Working copy of https://github.com/apple/swift-atomics.git resolved at 1.3.1
Creating working copy for https://github.com/apple/swift-system.git
Working copy of https://github.com/apple/swift-system.git resolved at 1.8.1
Creating working copy for https://github.com/apple/swift-nio.git
Working copy of https://github.com/apple/swift-nio.git resolved at 2.104.0
Creating working copy for https://github.com/apple/swift-collections.git
Working copy of https://github.com/apple/swift-collections.git resolved at 1.7.2
Creating working copy for https://github.com/apple/swift-log.git
Working copy of https://github.com/apple/swift-log.git resolved at 1.16.1
Creating working copy for https://github.com/apple/swift-crypto.git
Working copy of https://github.com/apple/swift-crypto.git resolved at 4.5.1
Creating working copy for https://github.com/apple/swift-nio-ssl.git
Working copy of https://github.com/apple/swift-nio-ssl.git resolved at 2.37.5
Creating working copy for https://github.com/apple/swift-asn1.git
Working copy of https://github.com/apple/swift-asn1.git resolved at 1.7.3
Building for debugging...
[Computing dependencies]
[Provisioning 1 / 52]
[Pre-planning 1 / 1166]
[Planning deferred tasks]
[Constructing 2134 / 3194]
[191 / 1140]
[210 / 1195] InternalCollectionsUtilities
[210 / 1195] _NIODataStructures
[227 / 1195] NIOConcurrencyHelpers
[233 / 1195] InternalCollectionsUtilities
[234 / 1195] CryptoBoringWrapper
[246 / 1195] SwiftASN1
[246 / 1195] _NIODataStructures
[257 / 1196] SwiftASN1-product
[260 / 1196] NIOConcurrencyHelpers
[261 / 1196] NIOConcurrencyHelpers-product
[263 / 1196] NIOConcurrencyHelpers-product
[269 / 1197] _NIODataStructures
[275 / 1199] Logging
[281 / 1199] SpanPreview
[286 / 1199] CryptoBoringWrapper
[288 / 1199] InternalCollectionsUtilities
[292 / 1200] InternalCollectionsUtilities
[301 / 1200] CXKCP
[314 / 1210] CryptoBoringWrapper
[321 / 1211] InternalCollectionsUtilities
[327 / 1211] CNIOFreeBSD
[335 / 1212] Atomics
[339 / 1212] CNIOBoringSSL
[342 / 1212] CNIOBoringSSL
[345 / 1212] CNIOBoringSSL
[351 / 1212] CNIOBoringSSL
[357 / 1212] CNIOBoringSSL
[359 / 1212] CNIOBoringSSL
[369 / 1212] CNIOBoringSSL
[370 / 1213] CNIOBoringSSL
[373 / 1213] CNIOBoringSSL
[378 / 1213] CNIOBoringSSL
[384 / 1213] CNIOBoringSSL
[391 / 1213] CNIOBoringSSL
[393 / 1213] CNIOBoringSSL
[395 / 1213] CNIOBoringSSL
[399 / 1213] CNIOBoringSSL
[401 / 1213] CNIOBoringSSL
[402 / 1213] CNIOBoringSSL
[406 / 1213] CNIOBoringSSL
[410 / 1213] CNIOBoringSSL
[411 / 1213] CNIOBoringSSL
[416 / 1213] CNIOBoringSSL
[420 / 1213] CNIOBoringSSL
[422 / 1213] CNIOBoringSSL
[424 / 1213] CNIOBoringSSL
[429 / 1213] CNIOBoringSSL
[436 / 1213] CNIOBoringSSL
[439 / 1213] CNIOBoringSSL
[444 / 1213] CNIOBoringSSL
[445 / 1213] CNIOBoringSSL
[446 / 1213] CNIOBoringSSL
[448 / 1213] CNIOBoringSSL
[450 / 1213] CNIOBoringSSL
[452 / 1213] CNIOBoringSSL
[454 / 1213] CNIOBoringSSL
[459 / 1213] CNIOBoringSSL
[464 / 1213] CNIOBoringSSL
[479 / 1213] CNIOBoringSSL
[493 / 1213] CNIOBoringSSL
[495 / 1213] CNIOBoringSSL
[500 / 1213] CNIOBoringSSL
[501 / 1213] CNIOBoringSSL
[507 / 1213] CNIOBoringSSL
[508 / 1213] CNIOBoringSSL
[515 / 1213] CNIOBoringSSL
[518 / 1213] CNIOBoringSSL
[521 / 1213] CNIOBoringSSL
[527 / 1213] CNIOBoringSSL
[531 / 1213] CNIOBoringSSL
[535 / 1213] CNIOBoringSSL
[538 / 1213] CNIOBoringSSL
[540 / 1213] CNIOBoringSSL
[549 / 1213] CNIOBoringSSL
[556 / 1213] CNIOBoringSSL
[558 / 1213] CNIOBoringSSL
[565 / 1213] CNIOBoringSSL
[570 / 1213] CNIOBoringSSL
[574 / 1213] CNIOBoringSSL
[578 / 1213] CNIOBoringSSL
[593 / 1213] CNIOBoringSSL
[595 / 1213] CNIOBoringSSL
[603 / 1213] CNIOBoringSSL
[604 / 1213] CNIOBoringSSL
[608 / 1213] CNIOBoringSSL
[611 / 1213] CNIOBoringSSL
[614 / 1213] CNIOBoringSSL
[620 / 1213] CNIOBoringSSL
[627 / 1213] CNIOBoringSSL
[632 / 1213] CNIOBoringSSL
[634 / 1213] CNIOBoringSSL
[640 / 1213] CNIOBoringSSL
[641 / 1213] CNIOBoringSSL
[643 / 1213] CNIOBoringSSL
[646 / 1213] CNIOBoringSSL
[650 / 1213] CNIOBoringSSL
[657 / 1213] CNIOBoringSSL
[667 / 1213] CNIOBoringSSL
[676 / 1213] CNIOBoringSSL
[683 / 1213] CNIOBoringSSL
[688 / 1213] CNIOBoringSSL
[689 / 1213] CNIOBoringSSL
[692 / 1213] CNIOBoringSSL
[696 / 1213] CNIOBoringSSL
[705 / 1213] CNIOBoringSSL
[717 / 1213] CNIOBoringSSL
[723 / 1213] CNIOBoringSSL
[724 / 1213] CNIOBoringSSL
[730 / 1213] CNIOBoringSSL
[733 / 1213] CNIOBoringSSL
[736 / 1213] CNIOBoringSSL
[741 / 1213] CryptoBoringWrapper
[748 / 1218] CNIOBoringSSL
[755 / 1218] SpanPreview
[759 / 1218] CCryptoBoringSSL
[764 / 1218] CNIOAtomics
[768 / 1218] CCryptoBoringSSL
[772 / 1218] CCryptoBoringSSL
[775 / 1218] CCryptoBoringSSL
[779 / 1218] CCryptoBoringSSL
[781 / 1218] CCryptoBoringSSL
[783 / 1218] CCryptoBoringSSL
[787 / 1218] CCryptoBoringSSL
[790 / 1218] CCryptoBoringSSL
[792 / 1218] CCryptoBoringSSL
[802 / 1218] CCryptoBoringSSL
[806 / 1218] CCryptoBoringSSL
[809 / 1218] CCryptoBoringSSL
[811 / 1218] CCryptoBoringSSL
[816 / 1218] CCryptoBoringSSL
[818 / 1218] CCryptoBoringSSL
[819 / 1218] CCryptoBoringSSL
[823 / 1218] CCryptoBoringSSL
[825 / 1218] CCryptoBoringSSL
[827 / 1218] CCryptoBoringSSL
[831 / 1218] CCryptoBoringSSL
[834 / 1218] CCryptoBoringSSL
[838 / 1218] CCryptoBoringSSL
[843 / 1218] CCryptoBoringSSL
[846 / 1218] CCryptoBoringSSL
[848 / 1218] CCryptoBoringSSL
[852 / 1218] CCryptoBoringSSL
[853 / 1218] CCryptoBoringSSL
[867 / 1218] CCryptoBoringSSL
[883 / 1218] CCryptoBoringSSL
[889 / 1218] CCryptoBoringSSL
[894 / 1218] CCryptoBoringSSL
[897 / 1218] CCryptoBoringSSL
[904 / 1218] CCryptoBoringSSL
[905 / 1218] CCryptoBoringSSL
[909 / 1218] CCryptoBoringSSL
[913 / 1218] CCryptoBoringSSL
[916 / 1218] CCryptoBoringSSL
[918 / 1218] CCryptoBoringSSL
[922 / 1218] CCryptoBoringSSL
[926 / 1218] CCryptoBoringSSL
[929 / 1218] CCryptoBoringSSL
[931 / 1218] CCryptoBoringSSL
[938 / 1218] CCryptoBoringSSL
[949 / 1218] CCryptoBoringSSL
[950 / 1218] CCryptoBoringSSL
[958 / 1218] CCryptoBoringSSL
[961 / 1218] CCryptoBoringSSL
[967 / 1218] CCryptoBoringSSL
[977 / 1218] CCryptoBoringSSL
[986 / 1218] CCryptoBoringSSL
[992 / 1218] CCryptoBoringSSL
[997 / 1218] CCryptoBoringSSL
[1000 / 1218] CCryptoBoringSSL
[1003 / 1218] CCryptoBoringSSL
[1008 / 1218] CCryptoBoringSSL
[1010 / 1218] CCryptoBoringSSL
[1016 / 1218] CCryptoBoringSSL
[1020 / 1218] CCryptoBoringSSL
[1025 / 1218] CCryptoBoringSSL
[1029 / 1218] CCryptoBoringSSL
[1032 / 1218] CCryptoBoringSSL
[1036 / 1218] CCryptoBoringSSL
[1041 / 1218] CCryptoBoringSSL
[1054 / 1218] CCryptoBoringSSL
[1060 / 1218] CCryptoBoringSSL
[1064 / 1218] CCryptoBoringSSL
[1072 / 1218] CCryptoBoringSSL
[1074 / 1218] CCryptoBoringSSL
[1079 / 1218] CCryptoBoringSSL
[1087 / 1218] CCryptoBoringSSL
[1096 / 1218] CCryptoBoringSSL
[1107 / 1218] CCryptoBoringSSL
[1110 / 1218] CCryptoBoringSSL
[1113 / 1218] CCryptoBoringSSL
[1116 / 1218] CCryptoBoringSSL
[1120 / 1218] CCryptoBoringSSL
[1123 / 1218]
[1132 / 1221] DequeModule
[1139 / 1239] DequeModule
[1141 / 1239] DequeModule
[1143 / 1239] Crypto
[1145 / 1239] Crypto
[1146 / 1239] Crypto
[1147 / 1239] Crypto
[1148 / 1239] Crypto
[1159 / 1240] DequeModule
[1161 / 1240] DequeModule-product
[1163 / 1240] NIOCore
[1164 / 1241] NIOCore
[1167 / 1250] NIOCore
[1168 / 1250] NIOCore
[1168 / 1250] Crypto
[1170 / 1250] NIOCore
[1171 / 1250] NIOCore
[1172 / 1251] NIOCore
[1173 / 1251] NIOCore
[1176 / 1252] CryptoExtras
[1178 / 1261] CryptoExtras
[1180 / 1261] CryptoExtras
[1181 / 1261] CryptoExtras
[1183 / 1261] CryptoExtras
[1188 / 1261] CryptoExtras
[1189 / 1261] CryptoExtras
[1191 / 1261] CCryptoBoringSSL
[1195 / 1264] _CryptoExtras
[1204 / 1275] PerfectSMTPCore
[1205 / 1275] PerfectSMTPCore
[1208 / 1275] PerfectSMTPCore
[1209 / 1275] CryptoExtras
[1214 / 1275] PerfectSMTPCore
[1216 / 1275] PerfectSMTPCore-product
[1219 / 1275] CryptoExtras
[1223 / 1276] _CryptoExtras
[1223 / 1277] NIOCore
[1242 / 1293] PerfectSMTPCore
[1244 / 1293] PerfectSMTPCore
[1251 / 1293] NIOEmbedded
[1253 / 1293] NIOPosix
[1254 / 1294] NIOPosix
[1255 / 1294] NIOEmbedded
[1266 / 1297] NIO
[1277 / 1305] NIOTLS
[1280 / 1305] NIOTLS
[1291 / 1315] NIOSSL
[1293 / 1316] NIOTLS
[1294 / 1316] NIOPosix
[1297 / 1317] NIOSSL
[1298 / 1317] NIOPosix
[1307 / 1318] NIO
[1313 / 1327] PerfectSMTP
[1316 / 1327] PerfectSMTP
[1317 / 1327] PerfectSMTP
[1323 / 1328] NIOSSL
[1325 / 1328] PerfectSMTP
/host/spi-builder-workspace/Sources/PerfectSMTP/SMTPConnection.swift:110:38: [1;33mwarning: [1;39m'inbound' is deprecated: Use the executeThenClose scoped method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m108 |[0;0m // deliberately left visible rather than suppressed, as an honest
[0;36m109 |[0;0m // signal of this judgment call to anyone reading build output.
[0;36m110 |[0;0m self.iterator = asyncChannel.inbound.makeAsyncIterator()
[0;36m|[0;0m `- [1;33mwarning: [1;39m'inbound' is deprecated: Use the executeThenClose scoped method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m111 |[0;0m self.outbound = asyncChannel.outbound
[0;36m112 |[0;0m self.capabilities = Capabilities()
/host/spi-builder-workspace/Sources/PerfectSMTP/SMTPConnection.swift:111:38: [1;33mwarning: [1;39m'outbound' is deprecated: Use the executeThenClose scoped method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m109 |[0;0m // signal of this judgment call to anyone reading build output.
[0;36m110 |[0;0m self.iterator = asyncChannel.inbound.makeAsyncIterator()
[0;36m111 |[0;0m self.outbound = asyncChannel.outbound
[0;36m|[0;0m `- [1;33mwarning: [1;39m'outbound' is deprecated: Use the executeThenClose scoped method instead.[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m112 |[0;0m self.capabilities = Capabilities()
[0;36m113 |[0;0m self.ehloHostname = ehloHostname
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
[1329 / 1329] PerfectSMTP-product
Build complete! (45.29 secs)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-nio",
"requirement" : {
"range" : [
{
"lower_bound" : "2.65.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio.git"
},
{
"identity" : "swift-nio-ssl",
"requirement" : {
"range" : [
{
"lower_bound" : "2.27.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio-ssl.git"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.5.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
},
{
"identity" : "swift-crypto",
"requirement" : {
"exact" : [
"4.5.1"
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-crypto.git"
}
],
"manifest_display_name" : "PerfectSMTP",
"name" : "PerfectSMTP",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
}
],
"products" : [
{
"name" : "PerfectSMTPCore",
"targets" : [
"PerfectSMTPCore"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "PerfectSMTP",
"targets" : [
"PerfectSMTP"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "PerfectSMTPTests",
"module_type" : "SwiftTarget",
"name" : "PerfectSMTPTests",
"path" : "Tests/PerfectSMTPTests",
"product_dependencies" : [
"NIOEmbedded"
],
"sources" : [
"DNS/DNSAddressExtractionTests.swift",
"DNS/DNSAddressRoutabilityTests.swift",
"DNS/DNSResolverCNAMEFollowingTests.swift",
"DNS/DNSResolverIntegrationTests.swift",
"DNS/DNSResolverMXOrderingTests.swift",
"DNS/DNSTestFixtures.swift",
"DNS/DNSTransportTests.swift",
"DNS/DNSWireFormatTests.swift",
"DNS/FakeDNSServer.swift",
"DirectMX/DirectMXMTASTSEnforceTests.swift",
"DirectMX/DirectMXOpportunisticTLSTests.swift",
"DirectMX/DirectMXRealSocketTests.swift",
"DirectMX/DirectMXRetryQueueTests.swift",
"DirectMX/DirectMXTestHelpers.swift",
"DirectMX/DirectMXTransportTests.swift",
"DirectMX/FakeMXResolver.swift",
"LocalMTATransportTests.swift",
"MTASTS/MTASTSHTTPFetcherRedirectTests.swift",
"MTASTS/MTASTSPolicyManagerCacheTests.swift",
"MTASTS/MTASTSPolicyManagerProtocolReviewFixesTests.swift",
"MTASTS/MTASTSPolicyManagerStalenessAndCapacityTests.swift",
"MTASTS/MTASTSPolicyParsingTests.swift",
"MTASTS/MTASTSTestFakes.swift",
"MTASTS/MXPatternMatcherTests.swift",
"PerfectSMTPStubTests.swift",
"RelayTransportPoolHealthTests.swift",
"SMTPBootstrapTimeoutTests.swift",
"SMTPConnectionPoolTests.swift",
"SMTPConnectionStateMachineTests.swift",
"SMTPConnectionTeardownTests.swift",
"SMTPMailerBatchFanoutTests.swift",
"SMTPMailerDKIMIntegrationTests.swift",
"SMTPMailerStreamingSendTests.swift",
"SMTPResponseDecoderCapsTests.swift",
"STARTTLSRealSocketTests.swift",
"STARTTLSTests.swift",
"TestHelpers.swift"
],
"target_dependencies" : [
"PerfectSMTP"
],
"type" : "test"
},
{
"c99name" : "PerfectSMTPCoreTests",
"module_type" : "SwiftTarget",
"name" : "PerfectSMTPCoreTests",
"path" : "Tests/PerfectSMTPCoreTests",
"product_dependencies" : [
"Crypto",
"_CryptoExtras"
],
"sources" : [
"BugRegressionTests.swift",
"DKIMCanonicalizationTests.swift",
"DKIMRealVectorTests.swift",
"DKIMSignerTests.swift",
"DeliverabilityHeadersTests.swift",
"DotStuffingTests.swift",
"EncodersTests.swift",
"HeaderEncoderTests.swift",
"MIMEComposerTests.swift",
"SMTPEnvelopeTests.swift",
"SMTPReplyTests.swift",
"TestHelpers.swift"
],
"target_dependencies" : [
"PerfectSMTPCore"
],
"type" : "test"
},
{
"c99name" : "PerfectSMTPCore",
"module_type" : "SwiftTarget",
"name" : "PerfectSMTPCore",
"path" : "Sources/PerfectSMTPCore",
"product_dependencies" : [
"Crypto",
"_CryptoExtras"
],
"product_memberships" : [
"PerfectSMTPCore",
"PerfectSMTP"
],
"sources" : [
"DKIM/DKIMCanonicalization.swift",
"DKIM/DKIMSigner.swift",
"DKIM/DKIMSigningInput.swift",
"DKIM/SigningKey.swift",
"DeliveryResult.swift",
"DotStuffing.swift",
"EmailAddress.swift",
"EmailMessage.swift",
"Encoders.swift",
"HeaderEncoder.swift",
"MIMEComposer.swift",
"MessageSigner.swift",
"RFC5322Message.swift",
"RetryBackoffPolicy.swift",
"SMTPEnvelope.swift",
"SMTPError.swift",
"SMTPReply.swift"
],
"type" : "library"
},
{
"c99name" : "PerfectSMTP",
"module_type" : "SwiftTarget",
"name" : "PerfectSMTP",
"path" : "Sources/PerfectSMTP",
"product_dependencies" : [
"NIO",
"NIOConcurrencyHelpers",
"NIOCore",
"NIOPosix",
"NIOSSL",
"NIOTLS",
"Logging"
],
"product_memberships" : [
"PerfectSMTP"
],
"sources" : [
"Capabilities.swift",
"DNS/DNSAddress.swift",
"DNS/DNSResolver.swift",
"DNS/DNSTCPFrameDecoder.swift",
"DNS/DNSTransport.swift",
"DNS/DNSWireFormat.swift",
"DirectMX/DirectMXRetryQueue.swift",
"DirectMX/DirectMXTransport.swift",
"DirectMX/MXResolving.swift",
"LocalMTATransport.swift",
"MTASTS/MTASTSAddressResolving.swift",
"MTASTS/MTASTSHTTPFetching.swift",
"MTASTS/MTASTSPolicy.swift",
"MTASTS/MTASTSPolicyManager.swift",
"MTASTS/MXPatternMatcher.swift",
"MTASTS/TXTResolving.swift",
"PerfectSMTP.swift",
"RelayTransport.swift",
"SASLMechanism.swift",
"SMTPBootstrapHandler.swift",
"SMTPCommand.swift",
"SMTPConnection.swift",
"SMTPConnectionPool.swift",
"SMTPMailer.swift",
"SMTPResponseDecoder.swift",
"SMTPTransport.swift"
],
"target_dependencies" : [
"PerfectSMTPCore"
],
"type" : "library"
}
],
"tools_version" : "6.2"
}
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:cb09f0c0d537a8668f02529c380785d189fc75032d54572211355a09e050e122
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Done.