Build Information
Successful build of PerfectNet, reference 4.0.0 (5707dc
), with Swift 6.0 for macOS (SPM) on 31 Oct 2024 06:35:43 UTC.
Swift 6 data race errors: 16
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Build Log
========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/perfectlysoft/perfect-net.git
Reference: 4.0.0
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/perfectlysoft/perfect-net
* tag 4.0.0 -> FETCH_HEAD
HEAD is now at 5707dcc Fixed compiler warnings
Cloned https://github.com/perfectlysoft/perfect-net.git
Revision (git rev-parse @):
5707dccfe39c57f61c9c172e766590cf5ae22bf8
SUCCESS checkout https://github.com/perfectlysoft/perfect-net.git at 4.0.0
Fetching https://github.com/PerfectlySoft/Perfect-Thread.git
Fetching https://github.com/PerfectlySoft/Perfect-Crypto.git
[1/379] Fetching perfect-thread
[32/991] Fetching perfect-thread, perfect-crypto
Fetched https://github.com/PerfectlySoft/Perfect-Thread.git from cache (0.90s)
Fetched https://github.com/PerfectlySoft/Perfect-Crypto.git from cache (0.90s)
Computing version for https://github.com/PerfectlySoft/Perfect-Crypto.git
Computed https://github.com/PerfectlySoft/Perfect-Crypto.git at 4.0.0 (0.68s)
Fetching https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Fetching https://github.com/PerfectlySoft/PerfectLib.git
[1/10784] Fetching perfectlib
[2/14745] Fetching perfectlib, perfect-copenssl
Fetched https://github.com/PerfectlySoft/Perfect-COpenSSL.git from cache (23.79s)
Fetched https://github.com/PerfectlySoft/PerfectLib.git from cache (23.79s)
Computing version for https://github.com/PerfectlySoft/PerfectLib.git
Computed https://github.com/PerfectlySoft/PerfectLib.git at 4.0.1 (0.67s)
Computing version for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Computed https://github.com/PerfectlySoft/Perfect-COpenSSL.git at 4.0.2 (2.69s)
Computing version for https://github.com/PerfectlySoft/Perfect-Thread.git
Computed https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7 (0.74s)
Creating working copy for https://github.com/PerfectlySoft/Perfect-Thread.git
Working copy of https://github.com/PerfectlySoft/Perfect-Thread.git resolved at 3.0.7
Creating working copy for https://github.com/PerfectlySoft/Perfect-Crypto.git
Working copy of https://github.com/PerfectlySoft/Perfect-Crypto.git resolved at 4.0.0
Creating working copy for https://github.com/PerfectlySoft/PerfectLib.git
Working copy of https://github.com/PerfectlySoft/PerfectLib.git resolved at 4.0.1
Creating working copy for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Working copy of https://github.com/PerfectlySoft/Perfect-COpenSSL.git resolved at 4.0.2
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "perfect-net",
"name": "PerfectNet",
"url": "https://github.com/perfectlysoft/perfect-net.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/perfect-net",
"dependencies": [
{
"identity": "perfect-crypto",
"name": "PerfectCrypto",
"url": "https://github.com/PerfectlySoft/Perfect-Crypto.git",
"version": "4.0.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Perfect-Crypto",
"dependencies": [
{
"identity": "perfectlib",
"name": "PerfectLib",
"url": "https://github.com/PerfectlySoft/PerfectLib.git",
"version": "4.0.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PerfectLib",
"dependencies": [
]
},
{
"identity": "perfect-thread",
"name": "PerfectThread",
"url": "https://github.com/PerfectlySoft/Perfect-Thread.git",
"version": "3.0.7",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Perfect-Thread",
"dependencies": [
]
},
{
"identity": "perfect-copenssl",
"name": "COpenSSL",
"url": "https://github.com/PerfectlySoft/Perfect-COpenSSL.git",
"version": "4.0.2",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Perfect-COpenSSL",
"dependencies": [
]
}
]
},
{
"identity": "perfect-thread",
"name": "PerfectThread",
"url": "https://github.com/PerfectlySoft/Perfect-Thread.git",
"version": "3.0.7",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/Perfect-Thread",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/perfectlysoft/perfect-net.git
[1/570] Fetching perfect-net
Fetched https://github.com/perfectlysoft/perfect-net.git from cache (0.78s)
Fetching https://github.com/PerfectlySoft/Perfect-Crypto.git from cache
Fetching https://github.com/PerfectlySoft/Perfect-Thread.git from cache
Fetched https://github.com/PerfectlySoft/Perfect-Crypto.git from cache (0.56s)
Fetched https://github.com/PerfectlySoft/Perfect-Thread.git from cache (0.56s)
Computing version for https://github.com/PerfectlySoft/Perfect-Crypto.git
Computed https://github.com/PerfectlySoft/Perfect-Crypto.git at 4.0.0 (0.02s)
Fetching https://github.com/PerfectlySoft/PerfectLib.git from cache
Fetching https://github.com/PerfectlySoft/Perfect-COpenSSL.git from cache
Fetched https://github.com/PerfectlySoft/PerfectLib.git from cache (0.51s)
Fetched https://github.com/PerfectlySoft/Perfect-COpenSSL.git from cache (0.51s)
Computing version for https://github.com/PerfectlySoft/PerfectLib.git
Computed https://github.com/PerfectlySoft/PerfectLib.git at 4.0.1 (0.02s)
Computing version for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Computed https://github.com/PerfectlySoft/Perfect-COpenSSL.git at 4.0.2 (0.02s)
Computing version for https://github.com/PerfectlySoft/Perfect-Thread.git
Computed https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.7 (0.02s)
Creating working copy for https://github.com/PerfectlySoft/Perfect-Thread.git
Working copy of https://github.com/PerfectlySoft/Perfect-Thread.git resolved at 3.0.7
Creating working copy for https://github.com/PerfectlySoft/PerfectLib.git
Working copy of https://github.com/PerfectlySoft/PerfectLib.git resolved at 4.0.1
Creating working copy for https://github.com/perfectlysoft/perfect-net.git
Working copy of https://github.com/perfectlysoft/perfect-net.git resolved at 4.0.0 (5707dcc)
Creating working copy for https://github.com/PerfectlySoft/Perfect-Crypto.git
Working copy of https://github.com/PerfectlySoft/Perfect-Crypto.git resolved at 4.0.0
Creating working copy for https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Working copy of https://github.com/PerfectlySoft/Perfect-COpenSSL.git resolved at 4.0.2
warning: '.resolve-product-dependencies': dependency 'perfect-net' is not used by any target
Found 2 product dependencies
- PerfectCrypto
- PerfectThread
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/perfectlysoft/perfect-net.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/238] Write sources
[4/238] Write swift-version--7754E27361AE5C74.txt
[5/238] Compiling COpenSSL camellia.c
[6/238] Compiling COpenSSL ccm128.c
[7/238] Compiling COpenSSL cbc3_enc.c
[8/238] Compiling COpenSSL xcbc_enc.c
[9/238] Compiling COpenSSL x509type.c
[10/238] Compiling COpenSSL cbc128.c
[11/241] Compiling COpenSSL x509spki.c
[12/248] Compiling COpenSSL cbc_.c
[13/252] Compiling COpenSSL x_.c
[14/252] Compiling COpenSSL x509rset.c
[15/252] Compiling COpenSSL xts128.c
[16/252] Compiling COpenSSL x509name.c
[17/252] Compiling COpenSSL x509cset.c
[18/252] Compiling COpenSSL wrap128.c
[19/252] Compiling COpenSSL uid.c
[20/252] Compiling COpenSSL wp_.c
[21/252] Compiling COpenSSL v3err.c
[22/252] Compiling COpenSSL v3_lib.c
[23/252] Compiling COpenSSL x509_.c
[24/252] Compiling COpenSSL txt_db.c
[25/252] Compiling COpenSSL v3_.c
[26/252] Compiling COpenSSL tb_store.c
[27/252] Compiling COpenSSL tb_rsa.c
[28/252] Compiling COpenSSL tb_rand.c
[29/252] Compiling COpenSSL tb_pkmeth.c
[30/252] Compiling COpenSSL tb_ecdsa.c
[31/252] Compiling COpenSSL tb_ecdh.c
[32/252] Compiling COpenSSL tb_dsa.c
[33/252] Compiling COpenSSL tb_digest.c
[34/252] Compiling COpenSSL tb_dh.c
[35/252] Compiling COpenSSL tb_cipher.c
[36/252] Compiling COpenSSL tb_asnmth.c
[37/252] Compiling COpenSSL str2key.c
[38/252] Compiling COpenSSL t_.c
[39/252] Compiling COpenSSL tasn_.c
[40/252] Compiling COpenSSL stack.c
[41/252] Compiling COpenSSL srp_.c
[42/252] Compiling COpenSSL ui_.c
[43/252] Compiling COpenSSL sha_.c
[44/252] Compiling COpenSSL tls_srp.c
[45/252] Compiling COpenSSL sha512.c
[46/252] Compiling COpenSSL sha256.c
[47/252] Compiling COpenSSL sha1dgst.c
[48/252] Compiling COpenSSL ts_.c
[49/252] Compiling COpenSSL sha1_one.c
[50/252] Compiling COpenSSL set_key.c
[51/252] Compiling COpenSSL seed_.c
[52/252] Compiling COpenSSL t1_.c
[53/252] Compiling COpenSSL rsaz_exp.c
[54/252] Compiling COpenSSL seed.c
[55/252] Compiling COpenSSL ssl_.c
[56/252] Compiling COpenSSL s2_.c
[57/252] Compiling COpenSSL rpc_enc.c
[58/252] Compiling COpenSSL th-lock.c
[59/252] Compiling COpenSSL rmd_.c
[60/252] Compiling COpenSSL rc2ofb64.c
[61/252] Compiling COpenSSL rc2cfb64.c
[62/252] Compiling COpenSSL s23_.c
[63/252] Compiling COpenSSL read2pwd.c
[64/252] Compiling COpenSSL rc4_.c
[65/252] Compiling COpenSSL qud_cksm.c
[66/252] Compiling COpenSSL rc2_.c
[67/252] Compiling COpenSSL randfile.c
[68/252] Compiling COpenSSL rsa_.c
[69/252] Compiling COpenSSL pqueue.c
[70/252] Compiling COpenSSL pvkfmt.c
[71/252] Compiling COpenSSL rand_.c
[72/252] Compiling COpenSSL pkcs7err.c
[73/252] Compiling COpenSSL s3_.c
[74/252] Compiling COpenSSL pk12err.c
[75/252] Compiling COpenSSL pcbc_enc.c
[76/252] Compiling COpenSSL pmeth_.c
[77/252] Compiling COpenSSL pcy_.c
[78/252] Compiling COpenSSL p_.c
[79/252] Compiling COpenSSL pem_.c
[80/252] Compiling COpenSSL pk7_.c
[81/252] Compiling COpenSSL p8_pkey.c
[82/252] Compiling COpenSSL p5_.c
[83/252] Compiling COpenSSL openbsd_hw.c
[84/252] Compiling COpenSSL ofb_enc.c
[85/252] Compiling COpenSSL ofb64ede.c
[86/252] Compiling COpenSSL p12_.c
[87/252] Compiling COpenSSL ofb64enc.c
[88/252] Compiling COpenSSL ofb128.c
[89/252] Compiling COpenSSL nsseq.c
[90/252] Compiling COpenSSL o_.c
[91/252] Compiling COpenSSL obj_.c
[92/252] Compiling COpenSSL mem_.c
[93/252] Compiling COpenSSL mem.c
[94/252] Compiling COpenSSL names.c
[95/252] Compiling COpenSSL ocsp_.c
[96/252] Compiling COpenSSL mdc2dgst.c
[97/252] Compiling COpenSSL n_pkey.c
[98/252] Compiling COpenSSL mdc2_one.c
[99/252] Compiling COpenSSL md_rand.c
[100/252] Compiling COpenSSL md5_.c
[101/252] Compiling COpenSSL md4_.c
[102/252] Compiling COpenSSL m_wp.c
[103/252] Compiling COpenSSL m_sha1.c
[104/252] Compiling COpenSSL m_sha.c
[105/252] Compiling COpenSSL m_sigver.c
[106/252] Compiling COpenSSL m_ripemd.c
[107/252] Compiling COpenSSL m_null.c
[108/252] Compiling COpenSSL m_mdc2.c
[109/252] Compiling COpenSSL m_md2.c
[110/252] Compiling COpenSSL m_md5.c
[111/252] Compiling COpenSSL m_md4.c
[112/252] Compiling COpenSSL m_dss1.c
[113/252] Compiling COpenSSL m_ecdsa.c
[114/252] Compiling COpenSSL m_dss.c
[115/252] Compiling COpenSSL lhash.c
[116/252] Compiling COpenSSL lh_stats.c
[117/252] Compiling COpenSSL krb5_asn.c
[118/252] Compiling COpenSSL i_.c
[119/252] Compiling COpenSSL gosthash.c
[120/252] Compiling COpenSSL kssl.c
[121/252] Compiling COpenSSL i2d_.c
[122/252] Compiling COpenSSL hmac.c
[123/252] Compiling COpenSSL hm_.c
[124/252] Compiling COpenSSL gost89.c
[125/252] Compiling COpenSSL fips_ers.c
[126/252] Compiling COpenSSL gost94_keyx.c
[127/252] Compiling COpenSSL getenv.c
[128/252] Compiling COpenSSL gost2001_keyx.c
[129/252] Compiling COpenSSL gcm128.c
[130/252] Compiling COpenSSL gost2001.c
[131/252] Compiling COpenSSL fcrypt_b.c
[132/252] Compiling COpenSSL gost_.c
[133/252] Compiling COpenSSL fcrypt.c
[134/252] Compiling COpenSSL f_.c
[135/252] Compiling COpenSSL ex_data.c
[136/252] Compiling COpenSSL encode.c
[137/252] Compiling COpenSSL enc_.c
[138/252] Compiling COpenSSL err.c
[139/252] Compiling COpenSSL ede_cbcm_enc.c
[140/252] Compiling COpenSSL err_.c
[141/252] Compiling COpenSSL ecp_nistp521.c
[142/252] Compiling COpenSSL ecp_nistputil.c
[143/252] Compiling COpenSSL evp_.c
[144/252] Compiling COpenSSL ecp_nistp256.c
[145/252] Compiling COpenSSL eng_.c
[146/252] Compiling COpenSSL ecp_nistp224.c
[147/252] Compiling COpenSSL ecs_.c
[148/252] Compiling COpenSSL ecp_oct.c
[149/252] Compiling COpenSSL ecp_smpl.c
[150/252] Compiling COpenSSL ecp_nist.c
[151/252] Compiling COpenSSL ecp_mont.c
[152/252] Compiling COpenSSL ecb_enc.c
[153/252] Compiling COpenSSL ecb3_enc.c
[154/252] Compiling COpenSSL eck_prn.c
[155/252] Compiling COpenSSL ebcdic.c
[156/252] Compiling COpenSSL ech_.c
[157/252] Compiling COpenSSL e_ubsec_err.c
[158/252] Compiling COpenSSL ec2_.c
[159/252] Compiling COpenSSL e_xcbc_d.c
[160/252] Compiling COpenSSL e_sureware_err.c
[161/252] Compiling COpenSSL e_seed.c
[162/252] Compiling COpenSSL e_ubsec.c
[163/252] Compiling COpenSSL e_sureware.c
[164/252] Compiling COpenSSL e_rc5.c
[165/252] Compiling COpenSSL e_rc4_hmac_md5.c
[166/252] Compiling COpenSSL e_rc4.c
[167/252] Compiling COpenSSL e_rc2.c
[168/252] Compiling COpenSSL ec_.c
[169/252] Compiling COpenSSL e_nuron_err.c
[170/252] Compiling COpenSSL e_old.c
[171/252] Compiling COpenSSL e_padlock.c
[172/252] Compiling COpenSSL e_null.c
[172/252] Compiling COpenSSL e_gost_err.c
[174/252] Compiling COpenSSL e_nuron.c
[175/252] Compiling COpenSSL e_gmp_err.c
[176/252] Compiling COpenSSL e_idea.c
[177/252] Compiling COpenSSL e_gmp.c
[178/252] Compiling COpenSSL e_des3.c
[179/252] Compiling COpenSSL e_des.c
[180/252] Compiling COpenSSL e_cswift_err.c
[181/252] Compiling COpenSSL e_chil_err.c
[182/252] Compiling COpenSSL e_cast.c
[183/252] Compiling COpenSSL e_capi_err.c
[184/252] Compiling COpenSSL e_cswift.c
[185/252] Compiling COpenSSL e_chil.c
[186/252] Compiling COpenSSL e_atalla_err.c
[187/252] Compiling COpenSSL e_camellia.c
[188/252] Compiling COpenSSL e_bf.c
[189/252] Compiling COpenSSL e_capi.c
[190/252] Compiling COpenSSL e_aes_cbc_hmac_sha256.c
[191/252] Compiling COpenSSL e_aep_err.c
[192/252] Compiling COpenSSL e_4758cca_err.c
[193/252] Compiling COpenSSL e_aes_cbc_hmac_sha1.c
[194/252] Compiling COpenSSL e_aes.c
[195/252] Compiling COpenSSL dso_.c
[196/252] Compiling COpenSSL e_atalla.c
[197/252] Compiling COpenSSL e_aep.c
[198/252] Compiling COpenSSL des_old2.c
[199/252] Compiling COpenSSL e_4758cca.c
[200/252] Compiling COpenSSL des_old.c
[201/252] Compiling COpenSSL digest.c
[202/252] Compiling COpenSSL cversion.c
[203/252] Compiling COpenSSL des_enc.c
[204/252] Compiling COpenSSL d2i_.c
[205/252] Compiling COpenSSL ctr128.c
[206/252] Compiling COpenSSL cpt_err.c
[207/252] Compiling COpenSSL cryptlib.c
[208/252] Compiling COpenSSL dsa_.c
[209/252] Compiling COpenSSL comp_.c
[210/252] Compiling COpenSSL dh_.c
[211/252] Compiling COpenSSL d1_lib.c
[212/252] Compiling COpenSSL cmll_.c
[213/252] Compiling COpenSSL cmac.c
[214/252] Compiling COpenSSL cfb_enc.c
[215/252] Compiling COpenSSL cfb64enc.c
[216/252] Compiling COpenSSL cm_.c
[217/252] Compiling COpenSSL cfb64ede.c
[218/252] Compiling COpenSSL conf_.c
[219/252] Compiling COpenSSL cfb128.c
[220/252] Compiling COpenSSL buffer.c
[221/252] Compiling COpenSSL buf_.c
[222/252] Compiling COpenSSL d1_.c
[223/252] Compiling COpenSSL by_.c
[224/252] Compiling COpenSSL c_.c
[225/252] Compiling COpenSSL bf_.c
[226/252] Compiling COpenSSL bss_.c
[227/252] Compiling COpenSSL b_sock.c
[228/252] Compiling COpenSSL b_print.c
[229/252] Compiling COpenSSL b_dump.c
[230/252] Compiling COpenSSL aes_.c
[231/252] Compiling COpenSSL cms_.c
[232/252] Compiling COpenSSL ameth_lib.c
[233/252] Compiling COpenSSL asn_.c
[234/252] Compiling COpenSSL bio_.c
[235/252] Compiling COpenSSL asn1_.c
[236/252] Compiling COpenSSL a_.c
[237/252] Compiling COpenSSL bn_.c
[239/252] Compiling PerfectLib PerfectError.swift
[240/252] Compiling PerfectThread Threading.swift
[241/252] Compiling PerfectLib Log.swift
[242/252] Compiling PerfectLib File.swift
[243/252] Compiling PerfectLib JSONConvertible.swift
[244/252] Compiling PerfectLib Dir.swift
[245/252] Emitting module PerfectLib
[246/252] Compiling PerfectLib Bytes.swift
[247/252] Compiling PerfectThread Promise.swift
[248/252] Emitting module PerfectThread
[249/252] Compiling PerfectThread ThreadQueue.swift
[250/252] Compiling PerfectLib PerfectServer.swift
[251/252] Compiling PerfectLib SysProcess.swift
[252/252] Compiling PerfectLib Utilities.swift
[253/261] Compiling PerfectCrypto Keys.swift
[254/261] Compiling PerfectCrypto Extensions.swift
[255/261] Compiling PerfectCrypto Algorithms.swift
[256/261] Emitting module PerfectCrypto
[257/261] Compiling PerfectCrypto ByteIO.swift
[258/261] Compiling PerfectCrypto JWK.swift
[259/261] Compiling PerfectCrypto JWT.swift
[260/261] Compiling PerfectCrypto PerfectCrypto.swift
[261/261] Compiling PerfectCrypto OpenSSLInternal.swift
[262/269] Compiling PerfectNet NetTCP.swift
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCP.swift:348:6: warning: capture of 'callBack' with non-sendable type '(NetTCP?) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
346 | if accRes != -1 {
347 | netHandleQueue.async {
348 | callBack(self.makeFromFd(accRes))
| |- warning: capture of 'callBack' with non-sendable type '(NetTCP?) -> ()' in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
349 | }
350 | } else if errno != EINTR {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCP.swift:348:15: warning: capture of 'self' with non-sendable type 'NetTCP' in a `@Sendable` closure; this is an error in the Swift 6 language mode
30 | /// Provides an asynchronous IO wrapper around a file descriptor.
31 | /// Fully realized for TCP socket types but can also serve as a base for sockets from other families, such as with `NetNamedPipe`/AF_UNIX.
32 | public class NetTCP: Net {
| `- note: class 'NetTCP' does not conform to the 'Sendable' protocol
33 |
34 | private var networkFailure: Bool = false
:
346 | if accRes != -1 {
347 | netHandleQueue.async {
348 | callBack(self.makeFromFd(accRes))
| `- warning: capture of 'self' with non-sendable type 'NetTCP' in a `@Sendable` closure; this is an error in the Swift 6 language mode
349 | }
350 | } else if errno != EINTR {
[263/269] Compiling PerfectNet NetNamedPipe.swift
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetNamedPipe.swift:41:7: warning: variable 'addr' was never mutated; consider changing to 'let' constant
39 |
40 | public func sockName() -> (String, UInt16) {
41 | var addr = UnsafeMutablePointer<sockaddr_un>.allocate(capacity: 1)
| `- warning: variable 'addr' was never mutated; consider changing to 'let' constant
42 | var len = UnsafeMutablePointer<socklen_t>.allocate(capacity: 1)
43 | defer {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetNamedPipe.swift:42:7: warning: variable 'len' was never mutated; consider changing to 'let' constant
40 | public func sockName() -> (String, UInt16) {
41 | var addr = UnsafeMutablePointer<sockaddr_un>.allocate(capacity: 1)
42 | var len = UnsafeMutablePointer<socklen_t>.allocate(capacity: 1)
| `- warning: variable 'len' was never mutated; consider changing to 'let' constant
43 | defer {
44 | addr.deallocate()
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetNamedPipe.swift:70:7: warning: variable 'addr' was never mutated; consider changing to 'let' constant
68 |
69 | public func peerName() -> (String, UInt16) {
70 | var addr = UnsafeMutablePointer<sockaddr_un>.allocate(capacity: 1)
| `- warning: variable 'addr' was never mutated; consider changing to 'let' constant
71 | var len = UnsafeMutablePointer<socklen_t>.allocate(capacity: 1)
72 | defer {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetNamedPipe.swift:71:7: warning: variable 'len' was never mutated; consider changing to 'let' constant
69 | public func peerName() -> (String, UInt16) {
70 | var addr = UnsafeMutablePointer<sockaddr_un>.allocate(capacity: 1)
71 | var len = UnsafeMutablePointer<socklen_t>.allocate(capacity: 1)
| `- warning: variable 'len' was never mutated; consider changing to 'let' constant
72 | defer {
73 | addr.deallocate()
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetNamedPipe.swift:209:7: warning: variable 'nothingPtr' was never mutated; consider changing to 'let' constant
207 | var msghdr = UnsafeMutablePointer<Darwin.msghdr>.allocate(capacity: 1)
208 | #endif
209 | var nothingPtr = UnsafeMutablePointer<iovec>.allocate(capacity: 1)
| `- warning: variable 'nothingPtr' was never mutated; consider changing to 'let' constant
210 | var nothing = UnsafeMutablePointer<CChar>.allocate(capacity: 1)
211 | let buffer = UnsafeMutableRawPointer.allocate(byteCount: length, alignment: 8)
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetNamedPipe.swift:210:7: warning: variable 'nothing' was never mutated; consider changing to 'let' constant
208 | #endif
209 | var nothingPtr = UnsafeMutablePointer<iovec>.allocate(capacity: 1)
210 | var nothing = UnsafeMutablePointer<CChar>.allocate(capacity: 1)
| `- warning: variable 'nothing' was never mutated; consider changing to 'let' constant
211 | let buffer = UnsafeMutableRawPointer.allocate(byteCount: length, alignment: 8)
212 | defer {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetNamedPipe.swift:273:7: warning: variable 'nothingPtr' was never mutated; consider changing to 'let' constant
271 | let length = MemoryLayout<cmsghdr>.size + MemoryLayout<Int32>.size
272 | var msghdrr = msghdr()
273 | var nothingPtr = UnsafeMutablePointer<iovec>.allocate(capacity: 1)
| `- warning: variable 'nothingPtr' was never mutated; consider changing to 'let' constant
274 | var nothing = UnsafeMutablePointer<CChar>.allocate(capacity: 1)
275 | let buffer = UnsafeMutableRawPointer.allocate(byteCount: length, alignment: 8)
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetNamedPipe.swift:274:7: warning: variable 'nothing' was never mutated; consider changing to 'let' constant
272 | var msghdrr = msghdr()
273 | var nothingPtr = UnsafeMutablePointer<iovec>.allocate(capacity: 1)
274 | var nothing = UnsafeMutablePointer<CChar>.allocate(capacity: 1)
| `- warning: variable 'nothing' was never mutated; consider changing to 'let' constant
275 | let buffer = UnsafeMutableRawPointer.allocate(byteCount: length, alignment: 8)
276 | defer {
[264/269] Compiling PerfectNet NetEvent.swift
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetEvent.swift:82:21: warning: static property 'emptyCallback' is not concurrency-safe because non-'Sendable' type 'NetEvent.EventCallback' (aka '(Int32, NetEvent.Filter) -> ()') may have shared mutable state; this is an error in the Swift 6 language mode
80 |
81 | public typealias EventCallback = (SocketType, Filter) -> ()
82 | private static let emptyCallback: EventCallback = { _, _ in }
| |- warning: static property 'emptyCallback' is not concurrency-safe because non-'Sendable' type 'NetEvent.EventCallback' (aka '(Int32, NetEvent.Filter) -> ()') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'emptyCallback' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
83 |
84 | #if os(Linux)
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetEvent.swift:100:21: warning: static property 'staticEvent' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
98 | }
99 |
100 | private static var staticEvent: NetEvent!
| |- warning: static property 'staticEvent' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'staticEvent' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'staticEvent' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 |
102 | private let kq: Int32
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetEvent.swift:109:21: warning: static property 'initOnce' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
107 | private var evlist: UnsafeMutablePointer<event>
108 |
109 | private static var initOnce: Bool = {
| |- warning: static property 'initOnce' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'initOnce' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'initOnce' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
110 | NetEvent.staticEvent = NetEvent()
111 | NetEvent.staticEvent.runLoop()
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetEvent.swift:150:25: warning: capture of 'self' with non-sendable type 'NetEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
51 | attributes: .concurrent)
52 |
53 | public class NetEvent {
| `- note: class 'NetEvent' does not conform to the 'Sendable' protocol
54 | public enum Filter {
55 | case none, error(Int32), read, write, timer
:
148 |
149 | private func runLoop() {
150 | netEventQueue.async { self.loop() }
| `- warning: capture of 'self' with non-sendable type 'NetEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
151 | }
152 | private func loop() {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetEvent.swift:275:5: warning: capture of 'callback' with non-sendable type 'NetEvent.EventCallback' (aka '(Int32, NetEvent.Filter) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
273 | s, f in
274 | netHandleQueue.async {
275 | callback(s, f)
| |- warning: capture of 'callback' with non-sendable type 'NetEvent.EventCallback' (aka '(Int32, NetEvent.Filter) -> ()') in a `@Sendable` closure; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
276 | }
277 | }
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetEvent.swift:275:17: warning: capture of 'f' with non-sendable type 'NetEvent.Filter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
52 |
53 | public class NetEvent {
54 | public enum Filter {
| `- note: consider making enum 'Filter' conform to the 'Sendable' protocol
55 | case none, error(Int32), read, write, timer
56 | #if os(Linux)
:
273 | s, f in
274 | netHandleQueue.async {
275 | callback(s, f)
| `- warning: capture of 'f' with non-sendable type 'NetEvent.Filter' in a `@Sendable` closure; this is an error in the Swift 6 language mode
276 | }
277 | }
[265/269] Compiling PerfectNet NetUDP.swift
[266/269] Compiling PerfectNet Net.swift
[267/269] Compiling PerfectNet NetTCPSSL.swift
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:30:42: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
28 |
29 | private typealias passwordCallbackFunc = @convention(c) (UnsafeMutablePointer<Int8>?, Int32, Int32, UnsafeMutableRawPointer?) -> Int32
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:37:21: warning: static property 'sslVerifyNone' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
| `- note: consider making struct 'OpenSSLVerifyMode' conform to the 'Sendable' protocol
33 | public let rawValue: Int32
34 | public init(rawValue: Int32) {
35 | self.rawValue = rawValue
36 | }
37 | public static let sslVerifyNone = OpenSSLVerifyMode(rawValue: SSL_VERIFY_NONE)
| |- warning: static property 'sslVerifyNone' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sslVerifyNone' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 | public static let sslVerifyPeer = OpenSSLVerifyMode(rawValue: SSL_VERIFY_PEER)
39 | public static let sslVerifyFailIfNoPeerCert = OpenSSLVerifyMode(rawValue: SSL_VERIFY_FAIL_IF_NO_PEER_CERT)
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:38:21: warning: static property 'sslVerifyPeer' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
| `- note: consider making struct 'OpenSSLVerifyMode' conform to the 'Sendable' protocol
33 | public let rawValue: Int32
34 | public init(rawValue: Int32) {
:
36 | }
37 | public static let sslVerifyNone = OpenSSLVerifyMode(rawValue: SSL_VERIFY_NONE)
38 | public static let sslVerifyPeer = OpenSSLVerifyMode(rawValue: SSL_VERIFY_PEER)
| |- warning: static property 'sslVerifyPeer' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sslVerifyPeer' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 | public static let sslVerifyFailIfNoPeerCert = OpenSSLVerifyMode(rawValue: SSL_VERIFY_FAIL_IF_NO_PEER_CERT)
40 | public static let sslVerifyClientOnce = OpenSSLVerifyMode(rawValue: SSL_VERIFY_CLIENT_ONCE)
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:39:21: warning: static property 'sslVerifyFailIfNoPeerCert' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
| `- note: consider making struct 'OpenSSLVerifyMode' conform to the 'Sendable' protocol
33 | public let rawValue: Int32
34 | public init(rawValue: Int32) {
:
37 | public static let sslVerifyNone = OpenSSLVerifyMode(rawValue: SSL_VERIFY_NONE)
38 | public static let sslVerifyPeer = OpenSSLVerifyMode(rawValue: SSL_VERIFY_PEER)
39 | public static let sslVerifyFailIfNoPeerCert = OpenSSLVerifyMode(rawValue: SSL_VERIFY_FAIL_IF_NO_PEER_CERT)
| |- warning: static property 'sslVerifyFailIfNoPeerCert' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sslVerifyFailIfNoPeerCert' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | public static let sslVerifyClientOnce = OpenSSLVerifyMode(rawValue: SSL_VERIFY_CLIENT_ONCE)
41 | public static let sslVerifyPeerWithFailIfNoPeerCert: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert]
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:40:21: warning: static property 'sslVerifyClientOnce' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
| `- note: consider making struct 'OpenSSLVerifyMode' conform to the 'Sendable' protocol
33 | public let rawValue: Int32
34 | public init(rawValue: Int32) {
:
38 | public static let sslVerifyPeer = OpenSSLVerifyMode(rawValue: SSL_VERIFY_PEER)
39 | public static let sslVerifyFailIfNoPeerCert = OpenSSLVerifyMode(rawValue: SSL_VERIFY_FAIL_IF_NO_PEER_CERT)
40 | public static let sslVerifyClientOnce = OpenSSLVerifyMode(rawValue: SSL_VERIFY_CLIENT_ONCE)
| |- warning: static property 'sslVerifyClientOnce' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sslVerifyClientOnce' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
41 | public static let sslVerifyPeerWithFailIfNoPeerCert: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert]
42 | public static let sslVerifyPeerClientOnce: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyClientOnce]
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:41:21: warning: static property 'sslVerifyPeerWithFailIfNoPeerCert' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
| `- note: consider making struct 'OpenSSLVerifyMode' conform to the 'Sendable' protocol
33 | public let rawValue: Int32
34 | public init(rawValue: Int32) {
:
39 | public static let sslVerifyFailIfNoPeerCert = OpenSSLVerifyMode(rawValue: SSL_VERIFY_FAIL_IF_NO_PEER_CERT)
40 | public static let sslVerifyClientOnce = OpenSSLVerifyMode(rawValue: SSL_VERIFY_CLIENT_ONCE)
41 | public static let sslVerifyPeerWithFailIfNoPeerCert: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert]
| |- warning: static property 'sslVerifyPeerWithFailIfNoPeerCert' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sslVerifyPeerWithFailIfNoPeerCert' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 | public static let sslVerifyPeerClientOnce: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyClientOnce]
43 | public static let sslVerifyPeerWithFailIfNoPeerCertClientOnce: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert, .sslVerifyClientOnce]
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:42:21: warning: static property 'sslVerifyPeerClientOnce' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
| `- note: consider making struct 'OpenSSLVerifyMode' conform to the 'Sendable' protocol
33 | public let rawValue: Int32
34 | public init(rawValue: Int32) {
:
40 | public static let sslVerifyClientOnce = OpenSSLVerifyMode(rawValue: SSL_VERIFY_CLIENT_ONCE)
41 | public static let sslVerifyPeerWithFailIfNoPeerCert: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert]
42 | public static let sslVerifyPeerClientOnce: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyClientOnce]
| |- warning: static property 'sslVerifyPeerClientOnce' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sslVerifyPeerClientOnce' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 | public static let sslVerifyPeerWithFailIfNoPeerCertClientOnce: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert, .sslVerifyClientOnce]
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:43:21: warning: static property 'sslVerifyPeerWithFailIfNoPeerCertClientOnce' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
| `- note: consider making struct 'OpenSSLVerifyMode' conform to the 'Sendable' protocol
33 | public let rawValue: Int32
34 | public init(rawValue: Int32) {
:
41 | public static let sslVerifyPeerWithFailIfNoPeerCert: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert]
42 | public static let sslVerifyPeerClientOnce: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyClientOnce]
43 | public static let sslVerifyPeerWithFailIfNoPeerCertClientOnce: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert, .sslVerifyClientOnce]
| |- warning: static property 'sslVerifyPeerWithFailIfNoPeerCertClientOnce' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sslVerifyPeerWithFailIfNoPeerCertClientOnce' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 | }
45 |
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:110:13: warning: static property 'sslCtxALPNBufferIndex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
108 | }
109 |
110 | static var sslCtxALPNBufferIndex = 0 as Int32
| |- warning: static property 'sslCtxALPNBufferIndex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'sslCtxALPNBufferIndex' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'sslCtxALPNBufferIndex' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 | static var sslCtxALPNBufferSizeIndex = 0 as Int32
112 | static var sslAcceptingNetIndex = 0 as Int32
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:111:13: warning: static property 'sslCtxALPNBufferSizeIndex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | static var sslCtxALPNBufferIndex = 0 as Int32
111 | static var sslCtxALPNBufferSizeIndex = 0 as Int32
| |- warning: static property 'sslCtxALPNBufferSizeIndex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'sslCtxALPNBufferSizeIndex' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'sslCtxALPNBufferSizeIndex' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 | static var sslAcceptingNetIndex = 0 as Int32
113 | static var initOnce: Bool = {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:112:13: warning: static property 'sslAcceptingNetIndex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
110 | static var sslCtxALPNBufferIndex = 0 as Int32
111 | static var sslCtxALPNBufferSizeIndex = 0 as Int32
112 | static var sslAcceptingNetIndex = 0 as Int32
| |- warning: static property 'sslAcceptingNetIndex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'sslAcceptingNetIndex' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'sslAcceptingNetIndex' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 | static var initOnce: Bool = {
114 | guard PerfectCrypto.isInitialized else {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:113:16: warning: static property 'initOnce' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
111 | static var sslCtxALPNBufferSizeIndex = 0 as Int32
112 | static var sslAcceptingNetIndex = 0 as Int32
113 | static var initOnce: Bool = {
| |- warning: static property 'initOnce' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'initOnce' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'initOnce' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
114 | guard PerfectCrypto.isInitialized else {
115 | return false
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:114:23: warning: reference to static property 'isInitialized' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
112 | static var sslAcceptingNetIndex = 0 as Int32
113 | static var initOnce: Bool = {
114 | guard PerfectCrypto.isInitialized else {
| `- warning: reference to static property 'isInitialized' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
115 | return false
116 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-Crypto/Sources/PerfectCrypto/PerfectCrypto.swift:21:20: note: static property declared here
19 |
20 | public enum PerfectCrypto {
21 | public static var isInitialized: Bool = {
| `- note: static property declared here
22 | return OpenSSLInternal.isInitialized
23 | }()
[268/269] Emitting module PerfectNet
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:30:42: warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
28 |
29 | private typealias passwordCallbackFunc = @convention(c) (UnsafeMutablePointer<Int8>?, Int32, Int32, UnsafeMutableRawPointer?) -> Int32
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
| `- warning: extraneous whitespace between attribute name and '('; this is an error in the Swift 6 language mode
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetEvent.swift:82:21: warning: static property 'emptyCallback' is not concurrency-safe because non-'Sendable' type 'NetEvent.EventCallback' (aka '(Int32, NetEvent.Filter) -> ()') may have shared mutable state; this is an error in the Swift 6 language mode
80 |
81 | public typealias EventCallback = (SocketType, Filter) -> ()
82 | private static let emptyCallback: EventCallback = { _, _ in }
| |- warning: static property 'emptyCallback' is not concurrency-safe because non-'Sendable' type 'NetEvent.EventCallback' (aka '(Int32, NetEvent.Filter) -> ()') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'emptyCallback' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
83 |
84 | #if os(Linux)
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetEvent.swift:100:21: warning: static property 'staticEvent' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
98 | }
99 |
100 | private static var staticEvent: NetEvent!
| |- warning: static property 'staticEvent' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'staticEvent' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'staticEvent' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 |
102 | private let kq: Int32
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetEvent.swift:109:21: warning: static property 'initOnce' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
107 | private var evlist: UnsafeMutablePointer<event>
108 |
109 | private static var initOnce: Bool = {
| |- warning: static property 'initOnce' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'initOnce' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'initOnce' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
110 | NetEvent.staticEvent = NetEvent()
111 | NetEvent.staticEvent.runLoop()
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:37:21: warning: static property 'sslVerifyNone' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
| `- note: consider making struct 'OpenSSLVerifyMode' conform to the 'Sendable' protocol
33 | public let rawValue: Int32
34 | public init(rawValue: Int32) {
35 | self.rawValue = rawValue
36 | }
37 | public static let sslVerifyNone = OpenSSLVerifyMode(rawValue: SSL_VERIFY_NONE)
| |- warning: static property 'sslVerifyNone' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sslVerifyNone' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 | public static let sslVerifyPeer = OpenSSLVerifyMode(rawValue: SSL_VERIFY_PEER)
39 | public static let sslVerifyFailIfNoPeerCert = OpenSSLVerifyMode(rawValue: SSL_VERIFY_FAIL_IF_NO_PEER_CERT)
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:38:21: warning: static property 'sslVerifyPeer' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
| `- note: consider making struct 'OpenSSLVerifyMode' conform to the 'Sendable' protocol
33 | public let rawValue: Int32
34 | public init(rawValue: Int32) {
:
36 | }
37 | public static let sslVerifyNone = OpenSSLVerifyMode(rawValue: SSL_VERIFY_NONE)
38 | public static let sslVerifyPeer = OpenSSLVerifyMode(rawValue: SSL_VERIFY_PEER)
| |- warning: static property 'sslVerifyPeer' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sslVerifyPeer' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
39 | public static let sslVerifyFailIfNoPeerCert = OpenSSLVerifyMode(rawValue: SSL_VERIFY_FAIL_IF_NO_PEER_CERT)
40 | public static let sslVerifyClientOnce = OpenSSLVerifyMode(rawValue: SSL_VERIFY_CLIENT_ONCE)
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:39:21: warning: static property 'sslVerifyFailIfNoPeerCert' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
| `- note: consider making struct 'OpenSSLVerifyMode' conform to the 'Sendable' protocol
33 | public let rawValue: Int32
34 | public init(rawValue: Int32) {
:
37 | public static let sslVerifyNone = OpenSSLVerifyMode(rawValue: SSL_VERIFY_NONE)
38 | public static let sslVerifyPeer = OpenSSLVerifyMode(rawValue: SSL_VERIFY_PEER)
39 | public static let sslVerifyFailIfNoPeerCert = OpenSSLVerifyMode(rawValue: SSL_VERIFY_FAIL_IF_NO_PEER_CERT)
| |- warning: static property 'sslVerifyFailIfNoPeerCert' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sslVerifyFailIfNoPeerCert' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
40 | public static let sslVerifyClientOnce = OpenSSLVerifyMode(rawValue: SSL_VERIFY_CLIENT_ONCE)
41 | public static let sslVerifyPeerWithFailIfNoPeerCert: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert]
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:40:21: warning: static property 'sslVerifyClientOnce' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
| `- note: consider making struct 'OpenSSLVerifyMode' conform to the 'Sendable' protocol
33 | public let rawValue: Int32
34 | public init(rawValue: Int32) {
:
38 | public static let sslVerifyPeer = OpenSSLVerifyMode(rawValue: SSL_VERIFY_PEER)
39 | public static let sslVerifyFailIfNoPeerCert = OpenSSLVerifyMode(rawValue: SSL_VERIFY_FAIL_IF_NO_PEER_CERT)
40 | public static let sslVerifyClientOnce = OpenSSLVerifyMode(rawValue: SSL_VERIFY_CLIENT_ONCE)
| |- warning: static property 'sslVerifyClientOnce' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sslVerifyClientOnce' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
41 | public static let sslVerifyPeerWithFailIfNoPeerCert: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert]
42 | public static let sslVerifyPeerClientOnce: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyClientOnce]
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:41:21: warning: static property 'sslVerifyPeerWithFailIfNoPeerCert' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
| `- note: consider making struct 'OpenSSLVerifyMode' conform to the 'Sendable' protocol
33 | public let rawValue: Int32
34 | public init(rawValue: Int32) {
:
39 | public static let sslVerifyFailIfNoPeerCert = OpenSSLVerifyMode(rawValue: SSL_VERIFY_FAIL_IF_NO_PEER_CERT)
40 | public static let sslVerifyClientOnce = OpenSSLVerifyMode(rawValue: SSL_VERIFY_CLIENT_ONCE)
41 | public static let sslVerifyPeerWithFailIfNoPeerCert: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert]
| |- warning: static property 'sslVerifyPeerWithFailIfNoPeerCert' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sslVerifyPeerWithFailIfNoPeerCert' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
42 | public static let sslVerifyPeerClientOnce: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyClientOnce]
43 | public static let sslVerifyPeerWithFailIfNoPeerCertClientOnce: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert, .sslVerifyClientOnce]
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:42:21: warning: static property 'sslVerifyPeerClientOnce' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
| `- note: consider making struct 'OpenSSLVerifyMode' conform to the 'Sendable' protocol
33 | public let rawValue: Int32
34 | public init(rawValue: Int32) {
:
40 | public static let sslVerifyClientOnce = OpenSSLVerifyMode(rawValue: SSL_VERIFY_CLIENT_ONCE)
41 | public static let sslVerifyPeerWithFailIfNoPeerCert: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert]
42 | public static let sslVerifyPeerClientOnce: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyClientOnce]
| |- warning: static property 'sslVerifyPeerClientOnce' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sslVerifyPeerClientOnce' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
43 | public static let sslVerifyPeerWithFailIfNoPeerCertClientOnce: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert, .sslVerifyClientOnce]
44 | }
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:43:21: warning: static property 'sslVerifyPeerWithFailIfNoPeerCertClientOnce' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
30 | public typealias VerifyCACallbackFunc = @convention (c) (Int32, UnsafeMutablePointer<X509_STORE_CTX>?) -> Int32
31 |
32 | public struct OpenSSLVerifyMode: OptionSet {
| `- note: consider making struct 'OpenSSLVerifyMode' conform to the 'Sendable' protocol
33 | public let rawValue: Int32
34 | public init(rawValue: Int32) {
:
41 | public static let sslVerifyPeerWithFailIfNoPeerCert: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert]
42 | public static let sslVerifyPeerClientOnce: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyClientOnce]
43 | public static let sslVerifyPeerWithFailIfNoPeerCertClientOnce: OpenSSLVerifyMode = [.sslVerifyPeer, .sslVerifyFailIfNoPeerCert, .sslVerifyClientOnce]
| |- warning: static property 'sslVerifyPeerWithFailIfNoPeerCertClientOnce' is not concurrency-safe because non-'Sendable' type 'OpenSSLVerifyMode' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: annotate 'sslVerifyPeerWithFailIfNoPeerCertClientOnce' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
44 | }
45 |
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:110:13: warning: static property 'sslCtxALPNBufferIndex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
108 | }
109 |
110 | static var sslCtxALPNBufferIndex = 0 as Int32
| |- warning: static property 'sslCtxALPNBufferIndex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'sslCtxALPNBufferIndex' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'sslCtxALPNBufferIndex' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
111 | static var sslCtxALPNBufferSizeIndex = 0 as Int32
112 | static var sslAcceptingNetIndex = 0 as Int32
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:111:13: warning: static property 'sslCtxALPNBufferSizeIndex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
109 |
110 | static var sslCtxALPNBufferIndex = 0 as Int32
111 | static var sslCtxALPNBufferSizeIndex = 0 as Int32
| |- warning: static property 'sslCtxALPNBufferSizeIndex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'sslCtxALPNBufferSizeIndex' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'sslCtxALPNBufferSizeIndex' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
112 | static var sslAcceptingNetIndex = 0 as Int32
113 | static var initOnce: Bool = {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:112:13: warning: static property 'sslAcceptingNetIndex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
110 | static var sslCtxALPNBufferIndex = 0 as Int32
111 | static var sslCtxALPNBufferSizeIndex = 0 as Int32
112 | static var sslAcceptingNetIndex = 0 as Int32
| |- warning: static property 'sslAcceptingNetIndex' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'sslAcceptingNetIndex' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'sslAcceptingNetIndex' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
113 | static var initOnce: Bool = {
114 | guard PerfectCrypto.isInitialized else {
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:113:16: warning: static property 'initOnce' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
111 | static var sslCtxALPNBufferSizeIndex = 0 as Int32
112 | static var sslAcceptingNetIndex = 0 as Int32
113 | static var initOnce: Bool = {
| |- warning: static property 'initOnce' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'initOnce' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: annotate 'initOnce' with '@MainActor' if property should only be accessed from the main actor
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
114 | guard PerfectCrypto.isInitialized else {
115 | return false
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetTCPSSL.swift:114:23: warning: reference to static property 'isInitialized' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
112 | static var sslAcceptingNetIndex = 0 as Int32
113 | static var initOnce: Bool = {
114 | guard PerfectCrypto.isInitialized else {
| `- warning: reference to static property 'isInitialized' is not concurrency-safe because it involves shared mutable state; this is an error in the Swift 6 language mode
115 | return false
116 | }
/Users/admin/builder/spi-builder-workspace/.build/checkouts/Perfect-Crypto/Sources/PerfectCrypto/PerfectCrypto.swift:21:20: note: static property declared here
19 |
20 | public enum PerfectCrypto {
21 | public static var isInitialized: Bool = {
| `- note: static property declared here
22 | return OpenSSLInternal.isInitialized
23 | }()
[269/269] Compiling PerfectNet NetAddress.swift
/Users/admin/builder/spi-builder-workspace/Sources/PerfectNet/NetAddress.swift:97:26: warning: variable 'resultList' was never mutated; consider changing to 'let' constant
95 | result = getaddrinfo(host, nil, &hints, &resultListPtr)
96 | }
97 | guard result == 0, var resultList = resultListPtr else {
| `- warning: variable 'resultList' was never mutated; consider changing to 'let' constant
98 | return nil
99 | }
Build complete! (19.79s)
Build complete.
{
"dependencies" : [
{
"identity" : "perfect-crypto",
"requirement" : {
"range" : [
{
"lower_bound" : "4.0.0",
"upper_bound" : "5.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/PerfectlySoft/Perfect-Crypto.git"
},
{
"identity" : "perfect-thread",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/PerfectlySoft/Perfect-Thread.git"
}
],
"manifest_display_name" : "PerfectNet",
"name" : "PerfectNet",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "PerfectNet",
"targets" : [
"PerfectNet"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "PerfectNetTests",
"module_type" : "SwiftTarget",
"name" : "PerfectNetTests",
"path" : "Tests/PerfectNetTests",
"product_dependencies" : [
"PerfectCrypto",
"PerfectThread"
],
"sources" : [
"PerfectNetTests.swift"
],
"target_dependencies" : [
"PerfectNet"
],
"type" : "test"
},
{
"c99name" : "PerfectNet",
"module_type" : "SwiftTarget",
"name" : "PerfectNet",
"path" : "Sources/PerfectNet",
"product_dependencies" : [
"PerfectCrypto",
"PerfectThread"
],
"product_memberships" : [
"PerfectNet"
],
"sources" : [
"Net.swift",
"NetAddress.swift",
"NetEvent.swift",
"NetNamedPipe.swift",
"NetTCP.swift",
"NetTCPSSL.swift",
"NetUDP.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
Done.