+2008-06-18 Badlop <badlop@process-one.net>
+
+ * src/ejabberd.app: The ejabberd version number is defined in the
+ OTP application resource file, in the key 'vsn' (EJAB-657)
+ * src/ejabberd.hrl: The macro VERSION now consults the ejabberd
+ application key vsn
+ * src/configure.erl: Load the ejabberd application description
+ * doc/Makefile: Read ejabberd version from ejabberd.app vsn
+ * doc/api/Makefile: Likewise
+
2008-06-18 Christophe Romain <christophe.romain@process-one.net>
* src/mod_pubsub/mod_pubsub.erl: get_default bugfix (EJAB-656)
@echo "Press any key to continue"
@read foo
@echo "% ejabberd version (automatically generated)." > version.tex
- @echo "\newcommand{\version}{"`sed '/VERSION/!d;s/\(.*\)"\(.*\)"\(.*\)/\2/' ../src/ejabberd.hrl`"}" >> version.tex
+ @echo "\newcommand{\version}{"`sed '/vsn/!d;s/\(.*\)"\(.*\)"\(.*\)/\2/' ../src/ejabberd.app`"}" >> version.tex
@echo -n "% Contributed modules (automatically generated)." > contributed_modules.tex
@echo -e "$(CONTRIBUTED_MODULES)" >> contributed_modules.tex
APPNAME = ejabberd
-VSN = SVN
+VSN = $(shell sed '/vsn/!d;s/\(.*\)"\(.*\)"\(.*\)/\2/' ../../src/ejabberd.app)
DOCDIR=.
SRCDIR=../../src
EVersion = "ERLANG_VERSION = " ++ erlang:system_info(version) ++ "\n",
EIDirS = "EI_DIR = " ++ code:lib_dir("erl_interface") ++ "\n",
RootDirS = "ERLANG_DIR = " ++ code:root_dir() ++ "\n",
+ %% Load the ejabberd application description so that ?VERSION can read the vsn key
+ application:load(ejabberd),
Version = "EJABBERD_VERSION = " ++ ?VERSION ++ "\n",
ExpatDir = "EXPAT_DIR = c:\\sdk\\Expat-2.0.0\n",
OpenSSLDir = "OPENSSL_DIR = c:\\sdk\\OpenSSL\n",
{application, ejabberd,
[{description, "ejabberd"},
- {vsn, "2.0.0"},
+ {vsn, "2.0.x"},
{modules, [acl,
adhoc,
configure,
%%%
%%%----------------------------------------------------------------------
--define(VERSION, "2.0.x").
+%% This macro returns a string of the ejabberd version running, e.g. "2.3.4"
+%% If the ejabberd application description isn't loaded, returns atom: undefined
+-define(VERSION, element(2, application:get_key(ejabberd,vsn))).
-define(MYHOSTS, ejabberd_config:get_global_option(hosts)).
-define(MYNAME, hd(ejabberd_config:get_global_option(hosts))).