script_core 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.rubocop.yml +8 -6
- data/.ruby-version +1 -1
- data/Gemfile +2 -1
- data/bin/sandbox +1 -1
- data/ext/enterprise_script_service/Rakefile +1 -1
- data/ext/enterprise_script_service/flags.rb +5 -0
- data/ext/enterprise_script_service/libseccomp/CHANGELOG +15 -0
- data/ext/enterprise_script_service/libseccomp/CREDITS +3 -0
- data/ext/enterprise_script_service/libseccomp/Makefile.am +1 -1
- data/ext/enterprise_script_service/libseccomp/README.md +1 -1
- data/ext/enterprise_script_service/libseccomp/SECURITY.md +45 -0
- data/ext/enterprise_script_service/libseccomp/configure.ac +3 -3
- data/ext/enterprise_script_service/libseccomp/doc/admin/MAINTAINER_PROCESS.md +95 -0
- data/ext/enterprise_script_service/libseccomp/{RELEASE_PROCESS.md → doc/admin/RELEASE_PROCESS.md} +9 -1
- data/ext/enterprise_script_service/libseccomp/include/Makefile.am +1 -1
- data/ext/enterprise_script_service/libseccomp/include/seccomp-syscalls.h +2292 -0
- data/ext/enterprise_script_service/libseccomp/include/seccomp.h.in +3 -1065
- data/ext/enterprise_script_service/libseccomp/src/arch-aarch64-syscalls.c +35 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-arm-syscalls.c +35 -3
- data/ext/enterprise_script_service/libseccomp/src/arch-mips-syscalls.c +43 -11
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-mips64n32-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-parisc-syscalls.c +34 -2
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc-syscalls.c +43 -11
- data/ext/enterprise_script_service/libseccomp/src/arch-ppc64-syscalls.c +44 -12
- data/ext/enterprise_script_service/libseccomp/src/arch-s390-syscalls.c +46 -14
- data/ext/enterprise_script_service/libseccomp/src/arch-s390.c +142 -18
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x-syscalls.c +47 -15
- data/ext/enterprise_script_service/libseccomp/src/arch-s390x.c +143 -17
- data/ext/enterprise_script_service/libseccomp/src/arch-x32-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/arch-x86-syscalls.c +94 -12
- data/ext/enterprise_script_service/libseccomp/src/arch-x86.c +142 -19
- data/ext/enterprise_script_service/libseccomp/src/arch-x86_64-syscalls.c +33 -1
- data/ext/enterprise_script_service/libseccomp/src/db.c +1 -0
- data/ext/enterprise_script_service/libseccomp/src/gen_bpf.c +10 -3
- data/ext/enterprise_script_service/libseccomp/src/python/Makefile.am +4 -4
- data/ext/enterprise_script_service/libseccomp/src/python/seccomp.pyx +2 -0
- data/ext/enterprise_script_service/libseccomp/tests/.gitignore +1 -0
- data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.c +98 -0
- data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.py +61 -0
- data/ext/enterprise_script_service/libseccomp/tests/50-sim-hash_collision.tests +18 -0
- data/ext/enterprise_script_service/libseccomp/tests/Makefile.am +6 -3
- data/ext/enterprise_script_service/libseccomp/tools/Makefile.am +0 -2
- data/ext/enterprise_script_service/libseccomp/tools/check-syntax +1 -0
- data/ext/enterprise_script_service/libseccomp/tools/scmp_bpf_sim.c +2 -0
- data/ext/enterprise_script_service/mruby-mpdecimal/src/ext.c +1 -1
- data/ext/enterprise_script_service/mruby/.gitignore +2 -2
- data/ext/enterprise_script_service/mruby/CONTRIBUTING.md +10 -3
- data/ext/enterprise_script_service/mruby/Doxyfile +2408 -0
- data/ext/enterprise_script_service/mruby/README.md +21 -8
- data/ext/enterprise_script_service/mruby/Rakefile +4 -13
- data/ext/enterprise_script_service/mruby/appveyor_config.rb +1 -1
- data/ext/enterprise_script_service/mruby/build_config.rb +3 -3
- data/ext/enterprise_script_service/mruby/doc/guides/compile.md +42 -42
- data/ext/enterprise_script_service/mruby/doc/guides/debugger.md +1 -1
- data/ext/enterprise_script_service/mruby/doc/guides/mrbconf.md +45 -6
- data/ext/enterprise_script_service/mruby/doc/guides/mrbgems.md +5 -0
- data/ext/enterprise_script_service/mruby/doc/limitations.md +88 -38
- data/ext/enterprise_script_service/mruby/doc/mruby_logo_red_icon.png +0 -0
- data/ext/enterprise_script_service/mruby/doc/opcode.md +94 -94
- data/ext/enterprise_script_service/mruby/include/mrbconf.h +74 -11
- data/ext/enterprise_script_service/mruby/include/mruby.h +242 -146
- data/ext/enterprise_script_service/mruby/include/mruby/array.h +7 -7
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_nan.h +2 -9
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_no.h +11 -10
- data/ext/enterprise_script_service/mruby/include/mruby/boxing_word.h +104 -69
- data/ext/enterprise_script_service/mruby/include/mruby/class.h +7 -5
- data/ext/enterprise_script_service/mruby/include/mruby/common.h +9 -7
- data/ext/enterprise_script_service/mruby/include/mruby/compile.h +6 -6
- data/ext/enterprise_script_service/mruby/include/mruby/data.h +5 -5
- data/ext/enterprise_script_service/mruby/include/mruby/debug.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/dump.h +3 -7
- data/ext/enterprise_script_service/mruby/include/mruby/error.h +34 -6
- data/ext/enterprise_script_service/mruby/include/mruby/gc.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/hash.h +4 -11
- data/ext/enterprise_script_service/mruby/include/mruby/irep.h +16 -4
- data/ext/enterprise_script_service/mruby/include/mruby/istruct.h +4 -4
- data/ext/enterprise_script_service/mruby/include/mruby/khash.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/numeric.h +41 -7
- data/ext/enterprise_script_service/mruby/include/mruby/object.h +8 -9
- data/ext/enterprise_script_service/mruby/include/mruby/opcode.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/ops.h +6 -6
- data/ext/enterprise_script_service/mruby/include/mruby/proc.h +19 -13
- data/ext/enterprise_script_service/mruby/include/mruby/range.h +10 -4
- data/ext/enterprise_script_service/mruby/include/mruby/re.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/string.h +130 -107
- data/ext/enterprise_script_service/mruby/include/mruby/throw.h +2 -2
- data/ext/enterprise_script_service/mruby/include/mruby/value.h +137 -49
- data/ext/enterprise_script_service/mruby/include/mruby/variable.h +3 -5
- data/ext/enterprise_script_service/mruby/include/mruby/version.h +24 -10
- data/ext/enterprise_script_service/mruby/lib/mruby-core-ext.rb +2 -39
- data/ext/enterprise_script_service/mruby/lib/mruby/build.rb +32 -15
- data/ext/enterprise_script_service/mruby/lib/mruby/build/command.rb +63 -17
- data/ext/enterprise_script_service/mruby/lib/mruby/build/load_gems.rb +24 -10
- data/ext/enterprise_script_service/mruby/lib/mruby/gem.rb +11 -7
- data/ext/enterprise_script_service/mruby/lib/mruby/lockfile.rb +81 -0
- data/ext/enterprise_script_service/mruby/minirake +27 -11
- data/ext/enterprise_script_service/mruby/mrbgems/default.gembox +3 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrbgem.rake +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/mrblib/array.rb +47 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/src/array.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-array-ext/test/array.rb +50 -29
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/cmdprint.c +3 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdb.h +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-debugger/tools/mrdb/mrdbconf.h +4 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +28 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mrbc/tools/mrbc/mrbc.c +1 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/bintest/mruby.rb +75 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +134 -90
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-class-ext/src/class.c +7 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/codegen.c +69 -46
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/keywords +0 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/lex.def +51 -59
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-compiler/core/parse.y +430 -241
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrbgem.rake +10 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/mrblib/complex.rb +122 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/src/complex.c +249 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-complex/test/complex.rb +153 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb +19 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/test/enum_chain.rb +41 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/mrblib/enum.rb +30 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enum-ext/test/enum.rb +8 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrbgem.rake +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/mrblib/enumerator.rb +46 -14
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-enumerator/test/enumerator.rb +51 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-error/src/exception.c +10 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/src/eval.c +47 -44
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-eval/test/eval.rb +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-exit/src/mruby-exit.c +9 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/src/fiber.c +16 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-fiber/test/fiber.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/mrbgem.rake +0 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/mrblib/hash.rb +3 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-hash-ext/test/hash.rb +3 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/README.md +1 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/file.rb +0 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/io.rb +24 -38
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/mrblib/kernel.rb +16 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file.c +19 -18
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/file_test.c +5 -16
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/src/io.c +54 -42
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file.rb +24 -20
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/file_test.rb +4 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/io.rb +41 -35
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/test/mruby_io_test.c +9 -36
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/src/kernel.c +9 -27
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/test/kernel.rb +2 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-math/src/math.c +5 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/src/metaprog.c +39 -24
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-metaprog/test/metaprog.rb +48 -17
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/method.rb +0 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/src/method.c +134 -101
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/test/method.rb +9 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb +1 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/src/numeric_ext.c +17 -37
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +0 -8
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/mrbgem.rake +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/mrblib/object.rb +15 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/src/object.c +35 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-object-ext/test/nil.rb +4 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/src/mruby_objectspace.c +1 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-objectspace/test/objectspace.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/src/pack.c +28 -23
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/test/pack.rb +43 -49
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-print/mrblib/print.rb +3 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/src/proc.c +6 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-proc-ext/test/proc.rb +21 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.c +157 -124
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/test/random.rb +72 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/mrblib/range.rb +38 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/src/range.c +26 -11
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-range-ext/test/range.rb +111 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrbgem.rake +5 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/mrblib/rational.rb +117 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/src/rational.c +209 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-rational/test/rational.rb +308 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/README.md +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/src/socket.c +10 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/kernel.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sprintf/src/sprintf.c +22 -24
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrbgem.rake +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/mrblib/string.rb +8 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/src/string.c +116 -117
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/numeric.rb +29 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/range.rb +26 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-string-ext/test/string.rb +32 -50
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/mrblib/struct.rb +5 -7
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/src/struct.c +43 -57
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-struct/test/struct.rb +16 -11
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/src/symbol.c +2 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/driver.c +152 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/mrbgem.rake +4 -3
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-test/vformat.c +200 -0
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/include/mruby/time.h +2 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/src/time.c +199 -68
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-time/test/time.rb +81 -46
- data/ext/enterprise_script_service/mruby/mrblib/array.rb +14 -16
- data/ext/enterprise_script_service/mruby/mrblib/enum.rb +13 -9
- data/ext/enterprise_script_service/mruby/mrblib/hash.rb +5 -7
- data/ext/enterprise_script_service/mruby/mrblib/kernel.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrblib/numeric.rb +4 -4
- data/ext/enterprise_script_service/mruby/mrblib/range.rb +1 -1
- data/ext/enterprise_script_service/mruby/mrblib/string.rb +55 -112
- data/ext/enterprise_script_service/mruby/mruby-source.gemspec +1 -1
- data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby.dict +105 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby_fuzzer.options +5 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/config/mruby_proto_fuzzer.options +4 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_fuzzer.c +18 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/mruby_proto_fuzzer.cpp +44 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.cpp +455 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/proto_to_ruby.h +55 -0
- data/ext/enterprise_script_service/mruby/oss-fuzz/ruby.proto +201 -0
- data/ext/enterprise_script_service/mruby/src/array.c +95 -46
- data/ext/enterprise_script_service/mruby/src/backtrace.c +6 -8
- data/ext/enterprise_script_service/mruby/src/class.c +370 -278
- data/ext/enterprise_script_service/mruby/src/codedump.c +34 -34
- data/ext/enterprise_script_service/mruby/src/debug.c +2 -2
- data/ext/enterprise_script_service/mruby/src/dump.c +8 -6
- data/ext/enterprise_script_service/mruby/src/enum.c +1 -1
- data/ext/enterprise_script_service/mruby/src/error.c +157 -55
- data/ext/enterprise_script_service/mruby/src/etc.c +13 -46
- data/ext/enterprise_script_service/mruby/src/fmt_fp.c +2 -2
- data/ext/enterprise_script_service/mruby/src/gc.c +30 -11
- data/ext/enterprise_script_service/mruby/src/hash.c +23 -14
- data/ext/enterprise_script_service/mruby/src/kernel.c +16 -54
- data/ext/enterprise_script_service/mruby/src/load.c +40 -76
- data/ext/enterprise_script_service/mruby/src/numeric.c +164 -94
- data/ext/enterprise_script_service/mruby/src/object.c +16 -39
- data/ext/enterprise_script_service/mruby/src/pool.c +0 -2
- data/ext/enterprise_script_service/mruby/src/proc.c +47 -48
- data/ext/enterprise_script_service/mruby/src/range.c +22 -35
- data/ext/enterprise_script_service/mruby/src/state.c +5 -94
- data/ext/enterprise_script_service/mruby/src/string.c +874 -710
- data/ext/enterprise_script_service/mruby/src/symbol.c +73 -48
- data/ext/enterprise_script_service/mruby/src/variable.c +58 -38
- data/ext/enterprise_script_service/mruby/src/vm.c +133 -304
- data/ext/enterprise_script_service/mruby/tasks/doc.rake +48 -0
- data/ext/enterprise_script_service/mruby/tasks/toolchains/clang.rake +3 -4
- data/ext/enterprise_script_service/mruby/tasks/toolchains/gcc.rake +20 -19
- data/ext/enterprise_script_service/mruby/tasks/toolchains/visualcpp.rake +0 -12
- data/ext/enterprise_script_service/mruby/test/assert.rb +186 -25
- data/ext/enterprise_script_service/mruby/test/t/array.rb +34 -6
- data/ext/enterprise_script_service/mruby/test/t/class.rb +26 -0
- data/ext/enterprise_script_service/mruby/test/t/enumerable.rb +2 -2
- data/ext/enterprise_script_service/mruby/test/t/float.rb +17 -17
- data/ext/enterprise_script_service/mruby/test/t/hash.rb +2 -0
- data/ext/enterprise_script_service/mruby/test/t/integer.rb +14 -6
- data/ext/enterprise_script_service/mruby/test/t/kernel.rb +38 -19
- data/ext/enterprise_script_service/mruby/test/t/module.rb +87 -14
- data/ext/enterprise_script_service/mruby/test/t/numeric.rb +65 -23
- data/ext/enterprise_script_service/mruby/test/t/range.rb +4 -4
- data/ext/enterprise_script_service/mruby/test/t/string.rb +211 -49
- data/ext/enterprise_script_service/mruby/test/t/syntax.rb +19 -2
- data/ext/enterprise_script_service/mruby/test/t/vformat.rb +92 -0
- data/ext/enterprise_script_service/mruby/travis_config.rb +2 -2
- data/ext/enterprise_script_service/mruby_config.rb +10 -0
- data/ext/enterprise_script_service/mruby_engine.cpp +2 -2
- data/ext/enterprise_script_service/mruby_engine.gembox +1 -0
- data/ext/enterprise_script_service/msgpack/CHANGELOG.md +14 -0
- data/ext/enterprise_script_service/msgpack/Files.cmake +4 -0
- data/ext/enterprise_script_service/msgpack/README.md +1 -1
- data/ext/enterprise_script_service/msgpack/appveyor.yml +1 -1
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_msgpack_tuple.hpp.erb +1 -1
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_msgpack_tuple_decl.hpp.erb +1 -1
- data/ext/enterprise_script_service/msgpack/erb/v1/cpp03_zone.hpp.erb +3 -3
- data/ext/enterprise_script_service/msgpack/example/boost/asio_send_recv.cpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/cpp11/timespec.hpp +16 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/adaptor/wstring.hpp +15 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/object.h +2 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/pack_template.h +17 -9
- data/ext/enterprise_script_service/msgpack/include/msgpack/sysdep.h +27 -16
- data/ext/enterprise_script_service/msgpack/include/msgpack/type.hpp +2 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/unpack_template.h +5 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/array_ref.hpp +0 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/check_container_size.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/chrono.hpp +5 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/cpp11/timespec.hpp +140 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple.hpp +32 -32
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp03_msgpack_tuple_decl.hpp +32 -32
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple.hpp +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/detail/cpp11_msgpack_tuple_decl.hpp +10 -10
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/ext.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/fixint.hpp +5 -4
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/int.hpp +40 -13
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/int_decl.hpp +3 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/adaptor/wstring.hpp +121 -0
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp03_zone.hpp +3 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/detail/cpp11_zone.hpp +3 -3
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object.hpp +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/object_fwd.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/pack.hpp +40 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/unpack.hpp +11 -11
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/vrefbuffer.hpp +7 -7
- data/ext/enterprise_script_service/msgpack/include/msgpack/v1/zbuffer.hpp +5 -5
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/adaptor/int_decl.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/create_object_visitor.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/parse.hpp +13 -13
- data/ext/enterprise_script_service/msgpack/include/msgpack/v2/x3_parse.hpp +28 -26
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/adaptor/int_decl.hpp +1 -1
- data/ext/enterprise_script_service/msgpack/include/msgpack/v3/parse.hpp +13 -13
- data/ext/enterprise_script_service/msgpack/include/msgpack/version_master.h +2 -2
- data/ext/enterprise_script_service/msgpack/include/msgpack/zbuffer.h +6 -6
- data/ext/enterprise_script_service/msgpack/include/msgpack/zone.h +1 -1
- data/ext/enterprise_script_service/msgpack/src/objectc.c +83 -148
- data/ext/enterprise_script_service/msgpack/src/unpack.c +73 -47
- data/ext/enterprise_script_service/msgpack/test/CMakeLists.txt +1 -1
- data/ext/enterprise_script_service/msgpack/test/array_ref.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/boost_fusion.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/boost_optional.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/boost_string_ref.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/boost_string_view.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/boost_variant.cpp +15 -9
- data/ext/enterprise_script_service/msgpack/test/buffer.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/carray.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/cases.cpp +7 -1
- data/ext/enterprise_script_service/msgpack/test/convert.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/fixint.cpp +7 -1
- data/ext/enterprise_script_service/msgpack/test/fixint_c.cpp +6 -1
- data/ext/enterprise_script_service/msgpack/test/fuzz_unpack_pack_fuzzer_cpp11.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/iterator_cpp11.cpp +8 -2
- data/ext/enterprise_script_service/msgpack/test/json.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/limit.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_basic.cpp +128 -6
- data/ext/enterprise_script_service/msgpack/test/msgpack_c.cpp +7 -2
- data/ext/enterprise_script_service/msgpack/test/msgpack_container.cpp +20 -3
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp11.cpp +159 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_cpp17.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_stream.cpp +8 -3
- data/ext/enterprise_script_service/msgpack/test/msgpack_tuple.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_vref.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/msgpack_x3_parse.cpp +23 -18
- data/ext/enterprise_script_service/msgpack/test/object.cpp +77 -45
- data/ext/enterprise_script_service/msgpack/test/object_with_zone.cpp +28 -10
- data/ext/enterprise_script_service/msgpack/test/pack_unpack.cpp +25 -18
- data/ext/enterprise_script_service/msgpack/test/pack_unpack_c.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/raw.cpp +17 -12
- data/ext/enterprise_script_service/msgpack/test/reference.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/reference_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/reference_wrapper_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/shared_ptr_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/size_equal_only.cpp +6 -2
- data/ext/enterprise_script_service/msgpack/test/streaming.cpp +10 -3
- data/ext/enterprise_script_service/msgpack/test/streaming_c.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/unique_ptr_cpp11.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/user_class.cpp +5 -0
- data/ext/enterprise_script_service/msgpack/test/version.cpp +6 -0
- data/ext/enterprise_script_service/msgpack/test/visitor.cpp +7 -0
- data/ext/enterprise_script_service/msgpack/test/zone.cpp +6 -0
- data/lib/script_core/version.rb +1 -1
- data/lib/tasks/mruby/engine.gembox.example +1 -0
- data/lib/tasks/script_core.rake +21 -3
- data/spec/dummy/app/helpers/fields_helper.rb +2 -2
- data/spec/dummy/mruby/engine.gembox +1 -0
- data/spec/script_core_spec.rb +1 -1
- metadata +38 -22
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/.gitignore +0 -1
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/.travis.yml +0 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-io/run_test.rb +0 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-kernel-ext/mrblib/kernel.rb +0 -15
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-method/mrblib/unbound_method.rb +0 -9
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/.gitignore +0 -5
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/.travis.yml +0 -2
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/packtest.rb +0 -157
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-pack/run_test.rb +0 -26
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/mt19937ar.c +0 -224
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/mt19937ar.h +0 -80
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-random/src/random.h +0 -12
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.gitignore +0 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis.yml +0 -29
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/.travis_build_config.rb +0 -6
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-sleep/Rakefile +0 -29
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/.travis.yml +0 -4
- data/ext/enterprise_script_service/mruby/mrbgems/mruby-socket/run_test.rb +0 -28
@@ -1,3 +1,5 @@
|
|
1
|
+
autoload :Pathname, 'pathname'
|
2
|
+
|
1
3
|
class Object
|
2
4
|
class << self
|
3
5
|
def attr_block(*syms)
|
@@ -16,45 +18,6 @@ def relative_path_from(dir)
|
|
16
18
|
def relative_path
|
17
19
|
relative_path_from(Dir.pwd)
|
18
20
|
end
|
19
|
-
|
20
|
-
# Compatible with 1.9 on 1.8
|
21
|
-
unless (sprintf("%{a}", :a => 1) rescue false)
|
22
|
-
def %(params)
|
23
|
-
if params.is_a?(Hash)
|
24
|
-
str = self.clone
|
25
|
-
params.each do |k, v|
|
26
|
-
str.gsub!("%{#{k}}") { v }
|
27
|
-
end
|
28
|
-
str
|
29
|
-
else
|
30
|
-
if params.is_a?(Array)
|
31
|
-
sprintf(self, *params)
|
32
|
-
else
|
33
|
-
sprintf(self, params)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
class Symbol
|
41
|
-
# Compatible with 1.9 on 1.8
|
42
|
-
unless method_defined?(:to_proc)
|
43
|
-
def to_proc
|
44
|
-
proc { |obj, *args| obj.send(self, *args) }
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
module Enumerable
|
50
|
-
# Compatible with 1.9 on 1.8
|
51
|
-
unless method_defined?(:each_with_object)
|
52
|
-
def each_with_object(memo)
|
53
|
-
return to_enum :each_with_object, memo unless block_given?
|
54
|
-
each { |obj| yield obj, memo }
|
55
|
-
memo
|
56
|
-
end
|
57
|
-
end
|
58
21
|
end
|
59
22
|
|
60
23
|
$pp_show = true
|
@@ -1,7 +1,11 @@
|
|
1
|
+
require "mruby-core-ext"
|
1
2
|
require "mruby/build/load_gems"
|
2
3
|
require "mruby/build/command"
|
3
4
|
|
4
5
|
module MRuby
|
6
|
+
autoload :Gem, "mruby/gem"
|
7
|
+
autoload :Lockfile, "mruby/lockfile"
|
8
|
+
|
5
9
|
class << self
|
6
10
|
def targets
|
7
11
|
@targets ||= {}
|
@@ -22,7 +26,6 @@ class << self
|
|
22
26
|
|
23
27
|
def initialize(name, &block)
|
24
28
|
@name, @initializer = name.to_s, block
|
25
|
-
MRuby::Toolchain.toolchains ||= {}
|
26
29
|
MRuby::Toolchain.toolchains[@name] = self
|
27
30
|
end
|
28
31
|
|
@@ -30,13 +33,8 @@ def setup(conf,params={})
|
|
30
33
|
conf.instance_exec(conf, params, &@initializer)
|
31
34
|
end
|
32
35
|
|
33
|
-
|
34
|
-
Dir.glob("#{MRUBY_ROOT}/tasks/toolchains/*.rake").each do |file|
|
35
|
-
Kernel.load file
|
36
|
-
end
|
37
|
-
end
|
36
|
+
self.toolchains = {}
|
38
37
|
end
|
39
|
-
Toolchain.load
|
40
38
|
|
41
39
|
class Build
|
42
40
|
class << self
|
@@ -45,7 +43,7 @@ class << self
|
|
45
43
|
include Rake::DSL
|
46
44
|
include LoadGems
|
47
45
|
attr_accessor :name, :bins, :exts, :file_separator, :build_dir, :gem_clone_dir
|
48
|
-
attr_reader :libmruby_objs, :gems, :toolchains
|
46
|
+
attr_reader :libmruby_objs, :gems, :toolchains, :gem_dir_to_repo_url
|
49
47
|
attr_writer :enable_bintest, :enable_test
|
50
48
|
|
51
49
|
alias libmruby libmruby_objs
|
@@ -70,7 +68,7 @@ def initialize(name='host', build_dir=nil, &block)
|
|
70
68
|
|
71
69
|
@file_separator = '/'
|
72
70
|
@build_dir = "#{build_dir}/#{@name}"
|
73
|
-
@gem_clone_dir = "#{build_dir}/
|
71
|
+
@gem_clone_dir = "#{build_dir}/repos/#{@name}"
|
74
72
|
@cc = Command::Compiler.new(self, %w(.c))
|
75
73
|
@cxx = Command::Compiler.new(self, %w(.cc .cxx .cpp))
|
76
74
|
@objc = Command::Compiler.new(self, %w(.m))
|
@@ -90,7 +88,9 @@ def initialize(name='host', build_dir=nil, &block)
|
|
90
88
|
@cxx_abi_enabled = false
|
91
89
|
@enable_bintest = false
|
92
90
|
@enable_test = false
|
91
|
+
@enable_lock = true
|
93
92
|
@toolchains = []
|
93
|
+
@gem_dir_to_repo_url = {}
|
94
94
|
|
95
95
|
MRuby.targets[@name] = self
|
96
96
|
end
|
@@ -118,6 +118,14 @@ def enable_debug
|
|
118
118
|
@enable_debug = true
|
119
119
|
end
|
120
120
|
|
121
|
+
def disable_lock
|
122
|
+
@enable_lock = false
|
123
|
+
end
|
124
|
+
|
125
|
+
def lock_enabled?
|
126
|
+
Lockfile.enabled? && @enable_lock
|
127
|
+
end
|
128
|
+
|
121
129
|
def disable_cxx_exception
|
122
130
|
if @cxx_exception_enabled or @cxx_abi_enabled
|
123
131
|
raise "cxx_exception already enabled"
|
@@ -155,8 +163,8 @@ def enable_cxx_abi
|
|
155
163
|
compilers.each { |c|
|
156
164
|
c.defines += %w(MRB_ENABLE_CXX_EXCEPTION MRB_ENABLE_CXX_ABI)
|
157
165
|
c.flags << c.cxx_compile_flag
|
166
|
+
c.flags = c.flags.flatten - c.cxx_invalid_flags.flatten
|
158
167
|
}
|
159
|
-
compilers.each { |c| c.flags << c.cxx_compile_flag }
|
160
168
|
linker.command = cxx.command if toolchains.find { |v| v == 'gcc' }
|
161
169
|
@cxx_abi_enabled = true
|
162
170
|
end
|
@@ -196,10 +204,15 @@ def bintest_enabled?
|
|
196
204
|
end
|
197
205
|
|
198
206
|
def toolchain(name, params={})
|
199
|
-
|
200
|
-
|
207
|
+
name = name.to_s
|
208
|
+
tc = Toolchain.toolchains[name] || begin
|
209
|
+
path = "#{MRUBY_ROOT}/tasks/toolchains/#{name}.rake"
|
210
|
+
fail "Unknown #{name} toolchain" unless File.exist?(path)
|
211
|
+
load path
|
212
|
+
Toolchain.toolchains[name]
|
213
|
+
end
|
201
214
|
tc.setup(self, params)
|
202
|
-
@toolchains.unshift name
|
215
|
+
@toolchains.unshift name
|
203
216
|
end
|
204
217
|
|
205
218
|
def primary_toolchain
|
@@ -226,6 +239,10 @@ def build_mrbc_exec
|
|
226
239
|
gem :core => 'mruby-bin-mrbc'
|
227
240
|
end
|
228
241
|
|
242
|
+
def locks
|
243
|
+
Lockfile.build(@name)
|
244
|
+
end
|
245
|
+
|
229
246
|
def mrbcfile
|
230
247
|
return @mrbcfile if @mrbcfile
|
231
248
|
|
@@ -255,7 +272,7 @@ def filename(name)
|
|
255
272
|
if name.is_a?(Array)
|
256
273
|
name.flatten.map { |n| filename(n) }
|
257
274
|
else
|
258
|
-
|
275
|
+
name.gsub('/', file_separator)
|
259
276
|
end
|
260
277
|
end
|
261
278
|
|
@@ -263,7 +280,7 @@ def cygwin_filename(name)
|
|
263
280
|
if name.is_a?(Array)
|
264
281
|
name.flatten.map { |n| cygwin_filename(n) }
|
265
282
|
else
|
266
|
-
|
283
|
+
`cygpath -w "#{filename(name)}"`.strip
|
267
284
|
end
|
268
285
|
end
|
269
286
|
|
@@ -24,6 +24,14 @@ def clone
|
|
24
24
|
target
|
25
25
|
end
|
26
26
|
|
27
|
+
def shellquote(s)
|
28
|
+
if ENV['OS'] == 'Windows_NT'
|
29
|
+
"\"#{s}\""
|
30
|
+
else
|
31
|
+
"#{s}"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
27
35
|
NotFoundCommands = {}
|
28
36
|
|
29
37
|
private
|
@@ -41,7 +49,7 @@ def _run(options, params={})
|
|
41
49
|
class Command::Compiler < Command
|
42
50
|
attr_accessor :flags, :include_paths, :defines, :source_exts
|
43
51
|
attr_accessor :compile_options, :option_define, :option_include_path, :out_ext
|
44
|
-
attr_accessor :cxx_compile_flag, :cxx_exception_flag
|
52
|
+
attr_accessor :cxx_compile_flag, :cxx_exception_flag, :cxx_invalid_flags
|
45
53
|
|
46
54
|
def initialize(build, source_exts=[])
|
47
55
|
super(build)
|
@@ -53,6 +61,7 @@ def initialize(build, source_exts=[])
|
|
53
61
|
@option_include_path = '-I%s'
|
54
62
|
@option_define = '-D%s'
|
55
63
|
@compile_options = '%{flags} -o %{outfile} -c %{infile}'
|
64
|
+
@cxx_invalid_flags = []
|
56
65
|
end
|
57
66
|
|
58
67
|
alias header_search_paths include_paths
|
@@ -127,13 +136,40 @@ def define_rules(build_dir, source_dir='')
|
|
127
136
|
end
|
128
137
|
|
129
138
|
private
|
139
|
+
|
140
|
+
#
|
141
|
+
# === Example of +.d+ file
|
142
|
+
#
|
143
|
+
# ==== Without <tt>-MP</tt> compiler flag
|
144
|
+
#
|
145
|
+
# /build/host/src/array.o: \
|
146
|
+
# /src/array.c \
|
147
|
+
# /include/mruby/common.h \
|
148
|
+
# /include/mruby/value.h \
|
149
|
+
# /src/value_array.h
|
150
|
+
#
|
151
|
+
# ==== With <tt>-MP</tt> compiler flag
|
152
|
+
#
|
153
|
+
# /build/host/src/array.o: \
|
154
|
+
# /src/array.c \
|
155
|
+
# /include/mruby/common.h \
|
156
|
+
# /include/mruby/value.h \
|
157
|
+
# /src/value_array.h
|
158
|
+
#
|
159
|
+
# /include/mruby/common.h:
|
160
|
+
#
|
161
|
+
# /include/mruby/value.h:
|
162
|
+
#
|
163
|
+
# /src/value_array.h:
|
164
|
+
#
|
130
165
|
def get_dependencies(file)
|
131
166
|
file = file.ext('d') unless File.extname(file) == '.d'
|
167
|
+
deps = []
|
132
168
|
if File.exist?(file)
|
133
|
-
File.
|
134
|
-
|
135
|
-
|
136
|
-
|
169
|
+
File.foreach(file){|line| deps << $1 if /^ +(.*?)(?: *\\)?$/ =~ line}
|
170
|
+
deps.uniq!
|
171
|
+
end
|
172
|
+
deps << MRUBY_CONFIG
|
137
173
|
end
|
138
174
|
end
|
139
175
|
|
@@ -243,15 +279,16 @@ def run(outfile, infile)
|
|
243
279
|
|
244
280
|
class Command::Git < Command
|
245
281
|
attr_accessor :flags
|
246
|
-
attr_accessor :clone_options, :pull_options, :checkout_options
|
282
|
+
attr_accessor :clone_options, :pull_options, :checkout_options, :reset_options
|
247
283
|
|
248
284
|
def initialize(build)
|
249
285
|
super
|
250
286
|
@command = 'git'
|
251
287
|
@flags = %w[]
|
252
288
|
@clone_options = "clone %{flags} %{url} %{dir}"
|
253
|
-
@pull_options = "pull"
|
254
|
-
@checkout_options = "checkout %{checksum_hash}"
|
289
|
+
@pull_options = "--git-dir #{shellquote("%{repo_dir}/.git")} --work-tree #{shellquote("%{repo_dir}")} pull"
|
290
|
+
@checkout_options = "--git-dir #{shellquote("%{repo_dir}/.git")} --work-tree #{shellquote("%{repo_dir}")} checkout %{checksum_hash}"
|
291
|
+
@reset_options = "--git-dir #{shellquote("%{repo_dir}/.git")} --work-tree #{shellquote("%{repo_dir}")} reset %{checksum_hash}"
|
255
292
|
end
|
256
293
|
|
257
294
|
def run_clone(dir, url, _flags = [])
|
@@ -260,19 +297,26 @@ def run_clone(dir, url, _flags = [])
|
|
260
297
|
end
|
261
298
|
|
262
299
|
def run_pull(dir, url)
|
263
|
-
root = Dir.pwd
|
264
|
-
Dir.chdir dir
|
265
300
|
_pp "GIT PULL", url, dir.relative_path
|
266
|
-
_run pull_options
|
267
|
-
Dir.chdir root
|
301
|
+
_run pull_options, { :repo_dir => dir }
|
268
302
|
end
|
269
303
|
|
270
304
|
def run_checkout(dir, checksum_hash)
|
271
|
-
root = Dir.pwd
|
272
|
-
Dir.chdir dir
|
273
305
|
_pp "GIT CHECKOUT", checksum_hash
|
274
|
-
_run checkout_options, { :checksum_hash => checksum_hash }
|
275
|
-
|
306
|
+
_run checkout_options, { :checksum_hash => checksum_hash, :repo_dir => dir }
|
307
|
+
end
|
308
|
+
|
309
|
+
def run_reset_hard(dir, checksum_hash)
|
310
|
+
_pp "GIT RESET", checksum_hash
|
311
|
+
_run reset_options, { :checksum_hash => checksum_hash, :repo_dir => dir }
|
312
|
+
end
|
313
|
+
|
314
|
+
def commit_hash(dir)
|
315
|
+
`#{@command} --git-dir #{shellquote(dir +'/.git')} --work-tree #{shellquote(dir)} rev-parse --verify HEAD`.strip
|
316
|
+
end
|
317
|
+
|
318
|
+
def current_branch(dir)
|
319
|
+
`#{@command} --git-dir #{shellquote(dir + '/.git')} --work-tree #{shellquote(dir)} rev-parse --abbrev-ref HEAD`.strip
|
276
320
|
end
|
277
321
|
end
|
278
322
|
|
@@ -291,7 +335,9 @@ def run(out, infiles, funcname)
|
|
291
335
|
infiles.each do |f|
|
292
336
|
_pp "MRBC", f.relative_path, nil, :indent => 2
|
293
337
|
end
|
294
|
-
|
338
|
+
cmd = "#{filename @command} #{@compile_options % {:funcname => funcname}} #{filename(infiles).join(' ')}"
|
339
|
+
print("#{cmd}\n") if $verbose
|
340
|
+
IO.popen(cmd, 'r+') do |io|
|
295
341
|
out.puts io.read
|
296
342
|
end
|
297
343
|
# if mrbc execution fail, drop the file
|
@@ -13,13 +13,12 @@ def gembox(gemboxfile)
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def gem(gemdir, &block)
|
16
|
-
caller_dir = File.expand_path(File.dirname(/^(.*?):\d/.match(caller.first).to_a[1]))
|
17
|
-
|
18
16
|
if gemdir.is_a?(Hash)
|
19
17
|
gemdir = load_special_path_gem(gemdir)
|
20
18
|
elsif GemBox.path && gemdir.is_a?(String)
|
21
19
|
gemdir = File.expand_path(gemdir, File.dirname(GemBox.path))
|
22
20
|
else
|
21
|
+
caller_dir = File.expand_path(File.dirname(caller(1,1)[0][/^(.*?):\d/,1]))
|
23
22
|
gemdir = File.expand_path(gemdir, caller_dir)
|
24
23
|
end
|
25
24
|
|
@@ -83,11 +82,18 @@ def load_special_path_gem(params)
|
|
83
82
|
# by default the 'master' branch is used
|
84
83
|
branch = params[:branch] ? params[:branch] : 'master'
|
85
84
|
|
85
|
+
lock = locks[url] if lock_enabled?
|
86
|
+
|
86
87
|
if File.exist?(gemdir)
|
87
88
|
if $pull_gems
|
88
89
|
git.run_pull gemdir, url
|
89
|
-
|
90
|
-
gemdir
|
90
|
+
# Jump to the top of the branch
|
91
|
+
git.run_checkout(gemdir, branch)
|
92
|
+
git.run_reset_hard gemdir, "origin/#{branch}"
|
93
|
+
elsif params[:checksum_hash]
|
94
|
+
git.run_reset_hard(gemdir, params[:checksum_hash])
|
95
|
+
elsif lock
|
96
|
+
git.run_reset_hard(gemdir, lock['commit'])
|
91
97
|
end
|
92
98
|
else
|
93
99
|
options = [params[:options]] || []
|
@@ -96,14 +102,22 @@ def load_special_path_gem(params)
|
|
96
102
|
options << "--depth 1" unless params[:checksum_hash]
|
97
103
|
FileUtils.mkdir_p "#{gem_clone_dir}"
|
98
104
|
git.run_clone gemdir, url, options
|
99
|
-
end
|
100
105
|
|
101
|
-
if params[:checksum_hash]
|
102
106
|
# Jump to the specified commit
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
+
if params[:checksum_hash]
|
108
|
+
git.run_reset_hard gemdir, params[:checksum_hash]
|
109
|
+
elsif lock
|
110
|
+
git.run_reset_hard gemdir, lock['commit']
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
if lock_enabled?
|
115
|
+
@gem_dir_to_repo_url[gemdir] = url unless params[:path]
|
116
|
+
locks[url] = {
|
117
|
+
'url' => url,
|
118
|
+
'branch' => git.current_branch(gemdir),
|
119
|
+
'commit' => git.commit_hash(gemdir),
|
120
|
+
}
|
107
121
|
end
|
108
122
|
|
109
123
|
gemdir << "/#{params[:path]}" if params[:path]
|
@@ -1,7 +1,6 @@
|
|
1
|
-
require 'pathname'
|
2
1
|
require 'forwardable'
|
3
|
-
|
4
|
-
|
2
|
+
autoload :TSort, 'tsort'
|
3
|
+
autoload :Shellwords, 'shellwords'
|
5
4
|
|
6
5
|
module MRuby
|
7
6
|
module Gem
|
@@ -92,6 +91,9 @@ def setup
|
|
92
91
|
build.libmruby_objs << @objs
|
93
92
|
|
94
93
|
instance_eval(&@build_config_initializer) if @build_config_initializer
|
94
|
+
|
95
|
+
repo_url = build.gem_dir_to_repo_url[dir]
|
96
|
+
build.locks[repo_url]['version'] = version if repo_url
|
95
97
|
end
|
96
98
|
|
97
99
|
def setup_compilers
|
@@ -267,16 +269,18 @@ def <=>(other)
|
|
267
269
|
# ~> compare algorithm
|
268
270
|
#
|
269
271
|
# Example:
|
272
|
+
# ~> 2 means >= 2.0.0 and < 3.0.0
|
270
273
|
# ~> 2.2 means >= 2.2.0 and < 3.0.0
|
271
|
-
# ~> 2.2.
|
274
|
+
# ~> 2.2.2 means >= 2.2.2 and < 2.3.0
|
272
275
|
def twiddle_wakka_ok?(other)
|
273
276
|
gr_or_eql = (self <=> other) >= 0
|
274
|
-
|
275
|
-
gr_or_eql and
|
277
|
+
still_major_or_minor = (self <=> other.skip_major_or_minor) < 0
|
278
|
+
gr_or_eql and still_major_or_minor
|
276
279
|
end
|
277
280
|
|
278
|
-
def
|
281
|
+
def skip_major_or_minor
|
279
282
|
a = @ary.dup
|
283
|
+
a << 0 if a.size == 1 # ~> 2 can also be represented as ~> 2.0
|
280
284
|
a.slice!(-1)
|
281
285
|
a[-1] = a[-1].succ
|
282
286
|
a
|
@@ -0,0 +1,81 @@
|
|
1
|
+
autoload :YAML, 'yaml'
|
2
|
+
|
3
|
+
module MRuby
|
4
|
+
autoload :Source, 'mruby/source'
|
5
|
+
|
6
|
+
class Lockfile
|
7
|
+
class << self
|
8
|
+
def enable
|
9
|
+
@enabled = true
|
10
|
+
end
|
11
|
+
|
12
|
+
def disable
|
13
|
+
@enabled = false
|
14
|
+
end
|
15
|
+
|
16
|
+
def enabled?
|
17
|
+
@enabled
|
18
|
+
end
|
19
|
+
|
20
|
+
def build(target_name)
|
21
|
+
instance.build(target_name)
|
22
|
+
end
|
23
|
+
|
24
|
+
def write
|
25
|
+
instance.write if enabled?
|
26
|
+
end
|
27
|
+
|
28
|
+
def instance
|
29
|
+
@instance ||= new("#{MRUBY_CONFIG}.lock")
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def initialize(filename)
|
34
|
+
@filename = filename
|
35
|
+
end
|
36
|
+
|
37
|
+
def build(target_name)
|
38
|
+
read[target_name] ||= {}
|
39
|
+
end
|
40
|
+
|
41
|
+
def write
|
42
|
+
locks = {"mruby_version" => mruby}
|
43
|
+
locks["builds"] = @builds if @builds
|
44
|
+
File.write(@filename, YAML.dump(locks))
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
|
49
|
+
def read
|
50
|
+
@builds ||= if File.exist?(@filename)
|
51
|
+
YAML.load_file(@filename)["builds"] || {}
|
52
|
+
else
|
53
|
+
{}
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def shellquote(s)
|
58
|
+
if ENV['OS'] == 'Windows_NT'
|
59
|
+
"\"#{s}\""
|
60
|
+
else
|
61
|
+
"'#{s}'"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def mruby
|
66
|
+
mruby = {
|
67
|
+
'version' => MRuby::Source::MRUBY_VERSION,
|
68
|
+
'release_no' => MRuby::Source::MRUBY_RELEASE_NO,
|
69
|
+
}
|
70
|
+
|
71
|
+
git_dir = "#{MRUBY_ROOT}/.git"
|
72
|
+
if File.directory?(git_dir)
|
73
|
+
mruby['git_commit'] = `git --git-dir #{shellquote(git_dir)} --work-tree #{shellquote(MRUBY_ROOT)} rev-parse --verify HEAD`.strip
|
74
|
+
end
|
75
|
+
|
76
|
+
mruby
|
77
|
+
end
|
78
|
+
|
79
|
+
enable
|
80
|
+
end
|
81
|
+
end
|