Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
镜像
Python_Packaging_Authority
pip
提交
7c3028fa
P
pip
项目概览
镜像
/
Python_Packaging_Authority
/
pip
11 个月 前同步成功
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
pip
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
7c3028fa
编写于
11月 19, 2020
作者:
P
Pradyun Gedam
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add automation for upgrading dependencies
Signed-off-by:
N
Pradyun Gedam
<
pradyunsg@users.noreply.github.com
>
上级
c41bbe52
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
45 addition
and
3 deletion
+45
-3
noxfile.py
noxfile.py
+45
-3
未找到文件。
noxfile.py
浏览文件 @
7c3028fa
...
...
@@ -8,6 +8,7 @@ import glob
import
os
import
shutil
import
sys
from
pathlib
import
Path
import
nox
...
...
@@ -152,9 +153,50 @@ def lint(session):
@
nox
.
session
def
vendoring
(
session
):
session
.
install
(
"vendoring"
)
session
.
run
(
"vendoring"
,
"sync"
,
"."
,
"-v"
)
session
.
install
(
"vendoring>=0.3.0"
)
if
"--upgrade"
not
in
session
.
posargs
:
session
.
run
(
"vendoring"
,
"sync"
,
"."
,
"-v"
)
return
def
pinned_requirements
(
path
):
for
line
in
path
.
read_text
().
splitlines
():
one
,
two
=
line
.
split
(
"=="
,
1
)
name
=
one
.
strip
()
version
=
two
.
split
(
"#"
)[
0
].
strip
()
yield
name
,
version
vendor_txt
=
Path
(
"src/pip/_vendor/vendor.txt"
)
for
name
,
old_version
in
pinned_requirements
(
vendor_txt
):
# update requirements.txt
session
.
run
(
"vendoring"
,
"update"
,
"."
,
name
)
# get the updated version
new_version
=
old_version
for
inner_name
,
inner_version
in
pinned_requirements
(
vendor_txt
):
if
inner_name
==
name
:
# this is a dedicated assignment, to make flake8 happy
new_version
=
inner_version
break
else
:
session
.
error
(
f
"Could not find
{
name
}
in
{
vendor_txt
}
"
)
# check if the version changed.
if
new_version
==
old_version
:
continue
# no change, nothing more to do here.
# synchronize the contents
session
.
run
(
"vendoring"
,
"sync"
,
"."
)
# Determine the correct message
message
=
f
"Upgrade
{
name
}
to
{
new_version
}
"
# Write our news fragment
news_file
=
Path
(
"news"
)
/
(
name
+
".vendor.rst"
)
news_file
.
write_text
(
message
+
"
\n
"
)
# "\n" appeases end-of-line-fixer
# Commit the changes
release
.
commit_file
(
session
,
"."
,
message
=
message
)
# -----------------------------------------------------------------------------
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录