uri -> url for consistency

This commit is contained in:
Eelco Dolstra 2019-10-08 16:30:04 +02:00
parent 519aa479d7
commit 21304c11f9
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE
6 changed files with 40 additions and 33 deletions

View file

@ -3,8 +3,8 @@
"nixpkgs": { "nixpkgs": {
"inputs": {}, "inputs": {},
"narHash": "sha256-ltGlDPfwicH/u4orj1n4JXgRsA+jvKQsGnekObi0TV4=", "narHash": "sha256-ltGlDPfwicH/u4orj1n4JXgRsA+jvKQsGnekObi0TV4=",
"originalUri": "nixpkgs/release-19.03", "originalUrl": "nixpkgs/release-19.03",
"uri": "github:edolstra/nixpkgs/9a593b575e4044f9aff939b512e7cb1cf1e76a65" "url": "github:edolstra/nixpkgs/9a593b575e4044f9aff939b512e7cb1cf1e76a65"
} }
}, },
"version": 3 "version": 3

View file

@ -3,7 +3,7 @@
edition = 201909; edition = 201909;
inputs.nixpkgs.uri = "nixpkgs/release-19.03"; inputs.nixpkgs.url = "nixpkgs/release-19.03";
outputs = { self, nixpkgs }: outputs = { self, nixpkgs }:

View file

@ -34,8 +34,14 @@ std::shared_ptr<FlakeRegistry> readRegistry(const Path & path)
throw Error("flake registry '%s' has unsupported version %d", path, version); throw Error("flake registry '%s' has unsupported version %d", path, version);
auto flakes = json["flakes"]; auto flakes = json["flakes"];
for (auto i = flakes.begin(); i != flakes.end(); ++i) for (auto i = flakes.begin(); i != flakes.end(); ++i) {
registry->entries.emplace(i.key(), FlakeRef(i->value("uri", ""))); // FIXME: remove 'uri' soon.
auto url = i->value("url", i->value("uri", ""));
if (url.empty())
throw Error("flake registry '%s' lacks a 'url' attribute for entry '%s'",
path, i.key());
registry->entries.emplace(i.key(), url);
}
return registry; return registry;
} }
@ -46,7 +52,7 @@ void writeRegistry(const FlakeRegistry & registry, const Path & path)
nlohmann::json json; nlohmann::json json;
json["version"] = 1; json["version"] = 1;
for (auto elem : registry.entries) for (auto elem : registry.entries)
json["flakes"][elem.first.to_string()] = { {"uri", elem.second.to_string()} }; json["flakes"][elem.first.to_string()] = { {"url", elem.second.to_string()} };
createDirs(dirOf(path)); createDirs(dirOf(path));
writeFile(path, json.dump(4)); // The '4' is the number of spaces used in the indentation in the json file. writeFile(path, json.dump(4)); // The '4' is the number of spaces used in the indentation in the json file.
} }
@ -283,7 +289,8 @@ static Flake getFlake(EvalState & state, const FlakeRef & originalRef,
} }
auto sInputs = state.symbols.create("inputs"); auto sInputs = state.symbols.create("inputs");
auto sUri = state.symbols.create("uri"); auto sUrl = state.symbols.create("url");
auto sUri = state.symbols.create("uri"); // FIXME: remove soon
auto sFlake = state.symbols.create("flake"); auto sFlake = state.symbols.create("flake");
if (std::optional<Attr *> inputs = vInfo.attrs->get(sInputs)) { if (std::optional<Attr *> inputs = vInfo.attrs->get(sInputs)) {
@ -295,7 +302,7 @@ static Flake getFlake(EvalState & state, const FlakeRef & originalRef,
FlakeInput input(FlakeRef(inputAttr.name)); FlakeInput input(FlakeRef(inputAttr.name));
for (Attr attr : *(inputAttr.value->attrs)) { for (Attr attr : *(inputAttr.value->attrs)) {
if (attr.name == sUri) { if (attr.name == sUrl || attr.name == sUri) {
expectType(state, tString, *attr.value, *attr.pos); expectType(state, tString, *attr.value, *attr.pos);
input.ref = std::string(attr.value->string.s); input.ref = std::string(attr.value->string.s);
} else if (attr.name == sFlake) { } else if (attr.name == sFlake) {

View file

@ -5,8 +5,8 @@ namespace nix::flake {
LockedInput::LockedInput(const nlohmann::json & json) LockedInput::LockedInput(const nlohmann::json & json)
: LockedInputs(json) : LockedInputs(json)
, ref(json["uri"]) , ref(json.value("url", json.value("uri", "")))
, originalRef(json["originalUri"]) , originalRef(json.value("originalUrl", json.value("originalUri", "")))
, narHash(Hash((std::string) json["narHash"])) , narHash(Hash((std::string) json["narHash"]))
{ {
if (!ref.isImmutable()) if (!ref.isImmutable())
@ -16,8 +16,8 @@ LockedInput::LockedInput(const nlohmann::json & json)
nlohmann::json LockedInput::toJson() const nlohmann::json LockedInput::toJson() const
{ {
auto json = LockedInputs::toJson(); auto json = LockedInputs::toJson();
json["uri"] = ref.to_string(); json["url"] = ref.to_string();
json["originalUri"] = originalRef.to_string(); json["originalUrl"] = originalRef.to_string();
json["narHash"] = narHash.to_string(SRI); json["narHash"] = narHash.to_string(SRI);
return json; return json;
} }

View file

@ -19,21 +19,21 @@ using namespace nix::flake;
class FlakeCommand : virtual Args, public EvalCommand, public MixFlakeOptions class FlakeCommand : virtual Args, public EvalCommand, public MixFlakeOptions
{ {
std::string flakeUri = "."; std::string flakeUrl = ".";
public: public:
FlakeCommand() FlakeCommand()
{ {
expectArg("flake-uri", &flakeUri, true); expectArg("flake-url", &flakeUrl, true);
} }
FlakeRef getFlakeRef() FlakeRef getFlakeRef()
{ {
if (flakeUri.find('/') != std::string::npos || flakeUri == ".") if (flakeUrl.find('/') != std::string::npos || flakeUrl == ".")
return FlakeRef(flakeUri, true); return FlakeRef(flakeUrl, true);
else else
return FlakeRef(flakeUri); return FlakeRef(flakeUrl);
} }
Flake getFlake() Flake getFlake()
@ -74,7 +74,7 @@ struct CmdFlakeList : EvalCommand
static void printSourceInfo(const SourceInfo & sourceInfo) static void printSourceInfo(const SourceInfo & sourceInfo)
{ {
std::cout << fmt("URI: %s\n", sourceInfo.resolvedRef.to_string()); std::cout << fmt("URL: %s\n", sourceInfo.resolvedRef.to_string());
if (sourceInfo.resolvedRef.ref) if (sourceInfo.resolvedRef.ref)
std::cout << fmt("Branch: %s\n",*sourceInfo.resolvedRef.ref); std::cout << fmt("Branch: %s\n",*sourceInfo.resolvedRef.ref);
if (sourceInfo.resolvedRef.rev) if (sourceInfo.resolvedRef.rev)
@ -89,7 +89,7 @@ static void printSourceInfo(const SourceInfo & sourceInfo)
static void sourceInfoToJson(const SourceInfo & sourceInfo, nlohmann::json & j) static void sourceInfoToJson(const SourceInfo & sourceInfo, nlohmann::json & j)
{ {
j["uri"] = sourceInfo.resolvedRef.to_string(); j["url"] = sourceInfo.resolvedRef.to_string();
if (sourceInfo.resolvedRef.ref) if (sourceInfo.resolvedRef.ref)
j["branch"] = *sourceInfo.resolvedRef.ref; j["branch"] = *sourceInfo.resolvedRef.ref;
if (sourceInfo.resolvedRef.rev) if (sourceInfo.resolvedRef.rev)
@ -454,7 +454,7 @@ struct CmdFlakeCheck : FlakeCommand, MixJSON
struct CmdFlakeAdd : MixEvalArgs, Command struct CmdFlakeAdd : MixEvalArgs, Command
{ {
FlakeUri alias; FlakeUri alias;
FlakeUri uri; FlakeUri url;
std::string description() override std::string description() override
{ {
@ -464,7 +464,7 @@ struct CmdFlakeAdd : MixEvalArgs, Command
CmdFlakeAdd() CmdFlakeAdd()
{ {
expectArg("alias", &alias); expectArg("alias", &alias);
expectArg("flake-uri", &uri); expectArg("flake-url", &url);
} }
void run() override void run() override
@ -473,7 +473,7 @@ struct CmdFlakeAdd : MixEvalArgs, Command
Path userRegistryPath = getUserRegistryPath(); Path userRegistryPath = getUserRegistryPath();
auto userRegistry = readRegistry(userRegistryPath); auto userRegistry = readRegistry(userRegistryPath);
userRegistry->entries.erase(aliasRef); userRegistry->entries.erase(aliasRef);
userRegistry->entries.insert_or_assign(aliasRef, FlakeRef(uri)); userRegistry->entries.insert_or_assign(aliasRef, FlakeRef(url));
writeRegistry(*userRegistry, userRegistryPath); writeRegistry(*userRegistry, userRegistryPath);
} }
}; };

View file

@ -89,19 +89,19 @@ cat > $registry <<EOF
{ {
"flakes": { "flakes": {
"flake1": { "flake1": {
"uri": "file://$flake1Dir" "url": "file://$flake1Dir"
}, },
"flake2": { "flake2": {
"uri": "file://$flake2Dir" "url": "file://$flake2Dir"
}, },
"flake3": { "flake3": {
"uri": "file://$flake3Dir" "url": "file://$flake3Dir"
}, },
"flake4": { "flake4": {
"uri": "flake3" "url": "flake3"
}, },
"nixpkgs": { "nixpkgs": {
"uri": "flake1" "url": "flake1"
} }
}, },
"version": 1 "version": 1
@ -112,12 +112,12 @@ EOF
(( $(nix flake list --flake-registry $registry | wc -l) == 5 )) (( $(nix flake list --flake-registry $registry | wc -l) == 5 ))
# Test 'nix flake info'. # Test 'nix flake info'.
nix flake info --flake-registry $registry flake1 | grep -q 'URI: .*flake1.*' nix flake info --flake-registry $registry flake1 | grep -q 'URL: .*flake1.*'
# Test 'nix flake info' on a local flake. # Test 'nix flake info' on a local flake.
(cd $flake1Dir && nix flake info --flake-registry $registry) | grep -q 'URI: .*flake1.*' (cd $flake1Dir && nix flake info --flake-registry $registry) | grep -q 'URL: .*flake1.*'
(cd $flake1Dir && nix flake info --flake-registry $registry .) | grep -q 'URI: .*flake1.*' (cd $flake1Dir && nix flake info --flake-registry $registry .) | grep -q 'URL: .*flake1.*'
nix flake info --flake-registry $registry $flake1Dir | grep -q 'URI: .*flake1.*' nix flake info --flake-registry $registry $flake1Dir | grep -q 'URL: .*flake1.*'
# Test 'nix flake info --json'. # Test 'nix flake info --json'.
json=$(nix flake info --flake-registry $registry flake1 --json | jq .) json=$(nix flake info --flake-registry $registry flake1 --json | jq .)
@ -234,7 +234,7 @@ cat > $flake3Dir/flake.nix <<EOF
flake1 = {}; flake1 = {};
flake2 = {}; flake2 = {};
nonFlake = { nonFlake = {
uri = "$nonFlakeDir"; url = "$nonFlakeDir";
flake = false; flake = false;
}; };
}; };
@ -299,7 +299,7 @@ cat > $flake3Dir/flake.nix <<EOF
inputs = { inputs = {
nonFlake = { nonFlake = {
uri = "$nonFlakeDir"; url = "$nonFlakeDir";
flake = false; flake = false;
}; };
}; };