mirror of
https://github.com/RubyMetric/chsrc
synced 2025-06-09 04:16:21 +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 更新
|
* @time 2023-09-10 更新
|
||||||
@ -758,7 +747,7 @@ wr_tex_sources[] = {
|
|||||||
|
|
||||||
|
|
||||||
def_sources_n(pl_rust);
|
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_dotnet); def_sources_n(pl_dart); def_sources_n(pl_haskell);
|
||||||
def_sources_n(pl_ocaml);
|
def_sources_n(pl_ocaml);
|
||||||
def_sources_n(pl_r); def_sources_n(pl_julia);
|
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/php.c"
|
||||||
#include "recipe/lang/lua.c"
|
#include "recipe/lang/lua.c"
|
||||||
#include "recipe/lang/go.c"
|
#include "recipe/lang/go.c"
|
||||||
|
#include "recipe/lang/java.c"
|
||||||
|
|
||||||
|
|
||||||
void
|
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
|
void
|
||||||
pl_clojure_setsrc (char *option)
|
pl_clojure_setsrc (char *option)
|
||||||
@ -1891,7 +1812,7 @@ wr_anaconda_setsrc (char *option)
|
|||||||
|
|
||||||
|
|
||||||
/************************************** Begin Target Matrix ****************************************/
|
/************************************** 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(pl_r); def_target(pl_julia);
|
||||||
def_target_noget (pl_clojure);
|
def_target_noget (pl_clojure);
|
||||||
def_target_noget (pl_dotnet);
|
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