diff options
author | Matthias Radestock <matthias@lshift.net> | 2008-09-08 16:19:01 +0100 |
---|---|---|
committer | Matthias Radestock <matthias@lshift.net> | 2008-09-08 16:19:01 +0100 |
commit | 136ea18d4c0465e24bf14c44013f154302225477 (patch) | |
tree | fdf9a5b6f11d9f6954623c909055735bcc99c31e | |
parent | 06a8be7b93aa617cf927a7c356913721a003971b (diff) | |
parent | 85cb7e0861062e9fe9b65939d87d0d056d308cdf (diff) | |
download | rabbitmq-server-136ea18d4c0465e24bf14c44013f154302225477.tar.gz |
merge bug19200 into default
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | codegen.py | 34 | ||||
-rw-r--r-- | packaging/debs/Debian/Makefile | 2 | ||||
-rwxr-xr-x | scripts/rabbitmq-multi | 2 | ||||
-rw-r--r-- | scripts/rabbitmq-multi.bat | 4 | ||||
-rwxr-xr-x | scripts/rabbitmq-server | 2 | ||||
-rw-r--r-- | scripts/rabbitmq-server.bat | 2 | ||||
-rwxr-xr-x | scripts/rabbitmqctl | 2 | ||||
-rw-r--r-- | scripts/rabbitmqctl.bat | 2 | ||||
-rw-r--r-- | src/rabbit_channel.erl | 2 | ||||
-rw-r--r-- | src/rabbit_multi.erl | 2 |
11 files changed, 38 insertions, 18 deletions
@@ -115,7 +115,7 @@ srcdist: distclean $(MAKE) VERSION=$(VERSION) GENERIC_STAGE_DIR=dist/$(TARBALL_NAME) generic_stage mkdir -p dist/$(TARBALL_NAME)/codegen - cp -r $(AMQP_CODEGEN_DIR)/* dist/$(TARBALL_NAME)/codegen/. + cp -r $(AMQP_CODEGEN_DIR)/* dist/$(TARBALL_NAME)/codegen/ cp codegen.py Makefile dist/$(TARBALL_NAME) cp -r scripts dist/$(TARBALL_NAME) @@ -45,6 +45,22 @@ erlangTypeMap = { 'timestamp': 'timestamp', } +# Coming up with a proper encoding of AMQP tables in JSON is too much +# hassle at this stage. Given that the only default value we are +# interested in is for the empty table, we only support that. +def convertTable(d): + if len(d) == 0: + return "[]" + else: raise 'Non-empty table defaults not supported', d + +erlangDefaultValueTypeConvMap = { + bool : lambda x: str(x).lower(), + str : lambda x: "<<\"" + x + "\">>", + int : lambda x: str(x), + float : lambda x: str(x), + dict: convertTable +} + def erlangize(s): s = s.replace('-', '_') s = s.replace(' ', '_') @@ -271,6 +287,15 @@ def genHrl(spec): def fieldNameList(fields): return ', '.join([erlangize(f.name) for f in fields]) + + def fieldNameListDefaults(fields): + def fillField(field): + result = erlangize(f.name) + if field.defaultvalue != None: + conv_fn = erlangDefaultValueTypeConvMap[type(field.defaultvalue)] + result += ' = ' + conv_fn(field.defaultvalue) + return result + return ', '.join([fillField(f) for f in fields]) methods = spec.allMethods() @@ -283,23 +308,18 @@ def genHrl(spec): print "%% Method field records." for m in methods: - print "-record(%s, {%s})." % (m.erlangName(), fieldNameList(m.arguments)) + print "-record(%s, {%s})." % (m.erlangName(), fieldNameListDefaults(m.arguments)) print "%% Class property records." for c in spec.allClasses(): print "-record('P_%s', {%s})." % (erlangize(c.name), fieldNameList(c.fields)) -#--------------------------------------------------------------------------- - def generateErl(specPath): genErl(AmqpSpec(specPath)) def generateHrl(specPath): genHrl(AmqpSpec(specPath)) - + if __name__ == "__main__": do_main(generateHrl, generateErl) - - - diff --git a/packaging/debs/Debian/Makefile b/packaging/debs/Debian/Makefile index aeb958a7..dd74c31e 100644 --- a/packaging/debs/Debian/Makefile +++ b/packaging/debs/Debian/Makefile @@ -18,7 +18,7 @@ package: clean make -C ../.. check_tools tar -zxvf $(TARBALL_DIR)/$(TARBALL) cp -r debian $(UNPACKED_DIR) - chmod -R a+x $(UNPACKED_DIR)/debian + chmod a+x $(UNPACKED_DIR)/debian/rules UNOFFICIAL_RELEASE=$(UNOFFICIAL_RELEASE) VERSION=$(VERSION) ./check-changelog.sh rabbitmq-server $(UNPACKED_DIR) cd $(UNPACKED_DIR); GNUPGHOME=$(GNUPG_PATH)/.gnupg dpkg-buildpackage -rfakeroot $(SIGNING) rm -rf $(UNPACKED_DIR) diff --git a/scripts/rabbitmq-multi b/scripts/rabbitmq-multi index 4709ca0b..5e4f4b38 100755 --- a/scripts/rabbitmq-multi +++ b/scripts/rabbitmq-multi @@ -36,7 +36,7 @@ SCRIPT_HOME=$(dirname $0) export NODENAME NODE_IP_ADDRESS NODE_PORT SCRIPT_HOME PIDS_FILE exec erl \ - -pa ../ebin \ + -pa "`dirname $0`/../ebin" \ -noinput \ -hidden \ ${ERL_ARGS} \ diff --git a/scripts/rabbitmq-multi.bat b/scripts/rabbitmq-multi.bat index 34e34ef9..819c99af 100644 --- a/scripts/rabbitmq-multi.bat +++ b/scripts/rabbitmq-multi.bat @@ -41,7 +41,7 @@ if "%NODE_PORT%"=="" ( )
set PIDS_FILE=%RABBITMQ_BASE%\rabbitmq.pids
-set SCRIPT_HOME=.
+set SCRIPT_HOME=%~dp0%
if "%ERLANG_HOME%"=="" (
set ERLANG_HOME=%~dp0%..\..\..
@@ -59,5 +59,5 @@ if not exist "%ERLANG_HOME%\bin\erl.exe" ( exit /B
)
-"%ERLANG_HOME%\bin\erl.exe" -pa ../ebin -noinput -hidden -sname rabbitmq_multi -s rabbit_multi %START_ARGS% -extra %*
+"%ERLANG_HOME%\bin\erl.exe" -pa "%~dp0..\ebin" -noinput -hidden -sname rabbitmq_multi -s rabbit_multi %START_ARGS% -extra %*
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server index a44dd6da..e5fb93cc 100755 --- a/scripts/rabbitmq-server +++ b/scripts/rabbitmq-server @@ -51,7 +51,7 @@ else fi erl \ - -pa $(dirname $0)/../ebin \ + -pa "`dirname $0`/../ebin" \ ${START_RABBIT} \ -sname ${NODENAME} \ -boot start_sasl \ diff --git a/scripts/rabbitmq-server.bat b/scripts/rabbitmq-server.bat index 46f4bd92..8b06c0b4 100644 --- a/scripts/rabbitmq-server.bat +++ b/scripts/rabbitmq-server.bat @@ -92,7 +92,7 @@ set CLUSTER_CONFIG=-rabbit cluster_config \""%CLUSTER_CONFIG_FILE:\=/%"\" set MNESIA_DIR=%MNESIA_BASE%/%NODENAME%-mnesia
"%ERLANG_HOME%\bin\erl.exe" ^
--pa ..\ebin ^
+-pa "%~dp0..\ebin" ^
-noinput ^
-boot start_sasl ^
-sname %NODENAME% ^
diff --git a/scripts/rabbitmqctl b/scripts/rabbitmqctl index eb359dad..419dcf63 100755 --- a/scripts/rabbitmqctl +++ b/scripts/rabbitmqctl @@ -31,7 +31,7 @@ ERL_ARGS= MNESIA_DIR=${MNESIA_BASE}/${NODENAME} exec erl \ - -pa ../ebin \ + -pa "`dirname $0`/../ebin" \ -noinput \ -hidden \ ${ERL_ARGS} \ diff --git a/scripts/rabbitmqctl.bat b/scripts/rabbitmqctl.bat index b34adebe..1ee7e825 100644 --- a/scripts/rabbitmqctl.bat +++ b/scripts/rabbitmqctl.bat @@ -40,4 +40,4 @@ if not exist "%ERLANG_HOME%\bin\erl.exe" ( exit /B
)
-"%ERLANG_HOME%\bin\erl.exe" -pa ..\ebin -noinput -hidden -sname rabbitmqctl -s rabbit_control -extra %*
+"%ERLANG_HOME%\bin\erl.exe" -pa "%~dp0..\ebin" -noinput -hidden -sname rabbitmqctl -s rabbit_control -extra %*
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index caa63b58..5cc07aed 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -531,7 +531,7 @@ handle_method(#'queue.declare'{queue = QueueNameBin, <<>> -> rabbit_misc:binstring_guid("amq.gen"); Other -> check_name('queue', Other) end, - QueueName = rabbit_misc:r(VHostPath, queue, ActualNameBin), + QueueName = rabbit_misc:r(VHostPath, queue, ActualNameBin), Finish(rabbit_amqqueue:declare(QueueName, Durable, AutoDelete, Args)); Other -> Other diff --git a/src/rabbit_multi.erl b/src/rabbit_multi.erl index cd92f1ac..bde69336 100644 --- a/src/rabbit_multi.erl +++ b/src/rabbit_multi.erl @@ -233,7 +233,7 @@ stop_node({Node, Pid}, RpcTimeout) -> rpc:call(Node, rabbit, stop_and_halt, []), case kill_wait(Pid, RpcTimeout, false) of false -> kill_wait(Pid, RpcTimeout, true); - true -> ok + true -> ok end, io:format("OK~n", []). |