mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-29 17:22:56 +08:00
add version info
This commit is contained in:
parent
f783b8693d
commit
ce7c4aaa98
@ -3,6 +3,7 @@ use crate::method_info::MethodInfo;
|
||||
use crate::my_string;
|
||||
use crate::object_info::ObjectInfo;
|
||||
use crate::script::Script;
|
||||
use crate::version_info::VersionInfo;
|
||||
use std::collections::BTreeMap;
|
||||
#[derive(Debug)]
|
||||
pub struct ClassInfo {
|
||||
@ -111,11 +112,27 @@ impl ClassInfo {
|
||||
return method_impl;
|
||||
}
|
||||
|
||||
pub fn script_fn(&self) -> String {
|
||||
pub fn script_fn(&self, version_info: VersionInfo) -> String {
|
||||
let mut script_fn = String::new();
|
||||
/* add pikaScriptInit function define */
|
||||
script_fn.push_str("PikaObj *__pikaMain;\r\n");
|
||||
script_fn.push_str("PikaObj *pikaScriptInit(void){\r\n");
|
||||
/* print version info */
|
||||
script_fn.push_str(
|
||||
" __platform_printf(\"======[pikascript packages installed]======\\r\\n\");\r\n",
|
||||
);
|
||||
for (package_name, package_version) in version_info.package_list {
|
||||
script_fn.push_str(
|
||||
format!(
|
||||
" __platform_printf(\"{}=={}\\r\\n\");\r\n",
|
||||
package_name, package_version
|
||||
)
|
||||
.as_str(),
|
||||
);
|
||||
}
|
||||
script_fn.push_str(
|
||||
" __platform_printf(\"===========================================\\r\\n\");\r\n",
|
||||
);
|
||||
/* create the root object */
|
||||
script_fn.push_str(" __pikaMain = newRootObj(\"pikaMain\", New_PikaMain);\r\n");
|
||||
/* use obj_run to run the script in main.py */
|
||||
|
@ -113,7 +113,8 @@ fn main() {
|
||||
.get_mut(&"PikaMain".to_string())
|
||||
.unwrap();
|
||||
/* make the pikascript.c */
|
||||
f.write(pika_main.script_fn().as_bytes()).unwrap();
|
||||
f.write(pika_main.script_fn(version_info).as_bytes())
|
||||
.unwrap();
|
||||
|
||||
/* make the pikascript.h */
|
||||
let api_file_path = format!("{}pikaScript.h", compiler.dist_path);
|
||||
|
@ -20,7 +20,7 @@ impl VersionInfo {
|
||||
|
||||
fn analyze_line(mut self, line: String) -> VersionInfo {
|
||||
/* skip void line */
|
||||
if (line.as_str() == "") {
|
||||
if line.as_str() == "" {
|
||||
return self;
|
||||
}
|
||||
/* print the package info */
|
||||
|
Loading…
x
Reference in New Issue
Block a user