Add target template

This commit is contained in:
Aoran Zeng 2024-08-09 03:30:30 +08:00
parent cb0f229873
commit 7a2d8fc9f8
No known key found for this signature in database
GPG Key ID: 8F8BA8488E10ED98
2 changed files with 91 additions and 1 deletions

View File

@ -16,7 +16,7 @@
* chsrc: Change Source
* ------------------------------------------------------------*/
#define Chsrc_Version "v0.1.7.2-2024/08/08"
#define Chsrc_Version "v0.1.7.2.dev1-2024/08/09"
#define Chsrc_Maintain_URL "https://github.com/RubyMetric/chsrc"
#define Chsrc_Maintain_URL2 "https://gitee.com/RubyMetric/chsrc"

90
src/recipe/template.c Normal file
View File

@ -0,0 +1,90 @@
/** ------------------------------------------------------------
* SPDX-License-Identifier: GPL-3.0-or-later
* -------------------------------------------------------------
* Contributors : Null Nil <null@nil.com>
* Created on : <2024-08-09>
* Last modified : <2024-08-09>
*
* :
* <target>
* <category> 3: pl, os, wr
* 3: lang, os, ware
* ------------------------------------------------------------*/
/**
* target的镜像站
*/
static MirrorSite
RubyMetric = {"rbmt", // chsrc set <target> rbmt
"RubyMetric", // 该镜像站的缩写
"RubyMetric.com", // 该镜像站的全名
"https://rubymetirc.com", // 镜像站首页
// 镜像站某个较大的可下载物的下载链接,用于测速
"https://rubymetirc.com/target/aws/aws-sdk-go/@v/v1.45.2.zip"};
/**
* @time 2024-08-09
* @note target的各个源地址
*/
static SourceInfo
<category>_<target>_sources[] = {
{&Upstream, "上游地址,若维护者暂时未知,可填NULL,这个主要用于reset"},
{&RubyMetric, "https://rubymetirc.com/target"},
{&RubyInstaller, "https://rubyinstaller.cn/target"},
{&Gitee, "https://gitee.com/RubyMetric/chsrc"},
{&GitHub, "https://github.com/RubyMetric/chsrc"}
};
def_sources_n(<category>_<target>);
/**
* @required
*/
void
<category>_<target>_getsrc (char* option)
{
// chsrc get <target>
}
/**
* @required
* @ref
*/
void
<category>_<target>_setsrc (char* option)
{
// chsrc set <target>
// 下面这3行是必须的
SourceInfo source;
chsrc_yield_source (pl_ruby);
chsrc_confirm_source (&source);
/* 具体的换源步骤,如调用第三方命令... */
// 最后总结输出
chsrc_say_lastly (&source, chsrc_type);
}
/**
* @required
*/
void
<category>_<target>_resetsrc (char* option)
{
// chsrc reset <target>
// 往往通过下述方式统一在 setsrc() 中实现
// <category>_<name>_setsrc (ChsrcTypeReset);
}
// 定义此 target,参考 "target.h"
// 下列情形3选1
def_target_full(<category>_<target>);
def_target(<category>_<target>)
def_target_no_get(<category>_<target>)