chsrc/src/recipe/template.c

91 lines
2.4 KiB
C
Raw Normal View History

2024-08-09 03:30:30 +08:00
/** ------------------------------------------------------------
* 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>)