Skip to content

Latest commit

 

History

History
83 lines (72 loc) · 8.83 KB

File metadata and controls

83 lines (72 loc) · 8.83 KB

Generated Sharp Runtime component catalogue

This file is generated from the CMake component registrations. Run python3 scripts/generate_component_catalog.py after changing module metadata, or use --check to verify that the committed catalogue is current.

The graph contains 41 physical modules and 92 direct production dependency edges.

For each row, the component name and representative public header form a minimal consumer example using the template below:

set(SHARP_RUNTIME_COMPONENTS <Component>)
set(SHARP_RUNTIME_BUILD_TESTS OFF CACHE BOOL "" FORCE)
add_subdirectory(sharp-runtime)
target_link_libraries(MyApp PRIVATE SharpRuntime::<Component>)

The corresponding source includes the row's representative header. Consumers request only public dependencies; private and test-only dependencies are shown for maintainers and are not part of the consumer include surface.

Physical components

Component Owner Kind Public dependencies Private dependencies Test-only dependencies External/platform dependency Representative public header
Core.Base modules/core static Collections.Core, Globalization, IO, Runtime, Text, Threading, Threading.Tasks, TimeZone, Uri SharpRuntime/Experimental/Property.hpp
Console modules/console static Core.Base System/Console.hpp
Uri modules/uri static Core.Base System/Uri.hpp
TimeZone modules/time-zone static Core.Base System/InvalidTimeZoneException.hpp
Buffers modules/buffers interface Core.Base System/Buffers/ArrayBufferWriter.hpp
Collections.Core modules/collections interface Core.Base IO, Text System/Collections/ArrayList.hpp
Collections.Blocking modules/collections-blocking interface Collections.Core, Core.Base, Threading System/Collections/Concurrent/BlockingCollection.hpp
Collections.Async modules/collections-async interface Threading System/Collections/Generic/IAsyncEnumerable.hpp
Collections.ObjectModel modules/collections-object-model interface Collections.Core, ComponentModel, Core.Base System/Collections/ObjectModel/ObservableCollection.hpp
ComponentModel modules/component-model interface Core.Base System/ComponentModel/AsyncCompletedEventArgs.hpp
Diagnostics modules/diagnostics static Core.Base System/Diagnostics/CodeAnalysis/CodeAnalysisAttributes.hpp
Globalization modules/globalization static Core.Base System/Globalization/Calendar.hpp
Numerics modules/numerics static Buffers, Collections.Core, Core.Base System/Numerics/BigInteger.hpp
Runtime modules/runtime static Collections.Core, Core.Base System/Runtime/AmbiguousImplementationException.hpp
Text modules/text static Buffers, Core.Base System/Text/ASCIIEncoding.hpp
Text.Json modules/text-json static Core.Base, Text Collections.Core Collections.Core System/Text/Json/JsonCommentHandling.hpp
Text.RegularExpressions modules/text-regular-expressions interface Core.Base System/Text/RegularExpressions/Capture.hpp
Threading modules/threading static Core.Base, TimeZone System/AsyncCallback.hpp
Threading.Tasks modules/threading-tasks static Core.Base, Threading System/IAsyncDisposable.hpp
Threading.Channels modules/threading-channels interface Core.Base, Threading.Tasks System/Threading/Channels/BoundedChannelFullMode.hpp
Timers modules/timers static ComponentModel, Core.Base Threading System/Timers/ElapsedEventArgs.hpp
IO modules/io static Core.Base, Uri TimeZone IO.IsolatedStorage, TimeZone System/BinaryData.hpp
IO.Compression modules/io-compression static Buffers, Core.Base, IO ZLIB (private) System/IO/Compression/CompressionArgumentValidation.hpp
IO.Compression.Zip modules/io-compression-zip static IO Core.Base vendored miniz (private) System/IO/Compression/CompressionLevel.hpp
IO.Hashing modules/io-hashing static Core.Base, IO System/IO/Hashing/Adler32.hpp
Storage modules/storage static parent-provided SDL3 on Android (private) SharpRuntime/Storage/StoragePaths.hpp
IO.IsolatedStorage modules/io-isolated-storage static Core.Base, IO Storage System/IO/IsolatedStorage/IsolatedStorage.hpp
Net modules/net static Collections.Core, ComponentModel, Core.Base, Uri ws2_32 on Windows (private) System/Net/Cookie.hpp
Net.Sockets modules/net-sockets static Core.Base, IO, Net, Threading.Tasks System/Net/Sockets/IPPacketInformation.hpp
Net.Http modules/net-http static Core.Base, IO, Net, Threading, Threading.Tasks Uri Net.Sockets System/Net/Http/ByteArrayContent.hpp
Net.Http.Headers modules/net-http-headers static Collections.Core, Core.Base, Uri Net System/Net/Http/Headers/AuthenticationHeaderValue.hpp
Net.Http.Json modules/net-http-json interface Core.Base, Net.Http, Text.Json, Threading.Tasks Net.Sockets System/Net/Http/Json/HttpClientJsonExtensions.hpp
Net.Mime modules/net-mime static Collections.Core, Core.Base System/Net/Mime/ContentType.hpp
Net.NetworkInformation modules/net-network-information static ComponentModel, Core.Base, Net, Threading.Tasks System/Net/NetworkInformation/IPStatus.hpp
Net.Security modules/net-security interface Core.Base System/Net/Security/AuthenticationLevel.hpp
Net.WebSockets modules/net-websockets static ComponentModel, Core.Base, Net, Net.Sockets, Threading, Threading.Tasks, Uri System/Net/WebSockets/ClientWebSocket.hpp
Security modules/security interface Core.Base System/Security/Authentication/AuthenticationException.hpp
Security.Cryptography modules/security-cryptography static Core.Base System/Security/Cryptography/AuthenticationTagMismatchException.hpp
Security.Cryptography.Random modules/security-cryptography-random static Core.Base bcrypt on Windows (private) System/Security/Cryptography/RNGCryptoServiceProvider.hpp
Xml modules/xml static Core.Base, Uri Diagnostics Xml.Linq vendored tinyxml2 (public) System/Xml/ConformanceLevel.hpp
Xml.Linq modules/xml-linq static Core.Base, Xml System/Xml/Linq/Extensions.hpp

Compatibility components

Compatibility components preserve broad historical surfaces. New code should prefer the narrow physical component from the table above.

Component Owner Kind Direct dependencies Representative public header
Core modules/core compatibility umbrella Console, Core.Base, TimeZone, Uri SharpRuntime/Experimental/Property.hpp
Collections modules/collections compatibility umbrella Collections.Async, Collections.Blocking, Collections.Core, Collections.ObjectModel System/Collections/ArrayList.hpp
Xml.XPath modules/xml alias of Xml Xml System/Xml/ConformanceLevel.hpp
All CMake aggregate compatibility umbrella Buffers, Collections.Async, Collections.Blocking, Collections.Core, Collections.ObjectModel, ComponentModel, Console, Core.Base, Diagnostics, Globalization, IO, IO.Compression, IO.Compression.Zip, IO.Hashing, IO.IsolatedStorage, Net, Net.Http, Net.Http.Headers, Net.Http.Json, Net.Mime, Net.NetworkInformation, Net.Security, Net.Sockets, Net.WebSockets, Numerics, Runtime, Security, Security.Cryptography, Security.Cryptography.Random, Storage, Text, Text.Json, Text.RegularExpressions, Threading, Threading.Channels, Threading.Tasks, TimeZone, Timers, Uri, Xml, Xml.Linq SharpRuntime/Experimental/Property.hpp