Files
saselang-bible/examples/037-dependances-et-scopes-examples.md
2026-09-12 08:56:27 +02:00

3.5 KiB

Exemples / DO-DON'T — Chapitre 37 — Dépendances et scopes

Document compagnon non normatif tant qu'une règle n'est pas explicitement référencée comme normative par le chapitre.

Exemples actuellement présents dans le 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;

DO / DON'T / WHY / compiler error / edge cases

La couverture structurée de cette section sera enrichie au fur et à mesure de la fermeture des règles du chapitre. La migration 0.2.12 conserve volontairement les exemples historiques dans le chapitre afin de ne perdre aucun contexte normatif.