From ec65ebdf0858da8696611f64927b7d7a84536298 Mon Sep 17 00:00:00 2001 From: Alejandro R Mosteo Date: Wed, 2 May 2018 21:56:51 +0200 Subject: [PATCH] s/Bypass/Unreleased/ --- index/alire-index-alire.ads | 4 +- index/alire-index-alr.ads | 6 +- index/alire-index-simple_components.ads | 2 +- src/alire-index.adb | 81 +++++++++++-------------- src/alire-index.ads | 47 ++++---------- 5 files changed, 53 insertions(+), 87 deletions(-) diff --git a/index/alire-index-alire.ads b/index/alire-index-alire.ads index 4939efda..f99fbb68 100644 --- a/index/alire-index-alire.ads +++ b/index/alire-index-alire.ads @@ -9,7 +9,7 @@ package Alire.Index.Alire is Repo : constant URL := "https://github.com/alire-project/alire.git"; V_0 : constant Release := - Project.Bypass + Project.Unreleased (V ("0.0"), No_Origin, Properties => @@ -68,7 +68,7 @@ package Alire.Index.Alire is function Windows_3000 return Catalog_Entry renames Project; Syntax_Example : constant Release := - Example_Project.Bypass + Example_Project.Unreleased (V ("0.0.1"), Origins.New_Filesystem ("/alire"), Notes => "Mock release with examples of complex conditions", diff --git a/index/alire-index-alr.ads b/index/alire-index-alr.ads index ad563bc4..8af9be05 100644 --- a/index/alire-index-alr.ads +++ b/index/alire-index-alr.ads @@ -10,10 +10,8 @@ package Alire.Index.Alr is Repo : constant URL := "https://github.com/alire-project/alr.git"; V_0 : constant Release := - Project.Bypass - (V ("0.0"), - No_Origin, - Dependencies => + Project.Unreleased + (Dependencies => Simple_Logging.V_1_0.Within_Major, Properties => diff --git a/index/alire-index-simple_components.ads b/index/alire-index-simple_components.ads index c625b964..dd4c6c9c 100644 --- a/index/alire-index-simple_components.ads +++ b/index/alire-index-simple_components.ads @@ -42,7 +42,7 @@ package Alire.Index.Simple_Components is "Simple Components (SQLite)"); Base_V_4_27 : constant Release := - Project.Bypass + Project.Unreleased (V ("4.27"), Git (Repo, "7cafd2da4a92cfe2b1a45374de6d35fc904b2788"), diff --git a/src/alire-index.adb b/src/alire-index.adb index 84258918..99fca0f1 100644 --- a/src/alire-index.adb +++ b/src/alire-index.adb @@ -40,20 +40,19 @@ package body Alire.Index is function Catalogued_Project return Catalog_Entry is use Utils; - Enclosing : constant String := GNAT.Source_Info.Enclosing_Entity; - Self_Name : constant String := Split (Enclosing, '.', Side => Tail, From => Tail); - Full_Name : constant String := Split (Enclosing, '.', Side => Tail, From => Head, Count => 2); - Pack_Name : constant String := Split (Full_Name, '.', Side => Head, From => Tail); + Reflected : constant Reflected_Info := + Identify (GNAT.Source_Info.Enclosing_Entity); begin - return C : constant Catalog_Entry := (Name_Len => Pack_Name'Length, - Descr_Len => Description'Length, - Pack_Len => Pack_Name'Length, - Self_Len => Self_Name'Length, + return C : constant Catalog_Entry := + (Name_Len => Reflected.Pack_Len, + Descr_Len => Description'Length, + Pack_Len => Reflected.Pack_Len, + Self_Len => Reflected.Id_Len, - Project => +To_Lower_Case (Pack_Name), - Description => Description, - Package_Name => Pack_Name, - Self_Name => Self_Name) + Project => +To_Lower_Case (Reflected.Package_Name), + Description => Description, + Package_Name => Reflected.Package_Name, + Self_Name => Reflected.Identifier) do if First_Use.all then First_Use.all := False; @@ -70,25 +69,24 @@ package body Alire.Index is function Extension return Catalog_Entry is use Utils; - Enclosing : constant String := GNAT.Source_Info.Enclosing_Entity; - Self_Name : constant String := Split (Enclosing, '.', Side => Tail, From => Tail); - Full_Name : constant String := Split (Enclosing, '.', Side => Tail, From => Head, Count => 2); - Pack_Name : constant String := Split (Full_Name, '.', Side => Head, From => Tail); + Reflected : constant Reflected_Info := + Identify (GNAT.Source_Info.Enclosing_Entity); begin -- Trace.Always ("Encl: " & GNAT.Source_Info.Enclosing_Entity); -- Trace.Always ("self: " & Self_Name); -- Trace.Always ("full: " & Full_Name); -- Trace.Always ("pack: " & Pack_Name); - return C : constant Catalog_Entry := (Name_Len => Self_Name'Length + Base.Project'Length + 1, - Descr_Len => Description'Length, - Pack_Len => Pack_Name'Length, - Self_Len => Self_Name'Length, + return C : constant Catalog_Entry := + (Name_Len => Reflected.Id_Len + Base.Project'Length + 1, + Descr_Len => Description'Length, + Pack_Len => Reflected.Pack_Len, + Self_Len => Reflected.Id_Len, - Project => - +To_Lower_Case ((+Base.Project) & Extension_Separator & Self_Name), - Description => Description, - Package_Name => Pack_Name, - Self_Name => Self_Name) + Project => + +To_Lower_Case ((+Base.Project) & Extension_Separator & Reflected.Identifier), + Description => Description, + Package_Name => Reflected.Package_Name, + Self_Name => Reflected.Identifier) do if First_Use.all then First_Use.all := False; @@ -221,29 +219,20 @@ package body Alire.Index is (Project => Extension.Project)); end Register; - function Base_Release return Release is (raise Program_Error); + ---------------- + -- Unreleased -- + ---------------- - function Derived_Release return Release is (raise Program_Error); - - ------------ - -- Bypass -- - ------------ - - function Bypass (-- Mandatory - This : Catalog_Entry; - Version : Semantic_Versioning.Version; - Origin : Origins.Origin; - -- we force naming beyond this point with this ugly guard: - XXXXXXXXXXXXXX : Utils.XXX_XXX := Utils.XXX_XXX_XXX; - -- Optional - Notes : Description_String := ""; - Dependencies : Release_Dependencies := No_Dependencies; - Properties : Release_Properties := No_Properties; - Private_Properties : Release_Properties := No_Properties; - Available_When : Release_Requisites := No_Requisites) + function Unreleased (This : Catalog_Entry; + Version : Semantic_Versioning.Version := No_Version; + Origin : Origins.Origin := No_Origin; + Notes : Description_String := ""; + Dependencies : Release_Dependencies := No_Dependencies; + Properties : Release_Properties := No_Properties; + Private_Properties : Release_Properties := No_Properties; + Available_When : Release_Requisites := No_Requisites) return Release is - pragma Unreferenced (XXXXXXXXXXXXXX); begin return Alire.Releases.New_Release (Project => This.Project, @@ -254,6 +243,6 @@ package body Alire.Index is Properties => Properties, Private_Properties => Private_Properties, Available => Available_When); - end Bypass; + end Unreleased; end Alire.Index; diff --git a/src/alire-index.ads b/src/alire-index.ads index 3650aad3..385ffeaa 100644 --- a/src/alire-index.ads +++ b/src/alire-index.ads @@ -78,6 +78,8 @@ package Alire.Index is No_Dependencies : constant Release_Dependencies := Conditional.For_Dependencies.Empty; No_Properties : constant Release_Properties := Conditional.For_Properties.Empty; No_Requisites : constant Requisites.Tree := Requisites.Trees.Empty_Tree; + No_Origin : constant Origins.Origin := Origins.New_Filesystem ("/unavailable"); + No_Version : constant Semantic_Versioning.Version := Semantic_Versioning.Relaxed ("0"); subtype Release is Alire.Releases.Release; @@ -106,44 +108,22 @@ package Alire.Index is -- A extension name is parent:name (e.g.: adayaml:server) -- It inherits all properties (including project files) + function Unreleased (This : Catalog_Entry; + Version : Semantic_Versioning.Version := No_Version; + Origin : Origins.Origin := No_Origin; + Notes : Description_String := ""; + Dependencies : Release_Dependencies := No_Dependencies; + Properties : Release_Properties := No_Properties; + Private_Properties : Release_Properties := No_Properties; + Available_When : Release_Requisites := No_Requisites) + return Release; + -- Does nothing: useful to prepare base releases for extending/upgrading + ------------------------------------------------------------------ -- NEW INDEXING FACILITIES USING Enclosing_Entity for the version - generic - Origin : Origins.Origin; - -- we force naming beyond this point with this ugly guard: - XXXXXXXXXXXXXX : Utils.XXX_XXX := Utils.XXX_XXX_XXX; - -- Optional - Notes : Description_String := ""; - Dependencies : Release_Dependencies := No_Dependencies; - Properties : Release_Properties := No_Properties; - Private_Properties : Release_Properties := No_Properties; - Available_When : Release_Requisites := No_Requisites; - function Base_Release return Release; - -- Fulfills the same role as the first Register form above - - generic - Extended_Release : Release; - function Derived_Release return Release; - -- Fulfills the same role as the second Register form above - ------------------------------------------------------------------ - function Bypass (-- Mandatory - This : Catalog_Entry; - Version : Semantic_Versioning.Version; - Origin : Origins.Origin; - -- we force naming beyond this point with this ugly guard: - XXXXXXXXXXXXXX : Utils.XXX_XXX := Utils.XXX_XXX_XXX; - -- Optional - Notes : Description_String := ""; - Dependencies : Release_Dependencies := No_Dependencies; - Properties : Release_Properties := No_Properties; - Private_Properties : Release_Properties := No_Properties; - Available_When : Release_Requisites := No_Requisites) - return Release; - -- Does nothing: used for some examples and available to quickly retire a release (!) - --------------------- -- BASIC QUERIES -- --------------------- @@ -174,7 +154,6 @@ package Alire.Index is function Git (URL : Alire.URL; Commit : Origins.Git_Commit) return Origins.Origin renames Origins.New_Git; function Hg (URL : Alire.URL; Commit : Origins.Hg_Commit) return Origins.Origin renames Origins.New_Hg; - function No_Origin return Origins.Origin is (Origins.New_Filesystem ("/unavailable")); use all type Platforms.Distributions;