稍简化 Java recipe 实现 以及 格式化代码

[GitHub #278]
This commit is contained in:
Aoran Zeng 2025-08-27 11:32:06 +08:00
parent b309c46a4c
commit bcc3206bdd
No known key found for this signature in database
GPG Key ID: 8F8BA8488E10ED98

View File

@ -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 bool
pl_java_find_maven_home (const char *line) pl_java_is_maven_home_line (const char *line)
{ {
if(pl_java_is_home(line)) if (xy_str_start_with (line, "Maven home:"))
{ return true;
return true; else
} return false;
return false;
} }
char * char *
@ -72,16 +66,14 @@ pl_java_find_maven_config ()
char *output; char *output;
int status = xy_run_capture ("mvn -v", &output); int status = xy_run_capture ("mvn -v", &output);
if (0==status) if (0==status)
{ {
char *maven_home_line = xy_run_iter_lines ("mvn -v", 0, pl_java_find_maven_home); 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_home = xy_str_delete_prefix (maven_home_line, "Maven home: ");
char *maven_config = xy_normalize_path (xy_2strcat (maven_home, "/conf/settings.xml")); char *maven_config = xy_normalize_path (xy_2strcat (maven_home, "/conf/settings.xml"));
return maven_config; return maven_config;
} }
else
{ chsrc_alert2 ("未找到 maven home, 将使用用户配置文件");
printf("no find maven home\n");
}
return "~/.m2/settings.xml"; return "~/.m2/settings.xml";
} }
@ -91,16 +83,14 @@ pl_java_find_maven_daemon_config ()
char *output; char *output;
int status = xy_run_capture ("mvnd -v", &output); int status = xy_run_capture ("mvnd -v", &output);
if (0==status) if (0==status)
{ {
char *maven_home_line = xy_run_iter_lines ("mvnd -v", 0, pl_java_find_maven_home); 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_home = xy_str_delete_prefix (maven_home_line, "Maven home: ");
char *maven_config = xy_normalize_path (xy_2strcat (maven_home, "/conf/settings.xml")); char *maven_config = xy_normalize_path (xy_2strcat (maven_home, "/conf/settings.xml"));
return maven_config; return maven_config;
} }
else
{ chsrc_alert2 ("未找到 maven home, 将使用用户配置文件");
printf ("no find maven home\n");
}
return "~/.m2/settings.xml"; return "~/.m2/settings.xml";
} }
@ -111,15 +101,15 @@ pl_java_getsrc (char *option)
bool maven_exist, gradle_exist, maven_daemon_exist; bool maven_exist, gradle_exist, maven_daemon_exist;
pl_java_check_cmd (&maven_exist, &gradle_exist, &maven_daemon_exist); pl_java_check_cmd (&maven_exist, &gradle_exist, &maven_daemon_exist);
if (maven_exist) if (maven_exist)
{ {
char *maven_config = pl_java_find_maven_config (); char *maven_config = pl_java_find_maven_config ();
chsrc_note2 (xy_2strcat ("请查看 ", maven_config)); chsrc_note2 (xy_2strcat ("请查看 ", maven_config));
} }
if(maven_daemon_exist) if (maven_daemon_exist)
{ {
char *maven_config = pl_java_find_maven_daemon_config (); char *maven_config = pl_java_find_maven_daemon_config ();
chsrc_note2 (xy_2strcat ("请查看 ", maven_config)); chsrc_note2 (xy_2strcat ("请查看 ", maven_config));
} }
} }
@ -147,10 +137,10 @@ pl_java_setsrc (char *option)
if (maven_daemon_exist) if (maven_daemon_exist)
{ {
char *file = xy_str_gsub (RAWSTR_pl_java_maven_config, "@1@", source.mirror->code); 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, "@name@", source.mirror->name);
file = xy_str_gsub (file, "@url@", source.url); file = xy_str_gsub (file, "@url@", source.url);
char *maven_config = pl_java_find_maven_daemon_config (); char *maven_daemon_config = pl_java_find_maven_daemon_config ();
chsrc_note2 (xy_strcat (3, "请在 maven 配置文件 ", maven_config, " 中添加:")); chsrc_note2 (xy_strcat (3, "请在 maven daemon 配置文件 ", maven_daemon_config, " 中添加:"));
println (file); println (file);
} }