Composer Index basic files added

This commit is contained in:
2023-02-17 16:30:55 +09:00
commit b6222373ab
4 changed files with 477 additions and 0 deletions

97
ReadMe.md Normal file
View File

@@ -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": {
"<package name>": "<version>"
}
}
```
### 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
}
}
```

3
data/sync.sh Normal file
View File

@@ -0,0 +1,3 @@
#!/bin/env bash
echo "Sync composer packages.json file"

34
www/index.php Normal file
View File

@@ -0,0 +1,34 @@
<?php
print <<<EOM
<div style="font-size: 2em; font-weight: bold; padding: 30px;">
Local Composer Packages
</div>
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 <<<EOM
<div style="font-size: 1.2em; padding: 10px 5px; background-color: lightgray;">$package_name</div>
EOM;
foreach ($content as $version => $entry) {
// name, version
$download = $entry['dist']['url'];
print <<<EOM
<div style="padding: 0 5px;">
<div style="float: left; width: 20%;">
<a href="$download">$version</a>
</div>
<div style="float: left; width: 40%;"></div>
<div style="clear: both;"></div>
</div>
EOM;
}
}
// print "<pre>" . print_r($packages, true) . "</pre>";
// __END__

343
www/packages.json Normal file
View File

@@ -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"
}
}
}
}
}