From bcc3206bddbad5bed24f61aa7d3b16ea440910ed Mon Sep 17 00:00:00 2001 From: Aoran Zeng Date: Wed, 27 Aug 2025 11:32:06 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A8=8D=E7=AE=80=E5=8C=96=20Java=20recipe=20?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=20=E4=BB=A5=E5=8F=8A=20=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96=E4=BB=A3=E7=A0=81=20[GitHub=20#278]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/recipe/lang/Java.c | 78 ++++++++++++++++++------------------------ 1 file changed, 34 insertions(+), 44 deletions(-) diff --git a/src/recipe/lang/Java.c b/src/recipe/lang/Java.c index 462952e..5356d2d 100644 --- a/src/recipe/lang/Java.c +++ b/src/recipe/lang/Java.c @@ -50,20 +50,14 @@ pl_java_check_cmd (bool *maven_exist, bool *gradle_exist, bool *maven_daemon_exi } } -bool -pl_java_is_home (const char *str) -{ - return (xy_str_start_with (str, "Maven home:")); -} bool -pl_java_find_maven_home (const char *line) +pl_java_is_maven_home_line (const char *line) { - if(pl_java_is_home(line)) - { - return true; - } - return false; + if (xy_str_start_with (line, "Maven home:")) + return true; + else + return false; } char * @@ -72,16 +66,14 @@ pl_java_find_maven_config () char *output; int status = xy_run_capture ("mvn -v", &output); if (0==status) - { - char *maven_home_line = xy_run_iter_lines ("mvn -v", 0, pl_java_find_maven_home); - char *maven_home = xy_str_delete_prefix (maven_home_line, "Maven home: "); - char *maven_config = xy_normalize_path (xy_2strcat (maven_home, "/conf/settings.xml")); - return maven_config; - } - else - { - printf("no find maven home\n"); - } + { + char *maven_home_line = xy_run_iter_lines ("mvn -v", 0, pl_java_is_maven_home_line); + char *maven_home = xy_str_delete_prefix (maven_home_line, "Maven home: "); + char *maven_config = xy_normalize_path (xy_2strcat (maven_home, "/conf/settings.xml")); + return maven_config; + } + + chsrc_alert2 ("未找到 maven home, 将使用用户配置文件"); return "~/.m2/settings.xml"; } @@ -91,16 +83,14 @@ pl_java_find_maven_daemon_config () char *output; int status = xy_run_capture ("mvnd -v", &output); if (0==status) - { - char *maven_home_line = xy_run_iter_lines ("mvnd -v", 0, pl_java_find_maven_home); - char *maven_home = xy_str_delete_prefix (maven_home_line, "Maven home: "); - char *maven_config = xy_normalize_path (xy_2strcat (maven_home, "/conf/settings.xml")); - return maven_config; - } - else - { - printf ("no find maven home\n"); - } + { + char *maven_home_line = xy_run_iter_lines ("mvnd -v", 0, pl_java_is_maven_home_line); + char *maven_home = xy_str_delete_prefix (maven_home_line, "Maven home: "); + char *maven_config = xy_normalize_path (xy_2strcat (maven_home, "/conf/settings.xml")); + return maven_config; + } + + chsrc_alert2 ("未找到 maven home, 将使用用户配置文件"); return "~/.m2/settings.xml"; } @@ -111,15 +101,15 @@ pl_java_getsrc (char *option) bool maven_exist, gradle_exist, maven_daemon_exist; pl_java_check_cmd (&maven_exist, &gradle_exist, &maven_daemon_exist); if (maven_exist) - { - char *maven_config = pl_java_find_maven_config (); - chsrc_note2 (xy_2strcat ("请查看 ", maven_config)); - } - if(maven_daemon_exist) - { - char *maven_config = pl_java_find_maven_daemon_config (); - chsrc_note2 (xy_2strcat ("请查看 ", maven_config)); - } + { + char *maven_config = pl_java_find_maven_config (); + chsrc_note2 (xy_2strcat ("请查看 ", maven_config)); + } + if (maven_daemon_exist) + { + char *maven_config = pl_java_find_maven_daemon_config (); + chsrc_note2 (xy_2strcat ("请查看 ", maven_config)); + } } @@ -147,10 +137,10 @@ pl_java_setsrc (char *option) if (maven_daemon_exist) { char *file = xy_str_gsub (RAWSTR_pl_java_maven_config, "@1@", source.mirror->code); - file = xy_str_gsub (file, "@name@", source.mirror->name); - file = xy_str_gsub (file, "@url@", source.url); - char *maven_config = pl_java_find_maven_daemon_config (); - chsrc_note2 (xy_strcat (3, "请在 maven 配置文件 ", maven_config, " 中添加:")); + file = xy_str_gsub (file, "@name@", source.mirror->name); + file = xy_str_gsub (file, "@url@", source.url); + char *maven_daemon_config = pl_java_find_maven_daemon_config (); + chsrc_note2 (xy_strcat (3, "请在 maven daemon 配置文件 ", maven_daemon_config, " 中添加:")); println (file); }