From d6cf595899f8dce98cafbcdb8ed1d3a73540234a Mon Sep 17 00:00:00 2001 From: James Shubin Date: Wed, 21 Feb 2024 17:49:01 -0500 Subject: [PATCH] lang: Unnested the core package from the functions dir The core package could contain non-functions, so we might as well move it upwards. --- Makefile | 8 ++--- docs/function-guide.md | 16 +++++----- docs/language-guide.md | 4 +-- lang/ast/structs.go | 2 +- lang/{funcs => }/core/.gitignore | 0 lang/{funcs => }/core/concat_func.go | 0 lang/{funcs => }/core/convert/convert.go | 0 lang/{funcs => }/core/convert/format_bool.go | 0 lang/{funcs => }/core/convert/parse_bool.go | 0 lang/{funcs => }/core/convert/to_float.go | 0 .../{funcs => }/core/convert/to_float_test.go | 0 lang/{funcs => }/core/convert/to_int.go | 0 lang/{funcs => }/core/convert/to_int_test.go | 0 lang/{funcs => }/core/core.go | 32 +++++++++---------- lang/{funcs => }/core/core_test.go | 0 lang/{funcs => }/core/datetime/datetime.go | 0 lang/{funcs => }/core/datetime/format_func.go | 0 .../core/datetime/format_func_test.go | 0 lang/{funcs => }/core/datetime/hour_func.go | 0 lang/{funcs => }/core/datetime/now_fact.go | 0 lang/{funcs => }/core/datetime/print_func.go | 0 .../{funcs => }/core/datetime/weekday_func.go | 0 lang/{funcs => }/core/deploy/abspath_func.go | 0 lang/{funcs => }/core/deploy/deploy.go | 0 lang/{funcs => }/core/deploy/readfile_func.go | 0 .../core/deploy/readfileabs_func.go | 0 lang/{funcs => }/core/example/answer_func.go | 0 .../core/example/errorbool_func.go | 0 lang/{funcs => }/core/example/example.go | 0 .../{funcs => }/core/example/flipflop_fact.go | 0 lang/{funcs => }/core/example/int2str_func.go | 0 .../{funcs => }/core/example/nativeanswer.mcl | 0 .../core/example/nested/hello_func.go | 2 +- .../{funcs => }/core/example/nested/nested.go | 0 lang/{funcs => }/core/example/plus_func.go | 0 lang/{funcs => }/core/example/str2int_func.go | 0 lang/{funcs => }/core/example/test1.mcl | 0 lang/{funcs => }/core/example/vumeter_func.go | 0 lang/{funcs => }/core/fmt/fmt.go | 0 lang/{funcs => }/core/fmt/printf_func.go | 0 lang/{funcs => }/core/funcgen.yaml | 0 lang/{funcs => }/core/iter/iter.go | 0 lang/{funcs => }/core/iter/map_func.go | 0 lang/{funcs => }/core/len_func.go | 0 lang/{funcs => }/core/math/fortytwo_func.go | 0 lang/{funcs => }/core/math/math.go | 0 lang/{funcs => }/core/math/minus1_func.go | 0 lang/{funcs => }/core/math/mod_func.go | 0 lang/{funcs => }/core/math/pow_func.go | 0 lang/{funcs => }/core/math/sqrt_func.go | 0 lang/{funcs => }/core/math/sqrt_func_test.go | 0 lang/{funcs => }/core/net/cidr_to_ip_func.go | 0 .../core/net/cidr_to_ip_func_test.go | 0 lang/{funcs => }/core/net/macfmt_func.go | 0 lang/{funcs => }/core/net/macfmt_func_test.go | 0 lang/{funcs => }/core/net/net.go | 0 lang/{funcs => }/core/os/args_func.go | 0 lang/{funcs => }/core/os/family_func.go | 0 lang/{funcs => }/core/os/os.go | 0 lang/{funcs => }/core/os/readfile_func.go | 0 lang/{funcs => }/core/os/system_func.go | 0 lang/{funcs => }/core/panic_func.go | 0 lang/{funcs => }/core/random1_func.go | 0 lang/{funcs => }/core/regexp/match_func.go | 0 .../core/regexp/match_func_test.go | 0 lang/{funcs => }/core/regexp/regexp.go | 0 lang/{funcs => }/core/strings/split_func.go | 0 .../core/strings/split_func_test.go | 0 lang/{funcs => }/core/strings/strings.go | 0 .../{funcs => }/core/strings/to_lower_func.go | 0 .../core/strings/to_lower_func_test.go | 0 lang/{funcs => }/core/sys/cpucount_fact.go | 0 .../core/sys/cpucount_fact_test.go | 0 lang/{funcs => }/core/sys/env_func.go | 0 lang/{funcs => }/core/sys/hostname_fact.go | 0 lang/{funcs => }/core/sys/load_fact.go | 0 lang/{funcs => }/core/sys/load_fact_darwin.go | 0 lang/{funcs => }/core/sys/load_fact_posix.go | 0 lang/{funcs => }/core/sys/sys.go | 0 lang/{funcs => }/core/sys/uptime_fact.go | 0 .../core/sys/uptime_fact_darwin.go | 0 .../{funcs => }/core/sys/uptime_fact_posix.go | 0 lang/{funcs => }/core/template_func.go | 0 lang/{funcs => }/core/test/fastcount_fact.go | 0 .../{funcs => }/core/test/oneinstance_fact.go | 0 lang/{funcs => }/core/test/test.go | 0 lang/{funcs => }/core/value/get_func.go | 0 lang/{funcs => }/core/value/value.go | 0 lang/{funcs => }/core/world/exchange_func.go | 0 lang/{funcs => }/core/world/getval_func.go | 0 lang/{funcs => }/core/world/kvlookup_func.go | 0 lang/{funcs => }/core/world/schedule_func.go | 0 lang/{funcs => }/core/world/world.go | 0 lang/funcs/funcgen/main.go | 2 +- lang/lang.go | 2 +- lang/lang_test.go | 2 +- test/test-govet.sh | 2 +- 97 files changed, 36 insertions(+), 36 deletions(-) rename lang/{funcs => }/core/.gitignore (100%) rename lang/{funcs => }/core/concat_func.go (100%) rename lang/{funcs => }/core/convert/convert.go (100%) rename lang/{funcs => }/core/convert/format_bool.go (100%) rename lang/{funcs => }/core/convert/parse_bool.go (100%) rename lang/{funcs => }/core/convert/to_float.go (100%) rename lang/{funcs => }/core/convert/to_float_test.go (100%) rename lang/{funcs => }/core/convert/to_int.go (100%) rename lang/{funcs => }/core/convert/to_int_test.go (100%) rename lang/{funcs => }/core/core.go (65%) rename lang/{funcs => }/core/core_test.go (100%) rename lang/{funcs => }/core/datetime/datetime.go (100%) rename lang/{funcs => }/core/datetime/format_func.go (100%) rename lang/{funcs => }/core/datetime/format_func_test.go (100%) rename lang/{funcs => }/core/datetime/hour_func.go (100%) rename lang/{funcs => }/core/datetime/now_fact.go (100%) rename lang/{funcs => }/core/datetime/print_func.go (100%) rename lang/{funcs => }/core/datetime/weekday_func.go (100%) rename lang/{funcs => }/core/deploy/abspath_func.go (100%) rename lang/{funcs => }/core/deploy/deploy.go (100%) rename lang/{funcs => }/core/deploy/readfile_func.go (100%) rename lang/{funcs => }/core/deploy/readfileabs_func.go (100%) rename lang/{funcs => }/core/example/answer_func.go (100%) rename lang/{funcs => }/core/example/errorbool_func.go (100%) rename lang/{funcs => }/core/example/example.go (100%) rename lang/{funcs => }/core/example/flipflop_fact.go (100%) rename lang/{funcs => }/core/example/int2str_func.go (100%) rename lang/{funcs => }/core/example/nativeanswer.mcl (100%) rename lang/{funcs => }/core/example/nested/hello_func.go (94%) rename lang/{funcs => }/core/example/nested/nested.go (100%) rename lang/{funcs => }/core/example/plus_func.go (100%) rename lang/{funcs => }/core/example/str2int_func.go (100%) rename lang/{funcs => }/core/example/test1.mcl (100%) rename lang/{funcs => }/core/example/vumeter_func.go (100%) rename lang/{funcs => }/core/fmt/fmt.go (100%) rename lang/{funcs => }/core/fmt/printf_func.go (100%) rename lang/{funcs => }/core/funcgen.yaml (100%) rename lang/{funcs => }/core/iter/iter.go (100%) rename lang/{funcs => }/core/iter/map_func.go (100%) rename lang/{funcs => }/core/len_func.go (100%) rename lang/{funcs => }/core/math/fortytwo_func.go (100%) rename lang/{funcs => }/core/math/math.go (100%) rename lang/{funcs => }/core/math/minus1_func.go (100%) rename lang/{funcs => }/core/math/mod_func.go (100%) rename lang/{funcs => }/core/math/pow_func.go (100%) rename lang/{funcs => }/core/math/sqrt_func.go (100%) rename lang/{funcs => }/core/math/sqrt_func_test.go (100%) rename lang/{funcs => }/core/net/cidr_to_ip_func.go (100%) rename lang/{funcs => }/core/net/cidr_to_ip_func_test.go (100%) rename lang/{funcs => }/core/net/macfmt_func.go (100%) rename lang/{funcs => }/core/net/macfmt_func_test.go (100%) rename lang/{funcs => }/core/net/net.go (100%) rename lang/{funcs => }/core/os/args_func.go (100%) rename lang/{funcs => }/core/os/family_func.go (100%) rename lang/{funcs => }/core/os/os.go (100%) rename lang/{funcs => }/core/os/readfile_func.go (100%) rename lang/{funcs => }/core/os/system_func.go (100%) rename lang/{funcs => }/core/panic_func.go (100%) rename lang/{funcs => }/core/random1_func.go (100%) rename lang/{funcs => }/core/regexp/match_func.go (100%) rename lang/{funcs => }/core/regexp/match_func_test.go (100%) rename lang/{funcs => }/core/regexp/regexp.go (100%) rename lang/{funcs => }/core/strings/split_func.go (100%) rename lang/{funcs => }/core/strings/split_func_test.go (100%) rename lang/{funcs => }/core/strings/strings.go (100%) rename lang/{funcs => }/core/strings/to_lower_func.go (100%) rename lang/{funcs => }/core/strings/to_lower_func_test.go (100%) rename lang/{funcs => }/core/sys/cpucount_fact.go (100%) rename lang/{funcs => }/core/sys/cpucount_fact_test.go (100%) rename lang/{funcs => }/core/sys/env_func.go (100%) rename lang/{funcs => }/core/sys/hostname_fact.go (100%) rename lang/{funcs => }/core/sys/load_fact.go (100%) rename lang/{funcs => }/core/sys/load_fact_darwin.go (100%) rename lang/{funcs => }/core/sys/load_fact_posix.go (100%) rename lang/{funcs => }/core/sys/sys.go (100%) rename lang/{funcs => }/core/sys/uptime_fact.go (100%) rename lang/{funcs => }/core/sys/uptime_fact_darwin.go (100%) rename lang/{funcs => }/core/sys/uptime_fact_posix.go (100%) rename lang/{funcs => }/core/template_func.go (100%) rename lang/{funcs => }/core/test/fastcount_fact.go (100%) rename lang/{funcs => }/core/test/oneinstance_fact.go (100%) rename lang/{funcs => }/core/test/test.go (100%) rename lang/{funcs => }/core/value/get_func.go (100%) rename lang/{funcs => }/core/value/value.go (100%) rename lang/{funcs => }/core/world/exchange_func.go (100%) rename lang/{funcs => }/core/world/getval_func.go (100%) rename lang/{funcs => }/core/world/kvlookup_func.go (100%) rename lang/{funcs => }/core/world/schedule_func.go (100%) rename lang/{funcs => }/core/world/world.go (100%) diff --git a/Makefile b/Makefile index 2d9427c2..76b81439 100644 --- a/Makefile +++ b/Makefile @@ -185,8 +185,8 @@ clean: ## clean things up $(MAKE) --quiet -C test clean $(MAKE) --quiet -C lang clean $(MAKE) --quiet -C misc/mkosi clean - rm -f lang/funcs/core/generated_funcs.go || true - rm -f lang/funcs/core/generated_funcs_test.go || true + rm -f lang/core/generated_funcs.go || true + rm -f lang/core/generated_funcs_test.go || true [ ! -e $(PROGRAM) ] || rm $(PROGRAM) rm -f *_stringer.go # generated by `go generate` rm -f *_mock.go # generated by `go generate` @@ -505,9 +505,9 @@ help: ## show this help screen awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' @echo '' -funcgen: lang/funcs/core/generated_funcs.go +funcgen: lang/core/generated_funcs.go -lang/funcs/core/generated_funcs.go: lang/funcs/funcgen/*.go lang/funcs/core/funcgen.yaml lang/funcs/funcgen/templates/generated_funcs.go.tpl +lang/core/generated_funcs.go: lang/funcs/funcgen/*.go lang/core/funcgen.yaml lang/funcs/funcgen/templates/generated_funcs.go.tpl @echo "Generating: funcs..." @go run `find lang/funcs/funcgen/ -maxdepth 1 -type f -name '*.go' -not -name '*_test.go'` -templates=lang/funcs/funcgen/templates/generated_funcs.go.tpl >/dev/null diff --git a/docs/function-guide.md b/docs/function-guide.md index 8d128987..ff1c8658 100644 --- a/docs/function-guide.md +++ b/docs/function-guide.md @@ -40,9 +40,9 @@ from looking at example code. To implement a function, you'll need to create a file that imports the [`lang/funcs/simple/`](https://github.com/purpleidea/mgmt/tree/master/lang/funcs/simple/) module. It should probably get created in the correct directory inside of: -[`lang/funcs/core/`](https://github.com/purpleidea/mgmt/tree/master/lang/funcs/core/). -The function should be implemented as a `FuncValue` in our type system. It is -then registered with the engine during `init()`. An example explains it best: +[`lang/core/`](https://github.com/purpleidea/mgmt/tree/master/lang/core/). The +function should be implemented as a `FuncValue` in our type system. It is then +registered with the engine during `init()`. An example explains it best: ### Example @@ -115,11 +115,11 @@ re-evaluated as needed when their input values change. To implement a function, you'll need to create a file that imports the [`lang/funcs/simplepoly/`](https://github.com/purpleidea/mgmt/tree/master/lang/funcs/simplepoly/) module. It should probably get created in the correct directory inside of: -[`lang/funcs/core/`](https://github.com/purpleidea/mgmt/tree/master/lang/funcs/core/). -The function should be implemented as a list of `FuncValue`'s in our type -system. It is then registered with the engine during `init()`. You may also use -the `variant` type in your type definitions. This special type will never be -seen inside a running program, and will get converted to a concrete type if a +[`lang/core/`](https://github.com/purpleidea/mgmt/tree/master/lang/core/). The +function should be implemented as a list of `FuncValue`'s in our type system. It +is then registered with the engine during `init()`. You may also use the +`variant` type in your type definitions. This special type will never be seen +inside a running program, and will get converted to a concrete type if a suitable match to this signature can be found. Be warned that signatures which contain too many variants, or which are very general, might be hard for the compiler to match, and ambiguous type graphs make for user compiler errors. The diff --git a/docs/language-guide.md b/docs/language-guide.md index ffdace5f..21714746 100644 --- a/docs/language-guide.md +++ b/docs/language-guide.md @@ -763,7 +763,7 @@ one value must be produced. ```golang Please see the example functions in -[lang/funcs/core/](https://github.com/purpleidea/mgmt/tree/master/lang/funcs/core/). +[lang/core/](https://github.com/purpleidea/mgmt/tree/master/lang/core/). ``` ### Stream @@ -785,7 +785,7 @@ context cancels. ```golang Please see the example functions in -[lang/funcs/core/](https://github.com/purpleidea/mgmt/tree/master/lang/funcs/core/). +[lang/core/](https://github.com/purpleidea/mgmt/tree/master/lang/core/). ``` ### Polymorphic Function API diff --git a/lang/ast/structs.go b/lang/ast/structs.go index 49f08153..08a10f47 100644 --- a/lang/ast/structs.go +++ b/lang/ast/structs.go @@ -30,8 +30,8 @@ import ( "github.com/purpleidea/mgmt/engine" engineUtil "github.com/purpleidea/mgmt/engine/util" + "github.com/purpleidea/mgmt/lang/core" "github.com/purpleidea/mgmt/lang/funcs" - "github.com/purpleidea/mgmt/lang/funcs/core" "github.com/purpleidea/mgmt/lang/funcs/structs" "github.com/purpleidea/mgmt/lang/inputs" "github.com/purpleidea/mgmt/lang/interfaces" diff --git a/lang/funcs/core/.gitignore b/lang/core/.gitignore similarity index 100% rename from lang/funcs/core/.gitignore rename to lang/core/.gitignore diff --git a/lang/funcs/core/concat_func.go b/lang/core/concat_func.go similarity index 100% rename from lang/funcs/core/concat_func.go rename to lang/core/concat_func.go diff --git a/lang/funcs/core/convert/convert.go b/lang/core/convert/convert.go similarity index 100% rename from lang/funcs/core/convert/convert.go rename to lang/core/convert/convert.go diff --git a/lang/funcs/core/convert/format_bool.go b/lang/core/convert/format_bool.go similarity index 100% rename from lang/funcs/core/convert/format_bool.go rename to lang/core/convert/format_bool.go diff --git a/lang/funcs/core/convert/parse_bool.go b/lang/core/convert/parse_bool.go similarity index 100% rename from lang/funcs/core/convert/parse_bool.go rename to lang/core/convert/parse_bool.go diff --git a/lang/funcs/core/convert/to_float.go b/lang/core/convert/to_float.go similarity index 100% rename from lang/funcs/core/convert/to_float.go rename to lang/core/convert/to_float.go diff --git a/lang/funcs/core/convert/to_float_test.go b/lang/core/convert/to_float_test.go similarity index 100% rename from lang/funcs/core/convert/to_float_test.go rename to lang/core/convert/to_float_test.go diff --git a/lang/funcs/core/convert/to_int.go b/lang/core/convert/to_int.go similarity index 100% rename from lang/funcs/core/convert/to_int.go rename to lang/core/convert/to_int.go diff --git a/lang/funcs/core/convert/to_int_test.go b/lang/core/convert/to_int_test.go similarity index 100% rename from lang/funcs/core/convert/to_int_test.go rename to lang/core/convert/to_int_test.go diff --git a/lang/funcs/core/core.go b/lang/core/core.go similarity index 65% rename from lang/funcs/core/core.go rename to lang/core/core.go index 49eb65d1..8df050f3 100644 --- a/lang/funcs/core/core.go +++ b/lang/core/core.go @@ -22,22 +22,22 @@ import ( "io/fs" // import so the funcs register - _ "github.com/purpleidea/mgmt/lang/funcs/core/convert" - _ "github.com/purpleidea/mgmt/lang/funcs/core/datetime" - _ "github.com/purpleidea/mgmt/lang/funcs/core/deploy" - _ "github.com/purpleidea/mgmt/lang/funcs/core/example" - _ "github.com/purpleidea/mgmt/lang/funcs/core/example/nested" - _ "github.com/purpleidea/mgmt/lang/funcs/core/fmt" - _ "github.com/purpleidea/mgmt/lang/funcs/core/iter" - _ "github.com/purpleidea/mgmt/lang/funcs/core/math" - _ "github.com/purpleidea/mgmt/lang/funcs/core/net" - _ "github.com/purpleidea/mgmt/lang/funcs/core/os" - _ "github.com/purpleidea/mgmt/lang/funcs/core/regexp" - _ "github.com/purpleidea/mgmt/lang/funcs/core/strings" - _ "github.com/purpleidea/mgmt/lang/funcs/core/sys" - _ "github.com/purpleidea/mgmt/lang/funcs/core/test" - _ "github.com/purpleidea/mgmt/lang/funcs/core/value" - _ "github.com/purpleidea/mgmt/lang/funcs/core/world" + _ "github.com/purpleidea/mgmt/lang/core/convert" + _ "github.com/purpleidea/mgmt/lang/core/datetime" + _ "github.com/purpleidea/mgmt/lang/core/deploy" + _ "github.com/purpleidea/mgmt/lang/core/example" + _ "github.com/purpleidea/mgmt/lang/core/example/nested" + _ "github.com/purpleidea/mgmt/lang/core/fmt" + _ "github.com/purpleidea/mgmt/lang/core/iter" + _ "github.com/purpleidea/mgmt/lang/core/math" + _ "github.com/purpleidea/mgmt/lang/core/net" + _ "github.com/purpleidea/mgmt/lang/core/os" + _ "github.com/purpleidea/mgmt/lang/core/regexp" + _ "github.com/purpleidea/mgmt/lang/core/strings" + _ "github.com/purpleidea/mgmt/lang/core/sys" + _ "github.com/purpleidea/mgmt/lang/core/test" + _ "github.com/purpleidea/mgmt/lang/core/value" + _ "github.com/purpleidea/mgmt/lang/core/world" ) // TODO: Instead of doing this one-level embed, we could give each package an diff --git a/lang/funcs/core/core_test.go b/lang/core/core_test.go similarity index 100% rename from lang/funcs/core/core_test.go rename to lang/core/core_test.go diff --git a/lang/funcs/core/datetime/datetime.go b/lang/core/datetime/datetime.go similarity index 100% rename from lang/funcs/core/datetime/datetime.go rename to lang/core/datetime/datetime.go diff --git a/lang/funcs/core/datetime/format_func.go b/lang/core/datetime/format_func.go similarity index 100% rename from lang/funcs/core/datetime/format_func.go rename to lang/core/datetime/format_func.go diff --git a/lang/funcs/core/datetime/format_func_test.go b/lang/core/datetime/format_func_test.go similarity index 100% rename from lang/funcs/core/datetime/format_func_test.go rename to lang/core/datetime/format_func_test.go diff --git a/lang/funcs/core/datetime/hour_func.go b/lang/core/datetime/hour_func.go similarity index 100% rename from lang/funcs/core/datetime/hour_func.go rename to lang/core/datetime/hour_func.go diff --git a/lang/funcs/core/datetime/now_fact.go b/lang/core/datetime/now_fact.go similarity index 100% rename from lang/funcs/core/datetime/now_fact.go rename to lang/core/datetime/now_fact.go diff --git a/lang/funcs/core/datetime/print_func.go b/lang/core/datetime/print_func.go similarity index 100% rename from lang/funcs/core/datetime/print_func.go rename to lang/core/datetime/print_func.go diff --git a/lang/funcs/core/datetime/weekday_func.go b/lang/core/datetime/weekday_func.go similarity index 100% rename from lang/funcs/core/datetime/weekday_func.go rename to lang/core/datetime/weekday_func.go diff --git a/lang/funcs/core/deploy/abspath_func.go b/lang/core/deploy/abspath_func.go similarity index 100% rename from lang/funcs/core/deploy/abspath_func.go rename to lang/core/deploy/abspath_func.go diff --git a/lang/funcs/core/deploy/deploy.go b/lang/core/deploy/deploy.go similarity index 100% rename from lang/funcs/core/deploy/deploy.go rename to lang/core/deploy/deploy.go diff --git a/lang/funcs/core/deploy/readfile_func.go b/lang/core/deploy/readfile_func.go similarity index 100% rename from lang/funcs/core/deploy/readfile_func.go rename to lang/core/deploy/readfile_func.go diff --git a/lang/funcs/core/deploy/readfileabs_func.go b/lang/core/deploy/readfileabs_func.go similarity index 100% rename from lang/funcs/core/deploy/readfileabs_func.go rename to lang/core/deploy/readfileabs_func.go diff --git a/lang/funcs/core/example/answer_func.go b/lang/core/example/answer_func.go similarity index 100% rename from lang/funcs/core/example/answer_func.go rename to lang/core/example/answer_func.go diff --git a/lang/funcs/core/example/errorbool_func.go b/lang/core/example/errorbool_func.go similarity index 100% rename from lang/funcs/core/example/errorbool_func.go rename to lang/core/example/errorbool_func.go diff --git a/lang/funcs/core/example/example.go b/lang/core/example/example.go similarity index 100% rename from lang/funcs/core/example/example.go rename to lang/core/example/example.go diff --git a/lang/funcs/core/example/flipflop_fact.go b/lang/core/example/flipflop_fact.go similarity index 100% rename from lang/funcs/core/example/flipflop_fact.go rename to lang/core/example/flipflop_fact.go diff --git a/lang/funcs/core/example/int2str_func.go b/lang/core/example/int2str_func.go similarity index 100% rename from lang/funcs/core/example/int2str_func.go rename to lang/core/example/int2str_func.go diff --git a/lang/funcs/core/example/nativeanswer.mcl b/lang/core/example/nativeanswer.mcl similarity index 100% rename from lang/funcs/core/example/nativeanswer.mcl rename to lang/core/example/nativeanswer.mcl diff --git a/lang/funcs/core/example/nested/hello_func.go b/lang/core/example/nested/hello_func.go similarity index 94% rename from lang/funcs/core/example/nested/hello_func.go rename to lang/core/example/nested/hello_func.go index dec50b27..b69d2c09 100644 --- a/lang/funcs/core/example/nested/hello_func.go +++ b/lang/core/example/nested/hello_func.go @@ -18,7 +18,7 @@ package corenested import ( - coreexample "github.com/purpleidea/mgmt/lang/funcs/core/example" + coreexample "github.com/purpleidea/mgmt/lang/core/example" "github.com/purpleidea/mgmt/lang/funcs/simple" "github.com/purpleidea/mgmt/lang/types" ) diff --git a/lang/funcs/core/example/nested/nested.go b/lang/core/example/nested/nested.go similarity index 100% rename from lang/funcs/core/example/nested/nested.go rename to lang/core/example/nested/nested.go diff --git a/lang/funcs/core/example/plus_func.go b/lang/core/example/plus_func.go similarity index 100% rename from lang/funcs/core/example/plus_func.go rename to lang/core/example/plus_func.go diff --git a/lang/funcs/core/example/str2int_func.go b/lang/core/example/str2int_func.go similarity index 100% rename from lang/funcs/core/example/str2int_func.go rename to lang/core/example/str2int_func.go diff --git a/lang/funcs/core/example/test1.mcl b/lang/core/example/test1.mcl similarity index 100% rename from lang/funcs/core/example/test1.mcl rename to lang/core/example/test1.mcl diff --git a/lang/funcs/core/example/vumeter_func.go b/lang/core/example/vumeter_func.go similarity index 100% rename from lang/funcs/core/example/vumeter_func.go rename to lang/core/example/vumeter_func.go diff --git a/lang/funcs/core/fmt/fmt.go b/lang/core/fmt/fmt.go similarity index 100% rename from lang/funcs/core/fmt/fmt.go rename to lang/core/fmt/fmt.go diff --git a/lang/funcs/core/fmt/printf_func.go b/lang/core/fmt/printf_func.go similarity index 100% rename from lang/funcs/core/fmt/printf_func.go rename to lang/core/fmt/printf_func.go diff --git a/lang/funcs/core/funcgen.yaml b/lang/core/funcgen.yaml similarity index 100% rename from lang/funcs/core/funcgen.yaml rename to lang/core/funcgen.yaml diff --git a/lang/funcs/core/iter/iter.go b/lang/core/iter/iter.go similarity index 100% rename from lang/funcs/core/iter/iter.go rename to lang/core/iter/iter.go diff --git a/lang/funcs/core/iter/map_func.go b/lang/core/iter/map_func.go similarity index 100% rename from lang/funcs/core/iter/map_func.go rename to lang/core/iter/map_func.go diff --git a/lang/funcs/core/len_func.go b/lang/core/len_func.go similarity index 100% rename from lang/funcs/core/len_func.go rename to lang/core/len_func.go diff --git a/lang/funcs/core/math/fortytwo_func.go b/lang/core/math/fortytwo_func.go similarity index 100% rename from lang/funcs/core/math/fortytwo_func.go rename to lang/core/math/fortytwo_func.go diff --git a/lang/funcs/core/math/math.go b/lang/core/math/math.go similarity index 100% rename from lang/funcs/core/math/math.go rename to lang/core/math/math.go diff --git a/lang/funcs/core/math/minus1_func.go b/lang/core/math/minus1_func.go similarity index 100% rename from lang/funcs/core/math/minus1_func.go rename to lang/core/math/minus1_func.go diff --git a/lang/funcs/core/math/mod_func.go b/lang/core/math/mod_func.go similarity index 100% rename from lang/funcs/core/math/mod_func.go rename to lang/core/math/mod_func.go diff --git a/lang/funcs/core/math/pow_func.go b/lang/core/math/pow_func.go similarity index 100% rename from lang/funcs/core/math/pow_func.go rename to lang/core/math/pow_func.go diff --git a/lang/funcs/core/math/sqrt_func.go b/lang/core/math/sqrt_func.go similarity index 100% rename from lang/funcs/core/math/sqrt_func.go rename to lang/core/math/sqrt_func.go diff --git a/lang/funcs/core/math/sqrt_func_test.go b/lang/core/math/sqrt_func_test.go similarity index 100% rename from lang/funcs/core/math/sqrt_func_test.go rename to lang/core/math/sqrt_func_test.go diff --git a/lang/funcs/core/net/cidr_to_ip_func.go b/lang/core/net/cidr_to_ip_func.go similarity index 100% rename from lang/funcs/core/net/cidr_to_ip_func.go rename to lang/core/net/cidr_to_ip_func.go diff --git a/lang/funcs/core/net/cidr_to_ip_func_test.go b/lang/core/net/cidr_to_ip_func_test.go similarity index 100% rename from lang/funcs/core/net/cidr_to_ip_func_test.go rename to lang/core/net/cidr_to_ip_func_test.go diff --git a/lang/funcs/core/net/macfmt_func.go b/lang/core/net/macfmt_func.go similarity index 100% rename from lang/funcs/core/net/macfmt_func.go rename to lang/core/net/macfmt_func.go diff --git a/lang/funcs/core/net/macfmt_func_test.go b/lang/core/net/macfmt_func_test.go similarity index 100% rename from lang/funcs/core/net/macfmt_func_test.go rename to lang/core/net/macfmt_func_test.go diff --git a/lang/funcs/core/net/net.go b/lang/core/net/net.go similarity index 100% rename from lang/funcs/core/net/net.go rename to lang/core/net/net.go diff --git a/lang/funcs/core/os/args_func.go b/lang/core/os/args_func.go similarity index 100% rename from lang/funcs/core/os/args_func.go rename to lang/core/os/args_func.go diff --git a/lang/funcs/core/os/family_func.go b/lang/core/os/family_func.go similarity index 100% rename from lang/funcs/core/os/family_func.go rename to lang/core/os/family_func.go diff --git a/lang/funcs/core/os/os.go b/lang/core/os/os.go similarity index 100% rename from lang/funcs/core/os/os.go rename to lang/core/os/os.go diff --git a/lang/funcs/core/os/readfile_func.go b/lang/core/os/readfile_func.go similarity index 100% rename from lang/funcs/core/os/readfile_func.go rename to lang/core/os/readfile_func.go diff --git a/lang/funcs/core/os/system_func.go b/lang/core/os/system_func.go similarity index 100% rename from lang/funcs/core/os/system_func.go rename to lang/core/os/system_func.go diff --git a/lang/funcs/core/panic_func.go b/lang/core/panic_func.go similarity index 100% rename from lang/funcs/core/panic_func.go rename to lang/core/panic_func.go diff --git a/lang/funcs/core/random1_func.go b/lang/core/random1_func.go similarity index 100% rename from lang/funcs/core/random1_func.go rename to lang/core/random1_func.go diff --git a/lang/funcs/core/regexp/match_func.go b/lang/core/regexp/match_func.go similarity index 100% rename from lang/funcs/core/regexp/match_func.go rename to lang/core/regexp/match_func.go diff --git a/lang/funcs/core/regexp/match_func_test.go b/lang/core/regexp/match_func_test.go similarity index 100% rename from lang/funcs/core/regexp/match_func_test.go rename to lang/core/regexp/match_func_test.go diff --git a/lang/funcs/core/regexp/regexp.go b/lang/core/regexp/regexp.go similarity index 100% rename from lang/funcs/core/regexp/regexp.go rename to lang/core/regexp/regexp.go diff --git a/lang/funcs/core/strings/split_func.go b/lang/core/strings/split_func.go similarity index 100% rename from lang/funcs/core/strings/split_func.go rename to lang/core/strings/split_func.go diff --git a/lang/funcs/core/strings/split_func_test.go b/lang/core/strings/split_func_test.go similarity index 100% rename from lang/funcs/core/strings/split_func_test.go rename to lang/core/strings/split_func_test.go diff --git a/lang/funcs/core/strings/strings.go b/lang/core/strings/strings.go similarity index 100% rename from lang/funcs/core/strings/strings.go rename to lang/core/strings/strings.go diff --git a/lang/funcs/core/strings/to_lower_func.go b/lang/core/strings/to_lower_func.go similarity index 100% rename from lang/funcs/core/strings/to_lower_func.go rename to lang/core/strings/to_lower_func.go diff --git a/lang/funcs/core/strings/to_lower_func_test.go b/lang/core/strings/to_lower_func_test.go similarity index 100% rename from lang/funcs/core/strings/to_lower_func_test.go rename to lang/core/strings/to_lower_func_test.go diff --git a/lang/funcs/core/sys/cpucount_fact.go b/lang/core/sys/cpucount_fact.go similarity index 100% rename from lang/funcs/core/sys/cpucount_fact.go rename to lang/core/sys/cpucount_fact.go diff --git a/lang/funcs/core/sys/cpucount_fact_test.go b/lang/core/sys/cpucount_fact_test.go similarity index 100% rename from lang/funcs/core/sys/cpucount_fact_test.go rename to lang/core/sys/cpucount_fact_test.go diff --git a/lang/funcs/core/sys/env_func.go b/lang/core/sys/env_func.go similarity index 100% rename from lang/funcs/core/sys/env_func.go rename to lang/core/sys/env_func.go diff --git a/lang/funcs/core/sys/hostname_fact.go b/lang/core/sys/hostname_fact.go similarity index 100% rename from lang/funcs/core/sys/hostname_fact.go rename to lang/core/sys/hostname_fact.go diff --git a/lang/funcs/core/sys/load_fact.go b/lang/core/sys/load_fact.go similarity index 100% rename from lang/funcs/core/sys/load_fact.go rename to lang/core/sys/load_fact.go diff --git a/lang/funcs/core/sys/load_fact_darwin.go b/lang/core/sys/load_fact_darwin.go similarity index 100% rename from lang/funcs/core/sys/load_fact_darwin.go rename to lang/core/sys/load_fact_darwin.go diff --git a/lang/funcs/core/sys/load_fact_posix.go b/lang/core/sys/load_fact_posix.go similarity index 100% rename from lang/funcs/core/sys/load_fact_posix.go rename to lang/core/sys/load_fact_posix.go diff --git a/lang/funcs/core/sys/sys.go b/lang/core/sys/sys.go similarity index 100% rename from lang/funcs/core/sys/sys.go rename to lang/core/sys/sys.go diff --git a/lang/funcs/core/sys/uptime_fact.go b/lang/core/sys/uptime_fact.go similarity index 100% rename from lang/funcs/core/sys/uptime_fact.go rename to lang/core/sys/uptime_fact.go diff --git a/lang/funcs/core/sys/uptime_fact_darwin.go b/lang/core/sys/uptime_fact_darwin.go similarity index 100% rename from lang/funcs/core/sys/uptime_fact_darwin.go rename to lang/core/sys/uptime_fact_darwin.go diff --git a/lang/funcs/core/sys/uptime_fact_posix.go b/lang/core/sys/uptime_fact_posix.go similarity index 100% rename from lang/funcs/core/sys/uptime_fact_posix.go rename to lang/core/sys/uptime_fact_posix.go diff --git a/lang/funcs/core/template_func.go b/lang/core/template_func.go similarity index 100% rename from lang/funcs/core/template_func.go rename to lang/core/template_func.go diff --git a/lang/funcs/core/test/fastcount_fact.go b/lang/core/test/fastcount_fact.go similarity index 100% rename from lang/funcs/core/test/fastcount_fact.go rename to lang/core/test/fastcount_fact.go diff --git a/lang/funcs/core/test/oneinstance_fact.go b/lang/core/test/oneinstance_fact.go similarity index 100% rename from lang/funcs/core/test/oneinstance_fact.go rename to lang/core/test/oneinstance_fact.go diff --git a/lang/funcs/core/test/test.go b/lang/core/test/test.go similarity index 100% rename from lang/funcs/core/test/test.go rename to lang/core/test/test.go diff --git a/lang/funcs/core/value/get_func.go b/lang/core/value/get_func.go similarity index 100% rename from lang/funcs/core/value/get_func.go rename to lang/core/value/get_func.go diff --git a/lang/funcs/core/value/value.go b/lang/core/value/value.go similarity index 100% rename from lang/funcs/core/value/value.go rename to lang/core/value/value.go diff --git a/lang/funcs/core/world/exchange_func.go b/lang/core/world/exchange_func.go similarity index 100% rename from lang/funcs/core/world/exchange_func.go rename to lang/core/world/exchange_func.go diff --git a/lang/funcs/core/world/getval_func.go b/lang/core/world/getval_func.go similarity index 100% rename from lang/funcs/core/world/getval_func.go rename to lang/core/world/getval_func.go diff --git a/lang/funcs/core/world/kvlookup_func.go b/lang/core/world/kvlookup_func.go similarity index 100% rename from lang/funcs/core/world/kvlookup_func.go rename to lang/core/world/kvlookup_func.go diff --git a/lang/funcs/core/world/schedule_func.go b/lang/core/world/schedule_func.go similarity index 100% rename from lang/funcs/core/world/schedule_func.go rename to lang/core/world/schedule_func.go diff --git a/lang/funcs/core/world/world.go b/lang/core/world/world.go similarity index 100% rename from lang/funcs/core/world/world.go rename to lang/core/world/world.go diff --git a/lang/funcs/funcgen/main.go b/lang/funcs/funcgen/main.go index c17fd5e8..1fedb928 100644 --- a/lang/funcs/funcgen/main.go +++ b/lang/funcs/funcgen/main.go @@ -24,7 +24,7 @@ import ( ) var ( - pkg = flag.String("package", "lang/funcs/core", "path to the package") + pkg = flag.String("package", "lang/core", "path to the package") filename = flag.String("filename", "funcgen.yaml", "path to the config") templates = flag.String("templates", "lang/funcs/funcgen/templates/*.tpl", "path to the templates") ) diff --git a/lang/lang.go b/lang/lang.go index e99c271a..cc0b52b8 100644 --- a/lang/lang.go +++ b/lang/lang.go @@ -29,7 +29,7 @@ import ( "github.com/purpleidea/mgmt/engine" "github.com/purpleidea/mgmt/engine/local" "github.com/purpleidea/mgmt/lang/ast" - _ "github.com/purpleidea/mgmt/lang/funcs/core" // import so the funcs register + _ "github.com/purpleidea/mgmt/lang/core" // import so the funcs register "github.com/purpleidea/mgmt/lang/funcs/dage" "github.com/purpleidea/mgmt/lang/funcs/vars" "github.com/purpleidea/mgmt/lang/inputs" diff --git a/lang/lang_test.go b/lang/lang_test.go index 4e1ede25..3fa5f233 100644 --- a/lang/lang_test.go +++ b/lang/lang_test.go @@ -27,7 +27,7 @@ import ( "github.com/purpleidea/mgmt/engine" "github.com/purpleidea/mgmt/engine/resources" - _ "github.com/purpleidea/mgmt/lang/funcs/core" // import so the funcs register + _ "github.com/purpleidea/mgmt/lang/core" // import so the funcs register "github.com/purpleidea/mgmt/lang/inputs" "github.com/purpleidea/mgmt/lang/interfaces" "github.com/purpleidea/mgmt/pgraph" diff --git a/test/test-govet.sh b/test/test-govet.sh index 6acc9e1b..8d36d7f6 100755 --- a/test/test-govet.sh +++ b/test/test-govet.sh @@ -97,7 +97,7 @@ function consistent-imports() { } function reflowed-comments() { - if [ "$1" = './lang/funcs/core/generated_funcs.go' ]; then + if [ "$1" = './lang/core/generated_funcs.go' ]; then return 0 fi