Pomoc pro vývojáře
Čtete neoficiální překlad originální stránky.
Licencování by mělo být pro vývojáře snadné. Poskytujeme několik nástrojů a služeb, které vám umožní soustředit se na kódování.
Obsah: Pomocný nástroj, Příklad repozitářů, REUSE API, CI/CD workflow
REUSE Tool
Nástroj REUSE tool pomáhá při dosahování a potvrzování souladu s nařízením REUSE. Stahuje úplné licenční texty, přidává do hlaviček souborů informace o autorských právech a licenci a obsahuje liner pro identifikaci problémů. Nakonec lze vygenerovat softwarovou soupisku.
Přečtěte si dokumentaci a zjistěte více o tomto nástroji. V “Jak mohu …” našich často kladených dotazech se dozvíte o různých interakcích nástroje.
Příklad repozitářů
Jak vypadá projekt v souladu s REUSE? Následující úložiště jsou základní, ale každé z nich je v souladu s REUSE. Dáváme je k dispozici, abychom ukázali, jak REUSE funguje v praxi.
- reuse-tutorial-example
- úložiště vyhovující pravidlům REUSE, které odpovídá příkladu v tutoriálu. Obsahuje větev nevyhovující požadavkům pro testování.
- reuse-tool - samotný pomocný nástroj je kompatibilní, stejně jako všechny ostatní repozitáře REUSE.
Zvažte registraci svého projektu v rozhraní REUSE API, abyste mohli zahrnout dynamický odznak shody.
API
Rozhraní REUSE API vám pomůže průběžně kontrolovat a zobrazovat dodržování pokynů REUSE. Do souboru README můžete zahrnout odznak označující živý stav a výstup analyzovat pomocí vygenerovaného souboru JSON.
Takto bude vypadat odznak pro projekt, který je v souladu se směrnicí REUSE. Kliknutím na odznak se zobrazí další informace:
Rozhraní API je dokonalým nástrojem pro všechny, kteří chtějí prokázat, že jejich úložiště dodržuje osvědčené postupy při poskytování informací o licencích a autorských právech. Umožňuje službám třetích stran integrovat živý stav REUSE a nabízí jednoduchou alternativu pro lidi, kteří nechtějí instalovat nástroj REUSE pro první rychlou kontrolu.
Stejně jako vše ostatní v REUSE je API veřejně dostupné pod licencemi svobodného softwaru.
Pre-commit hook
Při každé revizi můžete automaticky spustit reuse lint
jako hook před
revizí pro systém Git. Používá se
pre-commit. Jakmile jej
nainstalujete, přidejte jej do souboru
.pre-commit-config.yaml
ve svém úložišti:
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
repos:
- repo: https://github.com/fsfe/reuse-tool
rev: v5.0.2
hooks:
- id: reuse
Poté spusťte pre-commit install
. Nyní se při každé revizi na pozadí spustí
reuse lint
, který zabrání revizi, pokud se vyskytne chyba.
Zařazení do pracovních postupů CI/CD
REUSE lze snadno integrovat do stávajících procesů CI/CD a průběžně testovat úložiště a jeho změny na shodu s REUSE.
FSFE nabízí obraz Docker, který lze použít v mnoha řešeních CI. Níže najdete několik příkladů:
Drone
Do souboru .drone.yml
vložte následující úryvek:
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
steps:
- name: reuse
image: fsfe/reuse:latest
Více informací o Drone na drone.io.
GitHub
Uživatelé GitHub mohou akci REUSE integrovat do svých pracovních
postupů. Zařaďte následující soubor jako .github/workflows/reuse.yaml
:
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
name: REUSE Compliance Check
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v4
Další pokyny k použití naleznete na stránce ‘action’s marketplace page’.
Další informace o akcích GitHub najdete na docs.github.com.
GitLab
Do souboru .gitlab-ci.yml
vložte následující úryvek:
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
reuse:
image:
name: fsfe/reuse:latest
entrypoint: [""]
script:
- reuse lint
Další informace o CI GitLabu najdete na docs.gitlab.com.
Travis CI
Do souboru .travis.yml
vložte následující úryvek:
# SPDX-FileCopyrightText: 2020 Free Software Foundation Europe e.V.
# SPDX-License-Identifier: CC0-1.0
language: minimal
services:
- docker
before_install:
- docker pull fsfe/reuse:latest
- docker run -v ${TRAVIS_BUILD_DIR}:/data fsfe/reuse:latest lint
Více informací o Travis CI najdete na travis-ci.com.