forked from mirrors/nixpkgs
vimPlugins: Automatic rename deprecations
When an updated redirect results in a package name change, not just an owner change, throw an error to warn users the package names has changed.
This commit is contained in:
parent
b886ad90e7
commit
7cc024b59e
|
@ -31,11 +31,12 @@ let
|
|||
(checkInPkgs n alias)))
|
||||
aliases;
|
||||
|
||||
deprecateName = oldName: newName:
|
||||
throw "${oldName} was renamed to ${newName}. Please update to ${newName}.";
|
||||
in
|
||||
deprecations = lib.mapAttrs (old: new:
|
||||
throw "${old} was renamed to ${new}. Please update to ${new}."
|
||||
) (builtins.fromJSON (builtins.readFile ./deprecated.json));
|
||||
|
||||
mapAliases {
|
||||
in
|
||||
mapAliases ({
|
||||
airline = vim-airline;
|
||||
alternative = a-vim; # backwards compat, added 2014-10-21
|
||||
bats = bats-vim;
|
||||
|
@ -71,7 +72,6 @@ mapAliases {
|
|||
ghcmod = ghcmod-vim;
|
||||
goyo = goyo-vim;
|
||||
Gist = vim-gist;
|
||||
gist-vim = deprecateName "vim-gist" "gist-vim"; # backwards compat, added 2020-3-22
|
||||
gitgutter = vim-gitgutter;
|
||||
gundo = gundo-vim;
|
||||
Gundo = gundo-vim; # backwards compat, added 2015-10-03
|
||||
|
@ -129,17 +129,14 @@ mapAliases {
|
|||
unite = unite-vim;
|
||||
UltiSnips = ultisnips;
|
||||
vim-addon-vim2nix = vim2nix;
|
||||
vim-jade = deprecateName "vim-pug" "vim-jade"; # backwards compat, added 2020-3-22
|
||||
vimproc = vimproc-vim;
|
||||
vimshell = vimshell-vim;
|
||||
vinegar = vim-vinegar;
|
||||
vundle = deprecateName "Vundle-vim" "vundle"; # backwards compat, added 2020-3-22
|
||||
watchdogs = vim-watchdogs;
|
||||
WebAPI = webapi-vim;
|
||||
wombat256 = wombat256-vim; # backwards compat, added 2015-7-8
|
||||
yankring = YankRing-vim;
|
||||
Yankring = YankRing-vim;
|
||||
youcompleteme = deprecateName "YouCompleteMe" "youcompleteme"; # backwards compat, added 2020-3-22
|
||||
xterm-color-table = xterm-color-table-vim;
|
||||
zeavim = zeavim-vim;
|
||||
}
|
||||
} // deprecations)
|
||||
|
|
6
pkgs/misc/vim-plugins/deprecated.json
Normal file
6
pkgs/misc/vim-plugins/deprecated.json
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"gist-vim": "vim-gist",
|
||||
"vim-jade": "vim-pug",
|
||||
"vundle": "Vundle.vim",
|
||||
"youcompleteme": "YouCompleteMe"
|
||||
}
|
|
@ -34,6 +34,7 @@ ATOM_UPDATED = "{http://www.w3.org/2005/Atom}updated" # "
|
|||
ROOT = Path(__file__).parent
|
||||
DEFAULT_IN = ROOT.joinpath("vim-plugin-names")
|
||||
DEFAULT_OUT = ROOT.joinpath("generated.nix")
|
||||
DEPRECATED = ROOT.joinpath("deprecated.json")
|
||||
|
||||
import time
|
||||
from functools import wraps
|
||||
|
@ -130,9 +131,6 @@ class Repo:
|
|||
new_plugin = plugin_line.format(owner=new_owner, name=new_name)
|
||||
self.redirect[old_plugin] = new_plugin
|
||||
|
||||
if new_name != self.name:
|
||||
print(f"Plugin Name Changed: {self.name} -> {new_name}")
|
||||
|
||||
def prefetch_git(self, ref: str) -> str:
|
||||
data = subprocess.check_output(
|
||||
["nix-prefetch-git", "--fetch-submodules", self.url(""), ref]
|
||||
|
@ -421,6 +419,17 @@ def rewrite_input(input_file: Path, output_file: Path, redirects: dict):
|
|||
|
||||
if redirects:
|
||||
lines = [redirects.get(line, line) for line in lines]
|
||||
|
||||
with open(DEPRECATED, "r") as f:
|
||||
deprecations = json.load(f)
|
||||
for old, new in redirects.items():
|
||||
old_name = old.split("/")[1].split(" ")[0].strip("\n")
|
||||
new_name = new.split("/")[1].split(" ")[0].strip("\n")
|
||||
if old_name != new_name:
|
||||
deprecations[old_name] = new_name
|
||||
with open(DEPRECATED, "w") as f:
|
||||
json.dump(deprecations, f, indent=4, sort_keys=True)
|
||||
|
||||
print(
|
||||
f"""\
|
||||
Redirects have been detected and {input_file} has been updated. Please take the
|
||||
|
@ -428,13 +437,11 @@ following steps:
|
|||
1. Go ahead and commit just the updated expressions as you intended to do:
|
||||
git add {output_file}
|
||||
git commit -m "vimPlugins: Update"
|
||||
2. If any of the plugin names were changed, throw an error in aliases.nix:
|
||||
<oldName> = deprecateName "<oldName>" "<newName>"; # backwards compat, added YYYY-MM-DD
|
||||
3. Run this script again so these changes will be reflected in the
|
||||
2. Run this script again so these changes will be reflected in the
|
||||
generated expressions:
|
||||
./update.py
|
||||
4. Commit {input_file} along with aliases and generated expressions:
|
||||
git add {output_file} {input_file} aliases.nix
|
||||
3. Commit {input_file} along with deprecations and generated expressions:
|
||||
git add {output_file} {input_file} {DEPRECATED}
|
||||
git commit -m "vimPlugins: Update redirects"
|
||||
"""
|
||||
)
|
||||
|
|
Loading…
Reference in a new issue