commit b6222373abbbd473cdab4eb14d86f030e5953f75 Author: Clemens Schwaighofer Date: Fri Feb 17 16:30:55 2023 +0900 Composer Index basic files added diff --git a/ReadMe.md b/ReadMe.md new file mode 100644 index 0000000..ee8115c --- /dev/null +++ b/ReadMe.md @@ -0,0 +1,97 @@ +# Composer Index + +Main composer index + +Folders: + +- data: Base data to create packages list frmo +- satis: TODO (packages.json creation tool) +- www: web frontend + +## Setup from central composer + +| Host | Repo | Location | Type | +| - | - | - | - | +| [](https://git.egplusww.jp/api/packages/Composer/composer) | udon | Composer Group | gitea composer packages | +| [](http://composer.egplusww.jp) | udon | All | General Live (use this) | +| [](http://composer.tokyo.tequila.jp) | soba-local | All | Local test | +| [](http://composer-local.tokyo.tequila.jp) | udon-local | All | Local Live, no https | + +composer.json: + +Version: `@dev` or `^n`, etc + +### gitea host setup (possible best and reocmmended) + +#### set global with command + +```sh +composer global config repositories.git.egplusww.jp.Composer composer https://git.egplusww.jp/api/packages/Composer/composer +``` + +#### local setup (command or manual) + +```sh +composer config repositories.git.egplusww.jp.Composer composer https://git.egplusww.jp/api/packages/Composer/composer +``` + +OR + +```json +{ + "repositories": [{ + "type": "composer", + "url": "https://git.egplusww.jp/api/packages/Composer/composer" + } + ] +} +``` + +### udon based composer repo list + +For live settings + +```sh +composer config repositories.composer.egplusww.jp composer https://composer.egplusww.jp +``` + +OR + +```json +{ + "repositories": [ + { + "type": "composer", + "url": "https://composer.egplusww.jp" + } + ], + "require": { + "": "" + } +} +``` + +### soba based composer repo list + +For Local test, note that secure-http has to be turned off: + +```sh +composer config repositories.test-soba composer http://composer.tokyo.tequila.jppackages/Composer/composer +composer config secure-http false +``` + +OR + +```json +{ + "repositories": [ + { + "type": "composer", + "url": "http://composer.tokyo.tequila.jp" + } + ], + "config": { + "secure-http": false + } +} +``` diff --git a/data/sync.sh b/data/sync.sh new file mode 100644 index 0000000..0f818f7 --- /dev/null +++ b/data/sync.sh @@ -0,0 +1,3 @@ +#!/bin/env bash + +echo "Sync composer packages.json file" diff --git a/www/index.php b/www/index.php new file mode 100644 index 0000000..06ed2e9 --- /dev/null +++ b/www/index.php @@ -0,0 +1,34 @@ + +Local Composer Packages + +EOM; + +if (!file('packages.json')) { + echo "[!] No packages.json file"; + die(); +} +$packages = json_decode(($json = file_get_contents('packages.json')) ?: '{}', true); +foreach ($packages['packages'] ?? [] as $package_name => $content) { + print <<$package_name + EOM; + foreach ($content as $version => $entry) { + // name, version + $download = $entry['dist']['url']; + print << +
+ $version +
+
+
+ + EOM; + } +} +// print "
" . print_r($packages, true) . "
"; + +// __END__ diff --git a/www/packages.json b/www/packages.json new file mode 100644 index 0000000..cc68cdb --- /dev/null +++ b/www/packages.json @@ -0,0 +1,343 @@ +{ + "packages": { + "egrajp/corelibs-composer-all": { + "dev-master": { + "name": "egrajp/corelibs-composer-all", + "version": "dev-master", + "description": "CoreLibs in a composer package", + "type": "library", + "license": "MIT", + "autoload": { + "psr-4": { + "CoreLibs\\": "src/" + } + }, + "authors": [ + { + "name": "Clemens Schwaighofer", + "email": "clemens.schwaighofer@egplusww.com" + } + ], + "minimum-stability": "dev", + "require": {}, + "dist": { + "url": "https://git.egplusww.jp/Composer/CoreLibs-Composer-All/archive/v7.11.0.zip", + "type": "zip" + } + }, + "7.11.0": { + "name": "egrajp/corelibs-composer-all", + "version": "7.11.0", + "description": "CoreLibs in a composer package", + "type": "library", + "license": "MIT", + "autoload": { + "psr-4": { + "CoreLibs\\": "src/" + } + }, + "authors": [ + { + "name": "Clemens Schwaighofer", + "email": "clemens.schwaighofer@egplusww.com" + } + ], + "minimum-stability": "dev", + "require": {}, + "dist": { + "url": "https://git.egplusww.jp/Composer/CoreLibs-Composer-All/archive/v7.11.0.zip", + "type": "zip" + } + } + }, + "egrajp/smarty-extended": { + "dev-master": { + "name": "egrajp/smarty-extended", + "version": "dev-master", + "description": "Smarty, extended with gettext, checkbox/radio labels and index numbers", + "type": "library", + "keywords": [ + "templating" + ], + "homepage": "https://github.com/smarty-php/smarty/", + "license": "LGPL-3.0", + "autoload": { + "classmap": [ + "src/" + ] + }, + "authors": [ + { + "name": "Clemens Schwaighofer", + "email": "clemens.schwaighofer@egplusww.com" + } + ], + "minimum-stability": "dev", + "require": {}, + "dist": { + "url": "https://git.egplusww.jp/Composer/Smarty-Extended/archive/v4.3.0.zip", + "type": "zip" + } + }, + "4.3.0": { + "name": "egrajp/smarty-extended", + "version": "4.3.0", + "description": "Smarty, extended with gettext, checkbox/radio labels and index numbers", + "type": "library", + "keywords": [ + "templating" + ], + "homepage": "https://github.com/smarty-php/smarty/", + "license": "LGPL-3.0", + "autoload": { + "classmap": [ + "src/" + ] + }, + "authors": [ + { + "name": "Clemens Schwaighofer", + "email": "clemens.schwaighofer@egplusww.com" + } + ], + "minimum-stability": "dev", + "require": {}, + "dist": { + "url": "https://git.egplusww.jp/Composer/Smarty-Extended/archive/v4.3.0.zip", + "type": "zip" + } + } + }, + "egrajp/test-package-a" : { + "dev-master": { + "name": "egrajp/test-package-a", + "version": "dev-master", + "description": "This is a test package for composer: A", + "type": "library", + "autoload": { + "psr-4": { + "TestPackageA\\": "src/" + } + }, + "authors": [ + { + "name": "Clemens Schwaighofer", + "email": "clemens.schwaighofer@egplusww.com" + } + ], + "minimum-stability": "dev", + "require": {}, + "archive": { + "exclude": ["/test/", "/test/*"] + }, + "dist": { + "url": "https://git.egplusww.jp/Composer-Test/TestPackageA/archive/v1.0.3.zip", + "type": "zip" + } + }, + "1.0.4": { + "name": "egrajp/test-package-a", + "version": "1.0.4", + "description": "This is a test package for composer: A", + "type": "library", + "autoload": { + "psr-4": { + "TestPackageA\\": "src/" + } + }, + "authors": [ + { + "name": "Clemens Schwaighofer", + "email": "clemens.schwaighofer@egplusww.com" + } + ], + "minimum-stability": "dev", + "require": {}, + "archive": { + "exclude": ["/test/", "/test/*"] + }, + "dist": { + "url": "https://git.egplusww.jp/Composer-Test/TestPackageA/archive/v1.0.4.zip", + "type": "zip" + } + }, + "1.0.3": { + "name": "egrajp/test-package-a", + "version": "1.0.3", + "description": "This is a test package for composer: A", + "type": "library", + "autoload": { + "psr-4": { + "TestPackageA\\": "src/" + } + }, + "authors": [ + { + "name": "Clemens Schwaighofer", + "email": "clemens.schwaighofer@egplusww.com" + } + ], + "minimum-stability": "dev", + "require": {}, + "archive": { + "exclude": ["/test/", "/test/*"] + }, + "dist": { + "url": "https://git.egplusww.jp/Composer-Test/TestPackageA/archive/v1.0.3.zip", + "type": "zip" + } + }, + "1.0.2": { + "name": "egrajp/test-package-a", + "version": "1.0.2", + "description": "This is a test package for composer: A", + "type": "library", + "autoload": { + "psr-4": { + "TestPackageA\\": "src/" + } + }, + "authors": [ + { + "name": "Clemens Schwaighofer", + "email": "clemens.schwaighofer@egplusww.com" + } + ], + "minimum-stability": "dev", + "require": {}, + "archive": { + "exclude": ["/test/", "/test/*"] + }, + "dist": { + "url": "https://git.egplusww.jp/Composer-Test/TestPackageA/archive/v1.0.2.zip", + "type": "zip" + } + }, + "1.0.1": { + "name": "egrajp/test-package-a", + "version": "1.0.1", + "description": "This is a test package for composer: A", + "type": "library", + "autoload": { + "psr-4": { + "TestPackageA\\": "src/" + } + }, + "authors": [ + { + "name": "Clemens Schwaighofer", + "email": "clemens.schwaighofer@egplusww.com" + } + ], + "minimum-stability": "dev", + "require": {}, + "archive": { + "exclude": ["/test/", "/test/*"] + }, + "dist": { + "url": "https://git.egplusww.jp/Composer-Test/TestPackageA/archive/v1.0.1.zip", + "type": "zip" + } + }, + "1.0.0": { + "name": "egrajp/test-package-a", + "version": "1.0.0", + "description": "This is a test package for composer: A", + "type": "library", + "autoload": { + "psr-4": { + "TestPackageA\\": "src/" + } + }, + "authors": [ + { + "name": "Clemens Schwaighofer", + "email": "clemens.schwaighofer@egplusww.com" + } + ], + "minimum-stability": "dev", + "require": {}, + "archive": { + "exclude": ["/test/", "/test/*"] + }, + "dist": { + "url": "https://git.egplusww.jp/Composer-Test/TestPackageA/archive/v1.0.0.zip", + "type": "zip" + } + } + }, + "egrajp/test-package-b" : { + "dev-master": { + "name": "egrajp/test-package-b", + "version": "dev-master", + "description": "This is a test package for composer: B", + "type": "library", + "autoload": { + "psr-4": { + "TestPackageB\\": "src/" + } + }, + "authors": [ + { + "name": "Clemens Schwaighofer", + "email": "clemens.schwaighofer@egplusww.com" + } + ], + "minimum-stability": "dev", + "require": {}, + "dist": { + "url": "https://git.egplusww.jp/Composer-Test/TestPackageB/archive/temp2.zip", + "type": "zip" + } + } + }, + "egrajp/test-package-c" : { + "dev-master": { + "name": "egrajp/test-package-c", + "version": "dev-master", + "description": "This is a test package for composer: C", + "type": "library", + "autoload": { + "psr-4": { + "TestPackageC\\": "src/" + } + }, + "authors": [ + { + "name": "Clemens Schwaighofer", + "email": "clemens.schwaighofer@egplusww.com" + } + ], + "minimum-stability": "dev", + "require": {}, + "dist": { + "url": "https://git.egplusww.jp/Composer-Test/TestPackagec/archive/v1.0.0.zip", + "type": "zip" + } + }, + "1.0.0": { + "name": "egrajp/test-package-c", + "version": "1.0.0", + "description": "This is a test package for composer: C", + "type": "library", + "autoload": { + "psr-4": { + "TestPackageC\\": "src/" + } + }, + "authors": [ + { + "name": "Clemens Schwaighofer", + "email": "clemens.schwaighofer@egplusww.com" + } + ], + "minimum-stability": "dev", + "require": {}, + "dist": { + "url": "https://git.egplusww.jp/Composer-Test/TestPackagec/archive/v1.0.0.zip", + "type": "zip" + } + } + } + } +}