mirror of
https://github.com/RubyMetric/chsrc
synced 2025-06-08 19:54:13 +08:00
Split java out
This commit is contained in:
parent
2219cd3a7d
commit
3d58b6dcac
@ -141,17 +141,6 @@ pl_rust_sources[] = {
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* @time 2024-04-18 更新
|
||||
* @note 缺少教育网或开源社区软件源
|
||||
*/
|
||||
pl_java_sources[] = {
|
||||
{&Upstream, NULL},
|
||||
{&Ali, "https://maven.aliyun.com/repository/public/"},
|
||||
{&Huawei, "https://mirrors.huaweicloud.com/repository/maven/"},
|
||||
{&Netease, "http://mirrors.163.com/maven/repository/maven-public/"} // 网易的24小时更新一次
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* @time 2023-09-10 更新
|
||||
@ -758,7 +747,7 @@ wr_tex_sources[] = {
|
||||
|
||||
|
||||
def_sources_n(pl_rust);
|
||||
def_sources_n(pl_java); def_sources_n(pl_clojure);
|
||||
def_sources_n(pl_clojure);
|
||||
def_sources_n(pl_dotnet); def_sources_n(pl_dart); def_sources_n(pl_haskell);
|
||||
def_sources_n(pl_ocaml);
|
||||
def_sources_n(pl_r); def_sources_n(pl_julia);
|
||||
|
83
src/chsrc.c
83
src/chsrc.c
@ -29,6 +29,7 @@
|
||||
#include "recipe/lang/php.c"
|
||||
#include "recipe/lang/lua.c"
|
||||
#include "recipe/lang/go.c"
|
||||
#include "recipe/lang/java.c"
|
||||
|
||||
|
||||
void
|
||||
@ -78,86 +79,6 @@ pl_dotnet_setsrc (char *option)
|
||||
|
||||
|
||||
|
||||
void
|
||||
pl_java_check_cmd (bool *maven_exist, bool *gradle_exist)
|
||||
{
|
||||
*maven_exist = chsrc_check_program ("mvn");
|
||||
*gradle_exist = chsrc_check_program ("gradle");
|
||||
|
||||
if (! *maven_exist && ! *gradle_exist)
|
||||
{
|
||||
chsrc_error ("maven 与 gradle 命令均未找到,请检查是否存在其一");
|
||||
exit (Exit_UserCause);
|
||||
}
|
||||
}
|
||||
|
||||
char *
|
||||
pl_java_find_maven_config ()
|
||||
{
|
||||
char *buf = xy_run ("mvn -v", 2, NULL);
|
||||
char *maven_home = xy_str_delete_prefix (buf, "Maven home: ");
|
||||
maven_home = xy_str_strip (maven_home);
|
||||
|
||||
char *maven_config = xy_uniform_path (xy_2strjoin (maven_home, "/conf/settings.xml"));
|
||||
return maven_config;
|
||||
}
|
||||
|
||||
void
|
||||
pl_java_getsrc (char *option)
|
||||
{
|
||||
bool maven_exist, gradle_exist;
|
||||
pl_java_check_cmd (&maven_exist, &gradle_exist);
|
||||
char *maven_config = pl_java_find_maven_config ();
|
||||
chsrc_note2 (xy_2strjoin ("请查看 ", maven_config));
|
||||
}
|
||||
|
||||
/**
|
||||
* Java 换源,参考:https://developer.aliyun.com/mirror/maven
|
||||
*/
|
||||
void
|
||||
pl_java_setsrc (char *option)
|
||||
{
|
||||
bool maven_exist, gradle_exist;
|
||||
pl_java_check_cmd (&maven_exist, &gradle_exist);
|
||||
|
||||
SourceInfo source;
|
||||
chsrc_yield_source (pl_java);
|
||||
chsrc_confirm_source (&source);
|
||||
|
||||
if (maven_exist)
|
||||
{
|
||||
const char *file = xy_strjoin (7,
|
||||
"<mirror>\n"
|
||||
" <id>", source.mirror->code, "</id>\n"
|
||||
" <mirrorOf>*</mirrorOf>\n"
|
||||
" <name>", source.mirror->name, "</name>\n"
|
||||
" <url>", source.url, "</url>\n"
|
||||
"</mirror>");
|
||||
|
||||
char *maven_config = pl_java_find_maven_config ();
|
||||
chsrc_note2 (xy_strjoin (3, "请在您的 maven 配置文件 ", maven_config, " 中添加:"));
|
||||
puts (file);
|
||||
}
|
||||
|
||||
if (gradle_exist)
|
||||
{
|
||||
if (maven_exist) puts ("");
|
||||
const char* file = xy_strjoin (3,
|
||||
"allprojects {\n"
|
||||
" repositories {\n"
|
||||
" maven { url '", source.url, "' }\n"
|
||||
" mavenLocal()\n"
|
||||
" mavenCentral()\n"
|
||||
" }\n"
|
||||
"}");
|
||||
|
||||
chsrc_note2 ("请在您的 build.gradle 中添加:");
|
||||
puts (file);
|
||||
}
|
||||
chsrc_say_lastly (&source, ChsrcTypeManual);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void
|
||||
pl_clojure_setsrc (char *option)
|
||||
@ -1891,7 +1812,7 @@ wr_anaconda_setsrc (char *option)
|
||||
|
||||
|
||||
/************************************** Begin Target Matrix ****************************************/
|
||||
def_target(pl_rust); def_target(pl_java); def_target(pl_dart); def_target(pl_ocaml);
|
||||
def_target(pl_rust); def_target(pl_dart); def_target(pl_ocaml);
|
||||
def_target(pl_r); def_target(pl_julia);
|
||||
def_target_noget (pl_clojure);
|
||||
def_target_noget (pl_dotnet);
|
||||
|
102
src/recipe/lang/java.c
Normal file
102
src/recipe/lang/java.c
Normal file
@ -0,0 +1,102 @@
|
||||
/** ------------------------------------------------------------
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
* -------------------------------------------------------------
|
||||
* Contributors : Aoran Zeng <ccmywish@qq.com>
|
||||
* Created on : <2023-09-30>
|
||||
* Last modified : <2024-08-09>
|
||||
* ------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* @time 2024-04-18 更新
|
||||
* @note 缺少教育网或开源社区软件源
|
||||
*/
|
||||
static SourceInfo
|
||||
pl_java_sources[] = {
|
||||
{&Upstream, NULL},
|
||||
{&Ali, "https://maven.aliyun.com/repository/public/"},
|
||||
{&Huawei, "https://mirrors.huaweicloud.com/repository/maven/"},
|
||||
{&Netease, "http://mirrors.163.com/maven/repository/maven-public/"} // 网易的24小时更新一次
|
||||
};
|
||||
def_sources_n(pl_java);
|
||||
|
||||
|
||||
void
|
||||
pl_java_check_cmd (bool *maven_exist, bool *gradle_exist)
|
||||
{
|
||||
*maven_exist = chsrc_check_program ("mvn");
|
||||
*gradle_exist = chsrc_check_program ("gradle");
|
||||
|
||||
if (! *maven_exist && ! *gradle_exist)
|
||||
{
|
||||
chsrc_error ("maven 与 gradle 命令均未找到,请检查是否存在其一");
|
||||
exit (Exit_UserCause);
|
||||
}
|
||||
}
|
||||
|
||||
char *
|
||||
pl_java_find_maven_config ()
|
||||
{
|
||||
char *buf = xy_run ("mvn -v", 2, NULL);
|
||||
char *maven_home = xy_str_delete_prefix (buf, "Maven home: ");
|
||||
maven_home = xy_str_strip (maven_home);
|
||||
|
||||
char *maven_config = xy_uniform_path (xy_2strjoin (maven_home, "/conf/settings.xml"));
|
||||
return maven_config;
|
||||
}
|
||||
|
||||
void
|
||||
pl_java_getsrc (char *option)
|
||||
{
|
||||
bool maven_exist, gradle_exist;
|
||||
pl_java_check_cmd (&maven_exist, &gradle_exist);
|
||||
char *maven_config = pl_java_find_maven_config ();
|
||||
chsrc_note2 (xy_2strjoin ("请查看 ", maven_config));
|
||||
}
|
||||
|
||||
/**
|
||||
* Java 换源,参考:https://developer.aliyun.com/mirror/maven
|
||||
*/
|
||||
void
|
||||
pl_java_setsrc (char *option)
|
||||
{
|
||||
bool maven_exist, gradle_exist;
|
||||
pl_java_check_cmd (&maven_exist, &gradle_exist);
|
||||
|
||||
SourceInfo source;
|
||||
chsrc_yield_source (pl_java);
|
||||
chsrc_confirm_source (&source);
|
||||
|
||||
if (maven_exist)
|
||||
{
|
||||
const char *file = xy_strjoin (7,
|
||||
"<mirror>\n"
|
||||
" <id>", source.mirror->code, "</id>\n"
|
||||
" <mirrorOf>*</mirrorOf>\n"
|
||||
" <name>", source.mirror->name, "</name>\n"
|
||||
" <url>", source.url, "</url>\n"
|
||||
"</mirror>");
|
||||
|
||||
char *maven_config = pl_java_find_maven_config ();
|
||||
chsrc_note2 (xy_strjoin (3, "请在您的 maven 配置文件 ", maven_config, " 中添加:"));
|
||||
puts (file);
|
||||
}
|
||||
|
||||
if (gradle_exist)
|
||||
{
|
||||
if (maven_exist) puts ("");
|
||||
const char* file = xy_strjoin (3,
|
||||
"allprojects {\n"
|
||||
" repositories {\n"
|
||||
" maven { url '", source.url, "' }\n"
|
||||
" mavenLocal()\n"
|
||||
" mavenCentral()\n"
|
||||
" }\n"
|
||||
"}");
|
||||
|
||||
chsrc_note2 ("请在您的 build.gradle 中添加:");
|
||||
puts (file);
|
||||
}
|
||||
chsrc_say_lastly (&source, ChsrcTypeManual);
|
||||
}
|
||||
|
||||
def_target(pl_java);
|
Loading…
x
Reference in New Issue
Block a user