853e8f07cf
cli: Rends configurable quels fichiers sont empaquetés
2023-01-02 13:42:11 +01:00
d3b2dcf4d0
Merge pull request 'Ajoute le registre des installations' ( #34 ) from cli/install-registry into main
2022-12-29 12:14:08 +01:00
490126028d
cli: Corrige la compilation avec GCC 12
2022-12-29 12:11:20 +01:00
d86d69abf4
cli: Restreins la copie et le déplacement de fichiers temporaires
2022-12-29 12:07:42 +01:00
ab3ddd8c68
cli: Refactor avec #listDeclaredPackagesNames
2022-12-26 12:20:01 +01:00
c7206f015e
cli: Utilise des fs::path pour les fichiers temporaires
2022-12-26 12:18:47 +01:00
221d90c805
cli(test): Alloue le nom du paquet en amont
...
La structure Dependency ne possède pas la chaîne de caractères, elle
n'en a qu'une référence. Créer une référence vers un type std::string
qui n'est en réalité qu'un litéral (const char*) relève d'un
comportement indéfini. En l'occurence, cela ne semble pas avoir posé
de problèmes jusqu'à tester d'exécuter les tests compilés avec GCC 12.2
et liés avec ld 2.39.0.
2022-12-25 12:57:40 +01:00
569013be82
cli: Présente le nombre de paquets désinstallés
2022-12-24 14:32:28 +01:00
fa709bfb24
cli: Supprime également les dépendances devenues inutiles
2022-12-22 12:22:42 +01:00
64fc085d0f
Merge branch 'cli/remove' into cli/install-registry
2022-12-22 12:17:14 +01:00
4443818406
cli(test): Teste de télécharger un paquet
2022-12-22 11:23:09 +01:00
8f1c63f692
cli: Reconstruis le fichier verrou lorsque le manifeste est plus récent
2022-12-22 11:01:35 +01:00
d61cc5b29e
cli: Réalise une copie des noms des dépendances directes
2022-12-22 10:59:53 +01:00
1284011a1b
cli: Introduis l'installateur
...
Son rôle est important : à l'aide du registre des installations, il sait
s'il faut installer ou non une version.
Il a son propre fichier et peut être demandé par n'importe quelle action
qui souhaiterait installer des paquets. Ce n'est plus le dépôt qui est en
charge d'installer le paquet, mais bien l'installateur.
ReinstallAction devient FetchAction pour mieux correspondre à son
usage : installer des dépendances qu'il manquerait sans réinstaller ce
qui est déjà là.
La fonction fetch() est template pour fonctionner avec les deux
héritages de la classe package::DownloadableVersion sans utiliser de
fonction virtuelle ou de pointeur.
Fix #6
Implement #28
2022-12-21 15:38:00 +01:00
38be5e1613
cli(make): Ajoute de quoi installer et désinstaller
2022-12-21 11:35:39 +01:00
577c652f17
*: Renomme short_name en name
2022-12-21 11:35:27 +01:00
7b243efda2
cli: Adapte les dépendances pour le fichier verrou
2022-12-16 14:19:52 +01:00
f6b1247863
cli: Vérifie que les dépendances sont présentes
2022-12-16 14:12:07 +01:00
Colin FRIZOT
5b6b066b79
Ajoute la commande tree à l'aide
2022-12-16 13:58:36 +01:00
cf02a1cd30
cli: Documente les classes de version
2022-12-16 13:52:04 +01:00
f31a6b71f2
cli: Crée le fichier verrou pour le Makefile
2022-12-16 13:50:32 +01:00
246f546045
cli: Affiche l'arbre des dépendances avec oki tree
...
Cette commande consulte les dépendances directes déclarées dans le fichier
manifeste oki.toml et les dépendances concrètes dans le fichier verrou
oki-lock.toml. L'arbre des dépendances est présenté au format textuel avec
des caractères UTF-8 pour les relations entre les paquets.
Fix #29
2022-12-15 09:12:11 +01:00
Colin FRIZOT
5dde4c1d6b
Ajoute la création du makefile à partir du fichier ManifestLock
2022-12-15 09:07:36 +01:00
c196fe1854
cli: Liste les versions installées avec un fichier verrou
2022-12-13 13:25:34 +01:00
1dc58b7fef
cli: Introduit la notion de paquets téléchargeables
2022-12-12 20:25:24 +01:00
Colin FRIZOT
fe12d2410d
Ajoute la supression et installe les paquets dans leurs dossiers respectifs
2022-12-09 09:48:44 +01:00
6e61041452
Merge branch 'cli/dependency-solver'
2022-12-09 09:20:31 +01:00
ada2f782f6
cli: Passe par référence les paramètres
2022-12-09 09:07:33 +01:00
39fa086e37
Merge branch 'cli/manifest'
2022-12-09 08:57:43 +01:00
076e6ed7e5
cli: Passe les fs::path par référence
2022-12-09 08:55:29 +01:00
Colin FRIZOT
e35e43aa41
Ajoute la lecture des dependances retournée par l'API
2022-12-09 08:29:31 +01:00
64688533cd
cli: Corrige la compilation des tests
2022-12-09 08:22:37 +01:00
776460f7b6
Merge branch 'cli/publish'
2022-12-09 08:17:24 +01:00
56864c3715
cli: Résous les dépendances de dépendances
2022-12-05 20:19:43 +01:00
c5c195261e
cli: Évite un éventuel buffer overflow
...
unzGetCurrentFileInfo ne dépassait pas la taille du buffer qui lui
était allouée, mais ne pouvait pas, lorsque le nom de fichier est plus
long que la taille du tampon, écrire la fin de la chaîne de
caractères (\0).
2022-11-30 14:38:53 +01:00
47df190be1
doc: met à jour la présentation de l'architecture
2022-11-30 14:19:26 +01:00
239fd2e805
Merge branch 'cli/range'
2022-11-30 14:10:14 +01:00
d7d4c361a1
cli: Détaille les éventuelles erreurs du manifeste
2022-11-30 14:07:14 +01:00
03c74d8f8e
cli: Gère les contraintes de version dans le manifeste
2022-11-29 12:57:55 +01:00
Colin FRIZOT
8d79bd0fd4
cli: Ajoute la recherche du fichier manifeste en remontant l'arborescence
2022-11-28 11:54:17 +01:00
Colin FRIZOT
c00977f76e
cli: Lance une exception si le fichier manifeste n'existe pas
2022-11-28 11:09:15 +01:00
1fb8f707fd
Merge pull request 'Formalise les conventions' ( #20 ) from conventions into main [CI SKIP]
...
Reviewed-on: https://codefirst.iut.uca.fr/git/oki/oki/pulls/20
Reviewed-by: Colin FRIZOT <colin.frizot@etu.uca.fr >
Reviewed-by: Lou VALADE <lou.valade@etu.uca.fr >
2022-11-26 12:01:21 +01:00
f9889fb1b5
cli: Permet de publier un paquet sur un dépôt
...
oki publish transmet les données de version, extraites du manifeste et le contenu de la version au format .zip.
Fix #23
2022-11-26 11:48:45 +01:00
46955c7312
cli: Rend la méthode TmpFile#getFilename const
2022-11-26 11:43:33 +01:00
dfc5b41dcd
cli(http): Permet de faire passer des données POST et de téléverser des fichiers
2022-11-26 11:41:40 +01:00
6061862375
cli: Permet de créer une archive .zip d'un dossier
2022-11-26 11:26:48 +01:00
2b4af299fb
cli: Parse des intervalles de version pour tester si une version est comprise ou non
2022-11-24 15:50:31 +01:00
4886c4ea78
cli: Ajoute une méthode pour la version suivante minimale et crée une ParseException
2022-11-24 15:44:35 +01:00
17f5794156
cli: Sépare PackageVersion de Version
...
Fix #14
2022-11-23 14:50:36 +01:00
00c6a30709
cli: Affiche un message lors de l'ajout d'un nouveau paquet
2022-11-23 13:44:16 +01:00