namelesscoder/typo3-repository-client 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

namelesscoder/typo3-repository-client

最新稳定版本:2.1.0

Composer 安装命令:

composer require namelesscoder/typo3-repository-client

包简介

Client for interacting with the official TYPO3 Extension Repository (TER). Contains API and CLI scripts.

README 文档

README

OBSOLETE!

This library uses the long-deprecated and now removed SOAP API for the TYPO3 Extension Repository. It is no longer functioning!

The library is archived and no longer receives updates. It is kept available here only for posterity.

Alternative

I recommend using the official "Tailor" library from TYPO3: https://github.com/TYPO3/tailor

The Tailor library allows you to interact with the TYPO3 Extension Repository using the current REST API. It is possible to use it from a local machine or through CI. An example GitHub action (for example as .github/workflows/release.yml):

on:
  push:
    tags:
      - "**"

jobs:
  release:
    runs-on: ubuntu-20.04
    steps:
      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: 8.2
          extensions: mbstring, json
          ini-values: date.timezone="Europe/Copenhagen", opcache.fast_shutdown=0
          tools: composer:v2.2
      - name: "create working directory"
        run: "mkdir tailor"
      - name: "Install Tailor"
        working-directory: tailor
        run: "composer require typo3/tailor"
      - name: "Upload to TER"
        working-directory: tailor
        run: "./vendor/bin/tailor ter:publish $TAG $EXTENSION_KEY --artefact $ARTEFECT_URL --comment \"$MESSAGE\""
        env:
          TYPO3_API_USERNAME: ${{ secrets.TER_USERNAME }}
          TYPO3_API_TOKEN: ${{ secrets.TER_TOKEN }}
          TAG: ${{ github.ref_name }}
          EXTENSION_KEY: testing
          ARTEFECT_URL: "https://github.com/${{ github.repository }}/archive/${{ github.ref }}.zip"
          MESSAGE: "Automatic release built from GitHub. See the CHANGELOG.md file that is shipped with this release for details."

(Requires two "secrets" entered in the GitHub repository; TER_TOKEN and TER_USERNAME. See Tailor's documentation for further information on how to obtain a token. Note that the token has a limited lifetime and will need to be refreshed.)

This action has the benefit that it does not operate on artefact files locally in the CI pipeline. Instead it refers TER to read the files from the artefect produced by GitHub whenever a new tag is uploaded. If you need/want to operate on files before a release is made, e.g. to remove certain files, Thomas Norre has provided a drop-in GitHub action that works in that particular way: https://github.com/tomasnorre/typo3-upload-ter

See Tailor's documentation for alternative CI integrations and manual usage instructions.

So long, and thanks for all the fish! ;)

Build Status Coverage Status

TYPO3 Extension Repository (TER) client library and CLI commands

Usage

Each command which can be executed has a corresponding class, for example NamelessCoder\TYPO3RepositoryClient\Uploader and a CLI script which acts as a wrapper for said class. The parameters which should be passed to each CLI script must be the same arguments and in the same order as required by the class' method.

Uploader

As component:

$uploader = new \NamelessCoder\TYPO3RepositoryClient\Uploader();
$uploader->upload('/path/to/extension', 'myusername', 'mypassword', 'An optional comment');

And as CLI command:

./bin/upload /path/to/extension myusername mypassword "An optional comment"

Version Updater (local)

As component:

$versioner = new \NamelessCoder\TYPO3RepositoryClient\Versioner();
$version = $versioner->read('/path/to/extension/');
$version[0] = '1.2.3';
$version[1] = 'beta';
$versioner->write('/path/to/extension/', '1.2.3', 'beta');

And as CLI command:

# with all parameters
./bin/setversion 1.2.3 beta /optional/path/to/extension/
# without changing current stability:
./bin/setversion 1.2.3

Version Deleter (admins only)

As component:

$deleter = new \NamelessCoder\TYPO3RepositoryClient\VersionDeleter();
$deleter->deleteExtensionVersion('extensionkey', '1.2.3', 'myusername', 'mypassword');

And as CLI command:

./bin/rmversion extensionkey 1.2.3 myusername mypassword

FAQ

Excluded files and folders

  • Dotfiles (like .editorconfig or .php_cs.dist) will be ignored except for .htpasswd and .htaccess files.
  • Use a .gitignore file to exclude more files and folders from being included in the final TER release.

统计信息

  • 总下载量: 122.21k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 10
  • 点击次数: 1
  • 依赖项目数: 43
  • 推荐数: 0

GitHub 信息

  • Stars: 9
  • Watchers: 0
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2014-10-01