This commit is contained in:
2026-09-12 08:56:27 +02:00
parent 426aa92d0d
commit 18306bdc8c
116 changed files with 11080 additions and 0 deletions

View File

@@ -0,0 +1,260 @@
# 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
```text
kind = nature logique de la dépendance
source = moyen utilisé pour la localiser/résoudre
```
### Exemple 2
```text
saselang
native
```
### Exemple 3
```text
workspace
registry
local
git
artifact
system
```
### Exemple 4
```toml
[dependencies."vendor/package@requirement"]
kind = "saselang"
source = "registry"
locator = "saselang"
```
### Exemple 5
```toml
foo = "^1.2"
foo = "../foo"
```
### Exemple 6
```text
vendor/package@requirement
```
### Exemple 7
```toml
[dependencies."acme/math@^2.4"]
kind = "saselang"
source = "git"
locator = "https://example.org/acme/math.git"
```
### Exemple 8
```toml
[dependencies."acme/local-tools@^1.0"]
kind = "saselang"
source = "local"
locator = "../local-tools"
```
### Exemple 9
```toml
[dependencies."acme/parser@=1.4.2"]
kind = "saselang"
source = "artifact"
locator = "../libs/parser.saselib"
```
### Exemple 10
```toml
[dependencies."sdl/sdl@^3.0"]
kind = "native"
source = "system"
locator = "SDL3"
```
### Exemple 11
```toml
[workspace.dependencies."sdl/sdl@^3.0"]
kind = "native"
source = "system"
locator = "SDL3"
```
### Exemple 12
```toml
[dependencies."sdl/sdl@^3.0"]
kind = "native"
source = "workspace"
```
### Exemple 13
```text
dependencies
build.dependencies
dev.dependencies
dev.unit.dependencies
dev.integration.dependencies
dev.environment.dependencies
```
### Exemple 14
```text
dev.benchmark.dependencies
dev.documentation.dependencies
dev.example.dependencies
```
### Exemple 15
```text
dev.unit effective =
dependencies
+ dev.dependencies
+ dev.unit.dependencies
```
### Exemple 16
```text
vendor/package
```
### Exemple 17
```text
sdl/sdl@2.1.*
sdl/sdl@^3.0
```
### Exemple 18
```text
sdl/sdl@^3.0
sdl/sdl@3.1.*
```
### Exemple 19
```text
vendor/package@requirement
```
### Exemple 20
```text
vendor/package@requirement
```
### Exemple 21
```text
sdl/sdl@^3.0
```
### Exemple 22
```text
Linux -> libSDL3.so / SONAME approprié
Windows -> SDL3.dll + import library éventuelle
macOS -> libSDL3.dylib ou framework approprié
```
### Exemple 23
```toml
[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
```text
target-family
platform
architecture
abi
distribution
distribution-version
capabilities
```
### Exemple 25
```text
variant A : platform=linux, architecture=x86_64
variant B : platform=linux, abi=gnu
```
### Exemple 26
```text
library
linkage = auto | static | shared
deployment = auto | external | bundled
search-paths
include-paths
```
### Exemple 27
```text
runtime-files
link-files/import-libraries
frameworks
system-packages
resources
plugins
```
### Exemple 28
```text
=1.4.7
^4.5
~1.4.2
3.1.*
>=1.0
>=1.2,<2.0
```
### Exemple 29
```text
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.