Skip to content

Commit 08af17b

Browse files
author
Jon Ludlam
authored
Merge pull request xapi-project#125 from jonludlam/release-1.1.0
Prepare to release 1.1.0
2 parents d6c9928 + 04920ee commit 08af17b

File tree

5 files changed

+226
-40
lines changed

5 files changed

+226
-40
lines changed

CHANGES

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
1.1.0 (25-Jul-2016):
2+
* Networkd: Add the ability to report back when VLANs are in use
3+
14
1.0.1 (04-Jul-2016):
25
* Add an optional monitor config file to the gvt_g type
36
* Rebuild with stdext 2.0.0

_oasis

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
OASISFormat: 0.2
22
Name: xcp-idl
3-
Version: 0.14.0
3+
Version: 1.1.0
44
Synopsis: Interface definitions and common boilerplate for the xapi toolstack
55
Authors: David Scott
66
License: LGPL-2.1 with OCaml linking exception

lib/META

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# OASIS_START
2-
# DO NOT EDIT (digest: a100a60c9c9e6e82e9f057a2d4ab48b1)
3-
version = "0.14.0"
2+
# DO NOT EDIT (digest: 625f788a166766b5f270c3f6cce81d50)
3+
version = "1.1.0"
44
description =
55
"Interface definitions and common boilerplate for the xapi toolstack"
66
requires =
@@ -11,7 +11,7 @@ archive(native) = "xcp.cmxa"
1111
archive(native, plugin) = "xcp.cmxs"
1212
exists_if = "xcp.cma"
1313
package "xen" (
14-
version = "0.14.0"
14+
version = "1.1.0"
1515
description =
1616
"Interface definitions and common boilerplate for the xapi toolstack"
1717
requires = "xcp threads rpclib rpclib.syntax"
@@ -23,7 +23,7 @@ package "xen" (
2323
)
2424

2525
package "storage" (
26-
version = "0.14.0"
26+
version = "1.1.0"
2727
description =
2828
"Interface definitions and common boilerplate for the xapi toolstack"
2929
requires = "xcp threads rpclib rpclib.syntax"
@@ -35,7 +35,7 @@ package "storage" (
3535
)
3636

3737
package "rrd" (
38-
version = "0.14.0"
38+
version = "1.1.0"
3939
description =
4040
"Interface definitions and common boilerplate for the xapi toolstack"
4141
requires = "xcp threads rpclib rpclib.syntax rrd"
@@ -47,7 +47,7 @@ package "rrd" (
4747
)
4848

4949
package "network" (
50-
version = "0.14.0"
50+
version = "1.1.0"
5151
description =
5252
"Interface definitions and common boilerplate for the xapi toolstack"
5353
requires = "xcp threads rpclib rpclib.syntax"
@@ -59,7 +59,7 @@ package "network" (
5959
)
6060

6161
package "memory" (
62-
version = "0.14.0"
62+
version = "1.1.0"
6363
description =
6464
"Interface definitions and common boilerplate for the xapi toolstack"
6565
requires = "xcp threads rpclib rpclib.syntax"

myocamlbuild.ml

Lines changed: 167 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
(* OASIS_START *)
2-
(* DO NOT EDIT (digest: e3a9ab5dc3cf544ef342135b6c635c82) *)
2+
(* DO NOT EDIT (digest: 4f11ff746aff43b8a7f3260b62d4b8d4) *)
33
module OASISGettext = struct
44
(* # 22 "src/oasis/OASISGettext.ml" *)
55

@@ -29,6 +29,166 @@ module OASISGettext = struct
2929

3030
end
3131

32+
module OASISString = struct
33+
(* # 22 "src/oasis/OASISString.ml" *)
34+
35+
36+
(** Various string utilities.
37+
38+
Mostly inspired by extlib and batteries ExtString and BatString libraries.
39+
40+
@author Sylvain Le Gall
41+
*)
42+
43+
44+
let nsplitf str f =
45+
if str = "" then
46+
[]
47+
else
48+
let buf = Buffer.create 13 in
49+
let lst = ref [] in
50+
let push () =
51+
lst := Buffer.contents buf :: !lst;
52+
Buffer.clear buf
53+
in
54+
let str_len = String.length str in
55+
for i = 0 to str_len - 1 do
56+
if f str.[i] then
57+
push ()
58+
else
59+
Buffer.add_char buf str.[i]
60+
done;
61+
push ();
62+
List.rev !lst
63+
64+
65+
(** [nsplit c s] Split the string [s] at char [c]. It doesn't include the
66+
separator.
67+
*)
68+
let nsplit str c =
69+
nsplitf str ((=) c)
70+
71+
72+
let find ~what ?(offset=0) str =
73+
let what_idx = ref 0 in
74+
let str_idx = ref offset in
75+
while !str_idx < String.length str &&
76+
!what_idx < String.length what do
77+
if str.[!str_idx] = what.[!what_idx] then
78+
incr what_idx
79+
else
80+
what_idx := 0;
81+
incr str_idx
82+
done;
83+
if !what_idx <> String.length what then
84+
raise Not_found
85+
else
86+
!str_idx - !what_idx
87+
88+
89+
let sub_start str len =
90+
let str_len = String.length str in
91+
if len >= str_len then
92+
""
93+
else
94+
String.sub str len (str_len - len)
95+
96+
97+
let sub_end ?(offset=0) str len =
98+
let str_len = String.length str in
99+
if len >= str_len then
100+
""
101+
else
102+
String.sub str 0 (str_len - len)
103+
104+
105+
let starts_with ~what ?(offset=0) str =
106+
let what_idx = ref 0 in
107+
let str_idx = ref offset in
108+
let ok = ref true in
109+
while !ok &&
110+
!str_idx < String.length str &&
111+
!what_idx < String.length what do
112+
if str.[!str_idx] = what.[!what_idx] then
113+
incr what_idx
114+
else
115+
ok := false;
116+
incr str_idx
117+
done;
118+
if !what_idx = String.length what then
119+
true
120+
else
121+
false
122+
123+
124+
let strip_starts_with ~what str =
125+
if starts_with ~what str then
126+
sub_start str (String.length what)
127+
else
128+
raise Not_found
129+
130+
131+
let ends_with ~what ?(offset=0) str =
132+
let what_idx = ref ((String.length what) - 1) in
133+
let str_idx = ref ((String.length str) - 1) in
134+
let ok = ref true in
135+
while !ok &&
136+
offset <= !str_idx &&
137+
0 <= !what_idx do
138+
if str.[!str_idx] = what.[!what_idx] then
139+
decr what_idx
140+
else
141+
ok := false;
142+
decr str_idx
143+
done;
144+
if !what_idx = -1 then
145+
true
146+
else
147+
false
148+
149+
150+
let strip_ends_with ~what str =
151+
if ends_with ~what str then
152+
sub_end str (String.length what)
153+
else
154+
raise Not_found
155+
156+
157+
let replace_chars f s =
158+
let buf = Buffer.create (String.length s) in
159+
String.iter (fun c -> Buffer.add_char buf (f c)) s;
160+
Buffer.contents buf
161+
162+
let lowercase_ascii =
163+
replace_chars
164+
(fun c ->
165+
if (c >= 'A' && c <= 'Z') then
166+
Char.chr (Char.code c + 32)
167+
else
168+
c)
169+
170+
let uncapitalize_ascii s =
171+
if s <> "" then
172+
(lowercase_ascii (String.sub s 0 1)) ^ (String.sub s 1 ((String.length s) - 1))
173+
else
174+
s
175+
176+
let uppercase_ascii =
177+
replace_chars
178+
(fun c ->
179+
if (c >= 'a' && c <= 'z') then
180+
Char.chr (Char.code c - 32)
181+
else
182+
c)
183+
184+
let capitalize_ascii s =
185+
if s <> "" then
186+
(uppercase_ascii (String.sub s 0 1)) ^ (String.sub s 1 ((String.length s) - 1))
187+
else
188+
s
189+
190+
end
191+
32192
module OASISExpr = struct
33193
(* # 22 "src/oasis/OASISExpr.ml" *)
34194

@@ -129,7 +289,7 @@ module OASISExpr = struct
129289
end
130290

131291

132-
# 132 "myocamlbuild.ml"
292+
# 292 "myocamlbuild.ml"
133293
module BaseEnvLight = struct
134294
(* # 22 "src/base/BaseEnvLight.ml" *)
135295

@@ -234,7 +394,7 @@ module BaseEnvLight = struct
234394
end
235395

236396

237-
# 237 "myocamlbuild.ml"
397+
# 397 "myocamlbuild.ml"
238398
module MyOCamlbuildFindlib = struct
239399
(* # 22 "src/plugins/ocamlbuild/MyOCamlbuildFindlib.ml" *)
240400

@@ -516,7 +676,7 @@ module MyOCamlbuildBase = struct
516676
| nm, [], intf_modules ->
517677
ocaml_lib nm;
518678
let cmis =
519-
List.map (fun m -> (String.uncapitalize m) ^ ".cmi")
679+
List.map (fun m -> (OASISString.uncapitalize_ascii m) ^ ".cmi")
520680
intf_modules in
521681
dep ["ocaml"; "link"; "library"; "file:"^nm^".cma"] cmis
522682
| nm, dir :: tl, intf_modules ->
@@ -529,7 +689,7 @@ module MyOCamlbuildBase = struct
529689
["compile"; "infer_interface"; "doc"])
530690
tl;
531691
let cmis =
532-
List.map (fun m -> dir^"/"^(String.uncapitalize m)^".cmi")
692+
List.map (fun m -> dir^"/"^(OASISString.uncapitalize_ascii m)^".cmi")
533693
intf_modules in
534694
dep ["ocaml"; "link"; "library"; "file:"^dir^"/"^nm^".cma"]
535695
cmis)
@@ -603,7 +763,7 @@ module MyOCamlbuildBase = struct
603763
end
604764

605765

606-
# 606 "myocamlbuild.ml"
766+
# 766 "myocamlbuild.ml"
607767
open Ocamlbuild_plugin;;
608768
let package_default =
609769
{
@@ -635,6 +795,6 @@ let conf = {MyOCamlbuildFindlib.no_automatic_syntax = false}
635795

636796
let dispatch_default = MyOCamlbuildBase.dispatch_default conf package_default;;
637797

638-
# 639 "myocamlbuild.ml"
798+
# 799 "myocamlbuild.ml"
639799
(* OASIS_STOP *)
640800
Ocamlbuild_plugin.dispatch dispatch_default;;

0 commit comments

Comments
 (0)