camlspotter avatar camlspotter committed 13b20c0 Merge

merge

Comments (0)

Files changed (15)

 .*\.out
 .*\.out\.ml.*
 setup\.ml\.ba[k0-9]
+\.omakedb.*
 # How-to-build using OMake
 #
-# yes no | omake --install # to create OMakeroot for the first time
+# cp OMakeroot.in OMakeroot # to create OMakeroot for the first time
 
 # If OMakeroot is here, include OMyMakefile
 if $(file-exists OMakeroot)
+open build/C
+open build/OCaml
+open build/LaTeX
+
+DefineCommandVars()
+
+.SUBDIRS: .
 USE_OCAMLFIND = true
 OCAMLFIND_DESTDIR= $(shell ocamlfind printconf destdir)
 
+OCAMLFIND_QUERY(name) = 
+    return $(shell ocamlfind query $(name))
+
 #|Set NATIVE_ENABLED false locally if a project does not requre opt compilation.
 NATIVE_ENABLED = $(OCAMLOPT_EXISTS)
 NATIVE_SHARED_ENABLED = $(OCAMLOPT_EXISTS)
 BYTE_ENABLED = true
 
 #|The default warning and errors. If you want to use different warning and error switches, use redefine the variable.
-OCAMLFLAGS = -g -w A-4-9 -warn-error A-4-9
+OCAMLFLAGS = -g 
+
+#|Warnings not to be printed separted with space
+OCAMLWARNING_IGNORE[] = 4 9
+
+#|Warnings treated as non errors
+OCAMLWARNING_NON_ERROR[] = 4 9
+
+#|If it is false, warnings do not stop the compilation even if they are listed in OCAMLWARNING_NON_ERROR
+#If you are in developing something, turn it ture!
+OCAMLWARNING_STOP_AT_ERROR_WARNING=false
+
+#|The maximum warning value.
+# This is the maximum warning ID NOT of the current OCaml compiler,
+#                                BUT of the OCaml compiler used by the author.
+OCAMLWARNING_MAX= 39
+
+#|Function to build warning switches
+OCAMLWARNING_MAKE()=
+    if $(OCAMLWARNING_STOP_AT_ERROR_WARNING)
+        return -w A-$(concat -,$(OCAMLWARNING_IGNORE)) -warn-error +1..$(OCAMLWARNING_MAX)-$(concat -, $(OCAMLWARNING_NON_ERROR))
+    else
+        return -w A-$(concat -,$(OCAMLWARNING_IGNORE)) -warn-error a
 
 #|OMyMakefile assumes installation with .cmt files
-OCAMLANNOTFLAGS = -bin-annot
+OCAMLANNOTFLAGS = -annot -bin-annot
 
 #|Global variable to be defined as empty
 OCAMLPACKAGEFLAGS=
 
 #|Redefinition of compiler commands
 public.OCamlC() =
-    value $(OCAMLFIND) $(OCAMLC) $(OCAMLANNOTFLAGS) $(OCAMLPACKAGEFLAGS) $(LAZY_OCAMLFINDFLAGS) $(PREFIXED_OCAMLPACKS) $(OCAMLFLAGS)\
-              $(OCAMLCFLAGS) $(OCAMLPPFLAGS) $(PREFIXED_OCAMLINCLUDES)
+    value $(OCAMLFIND) $(OCAMLC) \
+        $(OCAMLANNOTFLAGS) \
+        $(OCAMLPACKAGEFLAGS) \
+        $(LAZY_OCAMLFINDFLAGS) \
+        $(PREFIXED_OCAMLPACKS) \
+        $(OCAMLFLAGS) \
+        $(OCAMLWARNING_MAKE) \
+        $(OCAMLCFLAGS) \
+        $(OCAMLPPFLAGS) \
+        $(PREFIXED_OCAMLINCLUDES)
 # Why we need "public." ?
 
 public.OCamlOpt() =
     value $(OCAMLFIND) $(OCAMLOPT) $(OCAMLANNOTFLAGS) $(OCAMLPACKAGEFLAGS) $(LAZY_OCAMLFINDFLAGS) $(PREFIXED_OCAMLPACKS) $(OCAMLFLAGS)\
+              $(OCAMLWARNING_MAKE) \
               $(OCAMLOPTFLAGS) $(OCAMLPPFLAGS) $(PREFIXED_OCAMLINCLUDES)
 
 if $(and $(not $(NATIVE_ENABLED)) $(not $(BYTE_ENABLED)))
 Plugins:      StdFiles (0.2)
 BuildType:    Custom (0.2)
 InstallType:    Custom (0.2)
-XCustomBuild: yes no | omake --install; PREFIX=$prefix omake
+XCustomBuild: cp OMakeroot.in OMakeroot; PREFIX=$prefix omake
 XCustomInstall: PREFIX=$prefix omake install
 XCustomUninstall: PREFIX=$prefix omake uninstall
 XCustomBuildClean: PREFIX=$prefix omake clean

json/json_conv.mli

 open Meta_conv.Types
 open Meta_conv.Open
-open Json
 
 (** json_conv.ml proivdes a tutorial how to implement your Xxx_conv modules. *)
 

json/tests/OMakefile

-CAMLFLAGS= -w A-24 -annot -bin-annot
+OCAMLWARNING_IGNORE += 24
+OCAMLWARNING_NON_ERROR += 24
 
 test.out: test.out.ml ../json.cmo ../json_conv.cma ../../lib/meta_conv.cmo ../../lib/meta_conv.cmi
-    $(OCAMLC) $(CAMLFLAGS) -g -I .. -I ../../lib ../../lib/meta_conv.cmo ../json_conv.cma test.out.ml -o $@
+    $(OCamlC) -I .. -I ../../lib ../../lib/meta_conv.cmo ../json_conv.cma test.out.ml -o $@
 
 .DEFAULT: test.out.ml test.out # test.out.auto.mli
 
 %.out.ml: %.ml ../../pa/pa_meta_conv.cma 
-    camlp4o -I $(OCAMLFIND_DESTDIR)/type_conv pa_type_conv.cma ../../pa/pa_meta_conv.cma  -printer Camlp4OCamlPrinter $< > $@
+    camlp4o -I $(OCAMLFIND_QUERY type_conv) pa_type_conv.cma ../../pa/pa_meta_conv.cma  -printer Camlp4OCamlPrinter $< > $@
 
 %.out.mli: %.mli ../../pa/pa_meta_conv.cma 
-    camlp4o -I $(OCAMLFIND_DESTDIR)/type_conv pa_type_conv.cma ../../pa/pa_meta_conv.cma  -printer Camlp4OCamlPrinter $< > $@
+    camlp4o -I $(OCAMLFIND_QUERY type_conv) pa_type_conv.cma ../../pa/pa_meta_conv.cma  -printer Camlp4OCamlPrinter $< > $@
 
 # %.out.auto.mli: %.out.ml ../json_conv.cmi
 #     $(OCAMLC) $(CAMLFLAGS) -c -i -I .. -I ../../lib  %.out.ml > $@
 open Types
-open Open
-open Internal
 
 (** If you want to write an instance of meta_conv implementation, 
     you define the following primitive encoders and decoders at least.
 (** You should not open this module, unless you are writing decoders/encoders for a new target data type. *)
 
 open Types
-open Open
 
 (** { 6 Tools used by generated code } *)
 
 OCAMLINCLUDES += ../lib
 
+OCAMLWARNING_IGNORE += 44
+OCAMLWARNING_NON_ERROR += 44
+
 OCAMLPACKS[] =
     compiler-libs.common
 
 
 open Format
 
-let format_sprintf fmt = Format.(
+let format_sprintf fmt =
   let buf = Buffer.create 100 in
   let ppf = formatter_of_buffer buf in
   kfprintf (fun ppf -> pp_print_flush ppf (); Buffer.contents buf) ppf fmt
-)
 
 let rec format_list (sep : (unit, formatter, unit) format)  f ppf = function
   | [] -> ()

ocaml/ocaml_conv.mli

 open Meta_conv.Types
 open Meta_conv.Open
-open Ocaml
 
 include S with type target = Ocaml.t
 

ocaml/tests/OMakefile

-CAMLFLAGS= -w A-24
+OCAMLWARNING_IGNORE += 24
+OCAMLWARNING_NON_ERROR += 24
 
 %.out.ml: %.ml ../../pa/pa_meta_conv.cma 
-    camlp4o -I $(OCAMLFIND_DESTDIR)/type_conv pa_type_conv.cma ../../pa/pa_meta_conv.cma  -printer Camlp4OCamlPrinter $< > $@
+    camlp4o -I $(OCAMLFIND_QUERY type_conv) pa_type_conv.cma ../../pa/pa_meta_conv.cma  -printer Camlp4OCamlPrinter $< > $@
 
 %.out.mli: %.mli ../../pa/pa_meta_conv.cma 
-    camlp4o -I $(OCAMLFIND_DESTDIR)/type_conv pa_type_conv.cma ../../pa/pa_meta_conv.cma  -printer Camlp4OCamlPrinter $< > $@
+    camlp4o -I $(OCAMLFIND_QUERY type_conv) pa_type_conv.cma ../../pa/pa_meta_conv.cma  -printer Camlp4OCamlPrinter $< > $@
 
-OCAMLC=ocamlfind ocamlc -package compiler-libs.common
+OCAMLPACKS += compiler-libs.common
 
 test.out: test.out.ml ../ocaml.cmo ../../lib/meta_conv.cmo ../../lib/meta_conv.cmi ../ocaml_conv.cma 
-    $(OCAMLC) $(CAMLFLAGS) -g -I .. -I ../../lib ../../lib/meta_conv.cmo ocamlcommon.cma ../ocaml_conv.cma test.out.ml -o $@
+    $(OCamlC) -I .. -I ../../lib ../../lib/meta_conv.cmo ocamlcommon.cma ../ocaml_conv.cma test.out.ml -o $@
 
 %.out.auto.mli: %.out.ml ../ocaml.cmi ../ocaml_conv.cmi
-    $(OCAMLC) $(CAMLFLAGS) -c -i -I .. -I ../../lib  test.out.ml > $@
+    $(OCamlC) -c -i -I .. -I ../../lib  test.out.ml > $@
 
 .DEFAULT: test.out.ml test.out test.out.auto.mli
 

pa/tests/OMakefile

 %.out.ml: %.ml ../pa_meta_conv.cma 
-    camlp4o -I $(OCAMLFIND_DESTDIR)/type_conv pa_type_conv.cma ../pa_meta_conv.cma  -printer Camlp4OCamlPrinter $< > $@
+    camlp4o -I $(OCAMLFIND_QUERY type_conv) pa_type_conv.cma ../pa_meta_conv.cma  -printer Camlp4OCamlPrinter $< > $@
 
 %.out.mli: %.mli ../pa_meta_conv.cma 
-    camlp4o -I $(OCAMLFIND_DESTDIR)/type_conv pa_type_conv.cma ../pa_meta_conv.cma  -printer Camlp4OCamlPrinter $< > $@
+    camlp4o -I $(OCAMLFIND_QUERY type_conv) pa_type_conv.cma ../pa_meta_conv.cma  -printer Camlp4OCamlPrinter $< > $@
 
 .DEFAULT: test.out.ml test_mli.out.mli test_multi.out.ml test_record_arg.out.ml test_rest.out.ml
 .DEFAULT: test_optional.out.ml test_closed_variants.out.ml
 (* setup.ml generated for the first time by OASIS v0.3.0 *)
 
 (* OASIS_START *)
-(* DO NOT EDIT (digest: bf509b28dfc9ccbbf0098e053f996349) *)
+(* DO NOT EDIT (digest: 4595c3f0ffc8b0bfd818cc7b7a73dd4d) *)
 (*
    Regenerated by OASIS v0.3.0
    Visit http://oasis.forge.ocamlcore.org for more information and
    documentation about functions used in this file.
 *)
 module OASISGettext = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISGettext.ml"
+(* # 21 "src/oasis/OASISGettext.ml" *)
 
   let ns_ str =
     str
 end
 
 module OASISContext = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISContext.ml"
+(* # 21 "src/oasis/OASISContext.ml" *)
 
   open OASISGettext
 
 end
 
 module OASISString = struct
-# 1 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISString.ml"
+(* # 1 "src/oasis/OASISString.ml" *)
 
 
 
 end
 
 module OASISUtils = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISUtils.ml"
+(* # 21 "src/oasis/OASISUtils.ml" *)
 
   open OASISGettext
 
 end
 
 module PropList = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/PropList.ml"
+(* # 21 "src/oasis/PropList.ml" *)
 
   open OASISGettext
 
     let clear t =
       Hashtbl.clear t
 
-# 71 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/PropList.ml"
+(* # 71 "src/oasis/PropList.ml" *)
   end
 
   module Schema =
 end
 
 module OASISMessage = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISMessage.ml"
+(* # 21 "src/oasis/OASISMessage.ml" *)
 
 
   open OASISGettext
 end
 
 module OASISVersion = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISVersion.ml"
+(* # 21 "src/oasis/OASISVersion.ml" *)
 
   open OASISGettext
 
 end
 
 module OASISLicense = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISLicense.ml"
+(* # 21 "src/oasis/OASISLicense.ml" *)
 
   (** License for _oasis fields
       @author Sylvain Le Gall
 end
 
 module OASISExpr = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISExpr.ml"
+(* # 21 "src/oasis/OASISExpr.ml" *)
 
 
 
 end
 
 module OASISTypes = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISTypes.ml"
+(* # 21 "src/oasis/OASISTypes.ml" *)
 
 
 
 
   type plugin_data = (all_plugin * plugin_data_purpose * (unit -> unit)) list
 
-# 102 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISTypes.ml"
+(* # 102 "src/oasis/OASISTypes.ml" *)
 
   type 'a conditional = 'a OASISExpr.choices 
 
 end
 
 module OASISUnixPath = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISUnixPath.ml"
+(* # 21 "src/oasis/OASISUnixPath.ml" *)
 
   type unix_filename = string
   type unix_dirname = string
 end
 
 module OASISHostPath = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISHostPath.ml"
+(* # 21 "src/oasis/OASISHostPath.ml" *)
 
 
   open Filename
 end
 
 module OASISSection = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISSection.ml"
+(* # 21 "src/oasis/OASISSection.ml" *)
 
   open OASISTypes
 
 end
 
 module OASISBuildSection = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISBuildSection.ml"
+(* # 21 "src/oasis/OASISBuildSection.ml" *)
 
 end
 
 module OASISExecutable = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISExecutable.ml"
+(* # 21 "src/oasis/OASISExecutable.ml" *)
 
   open OASISTypes
 
 end
 
 module OASISLibrary = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISLibrary.ml"
+(* # 21 "src/oasis/OASISLibrary.ml" *)
 
   open OASISTypes
   open OASISUtils
 end
 
 module OASISFlag = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISFlag.ml"
+(* # 21 "src/oasis/OASISFlag.ml" *)
 
 end
 
 module OASISPackage = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISPackage.ml"
+(* # 21 "src/oasis/OASISPackage.ml" *)
 
 end
 
 module OASISSourceRepository = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISSourceRepository.ml"
+(* # 21 "src/oasis/OASISSourceRepository.ml" *)
 
 end
 
 module OASISTest = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISTest.ml"
+(* # 21 "src/oasis/OASISTest.ml" *)
 
 end
 
 module OASISDocument = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISDocument.ml"
+(* # 21 "src/oasis/OASISDocument.ml" *)
 
 end
 
 module OASISExec = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISExec.ml"
+(* # 21 "src/oasis/OASISExec.ml" *)
 
   open OASISGettext
   open OASISUtils
 end
 
 module OASISFileUtil = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/oasis/OASISFileUtil.ml"
+(* # 21 "src/oasis/OASISFileUtil.ml" *)
 
   open OASISGettext
 
 
 # 2142 "setup.ml"
 module BaseEnvLight = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseEnvLight.ml"
+(* # 21 "src/base/BaseEnvLight.ml" *)
 
   module MapString = Map.Make(String)
 
 
 # 2240 "setup.ml"
 module BaseContext = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseContext.ml"
+(* # 21 "src/base/BaseContext.ml" *)
 
   open OASISContext
 
 end
 
 module BaseMessage = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseMessage.ml"
+(* # 21 "src/base/BaseMessage.ml" *)
 
   (** Message to user, overrid for Base
       @author Sylvain Le Gall
 end
 
 module BaseEnv = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseEnv.ml"
+(* # 21 "src/base/BaseEnv.ml" *)
 
   open OASISGettext
   open OASISUtils
 end
 
 module BaseArgExt = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseArgExt.ml"
+(* # 21 "src/base/BaseArgExt.ml" *)
 
   open OASISUtils
   open OASISGettext
 end
 
 module BaseCheck = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseCheck.ml"
+(* # 21 "src/base/BaseCheck.ml" *)
 
   open BaseEnv
   open BaseMessage
 end
 
 module BaseOCamlcConfig = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseOCamlcConfig.ml"
+(* # 21 "src/base/BaseOCamlcConfig.ml" *)
 
 
   open BaseEnv
 end
 
 module BaseStandardVar = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseStandardVar.ml"
+(* # 21 "src/base/BaseStandardVar.ml" *)
 
 
   open OASISGettext
 end
 
 module BaseFileAB = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseFileAB.ml"
+(* # 21 "src/base/BaseFileAB.ml" *)
 
   open BaseEnv
   open OASISGettext
 end
 
 module BaseLog = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseLog.ml"
+(* # 21 "src/base/BaseLog.ml" *)
 
   open OASISUtils
 
 end
 
 module BaseBuilt = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseBuilt.ml"
+(* # 21 "src/base/BaseBuilt.ml" *)
 
   open OASISTypes
   open OASISGettext
 end
 
 module BaseCustom = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseCustom.ml"
+(* # 21 "src/base/BaseCustom.ml" *)
 
   open BaseEnv
   open BaseMessage
 end
 
 module BaseDynVar = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseDynVar.ml"
+(* # 21 "src/base/BaseDynVar.ml" *)
 
 
   open OASISTypes
 end
 
 module BaseTest = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseTest.ml"
+(* # 21 "src/base/BaseTest.ml" *)
 
   open BaseEnv
   open BaseMessage
 end
 
 module BaseDoc = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseDoc.ml"
+(* # 21 "src/base/BaseDoc.ml" *)
 
   open BaseEnv
   open BaseMessage
 end
 
 module BaseSetup = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/base/BaseSetup.ml"
+(* # 21 "src/base/BaseSetup.ml" *)
 
   open BaseEnv
   open BaseMessage
 
 # 4480 "setup.ml"
 module InternalConfigurePlugin = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/plugins/internal/InternalConfigurePlugin.ml"
+(* # 21 "src/plugins/internal/InternalConfigurePlugin.ml" *)
 
   (** Configure using internal scheme
       @author Sylvain Le Gall
 end
 
 module InternalInstallPlugin = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/plugins/internal/InternalInstallPlugin.ml"
+(* # 21 "src/plugins/internal/InternalInstallPlugin.ml" *)
 
   (** Install using internal scheme
       @author Sylvain Le Gall
 
 # 5233 "setup.ml"
 module CustomPlugin = struct
-# 21 "/somewhere/.opam/system/build/oasis.0.3.0/src/plugins/custom/CustomPlugin.ml"
+(* # 21 "src/plugins/custom/CustomPlugin.ml" *)
 
   (** Generate custom configure/build/doc/test/install system
       @author
             CustomPlugin.cmd_main =
               [
                  (OASISExpr.EBool true,
-                   ("yes",
-                     [
-                        "no";
-                        "|";
-                        "omake";
-                        "--install;";
-                        "PREFIX=$prefix";
-                        "omake"
+                   ("cp",
+                     ["OMakeroot.in"; "OMakeroot;"; "PREFIX=$prefix"; "omake"
                      ]))
               ];
             cmd_clean =
                CustomPlugin.cmd_main =
                  [
                     (OASISExpr.EBool true,
-                      ("yes",
+                      ("cp",
                         [
-                           "no";
-                           "|";
-                           "omake";
-                           "--install;";
+                           "OMakeroot.in";
+                           "OMakeroot;";
                            "PREFIX=$prefix";
                            "omake"
                         ]))
                CustomPlugin.cmd_main =
                  [
                     (OASISExpr.EBool true,
-                      ("yes",
+                      ("cp",
                         [
-                           "no";
-                           "|";
-                           "omake";
-                           "--install;";
+                           "OMakeroot.in";
+                           "OMakeroot;";
                            "PREFIX=$prefix";
                            "omake"
                         ]))
           };
      oasis_fn = Some "_oasis";
      oasis_version = "0.3.0";
-     oasis_digest = Some "(bo\135v\030l5\191W\191\241\176\182\168\151";
+     oasis_digest = Some "\023\246f\143\1892k\r\130\236L\249\129\199\128\134";
      oasis_exec = None;
      oasis_setup_args = [];
      setup_update = false;
 
 let setup () = BaseSetup.setup setup_t;;
 
-# 5589 "setup.ml"
+# 5579 "setup.ml"
 (* OASIS_STOP *)
 let () = setup ();;
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.