module OASISPlugin:sig
..end
The whole module is not exported.
Author(s): Sylvain Le Gall
module MapPlugin:OASISUtils.MapExt.S
with type key = plugin_kind plugin
module SetPlugin:OASISUtils.SetExt.S
with type elt = plugin_kind plugin
val mem_no_version : OASISTypes.plugin_kind OASISTypes.plugin -> SetPlugin.t -> bool
type'a
setter =OASISTypes.plugin_data Pervasives.ref -> 'a -> unit
type'a
getter =OASISTypes.plugin_data Pervasives.ref -> 'a
type'a
prop ='a setter * 'a getter
typemodul =
string
type ('a, 'b)
setup_changes = {
|
chng_moduls : |
(* |
OCaml module to be added to setup file
| *) |
|
chng_main : |
(* |
Main function to be added to BaseSetup.t (i.e. the one that
that really do something: configure, build, test...)
| *) |
|
chng_clean : |
(* |
Function to be called when cleaning
| *) |
|
chng_distclean : |
(* |
Function to be called when distcleaning
| *) |
type
context_act = {
|
ctxt : |
(* |
Global context.
| *) |
|
update : |
(* |
What is the value given to -setup-update ?
| *) |
|
error : |
(* |
Are there errors?
| *) |
|
files : |
(* |
Generated files.
| *) |
|
other_actions : |
(* |
Extra actions.
| *) |
type('a, 'b)
section_act =context_act ->
OASISTypes.package ->
OASISTypes.common_section * 'a ->
context_act *
(OASISTypes.package -> OASISTypes.common_section * 'a -> string array -> 'b,
OASISTypes.package -> OASISTypes.common_section * 'a -> string array -> unit)
setup_changes
typepackage_act =
context_act ->
OASISTypes.package ->
context_act *
(OASISTypes.package -> string array -> unit,
OASISTypes.package -> string array -> unit)
setup_changes
type 'a
t
typeall_t =
OASISTypes.plugin_kind t
val register_quickstart_completion : all_t -> (OASISTypes.package -> OASISTypes.package) -> unit
val quickstart_completion : OASISTypes.plugin_kind OASISTypes.plugin ->
OASISTypes.package -> OASISTypes.package
val register_generator_package : all_t -> 'a prop -> (PropList.Data.t -> 'a) -> unit
val generator_package : OASISTypes.plugin_kind OASISTypes.plugin ->
OASISTypes.plugin_data Pervasives.ref -> PropList.Data.t -> unit
val register_generator_section : OASISTypes.section_kind ->
all_t -> 'a prop -> (PropList.Data.t -> 'a) -> unit
val generator_section : OASISTypes.section_kind ->
OASISTypes.plugin_kind OASISTypes.plugin ->
OASISTypes.plugin_data Pervasives.ref -> PropList.Data.t -> unit
val ls : OASISTypes.plugin_kind -> OASISTypes.name list
val all_plugins : unit -> OASISTypes.plugin_kind OASISTypes.plugin list
type
help = {
|
help_template : |
|
help_order : |
val help_default : string list -> help
val register_help : [ `All | `Build | `Configure | `Doc | `Extra | `Install | `Test ]
OASISTypes.plugin -> help -> unit
val help : [ `All ] OASISTypes.plugin -> help
val to_plugin : 'a t -> 'a OASISTypes.plugin
module type PLUGINS =sig
..end
module Configure:PLUGINS
with type act = package_act and type data = package and type kind = [`Configure]
module Build:PLUGINS
with type act = package_act and type data = package and type kind = [`Build]
module Doc:PLUGINS
with type act = (doc, unit) section_act and type data = common_section * doc and type kind = [`Doc]
module Test:PLUGINS
with type act = (test, float) section_act and type data = common_section * test and type kind = [`Test]
module Install:PLUGINS
with type act = package_act * package_act and type data = package and type kind = [`Install]
module Extra:PLUGINS
with type act = context_act -> package -> context_act and type data = package and type kind = [`Extra]
val test_field_name : string -> bool
val builtin : 'a -> OASISTypes.name -> 'a OASISTypes.plugin
val add_file : OASISFileTemplate.template ->
context_act -> context_act
val set_error : bool -> string -> context_act -> context_act
val plugin_of_string : 'a -> string -> 'a OASISTypes.plugin
val plugins_of_string : 'a -> string -> 'a OASISTypes.plugin list
val string_of_plugin : 'a OASISTypes.plugin -> string
val plugin_compare : 'a OASISTypes.plugin -> 'a OASISTypes.plugin -> int
val plugin_equal : 'a OASISTypes.plugin -> 'a OASISTypes.plugin -> bool
OASISPlugin.plugin_compare
.val data_create : unit -> OASISTypes.plugin_data Pervasives.ref
val data_new_property : ?purpose:OASISTypes.plugin_data_purpose ->
OASISTypes.plugin_kind OASISTypes.plugin -> 'a prop
data_new_property plg
Create a property that can store plugin data. Beware
that the the couple (plg, purpose)
must be unique.purpose
: An identifier to make possible the use of several properties
for the same plugin. If not defined, it is derived from the
kind of plugin.