Skip to content
Snippets Groups Projects
Commit 95465d34 authored by Andre Maroneze's avatar Andre Maroneze
Browse files

[changelog] simplify and update changelog generator

parent 0f8f1c97
No related branches found
No related tags found
1 merge request!37[changelog] update generator for new Changelog format
Pipeline #26418 failed
No preview for this file type
......@@ -89,7 +89,7 @@
| None , Some p , s -> Plugin(p,Some s)
| Some _ , None , s -> Service s
| Some _ , Some p , s ->
if (String.uppercase p)=(String.uppercase s) then Main else Service a
if (String.uppercase_ascii p)=(String.uppercase_ascii s) then Main else Service a
let set_tag e t = e.tags <- t :: e.tags
......@@ -131,63 +131,23 @@ rule main ce = parse
| '#' [^ '\n']* '\n' { incr line; main None lexbuf }
| newline { incr line; main None lexbuf }
| eof { }
(* "legacy" Frama-C version name (Element-yyyymmdd) *)
| space* ("Open"|"Binary"|"First") space+ ( letter+ space+ )*
( (letter+) as name ) '-' ((digit+) as version)
{ set_release None (Release(name,version)) ;
main None lexbuf }
(* new Frama-C version name (major.minor (Element)) *)
| space* (("Open"|"Binary"|"First") space+)+ ("Source" space+)? "Release" space+
((digit+) '.' (digit+) ('.' (digit+))? as version) space+ '(' ( (letter+) as codename ) ')'
| space* (("Open Source"|"Binary") space+)+ "Release" space+
((digit+) '.' (digit+) ('.' (digit+))? as version) space+
'(' ( (file+) as codename ) ')'
{
set_release None (Release(codename,version)) ;
main None lexbuf }
set_release None (Release(codename,version)) ;
main None lexbuf
}
(* placeholder for next-release, facilitating merge between current stable
and master. Just discard it. *)
| ( letter+ space+)* '<'[^'>']+'>' { main None lexbuf }
| space* "Tool" space+
( (ident+) as name ) space+
( (vdigit+) as version) space*
{ let r = ToolRelease(name,version) in
set_release None r ; main None lexbuf }
| space* "Plugin" space+
( (ident+) as name ) space+
( (vdigit+) as version) space*
newline
{ incr line;
begin
match !plugin_mode with
| Some _ ->
let r = CurrentPlugin(name,version) in
set_release None r
| None ->
set_release (Some name) Current
end;
main None lexbuf }
| space* "Plugin" space+ ((ident+) as pname) space+
((letter+ as vname)) '-' ((digit+) as version)
{ set_release (Some pname) (Release(vname,version));
main None lexbuf }
(* new Frama-C version name (major.minor (Element)) *)
| space* ("Plugin") space+ ((ident+) as pname) space+
((digit+) '.' (digit+) ('.' (digit+))? as version) space+ '(' ( (letter+) as codename ) ')'
| space* ("Plugin") space+ ((file+) as pname) space+
((digit+) '.' (digit+) ('.' (digit+))? as version) space+ '(' ( (file+) as codename ) ')'
{
set_release (Some pname) (Release(codename,version)) ;
main None lexbuf }
| space* "Plugin" space+
( (ident+) as name ) space+
( (vdigit+) as version) space+
( (letter+) as framac) '_' ((digit+) as kernel)
{ begin
match !plugin_mode with
| Some _ ->
let r = PluginRelease(name,version,framac,kernel) in
set_release None r
| None ->
let r = Release(framac,kernel) in
set_release (Some name) r
end;
main None lexbuf }
main None lexbuf
}
| space
{
match ce with
......@@ -250,7 +210,7 @@ and text e = parse
main None lexbuf
let compare_string s1 s2 =
let cmp = String.compare (String.uppercase s1) (String.uppercase s2) in
let cmp = String.compare (String.uppercase_ascii s1) (String.uppercase_ascii s2) in
if cmp = 0 then String.compare s1 s2 else cmp
let rec compare_strings s1 s2 =
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment