Skip to content

Commit

Permalink
Merge pull request #5 from rok4/develop
Browse files Browse the repository at this point in the history
Release 4.1.5
  • Loading branch information
Dolite committed Aug 30, 2023
2 parents 0411dfe + 5d22f14 commit ae159bc
Show file tree
Hide file tree
Showing 9 changed files with 145 additions and 52 deletions.
19 changes: 19 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
ci-cd:
- .github/**/*

dependencies:
- cmake/**/*

documentation:
- docs/**/*

enhancement:
- src/**/*

quality:
- tests/**/*

tooling:
- CMakeLists.txt
- config.h.in
- '**/CMakeLists.txt'
24 changes: 24 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
changelog:
exclude:
authors:
- dependabot
- pre-commit-ci
categories:
- title: Correction de bugs 🐛
labels:
- bug
- title: Améliorations et nouvelles fonctionnalités 🎉
labels:
- enhancement
- quality
- title: Outillage 🔧
labels:
- ci-cd
- dependencies
- tooling
- title: Documentation 📖
labels:
- documentation
- title: Divers
labels:
- "*"
38 changes: 20 additions & 18 deletions .github/workflows/build-and-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,12 @@ jobs:

- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
uses: ncipollo/release-action@v1
with:
tag_name: ${{ github.ref_name }}
release_name: Release ${{ github.ref_name }}
body_path: CHANGELOG.md
token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ github.ref_name }}
name: Release ${{ github.ref_name }}
generateReleaseNotes: true
draft: false
prerelease: false

Expand Down Expand Up @@ -80,7 +79,7 @@ jobs:
cd build
make doc
cd ..
cp README.md CHANGELOG.md dist/
cp -r README.md CHANGELOG.md docs/images dist/
- name: Upload documentation
if: "matrix.os == 'ubuntu-20.04'"
Expand Down Expand Up @@ -112,21 +111,24 @@ jobs:

- name: Copy version elements to final location
run: |
mkdir -p docs/versions/${{ github.ref_name }}
mkdir -p docs/versions/${{ github.ref_name }}/docs
cp -r artifact/html docs/versions/${{ github.ref_name }}/
cp -r artifact/images docs/versions/${{ github.ref_name }}/docs/
- name: Add pages from templates
run: |
sed "s#__version__#${{ github.ref_name }}#" templates/DOCUMENTATION.template.md >docs/versions/${{ github.ref_name }}/DOCUMENTATION.md
sed "s#__version__#${{ github.ref_name }}#" templates/CHANGELOG.template.md >docs/versions/${{ github.ref_name }}/CHANGELOG.md
cat artifact/CHANGELOG.md >>docs/versions/${{ github.ref_name }}/CHANGELOG.md
sed "s#__version__#${{ github.ref_name }}#" templates/README.template.md >docs/versions/${{ github.ref_name }}/README.md
cat artifact/README.md >>docs/versions/${{ github.ref_name }}/README.md
sed -i "s#x.y.z#${{ github.ref_name }}#g" docs/versions/${{ github.ref_name }}/README.md
sed "s#__version__#${{ github.ref_name }}#" templates/index.template.md >docs/index.md
echo "# Versions" >docs/versions.md
echo "" >>docs/versions.md
for v in `ls -t docs/versions`; do sed "s#__version__#$v#" templates/versions.template.md >>docs/versions.md; done
sed "s#__version__#${{ github.ref_name }}#" templates/mkdocs.template.yml >mkdocs.yml
sed "s#__version__#${{ github.ref_name }}#" templates/documentation.template.md >docs/versions/${{ github.ref_name }}/documentation.md
sed "s#__version__#${{ github.ref_name }}#" templates/index-version.template.md >docs/version s/${{ github.ref_name }}/index.md
cat artifact/README.md >>docs/versions/${{ github.ref_name }}/index.md
sed -i "s#x.y.z#${{ github.ref_name }}#g" docs/versions/${{ github.ref_name }}/index.md
cp templates/index-versions.template.md docs/versions/index.md
sed "s/^## \(.*\)$/## \1 \n\n[➔ Lien vers la documentation](\1\/index.md) /" artifact/CHANGELOG.md >>docs/versions/index.md
sed "s#__version__#${{ github.ref_name }}#" templates/latest.template.html >docs/versions/latest/index.html
rm -r artifact
Expand Down
15 changes: 15 additions & 0 deletions .github/workflows/pr-auto-labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: "🏷 PR Labeler"
on:
- pull_request_target

permissions:
contents: read
pull-requests: write

jobs:
triage:
runs-on: ubuntu-latest
steps:
- uses: actions/labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
25 changes: 14 additions & 11 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
## Summary
## 4.1.5

Corrections de la gestion du style dans mergeNtiff et ajout d'includes manquants
### [Fixed]

* Outil `mergeNtiff` : correction du cas mergeNtiff + image de fond + style. L'image de fond provient d'une pyramide, donc est déjà au format cible. Il ne faut pas lui appliquer de style.

## Changelog
## 4.1.4

### [Fixed]

Expand All @@ -15,16 +17,17 @@ Corrections de la gestion du style dans mergeNtiff et ajout d'includes manquants
* Prise en compte du nouveau nommage dans l'utilisation de l'annuaire de contexte de stockage
* Compilation avec core-cpp en librairie dynamique

<!--
### [Added]
## 4.0.0

### [Changed]
Le projet ROK4 a été totalement refondu, dans son organisation et sa mise à disposition. Les composants sont désormais disponibles dans des releases sur GitHub au format debian.

### [Deprecated]
Cette release contient les outils de génération des pyramides de données, permettant les reprojections, le sous echantillonnage, ou encore la mise au format final des données.

### [Removed]
### [Added]

### [Fixed]
* L'outil mergeNtiff peut prendre en compte un style à appliquer aux données, avant l'éventuelle reprojection

### [Changed]

### [Security]
-->
* Les chemins des dalles finales sont fournis dans un format précisant le type de stockage : `(file|ceph|s3|swift)://<chemin vers le fichier ou l'objet>`. Dans le cas du stockage objet, le chemin est de la forme `<nom du contenant>/<nom de l'objet>`
* Passage de la librairie PROJ à la version 6
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ set(CMAKE_INSTALL_PREFIX "/usr/local" CACHE PATH "Installation location")
set(BUILD_VERSION "0.0.0" CACHE STRING "Build version")
set(DEBUG_BUILD 0 CACHE BOOL "Debug mode compilation")
set(DOC_ENABLED 1 CACHE BOOL "Documentation compilation")
set(CPACK_SYSTEM_NAME "ubuntu20.04" CACHE STRING "Building OS, to deduce package format to generate")
set(CPACK_SYSTEM_NAME "ubuntu-20.04" CACHE STRING "Building OS, to deduce package format to generate")
set(CPACK_PACKAGE_NAME "rok4-generation" CACHE STRING "Package's name")

set(VERSION ${BUILD_VERSION})
Expand Down
37 changes: 37 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Directives de contribution

Merci d'envisager de contribuer à ce projet !

## Pull request

Le titre de la PR est utilisé pour constituer automatiquement les notes de release. Vous pouvez préciser en commentaire de votre PR des détails qui seront ajoutés dans le fichier `CHANGELOG.md` par les mainteneurs du projet.

Le formalisme du changelog est le suivant, en markdown :

```md
### [Added]

Liste de nouvelles fonctionnalités.

### [Changed]

Liste de fonctionnalités existantes modifiées.

### [Deprecated]

Liste de fonctionnalités dépréciées.

### [Removed]

Liste de foncitonnalités retirées.

### [Fixed]

Liste de corrections fonctionnelles.

### [Security]

Liste de corrections de sécurité.
```

Les parties vides, sans élément à lister, peuvent être ignorées.
26 changes: 6 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,6 @@ Ces outils permettent le calcul des dalles de données composant les pyramides e

Ces outils sont principalement appelés dans les scripts générés par les outils de [prégénération](https://github.com/rok4/pregeneration).

- [Installer les outils (Debian)](#installer-les-outils-debian)
- [Utiliser les outils](#utiliser-les-outils)
- [Variables d'environnement utilisées](#variables-denvironnement-utilisées)
- [CACHE2WORK](#cache2work)
- [CHECKWORK](#checkwork)
- [COMPOSENTIFF](#composentiff)
- [DECIMATENTIFF](#decimatentiff)
- [MANAGENODATA](#managenodata)
- [MERGE4TIFF](#merge4tiff)
- [MERGENTIFF](#mergentiff)
- [OVERLAYNTIFF](#overlayntiff)
- [PBF2CACHE](#pbf2cache)
- [WORK2CACHE](#work2cache)
- [Compiler les outils (Debian)](#compiler-les-outils-debian)
- [Dépendances supplémentaires](#dépendances-supplémentaires)
- [Variables CMake](#variables-cmake)
- [Compilation, documentation et installation](#compilation-documentation-et-installation)


## Installer les outils (Debian)

Installations système requises (listées dans le paquet debian, installées avec l'applicatif lors du `apt install`) :
Expand Down Expand Up @@ -52,7 +33,7 @@ apt install ./rok4-generation.deb
### installation des styles (si besoin dans les usages)
curl -o styles.deb https://github.com/rok4/styles/releases/download/x.y.z/rok4-styles-x.y.z-linux-all.deb

apt install ./rok4-generation.deb
apt install ./styles.deb
```


Expand Down Expand Up @@ -276,6 +257,7 @@ Les informations sur les canaux (nombre, taille en bits et format) peuvent :
`mergeNtiff -f <FILE> [-r <DIR>] -c <VAL> -i <VAL> -n <VAL> [-a <VAL> -s <VAL> -b <VAL>]`

* `-f <FILE>` : fichier de configuration contenant l'image en sortie et la liste des images en entrée, avec leur géoréférencement et les masques éventuels
* `-g` : la première image en entrée dans le fichier est une image de fond. Il ne faudra pas lui appliquer l'éventuel style fourni.
* `-r <DIRECTORY>` : dossier racine à utiliser pour les images dont le chemin commence par un `?` dans le fichier de configuration. Le chemin du dossier doit finir par un `/`
* `-p <FILE>` : fichier de style à appliquer aux images avant reprojection ou réechantillonnage
* `-i <INTERPOLATION>` : interpolation à utiliser pour les reprojections et le réechantillonnage : nn (plus proche voisin), linear, bicubic, lanzos
Expand Down Expand Up @@ -447,3 +429,7 @@ make
make doc
make install
```

## Contribuer

Consulter les [directives de contribution](./CONTRIBUTING.md)
11 changes: 9 additions & 2 deletions src/mergeNtiff.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,8 @@ Compression::eCompression compression = Compression::NONE;
/** \~french Interpolation utilisée pour le réechantillonnage ou la reprojection */
Interpolation::KernelType interpolation = Interpolation::CUBIC;

/** \~french A-t-on précisé une image de fond */
bool backgroundProvided = false;
/** \~french A-t-on précisé un style */
bool styleProvided = false;
/** \~french Chemin du fichier de style à appliquer */
Expand All @@ -138,6 +140,7 @@ std::string help = std::string("\nmergeNtiff version ") + std::string(VERSION) +

"Parameters:\n"
" -f configuration file : list of output and source images and masks\n"
" -g : first input is a background image\n"
" -r output root : root directory for output files, have to end with a '/'\n"
" -c output compression :\n"
" raw no compression\n"
Expand Down Expand Up @@ -208,6 +211,9 @@ int parseCommandLine(int argc, char** argv) {
case 'd': // debug logs
debugLogger = true;
break;
case 'g': // background
backgroundProvided = true;
break;
case 'f': // fichier de liste des images source
if (i++ >= argc) {
BOOST_LOG_TRIVIAL(error) << "Error in option -f";
Expand Down Expand Up @@ -591,7 +597,7 @@ int loadImages(FileImage** ppImageOut, FileImage** ppMaskOut, std::vector<FileIm
return -1;
}

// Le style peut modifier
// Le style peut modifier les caractéristiques
bitspersample = style->getBitsPerSample(bitspersample);
samplesperpixel = style->getChannels(samplesperpixel);
sampleformat = style->getSampleFormat(sampleformat);
Expand Down Expand Up @@ -1030,7 +1036,8 @@ int mergeTabImages(FileImage *pImageOut, // Sortie
BOOST_LOG_TRIVIAL(debug) << "\t is compatible";
/* les images sources et finale ont la meme resolution et la meme phase
* on aura donc pas besoin de reechantillonnage.*/
if (styleProvided) {
if (styleProvided && ! (i == 0 && backgroundProvided)) {
// Un style est fourni et nous ne sommes pas dans le cas de la première entrée qui est une image de fond
Image* pStyled = NULL;

if (style->isEstompage()) {
Expand Down

0 comments on commit ae159bc

Please sign in to comment.