Files
saselang-bible/examples/037-dependances-et-scopes-examples.md
2026-09-13 00:12:41 +02:00

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.