From bc79b88e9190ca58ff8219e04d5d34ccae6153a5 Mon Sep 17 00:00:00 2001 From: lucha <lucha@paranoici.org> Date: Tue, 1 Sep 2020 17:22:03 -0700 Subject: [PATCH] use Gitlab Composer Package Registry instead than VCS repos --- .gitignore | 1 + README.md | 31 +++++----- composer.json | 27 +++----- composer.lock | 167 ++++++++++++++++++++++++++++---------------------- 4 files changed, 120 insertions(+), 106 deletions(-) diff --git a/.gitignore b/.gitignore index 140fada7..9d1a56ce 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ vendor/* +auth.json diff --git a/README.md b/README.md index b447db05..01712673 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,9 @@ Usiamo Composer ([e.g](https://www.smashingmagazine.com/2019/03/composer-wordpr ## Come testare questo repository -* Instalare composer (richiede una versione di PHP moderna, io su Ubuntu sto usando la 7.2) +* Instalare composer e impostare il repository + +(richiede una versione di PHP moderna, io su Ubuntu sto usando la 7.2) ``` shell apt install composer @@ -24,7 +26,15 @@ Io ho dovuto installare alcune librerie php extra ``` shell apt install php7.2-xml php7.2zip ``` -* per aggiornare le dipendenze di noblogs, il comando da usare è +Il codice scritto da noi (temi e plugin) si trova nel gruppo @noblogs. Viene tutto rilasciato come pacchetti Composer sul Registry di GitLab. +Per poter accederci, bisogna configurare un (https://git.autistici.org/help/user/profile/personal_access_tokens.md)[personal access token] con i permessi di ```api```. +Una volta fatto, bisogna lanciare +``` shell +composer config http-basic.gitlab.com ___token___ <ACCESS_TOKEN> +``` +dove ```<ACCESS_TOKEN>``` è il nostro token personale. A quel punto composer crea un file ```auth.json``` nel repo, che è vostro personale e non va mai committato (è già in ```.gitignore```). + +* Per aggiornare le dipendenze di noblogs, il comando da usare è ``` shell composer update ``` @@ -87,21 +97,14 @@ Per aggiungere un nuovo tema/plugin dal repository wpackagist, si usa composer require wpackagist-[theme|plugin]/[..] ``` -Se invece vogliamo aggiungere un pacchetto scritto da noi, prima dobbiamo aggiungere l'indirizzo del repository (questo almeno fino a quando Gitlab non implementi il repository per i pacchetti composer), aggiungendo in ```composer.json``` alla lista dei repository un repository di tipo ```vcs```, per esempio - -``` json -"repositories": [ - { - "type": "vcs", - "url": "git@git.autistici.org:lucha/r2db.git" - } -] -``` +Se invece vogliamo aggiungere un pacchetto scritto da noi, prima dobbiamo farlo diventare un pacchetto composer. Il repository sarebbe bello fosse dentro il gruppo @noblogs (ma forse funziona comunque). +Bisogna creare un file ```composer.json``` dentro il repository del pacchetto in questione (date un occhio a quelli già presenti per una ispirazione), e poi aggiungere un file ```.gitlab-ci.yml``` sequendo queste istruzioni noblogs/composer-publish>. A questo punto ogni volta che pushiamo una nuova tag su gitlab verrà creata una nuova release. +Se il repository che includiamo ha delle tag di versione del tipo ```vX.Y.Z``` (dove X, Y, Z sono numeri, per esempio "v1.2" o "v4.0.1"), allora ```composer``` sa cosa fare (prendere l'ultima versione disponibile di default). -Se il repository che includiamo ha delle tag di versione del tipo ```vX.Y.Z``` (dove X, Y, Z sono numeri, per esempio "v1.2" o "v4.0.1"), allora ```composer``` sa cosa fare (prendere l'ultima versione disponibile di default). Altrimenti, dobbiamo dirgli di prendere la versione del branch master (o qualsiasi altro branch), con +A quel punto possiamo aggiungerlo come una dipendenza qualsiasi con ``` shell -composer require --dev lucha/r2db:dev-master +composer require noblogs/nomepacchetto ``` ## Creare patches diff --git a/composer.json b/composer.json index ffb54992..a85d5fb8 100644 --- a/composer.json +++ b/composer.json @@ -19,18 +19,10 @@ "type": "composer", "url": "https://asset-packagist.org" }, - { - "type": "vcs", - "url": "git@git.autistici.org:noblogs/r2db.git" - }, - { - "type": "vcs", - "url": "git@git.autistici.org:noblogs/ai-mu-plugins.git" - }, - { - "type": "vcs", - "url": "git@git.autistici.org:noblogs/noblogs-wp-ssl.git" - } + { + "type": "composer", + "url": "https://git.autistici.org/api/v4/group/90/-/packages/composer/packages.json" + } ], "config": { "dropin-installer": "copy" @@ -94,7 +86,11 @@ "wpackagist-theme/wp-andreas01": "^2.0", "wpackagist-theme/zenlite": "^4.10", "npm-asset/scriptaculous-js": "^1.9", - "npm-asset/prototype-js-core": "^1.7" + "npm-asset/prototype-js-core": "^1.7", + "noblogs/r2db": "^0.1.0", + "noblogs/ai-mu-plugins": "^0.1.0", + "noblogs/noblogs-wp-ssl": "^0.1.0", + "noblogs/remove-gravatar": "^0.1.0" }, "extra": { "wordpress-install-dir": "app/wp", @@ -127,10 +123,5 @@ "app/wp-content": ["package:wpackagist-plugin/hyperdb:db.php", "package:wpackagist-plugin/wp-super-cache:advanced-cache.php"], "app": ["package:lucha/r2db:db-config.php,nginx-map/wp-nginx-map-json.php,nginx-map/wp-nginx-map.php"] } - }, - "require-dev": { - "noblogs/r2db": "dev-master", - "noblogs/ai-mu-plugins": "dev-master", - "noblogs/noblogs-wp-ssl": "dev-master" } } diff --git a/composer.lock b/composer.lock index 01b60f42..fbfb0764 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6565a0ba753e30855d1b3fd1a96fda9d", + "content-hash": "f899bee81c683d8359b7d10c1cd6da27", "packages": [ { "name": "bjornjohansen/wplang", @@ -411,6 +411,96 @@ "description": "Install packages or a few files from packages into custom paths without overwriting existing stuff.", "time": "2018-02-04T10:52:01+00:00" }, + { + "name": "noblogs/ai-mu-plugins", + "version": "0.1.0", + "dist": { + "type": "zip", + "url": "https://git.autistici.org/api/v4/projects/452/packages/composer/archives/noblogs/ai-mu-plugins.zip?sha=65a0039b2a06c415c8a5ccfee73e9254a1dacfad", + "reference": "65a0039b2a06c415c8a5ccfee73e9254a1dacfad", + "shasum": "" + }, + "require": { + "composer/installers": "^1.9" + }, + "type": "wordpress-muplugin", + "authors": [ + { + "name": "lucha", + "email": "lucha@paranoici.org" + } + ], + "description": "must-use plugins for Noblogs" + }, + { + "name": "noblogs/noblogs-wp-ssl", + "version": "0.1.0", + "dist": { + "type": "zip", + "url": "https://git.autistici.org/api/v4/projects/221/packages/composer/archives/noblogs/noblogs-wp-ssl.zip?sha=fe58b34f3a940322ecf74356425d0dc4fc47b7c8", + "reference": "fe58b34f3a940322ecf74356425d0dc4fc47b7c8", + "shasum": "" + }, + "require": { + "composer/installers": "^1.9" + }, + "type": "wordpress-muplugin", + "authors": [ + { + "name": "sand", + "email": "sand@autistici.org" + } + ], + "description": "git@git.autistici.org:ai/noblogs-wp-ssl.git" + }, + { + "name": "noblogs/r2db", + "version": "0.1.0", + "dist": { + "type": "zip", + "url": "https://git.autistici.org/api/v4/projects/449/packages/composer/archives/noblogs/r2db.zip?sha=6db8ed54d228e00305d43d36ea77a869f7d48764", + "reference": "6db8ed54d228e00305d43d36ea77a869f7d48764", + "shasum": "" + }, + "require": { + "composer/installers": "^1.9" + }, + "type": "wordpress-dropin", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "lucha", + "email": "lucha@paranoici.org" + } + ], + "description": "r2db wordpress database" + }, + { + "name": "noblogs/remove-gravatar", + "version": "0.1.0", + "dist": { + "type": "zip", + "url": "https://git.autistici.org/api/v4/projects/456/packages/composer/archives/noblogs/remove-gravatar.zip?sha=4fa1d9a959e444f6e35898599bd653cab4c0c723", + "reference": "4fa1d9a959e444f6e35898599bd653cab4c0c723", + "shasum": "" + }, + "require": { + "composer/installers": "^1.9" + }, + "type": "wordpress-plugin", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "lechuck", + "email": "l3chuck@autistici.org" + } + ], + "description": "Wordpress plugin: avoid sending out user information to gravatar." + }, { "name": "npm-asset/prototype-js-core", "version": "1.7.3", @@ -1406,81 +1496,10 @@ "homepage": "https://wordpress.org/themes/zenlite/" } ], - "packages-dev": [ - { - "name": "noblogs/ai-mu-plugins", - "version": "dev-master", - "source": { - "type": "git", - "url": "git@git.autistici.org:noblogs/ai-mu-plugins.git", - "reference": "901619c4f4732f42854a48e66cb0fd469ae32911" - }, - "require": { - "composer/installers": "^1.9" - }, - "type": "wordpress-muplugin", - "authors": [ - { - "name": "lucha", - "email": "lucha@paranoici.org" - } - ], - "description": "must-use plugins for Noblogs", - "time": "2020-07-04T23:40:19+00:00" - }, - { - "name": "noblogs/noblogs-wp-ssl", - "version": "dev-master", - "source": { - "type": "git", - "url": "git@git.autistici.org:noblogs/noblogs-wp-ssl.git", - "reference": "50eed1588999fed0a94efe54031a5bde3c15db47" - }, - "require": { - "composer/installers": "^1.9" - }, - "type": "wordpress-muplugin", - "authors": [ - { - "name": "sand", - "email": "sand@autistici.org" - } - ], - "description": "git@git.autistici.org:ai/noblogs-wp-ssl.git", - "time": "2020-07-04T23:46:53+00:00" - }, - { - "name": "noblogs/r2db", - "version": "dev-master", - "source": { - "type": "git", - "url": "git@git.autistici.org:noblogs/r2db.git", - "reference": "5b555ecbde87579abf7778522a36cfe913b2dc30" - }, - "require": { - "composer/installers": "^1.9" - }, - "type": "wordpress-dropin", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "lucha", - "email": "lucha@paranoici.org" - } - ], - "description": "r2db wordpress database", - "time": "2020-07-04T23:41:05+00:00" - } - ], + "packages-dev": [], "aliases": [], "minimum-stability": "stable", - "stability-flags": { - "noblogs/r2db": 20, - "noblogs/ai-mu-plugins": 20, - "noblogs/noblogs-wp-ssl": 20 - }, + "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, "platform": { -- GitLab