3.6 KiB
3.6 KiB
Exemples / DO-DON'T — Chapitre 37 — Dépendances et scopes
Document compagnon. Les exemples illustrent les règles du chapitre ; la formulation normative reste dans le chapitre lui-même.
Exemples extraits du chapitre
Exemple 1
kind = nature logique de la dépendance
source = moyen utilisé pour la localiser/résoudre
Exemple 2
saselang
native
Exemple 3
workspace
registry
local
git
artifact
system
Exemple 4
[dependencies."vendor/package@requirement"]
kind = "saselang"
source = "registry"
locator = "saselang"
Exemple 5
foo = "^1.2"
foo = "../foo"
Exemple 6
vendor/package@requirement
Exemple 7
[dependencies."acme/math@^2.4"]
kind = "saselang"
source = "git"
locator = "https://example.org/acme/math.git"
Exemple 8
[dependencies."acme/local-tools@^1.0"]
kind = "saselang"
source = "local"
locator = "../local-tools"
Exemple 9
[dependencies."acme/parser@=1.4.2"]
kind = "saselang"
source = "artifact"
locator = "../libs/parser.saselib"
Exemple 10
[dependencies."sdl/sdl@^3.0"]
kind = "native"
source = "system"
locator = "SDL3"
Exemple 11
[workspace.dependencies."sdl/sdl@^3.0"]
kind = "native"
source = "system"
locator = "SDL3"
Exemple 12
[dependencies."sdl/sdl@^3.0"]
kind = "native"
source = "workspace"
Exemple 13
dependencies
build.dependencies
dev.dependencies
dev.unit.dependencies
dev.integration.dependencies
dev.environment.dependencies
Exemple 14
dev.benchmark.dependencies
dev.documentation.dependencies
dev.example.dependencies
Exemple 15
dev.unit effective =
dependencies
+ dev.dependencies
+ dev.unit.dependencies
Exemple 16
vendor/package
Exemple 17
sdl/sdl@2.1.*
sdl/sdl@^3.0
Exemple 18
sdl/sdl@^3.0
sdl/sdl@3.1.*
Exemple 19
vendor/package@requirement
Exemple 20
vendor/package@requirement
Exemple 21
sdl/sdl@^3.0
Exemple 22
Linux -> libSDL3.so / SONAME approprié
Windows -> SDL3.dll + import library éventuelle
macOS -> libSDL3.dylib ou framework approprié
Exemple 23
[dependencies."sdl/sdl@^3.0"]
kind = "native"
source = "system"
locator = "SDL3"
[[dependencies."sdl/sdl@^3.0".variants]]
platform = "linux"
library = "SDL3"
[[dependencies."sdl/sdl@^3.0".variants]]
platform = "windows"
library = "SDL3"
Exemple 24
target-family
platform
architecture
abi
distribution
distribution-version
capabilities
Exemple 25
variant A : platform=linux, architecture=x86_64
variant B : platform=linux, abi=gnu
Exemple 26
library
linkage = auto | static | shared
deployment = auto | external | bundled
search-paths
include-paths
Exemple 27
runtime-files
link-files/import-libraries
frameworks
system-packages
resources
plugins
Exemple 28
=1.4.7
^4.5
~1.4.2
3.1.*
>=1.0
>=1.2,<2.0
Exemple 29
import type namespace.Type
from "vendor/package@requirement"
as LocalType;
Exemple 30
MapDB-like
RocksDB-like
PostgreSQL-compatible components
SDL-like multimedia
WebKit/WebView integrations ou remplacements
bibliothèques image/audio/vidéo
outils UI et multimedia
DO / DON'T / WHY / compiler error / edge cases
À consolider progressivement avant la baseline publique V3 et à transformer, lorsque pertinent, en tests de conformité de la toolchain.