Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
d6a4c431
R
Rust
项目概览
int
/
Rust
11 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d6a4c431
编写于
5月 18, 2014
作者:
R
Robert Buonpastore
提交者:
Alex Crichton
6月 24, 2014
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Stabilize version output for rustc and rustdoc
上级
fb296b80
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
47 addition
and
15 deletion
+47
-15
mk/main.mk
mk/main.mk
+8
-2
src/librustc/driver/config.rs
src/librustc/driver/config.rs
+1
-1
src/librustc/driver/mod.rs
src/librustc/driver/mod.rs
+22
-9
src/librustdoc/lib.rs
src/librustdoc/lib.rs
+8
-3
src/test/run-make/version/Makefile
src/test/run-make/version/Makefile
+8
-0
未找到文件。
mk/main.mk
浏览文件 @
d6a4c431
...
...
@@ -42,9 +42,9 @@ SPACE :=
SPACE
+=
ifneq
($(wildcard $(subst $(SPACE),\$(SPACE),$(CFG_GIT))),)
ifneq
($(wildcard $(subst $(SPACE),\$(SPACE),$(CFG_GIT_DIR))),)
CFG_VERSION
+=
$(
shell
git
--git-dir
=
'
$(CFG_GIT_DIR)
'
log
-1
\
--pretty
=
format:
'(%h %ci
)
'
)
CFG_VER_DATE
=
$(
shell
git
--git-dir
=
'
$(CFG_GIT_DIR)
'
log
-1
--pretty
=
format:
'%ci'
)
CFG_VER_HASH
=
$(
shell
git
--git-dir
=
'
$(CFG_GIT_DIR)
'
rev-parse HEAD
)
CFG_VERSION
+=
(
$(CFG_VER_HASH)
$(CFG_VER_DATE)
)
endif
endif
...
...
@@ -272,6 +272,12 @@ $(foreach host,$(CFG_HOST), \
export
CFG_SRC_DIR
export
CFG_BUILD_DIR
ifdef
CFG_VER_DATE
export
CFG_VER_DATE
endif
ifdef
CFG_VER_HASH
export
CFG_VER_HASH
endif
export
CFG_VERSION
export
CFG_VERSION_WIN
export
CFG_RELEASE
...
...
src/librustc/driver/config.rs
浏览文件 @
d6a4c431
...
...
@@ -544,7 +544,7 @@ pub fn optgroups() -> Vec<getopts::OptGroup> {
optmulti
(
"F"
,
"forbid"
,
"Set lint forbidden"
,
"OPT"
),
optmulti
(
"C"
,
"codegen"
,
"Set a codegen option"
,
"OPT[=VALUE]"
),
optmulti
(
"Z"
,
""
,
"Set internal debugging options"
,
"FLAG"
),
optflag
(
"v"
,
"version"
,
"Print version info and exit
"
),
optflag
opt
(
"v"
,
"version"
,
"Print version info and exit"
,
"verbose
"
),
optopt
(
""
,
"color"
,
"Configure coloring of output:
auto = colorize, if output goes to a tty (default);
always = always colorize output;
...
...
src/librustc/driver/mod.rs
浏览文件 @
d6a4c431
...
...
@@ -112,13 +112,24 @@ fn run_compiler(args: &[String]) {
driver
::
compile_input
(
sess
,
cfg
,
&
input
,
&
odir
,
&
ofile
);
}
pub
fn
version
(
command
:
&
str
)
{
let
vers
=
match
option_env!
(
"CFG_VERSION"
)
{
Some
(
vers
)
=>
vers
,
None
=>
"unknown version"
/// Prints version information and returns None on success or an error
/// message on failure.
pub
fn
version
(
binary
:
&
str
,
matches
:
&
getopts
::
Matches
)
->
Option
<
String
>
{
let
verbose
=
match
matches
.opt_str
(
"version"
)
.as_ref
()
.map
(|
s
|
s
.as_slice
())
{
None
=>
false
,
Some
(
"verbose"
)
=>
true
,
Some
(
s
)
=>
return
Some
(
format!
(
"Unrecognized argument: {}"
,
s
))
};
println!
(
"{} {}"
,
command
,
vers
);
println!
(
"host: {}"
,
driver
::
host_triple
());
println!
(
"{} {}"
,
binary
,
env!
(
"CFG_VERSION"
));
if
verbose
{
println!
(
"binary: {}"
,
binary
);
println!
(
"commit-hash: {}"
,
option_env!
(
"CFG_VER_HASH"
)
.unwrap_or
(
"unknown"
));
println!
(
"commit-date: {}"
,
option_env!
(
"CFG_VER_DATE"
)
.unwrap_or
(
"unknown"
));
println!
(
"host: {}"
,
driver
::
host_triple
());
println!
(
"release: {}"
,
env!
(
"CFG_RELEASE"
));
}
None
}
fn
usage
()
{
...
...
@@ -268,9 +279,11 @@ pub fn handle_options(mut args: Vec<String>) -> Option<getopts::Matches> {
return
None
;
}
if
matches
.opt_present
(
"v"
)
||
matches
.opt_present
(
"version"
)
{
version
(
"rustc"
);
return
None
;
if
matches
.opt_present
(
"version"
)
{
match
version
(
"rustc"
,
&
matches
)
{
Some
(
err
)
=>
early_error
(
err
.as_slice
()),
None
=>
return
None
}
}
Some
(
matches
)
...
...
src/librustdoc/lib.rs
浏览文件 @
d6a4c431
...
...
@@ -95,7 +95,7 @@ pub fn opts() -> Vec<getopts::OptGroup> {
use
getopts
::
*
;
vec!
(
optflag
(
"h"
,
"help"
,
"show this help message"
),
optflag
(
""
,
"version"
,
"print rustdoc's version
"
),
optflag
opt
(
""
,
"version"
,
"print rustdoc's version"
,
"verbose
"
),
optopt
(
"r"
,
"input-format"
,
"the input type of the specified file"
,
"[rust|json]"
),
optopt
(
"w"
,
"output-format"
,
"the output type to write"
,
...
...
@@ -150,8 +150,13 @@ pub fn main_args(args: &[String]) -> int {
usage
(
args
[
0
]
.as_slice
());
return
0
;
}
else
if
matches
.opt_present
(
"version"
)
{
rustc
::
driver
::
version
(
"rustdoc"
);
return
0
;
match
rustc
::
driver
::
version
(
"rustdoc"
,
&
matches
)
{
Some
(
err
)
=>
{
println!
(
"{}"
,
err
);
return
1
},
None
=>
return
0
}
}
if
matches
.free
.len
()
==
0
{
...
...
src/test/run-make/version/Makefile
0 → 100644
浏览文件 @
d6a4c431
-include
../tools.mk
all
:
$(RUSTC)
-v
$(RUSTC)
-v
verbose
$(RUSTC)
-v
bad_arg
&&
exit
1
||
exit
0
$(RUSTC)
--version
verbose
$(RUSTC)
--version
bad_arg
&&
exit
1
||
exit
0
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录