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)))
|
(checkInPkgs n alias)))
|
||||||
aliases;
|
aliases;
|
||||||
|
|
||||||
deprecateName = oldName: newName:
|
deprecations = lib.mapAttrs (old: new:
|
||||||
throw "${oldName} was renamed to ${newName}. Please update to ${newName}.";
|
throw "${old} was renamed to ${new}. Please update to ${new}."
|
||||||
in
|
) (builtins.fromJSON (builtins.readFile ./deprecated.json));
|
||||||
|
|
||||||
mapAliases {
|
in
|
||||||
|
mapAliases ({
|
||||||
airline = vim-airline;
|
airline = vim-airline;
|
||||||
alternative = a-vim; # backwards compat, added 2014-10-21
|
alternative = a-vim; # backwards compat, added 2014-10-21
|
||||||
bats = bats-vim;
|
bats = bats-vim;
|
||||||
@ -71,7 +72,6 @@ mapAliases {
|
|||||||
ghcmod = ghcmod-vim;
|
ghcmod = ghcmod-vim;
|
||||||
goyo = goyo-vim;
|
goyo = goyo-vim;
|
||||||
Gist = vim-gist;
|
Gist = vim-gist;
|
||||||
gist-vim = deprecateName "vim-gist" "gist-vim"; # backwards compat, added 2020-3-22
|
|
||||||
gitgutter = vim-gitgutter;
|
gitgutter = vim-gitgutter;
|
||||||
gundo = gundo-vim;
|
gundo = gundo-vim;
|
||||||
Gundo = gundo-vim; # backwards compat, added 2015-10-03
|
Gundo = gundo-vim; # backwards compat, added 2015-10-03
|
||||||
@ -129,17 +129,14 @@ mapAliases {
|
|||||||
unite = unite-vim;
|
unite = unite-vim;
|
||||||
UltiSnips = ultisnips;
|
UltiSnips = ultisnips;
|
||||||
vim-addon-vim2nix = vim2nix;
|
vim-addon-vim2nix = vim2nix;
|
||||||
vim-jade = deprecateName "vim-pug" "vim-jade"; # backwards compat, added 2020-3-22
|
|
||||||
vimproc = vimproc-vim;
|
vimproc = vimproc-vim;
|
||||||
vimshell = vimshell-vim;
|
vimshell = vimshell-vim;
|
||||||
vinegar = vim-vinegar;
|
vinegar = vim-vinegar;
|
||||||
vundle = deprecateName "Vundle-vim" "vundle"; # backwards compat, added 2020-3-22
|
|
||||||
watchdogs = vim-watchdogs;
|
watchdogs = vim-watchdogs;
|
||||||
WebAPI = webapi-vim;
|
WebAPI = webapi-vim;
|
||||||
wombat256 = wombat256-vim; # backwards compat, added 2015-7-8
|
wombat256 = wombat256-vim; # backwards compat, added 2015-7-8
|
||||||
yankring = YankRing-vim;
|
yankring = YankRing-vim;
|
||||||
Yankring = YankRing-vim;
|
Yankring = YankRing-vim;
|
||||||
youcompleteme = deprecateName "YouCompleteMe" "youcompleteme"; # backwards compat, added 2020-3-22
|
|
||||||
xterm-color-table = xterm-color-table-vim;
|
xterm-color-table = xterm-color-table-vim;
|
||||||
zeavim = zeavim-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
|
ROOT = Path(__file__).parent
|
||||||
DEFAULT_IN = ROOT.joinpath("vim-plugin-names")
|
DEFAULT_IN = ROOT.joinpath("vim-plugin-names")
|
||||||
DEFAULT_OUT = ROOT.joinpath("generated.nix")
|
DEFAULT_OUT = ROOT.joinpath("generated.nix")
|
||||||
|
DEPRECATED = ROOT.joinpath("deprecated.json")
|
||||||
|
|
||||||
import time
|
import time
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
@ -130,9 +131,6 @@ class Repo:
|
|||||||
new_plugin = plugin_line.format(owner=new_owner, name=new_name)
|
new_plugin = plugin_line.format(owner=new_owner, name=new_name)
|
||||||
self.redirect[old_plugin] = new_plugin
|
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:
|
def prefetch_git(self, ref: str) -> str:
|
||||||
data = subprocess.check_output(
|
data = subprocess.check_output(
|
||||||
["nix-prefetch-git", "--fetch-submodules", self.url(""), ref]
|
["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:
|
if redirects:
|
||||||
lines = [redirects.get(line, line) for line in lines]
|
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(
|
print(
|
||||||
f"""\
|
f"""\
|
||||||
Redirects have been detected and {input_file} has been updated. Please take the
|
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:
|
1. Go ahead and commit just the updated expressions as you intended to do:
|
||||||
git add {output_file}
|
git add {output_file}
|
||||||
git commit -m "vimPlugins: Update"
|
git commit -m "vimPlugins: Update"
|
||||||
2. If any of the plugin names were changed, throw an error in aliases.nix:
|
2. Run this script again so these changes will be reflected in the
|
||||||
<oldName> = deprecateName "<oldName>" "<newName>"; # backwards compat, added YYYY-MM-DD
|
|
||||||
3. Run this script again so these changes will be reflected in the
|
|
||||||
generated expressions:
|
generated expressions:
|
||||||
./update.py
|
./update.py
|
||||||
4. Commit {input_file} along with aliases and generated expressions:
|
3. Commit {input_file} along with deprecations and generated expressions:
|
||||||
git add {output_file} {input_file} aliases.nix
|
git add {output_file} {input_file} {DEPRECATED}
|
||||||
git commit -m "vimPlugins: Update redirects"
|
git commit -m "vimPlugins: Update redirects"
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user