273 lines
3.6 KiB
Markdown
273 lines
3.6 KiB
Markdown
# 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
|
|
|
|
```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;
|
|
```
|
|
|
|
### Exemple 30
|
|
|
|
```text
|
|
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.
|