From 96281a6c4f818311a6df90c0d8b8f537a61e1090 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 12 Nov 2015 17:25:36 +0200 Subject: Add url, email, summary, description members to the repository class --- brep/package-version-details.cxx | 43 +++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 18 deletions(-) (limited to 'brep/package-version-details.cxx') diff --git a/brep/package-version-details.cxx b/brep/package-version-details.cxx index 9c90b8d..ce25a44 100644 --- a/brep/package-version-details.cxx +++ b/brep/package-version-details.cxx @@ -212,29 +212,36 @@ namespace brep shared_ptr p (d.package.load ()); string en (mime_url_encode (p->id.name)); - if (p->internal ()) - s << A << HREF << "/go/" << en << ~HREF << p->id.name << ~A; - else - // @@ Refer to package repository URL when supported in repository - // manifest. - // - s << p->id.name; + assert (p->internal () || !p->other_repositories.empty ()); + shared_ptr r ( + p->internal () + ? p->internal_repository.load () + : p->other_repositories[0].load ()); - if (d.constraint) - { - s << ' '; + optional u (r->url); // Repository web interface URL. + if (!u && p->internal ()) + u = ""; // Make URL to reference the current web interface. - if (p->internal ()) - s << A - << HREF << "/go/" << en << "/" << p->version.string () << ~HREF + if (u) + { + s << A << HREF << *u << "/go/" << en << ~HREF << p->id.name << ~A; + + if (d.constraint) + { + s << ' ' + << A + << HREF + << *u << "/go/" << en << "/" << p->version.string () + << ~HREF << *d.constraint << ~A; - else - // @@ Refer to package repository URL when supported in - // repository manifest. - // - s << *d.constraint; + } } + else + // Display the dependency as a plain text in no repository URL + // available. + // + s << d; } s << ~SPAN -- cgit v1.1