mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Add pluggable versioning by mruby-version
This commit is contained in:
@@ -58,4 +58,7 @@ MRuby::GemBox.new do |conf|
|
||||
|
||||
# Generate mruby command
|
||||
conf.gem :core => "mruby-bin-mruby"
|
||||
|
||||
# Use mruby verison
|
||||
conf.gem :core => "mruby-version"
|
||||
end
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
MRuby::Gem::Specification.new('mruby-version') do |spec|
|
||||
spec.license = 'MIT'
|
||||
spec.author = 'mruby developers'
|
||||
end
|
||||
@@ -0,0 +1,5 @@
|
||||
module Kernel
|
||||
def show_version
|
||||
"mruby " + MRUBY_VERSION + " (" + MRUBY_RELEASE_DATE + ")\n"
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,16 @@
|
||||
#include "mruby.h"
|
||||
#include "mruby/variable.h"
|
||||
#include "version.h"
|
||||
|
||||
void
|
||||
mrb_mruby_version_gem_init(mrb_state* mrb)
|
||||
{
|
||||
mrb_define_global_const(mrb, "MRUBY_VERSION", mrb_str_new_cstr(mrb, MRUBY_VERSION));
|
||||
mrb_define_global_const(mrb, "MRUBY_RELEASE_DATE", mrb_str_new_cstr(mrb, MRUBY_RELEASE_DATE));
|
||||
}
|
||||
|
||||
void
|
||||
mrb_mruby_version_gem_final(mrb_state* mrb)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#define MRUBY_VERSION "v1.0.0"
|
||||
#define MRUBY_PATCHLEVEL 0
|
||||
#define MRUBY_REVISION 0
|
||||
|
||||
#define MRUBY_RELEASE_DATE "2014-01-31"
|
||||
#define MRUBY_RELEASE_YEAR 2014
|
||||
#define MRUBY_RELEASE_MONTH 1
|
||||
#define MRUBY_RELEASE_DAY 31
|
||||
|
||||
+7
-1
@@ -6,6 +6,7 @@
|
||||
|
||||
#include "mruby.h"
|
||||
#include "mruby/string.h"
|
||||
#include "mruby/variable.h"
|
||||
|
||||
static void
|
||||
printstr(mrb_state *mrb, mrb_value obj)
|
||||
@@ -56,7 +57,12 @@ mrb_show_version(mrb_state *mrb)
|
||||
static const char version_msg[] = "mruby - Embeddable Ruby Copyright (c) 2010-2014 mruby developers\n";
|
||||
mrb_value msg;
|
||||
|
||||
msg = mrb_str_new(mrb, version_msg, sizeof(version_msg) - 1);
|
||||
if (mrb_const_defined(mrb, mrb_obj_value(mrb->object_class), mrb_intern_lit(mrb, "MRUBY_VERSION"))) {
|
||||
msg = mrb_funcall(mrb, mrb_obj_value(mrb->kernel_module), "show_version", 0);
|
||||
}
|
||||
else {
|
||||
msg = mrb_str_new(mrb, version_msg, sizeof(version_msg) - 1);
|
||||
}
|
||||
printstr(mrb, msg);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user