some notes for improved windows support #69

Closed
dch opened this Issue Feb 2, 2012 · 1 comment

Projects

None yet

2 participants

@dch
dch commented Feb 2, 2012

atm this is a bunch of raw notes as I went along

environment

  • Windows 7 x64
  • installed MSVC SDK 7.1 x64 version - not needed until Boss has NIFs
  • OpenSSL1 and R15B2 installed, added to path. I put the two *eay32.dll directly into R15B/bin folder.
  • installed Mozilla build tools3
  • run mingw from c:\mozilla-build\start-msvc10.bat
  • add R15B/bin to bash path also

Make

  • make all hangs on riakc
  • the rest seem fine
  • make boss is sufficient for our neeeds

rebar

  • copying rebar to rebar.cmd and editing first line as @echo off & path=%path%;%~dp0; & escript.exe "%~dpn0.cmd" %* & goto :eof allows rebar to work directly in a windows shell, assuming erlang is in the path
  • this should allow making a windows version of init.sh that actually works
  • init.sh should skip +K true, maybe use +A 4 instead
  • use werl for dev, run erl as service for prod

After all of this, the rest runs fine - like a BOSS!

packaging

If I have time tomorrow or friday I'll turn this into some sort of sfx exe for ChicaogoBoss.

transcript of a working install using the above.

    Setting SDK environment relative to c:\Program Files\Microsoft SDKs\Windows\v7.1\.
    Targeting Windows 7 x86 Release

    c:\ChicagoBoss>path=%path%;c:\erlang\bin;

    c:\ChicagoBoss>copy openssl\bin\*eay* c:\erlang\bin;
    \openssl\bin\libeay32.dll
    \openssl\bin\ssleay32.dll
            2 file(s) copied.

    c:\ChicagoBoss>\mozilla-build\start-msvc10.bat
    "Mozilla tools directory: c:\mozilla-build\"
    Visual C++ 9 Express directory: c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\
    Visual C++ 10 Express directory: c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\
    Windows SDK directory: c:\Program Files\Microsoft SDKs\Windows\v7.1\
    Windows SDK version: 7.1
    Setting environment for using Microsoft Visual Studio 2010 x86 tools.
    ERROR: Cannot determine the location of the VS Common Tools folder.
    Mozilla build environment: MSVC version 10.

    maas@SENDAI ~
    $ pwd
    /c/Users/maas

    maas@SENDAI ~
    $ cd /c/ChicagoBoss/

    maas@SENDAI /c/ChicagoBoss
    $ alias dir='ls --color -FGHa'

    maas@SENDAI /c/ChicagoBoss
    $ tar xzf /z/Downloads/ChicagoBoss-0.7.0.tar.gz

    maas@SENDAI /c/ChicagoBoss
    $ dir
    ./  ../  ChicagoBoss-0.7.0/

    maas@SENDAI /c/ChicagoBoss
    $ cd ChicagoBoss-0.7.0/

    maas@SENDAI /c/ChicagoBoss/ChicagoBoss-0.7.0
    $ dir
    ./   .gitignore  Makefile   README_DATABASE  deps/     ebin/     priv/   rebar.config  skel.template
    ../  LICENSE     README.md  README_UPGRADE   doc-src/  include/  rebar*  skel/         src/

    maas@SENDAI /c/ChicagoBoss/ChicagoBoss-0.7.0
    $ export PATH=$PATH:/c/erlang/bin

    maas@SENDAI /c/ChicagoBoss/ChicagoBoss-0.7.0
    $ where erl
    c:\erlang\bin\erl.exe

    maas@SENDAI /c/ChicagoBoss/ChicagoBoss-0.7.0
    $ where escript
    c:\erlang\bin\escript.exe

    maas@SENDAI /c/ChicagoBoss/ChicagoBoss-0.7.0
    $ make
    ==> aleppo (get-deps)
    ==> bson (get-deps)
    ==> epgsql (get-deps)
    ==> gen_server2 (get-deps)
    ==> erlmc (get-deps)
    ==> erlydtl (get-deps)
    ==> gen_smtp (get-deps)
    ==> medici (get-deps)
    ==> misultin (get-deps)
    ==> mochiweb (get-deps)
    ==> mongodb (get-deps)
    ==> mysql (get-deps)
    ==> protobuffs (get-deps)
    ==> riakc (get-deps)
    ==> riakpool (get-deps)
    ==> ChicagoBoss-0.7.0 (get-deps)
    ==> aleppo (compile)
    src/aleppo_parser.yrl: Warning: conflicts: 1 shift/reduce, 0 reduce/reduce
    Compiled src/aleppo_parser.yrl
    Compiled src/aleppo.erl
    Compiled src/aleppo_parser.erl
    ==> bson (compile)
    Compiled src/bson.erl
    Compiled src/bson_tests.erl
    Compiled src/bson_binary.erl
    ==> epgsql (compile)
    Compiled src/pgsql_types.erl
    Compiled src/pgsql_idatetime.erl
    Compiled src/pgsql_sock.erl
    Compiled src/pgsql_fdatetime.erl
    Compiled src/pgsql_binary.erl
    Compiled src/pgsql.erl
    Compiled src/pgsql_connection.erl
    ==> gen_server2 (compile)
    Compiled src/gen_server2.erl
    Compiled src/priority_queue.erl
    ==> erlmc (compile)
    Compiled src/erlmc_conn.erl
    Compiled src/erlmc.erl
    ==> erlydtl (compile)
    Compiled src/erlydtl_parser.yrl
    Compiled src/i18n/sources_parser.erl
    Compiled src/i18n/po_generator.erl
    Compiled src/i18n/po_scanner.erl
    Compiled src/i18n/i18n_manager.erl
    Compiled src/i18n/blocktrans_parser.erl
    Compiled src/i18n/blocktrans_scanner.erl
    Compiled src/filter_lib/erlydtl_dateformat.erl
    Compiled src/filter_lib/erlydtl_slice.erl
    Compiled src/erlydtl_runtime.erl
    Compiled src/erlydtl_i18n.erl
    Compiled src/erlydtl_scanner.erl
    Compiled src/erlydtl_deps.erl
    Compiled src/erlydtl_filters.erl
    Compiled src/erlydtl.erl
    Compiled src/erlydtl_compiler.erl
    Compiled src/erlydtl_parser.erl
    ==> gen_smtp (compile)
    Compiled src/gen_smtp_server_session.erl
    Compiled src/smtp_util.erl
    Compiled src/smtp_server_example.erl
    Compiled src/socket.erl
    Compiled src/gen_smtp_server.erl
    Compiled src/binstr.erl
    Compiled src/gen_smtp_client.erl
    Compiled src/mimemail.erl
    ==> medici (compile)
    Compiled src/medici_sup.erl
    Compiled src/medici_port_sup.erl
    Compiled src/principe_table.erl
    Compiled src/medici_port_srv.erl
    Compiled src/principe.erl
    Compiled src/medici_native_conn.erl
    Compiled src/medici_native_controller.erl
    Compiled src/medici_conn_sup.erl
    Compiled src/medici_app.erl
    Compiled src/medici.erl
    Compiled src/medici_controller.erl
    Compiled src/medici_conn.erl
    ==> misultin (compile)
    Compiled src/misultin_websocket.erl
    Compiled src/misultin_websocket_draft-hybi-17.erl
    Compiled src/misultin_ws.erl
    Compiled src/misultin_websocket_draft-hybi-10_17.erl
    Compiled src/misultin_websocket_draft-hybi-10.erl
    Compiled src/misultin_websocket_draft-hixie-76.erl
    Compiled src/misultin_websocket_draft-hixie-68.erl
    Compiled src/misultin_socket.erl
    Compiled src/misultin_sessions.erl
    Compiled src/misultin_server.erl
    Compiled src/misultin_utility.erl
    Compiled src/misultin_req.erl
    Compiled src/misultin_acceptors_sup.erl
    Compiled src/misultin_cookies.erl
    Compiled src/misultin_acceptor.erl
    Compiled src/misultin.erl
    Compiled src/misultin_http.erl
    ==> mochiweb (compile)
    Compiled src/reloader.erl
    Compiled src/mochiweb_socket.erl
    Compiled src/mochiweb_response.erl
    Compiled src/mochiweb_request_tests.erl
    Compiled src/mochiweb_socket_server.erl
    Compiled src/mochiweb_util.erl
    Compiled src/mochiweb_multipart.erl
    Compiled src/mochiweb_io.erl
    Compiled src/mochiweb_http.erl
    Compiled src/mochiweb_mime.erl
    Compiled src/mochiweb_request.erl
    Compiled src/mochiweb_echo.erl
    Compiled src/mochiweb_headers.erl
    Compiled src/mochiweb_cover.erl
    Compiled src/mochiweb_cookies.erl
    Compiled src/mochiweb_acceptor.erl
    Compiled src/mochiweb.erl
    Compiled src/mochiweb_html.erl
    Compiled src/mochitemp.erl
    Compiled src/mochiutf8.erl
    Compiled src/mochilogfile2.erl
    Compiled src/mochilists.erl
    Compiled src/mochinum.erl
    Compiled src/mochijson.erl
    Compiled src/mochihex.erl
    Compiled src/mochijson2.erl
    Compiled src/mochifmt_std.erl
    Compiled src/mochifmt_records.erl
    Compiled src/mochiglobal.erl
    Compiled src/mochifmt.erl
    Compiled src/mochiweb_charref.erl
    ==> mongodb (compile)
    Compiled src/resource_pool.erl
    Compiled src/mvar.erl
    Compiled src/mongo_query.erl
    Compiled src/mongo_replset.erl
    Compiled src/mongo_cursor.erl
    Compiled src/mongo_protocol.erl
    Compiled src/mongodb_app.erl
    Compiled src/mongo_connect.erl
    Compiled src/mongodb_tests.erl
    Compiled src/mongo.erl
    ==> mysql (compile)
    Compiled src/mysql_recv.erl
    Compiled src/mysql_auth.erl
    src/mysql.erl:510: Warning: variable 'Reason' is unused
    Compiled src/mysql.erl
    Compiled src/mysql_conn.erl
    ==> protobuffs (compile)
    Compiled src/protobuffs_scanner.xrl
    Compiled src/protobuffs_parser.yrl
    Compiled src/protobuffs_parser.erl
    Compiled src/protobuffs_compile.erl
    Compiled src/protobuffs.erl
    Compiled src/protobuffs_scanner.erl
    Compiled src/pokemon_pb.erl
    ==> riakc (compile)
    Compiling src/riakclient.proto

    =INFO REPORT==== 2-Feb-2012::00:02:04 ===
    Writing header file to "riakclient_pb.hrl"

    =INFO REPORT==== 2-Feb-2012::00:02:04 ===
    Writing beam file to "riakclient_pb.beam"
    make: *** [all] Error 1

    maas@SENDAI /c/ChicagoBoss/ChicagoBoss-0.7.0
    $ make
    ==> aleppo (get-deps)
    ==> bson (get-deps)
    ==> epgsql (get-deps)
    ==> gen_server2 (get-deps)
    ==> erlmc (get-deps)
    ==> erlydtl (get-deps)
    ==> gen_smtp (get-deps)
    ==> medici (get-deps)
    ==> misultin (get-deps)
    ==> mochiweb (get-deps)
    ==> mongodb (get-deps)
    ==> mysql (get-deps)
    ==> protobuffs (get-deps)
    ==> riakc (get-deps)
    ==> riakpool (get-deps)
    ==> ChicagoBoss-0.7.0 (get-deps)
    ==> aleppo (compile)
    ==> bson (compile)
    ==> epgsql (compile)
    ==> gen_server2 (compile)
    ==> erlmc (compile)
    ==> erlydtl (compile)
    ==> gen_smtp (compile)
    ==> medici (compile)
    ==> misultin (compile)
    ==> mochiweb (compile)
    ==> mongodb (compile)
    ==> mysql (compile)
    ==> protobuffs (compile)
    ==> riakc (compile)
    Compiling src/riakclient.proto

    =INFO REPORT==== 2-Feb-2012::00:06:05 ===
    Writing header file to "riakclient_pb.hrl"

    =INFO REPORT==== 2-Feb-2012::00:06:05 ===
    Writing beam file to "riakclient_pb.beam"
    make: *** [all] Interrupt


    maas@SENDAI /c/ChicagoBoss/ChicagoBoss-0.7.0
    $ less Makefile

    PREFIX:=../
    DEST:=$(PREFIX)$(PROJECT)
    ERL=erl
    REBAR=./rebar
    DB_CONFIG_DIR=src/boss/db_adapters/test_config
    SESSION_CONFIG_DIR=src/boss/session_adapters/test_config

    .PHONY: deps get-deps

    all:
            @$(REBAR) get-deps
            @$(REBAR) compile
            $(ERL) -pa ebin -pa deps/*/ebin \
                    -eval 'erlydtl:compile("src/boss/boss_html_error_template.dtl", boss_html_error_template, [{out_dir, "ebin"}])' \
                    -eval 'erlydtl:compile("src/boss/boss_html_doc_template.dtl", boss_html_doc_template, [{out_dir, "ebin"}])' \
                    -noshell -s init stop

    boss:
            @$(REBAR) compile skip_deps=true
             $(ERL) -pa ebin -pa deps/*/ebin \
                    -eval 'erlydtl:compile("src/boss/boss_html_error_template.dtl", boss_html_error_template, [{out_dir, "ebin"}])' \
                    -eval 'erlydtl:compile("src/boss/boss_html_doc_template.dtl", boss_html_doc_template, [{out_dir, "ebin"}])' \
                    -noshell -s init stop

    clean:
            @$(REBAR) clean

    edoc:
            $(ERL) -pa ebin -run boss_doc run -noshell -s init stop
    #$(ERL) -pa ebin -noshell -eval "boss_doc:run()" -s init stop

    app:
            @$(REBAR) create template=skel dest=$(DEST) src=$(PWD) appid=$(PROJECT) skip_deps=true

    get-deps:
            @$(REBAR) get-deps

    deps:
            @$(REBAR) compile

    test:
            @$(REBAR) skip_deps=true eunit

    test_db_mock:
            $(ERL) -pa ebin -run boss_db_test start -config $(DB_CONFIG_DIR)/mock -noshell

    test_db_mysql:
            $(ERL) -pa ebin -run boss_db_test start -config $(DB_CONFIG_DIR)/mysql -noshell

    test_db_pgsql:
            $(ERL) -pa ebin -run boss_db_test start -config $(DB_CONFIG_DIR)/pgsql -noshell

    test_db_mongodb:
            echo "db.boss_db_test_models.remove();"|mongo boss_test
            $(ERL) -pa ebin -run boss_db_test start -config $(DB_CONFIG_DIR)/mongodb -noshell

    test_session_cache:
            $(ERL) -pa ebin -run boss_session_test start -config $(SESSION_CONFIG_DIR)/cache -noshell

    test_session_mnesia:
            $(ERL) -pa ebin -run boss_session_test start -config $(SESSION_CONFIG_DIR)/mnesia -noshell

    test_session_mock:
            $(ERL) -pa ebin -run boss_session_test start -config $(SESSION_CONFIG_DIR)/mock -noshell

    test_db_riak:
            $(ERL) -pa ebin -pa deps/*/ebin -run boss_db_test start -config $(DB_CONFIG_DIR)/riak -noshell

    rebarize:
            @mv $(APPDIR)/*.app.src $(APPDIR)/src
            @mkdir $(APPDIR)/priv/rebar
            @cp skel/priv/rebar/boss_plugin.erl $(APPDIR)/priv/rebar/boss_plugin.erl
            @cp skel/init.sh $(APPDIR)
            @chmod +x $(APPDIR)/init.sh
            @cp skel/init-dev.sh $(APPDIR)
            @chmod +x $(APPDIR)/init-dev.sh
            @cp skel/rebar $(APPDIR)
            @chmod +x $(APPDIR)/rebar
            @cp skel/rebar.config $(APPDIR)
            @mkdir $(APPDIR)/src/test/functional
            @find $(APPDIR)/src/test -maxdepth 1 -name "*.erl" -exec mv {} $(APPDIR)/src/test/functional \;
            @mkdir $(APPDIR)/src/test/eunit
            @echo $(APPDIR) rebar-boss-ified
            @echo WARNING: your boss.config have not been changed, you need to set:
            @echo - in boss app section:
            @echo ---- {path, \"$(PWD)\"}
            @echo ---- {vm_cookie, \"my_secret_cookie\"} % Optional, defaults to "abc123"
            @echo - for each app defined:
            @echo ---- {path, \"../path/to/app\"}
            @echo INFO: you can safely remove the Makefile and start* files from your app dir
            @echo INFO: after the boss.config change, you can run:
            @echo cd $(APPDIR)
            @echo ./rebar boss \# Shows all boss-rebar commands
            @echo ./init.sh    \# Shows the new boot system commands


    maas@SENDAI /c/ChicagoBoss/ChicagoBoss-0.7.0
    $ make boss
    ==> ChicagoBoss-0.7.0 (compile)
    src/smart_exceptions/smart_exceptions.erl:182: Warning: variable 'Lf' is unused
    Compiled src/smart_exceptions/smart_exceptions.erl
    Compiled src/boss/boss_db_pt.erl
    Compiled src/simple_bridge/simple_bridge_response.erl
    Compiled src/simple_bridge/simple_bridge_request.erl
    Compiled src/boss/boss_session_adapter.erl
    Compiled src/boss/boss_db_adapter.erl
    Compiled src/boss/boss_cache_adapter.erl
    src/smart_exceptions/mapform0.erl:66: Warning: variable 'F' is unused
    Compiled src/smart_exceptions/mapform0.erl
    Compiled src/simple_bridge/simple_bridge_response_wrapper.erl
    Compiled src/simple_bridge/simple_bridge_request_wrapper.erl
    Compiled src/simple_bridge/simple_bridge.erl
    Compiled src/simple_bridge/mochiweb_bridge_modules/mochiweb_response_bridge.erl
    Compiled src/simple_bridge/misultin_bridge_modules/misultin_response_bridge.erl
    Compiled src/simple_bridge/mochiweb_bridge_modules/mochiweb_request_bridge.erl
    Compiled src/simple_bridge/simple_bridge_multipart.erl
    Compiled src/boss/session_adapters/boss_session_adapter_mock.erl
    Compiled src/simple_bridge/misultin_bridge_modules/misultin_request_bridge.erl
    Compiled src/boss/session_adapters/boss_session_adapter_mnesia.erl
    Compiled src/boss/session_adapters/boss_session_adapter_cache.erl
    Compiled src/boss/mq_adapters/boss_mq_adapter_bmq.erl
    Compiled src/boss/db_adapters/test_models/boss_db_test_parent_model.erl
    Compiled src/boss/db_adapters/test_models/boss_db_test_model.erl
    Compiled src/boss/db_adapters/boss_db_adapter_tyrant.erl
    Compiled src/boss/db_adapters/boss_db_adapter_riak.erl
    Compiled src/boss/inflector.erl
    Compiled src/boss/db_adapters/boss_db_adapter_pgsql.erl
    Compiled src/boss/db_adapters/boss_db_adapter_mock.erl
    Compiled src/boss/db_adapters/boss_db_adapter_mysql.erl
    Compiled src/boss/db_adapters/boss_db_adapter_mongodb.erl
    Compiled src/boss/cache_adapters/boss_cache_adapter_memcached_bin.erl
    Compiled src/boss/db_adapters/boss_db_adapter_mnesia.erl
    Compiled src/boss/boss_web.erl
    Compiled src/boss/boss_web_test.erl
    Compiled src/boss/boss_translator_sup.erl
    Compiled src/boss/boss_translator_controller.erl
    Compiled src/boss/boss_translator.erl
    Compiled src/boss/boss_test.erl
    Compiled src/boss/boss_sup.erl
    Compiled src/boss/boss_smtp_server.erl
    Compiled src/boss/boss_session_test.erl
    Compiled src/boss/boss_session_test_app.erl
    Compiled src/boss/boss_session_sup.erl
    Compiled src/boss/boss_web_controller.erl
    Compiled src/boss/boss_session_mock_sup.erl
    Compiled src/boss/boss_session_controller.erl
    Compiled src/boss/boss_session.erl
    Compiled src/boss/boss_router_sup.erl
    Compiled src/boss/boss_session_mock_controller.erl
    Compiled src/boss/boss_router.erl
    Compiled src/boss/boss_record_lib.erl
    Compiled src/boss/boss_router_controller.erl
    Compiled src/boss/boss_record.erl
    Compiled src/boss/boss_pq.erl
    Compiled src/boss/boss_news_sup.erl
    Compiled src/boss/boss_news.erl
    Compiled src/boss/boss_record_compiler.erl
    Compiled src/boss/boss_mq_sup.erl
    Compiled src/boss/boss_mq_controller.erl
    Compiled src/boss/boss_mq.erl
    Compiled src/boss/boss_mail_sup.erl
    Compiled src/boss/boss_mail_driver_smtp.erl
    Compiled src/boss/boss_news_controller.erl
    Compiled src/boss/boss_mail_controller.erl
    Compiled src/boss/boss_mail_driver_mock.erl
    Compiled src/boss/boss_mail.erl
    Compiled src/boss/boss_load.erl
    Compiled src/boss/boss_lang.erl
    Compiled src/boss/boss_json.erl
    Compiled src/boss/boss_flash.erl
    Compiled src/boss/boss_erlydtl_tags.erl
    Compiled src/boss/boss_env.erl
    Compiled src/boss/boss_files.erl
    Compiled src/boss/boss_db_test.erl
    Compiled src/boss/boss_db_sup.erl
    Compiled src/boss/boss_db_test_app.erl
    Compiled src/boss/boss_doc.erl
    Compiled src/boss/boss_db_mock_sup.erl
    Compiled src/boss/boss_db_cache.erl
    Compiled src/boss/boss_db_mock_controller.erl
    Compiled src/boss/boss_db_controller.erl
    Compiled src/boss/boss_controller_lib.erl
    Compiled src/boss/boss_controller_compiler.erl
    Compiled src/boss/boss_db.erl
    Compiled src/boss/boss_cache_sup.erl
    Compiled src/boss/boss_cache_controller.erl
    Compiled src/boss/boss_cache.erl
    Compiled src/boss/boss_compiler.erl
    Compiled src/boss/boss_app.erl
    Compiled src/boss/boss.erl
    Compiled src/bmq/bmq_sup.erl
    Compiled src/boss/boss_assert.erl
    Compiled src/bmq/bmq_channel_sup.erl
    Compiled src/bmq/bmq_controller.erl
    Compiled src/bmq/bmq.erl
    Compiled src/bmq/bmq_channel_controller.erl
    erl -pa ebin -pa deps/*/ebin \
                    -eval 'erlydtl:compile("src/boss/boss_html_error_template.dtl", boss_html_error_template, [{out_dir, "ebin"}])' \
                    -eval 'erlydtl:compile("src/boss/boss_html_doc_template.dtl", boss_html_doc_template, [{out_dir, "ebin"}])' \
                    -noshell -s init stop

    maas@SENDAI /c/ChicagoBoss/ChicagoBoss-0.7.0
    $ make test
    ==> ChicagoBoss-0.7.0 (eunit)
    src/smart_exceptions/smart_exceptions.erl:182: Warning: variable 'Lf' is unused
    Compiled src/smart_exceptions/smart_exceptions.erl
    Compiled src/boss/boss_db_pt.erl
    Compiled src/simple_bridge/simple_bridge_response.erl
    Compiled src/simple_bridge/simple_bridge_request.erl
    Compiled src/boss/boss_session_adapter.erl
    Compiled src/boss/boss_db_adapter.erl
    Compiled src/boss/boss_cache_adapter.erl
    src/smart_exceptions/mapform0.erl:66: Warning: variable 'F' is unused
    Compiled src/smart_exceptions/mapform0.erl
    Compiled src/simple_bridge/simple_bridge_response_wrapper.erl
    Compiled src/simple_bridge/simple_bridge.erl
    Compiled src/simple_bridge/simple_bridge_request_wrapper.erl
    Compiled src/simple_bridge/mochiweb_bridge_modules/mochiweb_response_bridge.erl
    Compiled src/simple_bridge/misultin_bridge_modules/misultin_response_bridge.erl
    Compiled src/simple_bridge/mochiweb_bridge_modules/mochiweb_request_bridge.erl
    Compiled src/simple_bridge/simple_bridge_multipart.erl
    Compiled src/simple_bridge/misultin_bridge_modules/misultin_request_bridge.erl
    Compiled src/boss/session_adapters/boss_session_adapter_mock.erl
    Compiled src/boss/session_adapters/boss_session_adapter_cache.erl
    Compiled src/boss/session_adapters/boss_session_adapter_mnesia.erl
    Compiled src/boss/mq_adapters/boss_mq_adapter_bmq.erl
    Compiled src/boss/db_adapters/test_models/boss_db_test_parent_model.erl
    Compiled src/boss/db_adapters/test_models/boss_db_test_model.erl
    Compiled src/boss/inflector.erl
    Compiled src/boss/db_adapters/boss_db_adapter_tyrant.erl
    Compiled src/boss/db_adapters/boss_db_adapter_riak.erl
    Compiled src/boss/db_adapters/boss_db_adapter_pgsql.erl
    Compiled src/boss/db_adapters/boss_db_adapter_mock.erl
    Compiled src/boss/db_adapters/boss_db_adapter_mysql.erl
    Compiled src/boss/db_adapters/boss_db_adapter_mongodb.erl
    Compiled src/boss/cache_adapters/boss_cache_adapter_memcached_bin.erl
    Compiled src/boss/db_adapters/boss_db_adapter_mnesia.erl
    Compiled src/boss/boss_web.erl
    Compiled src/boss/boss_web_test.erl
    Compiled src/boss/boss_translator_sup.erl
    Compiled src/boss/boss_translator_controller.erl
    Compiled src/boss/boss_translator.erl
    Compiled src/boss/boss_test.erl
    Compiled src/boss/boss_sup.erl
    Compiled src/boss/boss_smtp_server.erl
    Compiled src/boss/boss_session_test_app.erl
    Compiled src/boss/boss_session_test.erl
    Compiled src/boss/boss_web_controller.erl
    Compiled src/boss/boss_session_sup.erl
    Compiled src/boss/boss_session_mock_sup.erl
    Compiled src/boss/boss_session.erl
    Compiled src/boss/boss_session_controller.erl
    Compiled src/boss/boss_session_mock_controller.erl
    Compiled src/boss/boss_router_sup.erl
    Compiled src/boss/boss_router.erl
    Compiled src/boss/boss_record_lib.erl
    Compiled src/boss/boss_router_controller.erl
    Compiled src/boss/boss_pq.erl
    Compiled src/boss/boss_record.erl
    Compiled src/boss/boss_news_sup.erl
    Compiled src/boss/boss_record_compiler.erl
    Compiled src/boss/boss_mq_sup.erl
    Compiled src/boss/boss_news.erl
    Compiled src/boss/boss_mq_controller.erl
    Compiled src/boss/boss_mq.erl
    Compiled src/boss/boss_mail_sup.erl
    Compiled src/boss/boss_mail_driver_smtp.erl
    Compiled src/boss/boss_news_controller.erl
    Compiled src/boss/boss_mail_driver_mock.erl
    Compiled src/boss/boss_mail_controller.erl
    Compiled src/boss/boss_mail.erl
    Compiled src/boss/boss_json.erl
    Compiled src/boss/boss_flash.erl
    Compiled src/boss/boss_load.erl
    Compiled src/boss/boss_lang.erl
    Compiled src/boss/boss_env.erl
    Compiled src/boss/boss_files.erl
    Compiled src/boss/boss_erlydtl_tags.erl
    Compiled src/boss/boss_db_test.erl
    Compiled src/boss/boss_db_sup.erl
    Compiled src/boss/boss_db_mock_sup.erl
    Compiled src/boss/boss_doc.erl
    Compiled src/boss/boss_db_test_app.erl
    Compiled src/boss/boss_db_mock_controller.erl
    Compiled src/boss/boss_db_cache.erl
    Compiled src/boss/boss_db_controller.erl
    Compiled src/boss/boss_controller_lib.erl
    Compiled src/boss/boss_controller_compiler.erl
    Compiled src/boss/boss_db.erl
    Compiled src/boss/boss_cache_sup.erl
    Compiled src/boss/boss_cache_controller.erl
    Compiled src/boss/boss_cache.erl
    Compiled src/boss/boss_compiler.erl
    Compiled src/boss/boss_app.erl
    Compiled src/boss/boss.erl
    Compiled src/boss/boss_assert.erl
    Compiled src/bmq/bmq_sup.erl
    Compiled src/bmq/bmq_channel_sup.erl
    Compiled src/bmq/bmq_controller.erl
    Compiled src/bmq/bmq.erl
    Compiled src/bmq/bmq_channel_controller.erl
      All 15 tests passed.

    maas@SENDAI /c/ChicagoBoss/ChicagoBoss-0.7.0
    $ make app PROJECT=cb_tutorial
    ==> ChicagoBoss-0.7.0 (create)
    Writing ../cb_tutorial/start-server.bat
    Writing ../cb_tutorial/src/cb_tutorial.app.src
    Writing ../cb_tutorial/boss.config
    Writing ../cb_tutorial/src/mail/cb_tutorial_outgoing_mail_controller.erl
    Writing ../cb_tutorial/src/mail/cb_tutorial_incoming_mail_controller.erl
    Writing ../cb_tutorial/priv/init/cb_tutorial_01_news.erl
    Writing ../cb_tutorial/priv/static/chicago-boss.png
    Writing ../cb_tutorial/priv/static/favicon.ico
    Writing ../cb_tutorial/priv/cb_tutorial.routes
    Writing ../cb_tutorial/priv/rebar/boss_plugin.erl
    Writing ../cb_tutorial/init.sh
    Writing ../cb_tutorial/init-dev.sh
    Writing ../cb_tutorial/rebar
    Writing ../cb_tutorial/rebar.config

    maas@SENDAI /c/ChicagoBoss/ChicagoBoss-0.7.0
    $ cd ../cb_tutorial/

    maas@SENDAI /c/ChicagoBoss/cb_tutorial
    $ dir
    ./  ../  boss.config  ebin/  include/  init-dev.sh*  init.sh*  log/  priv/  rebar*  rebar.config  src/  start-server.bat*

    maas@SENDAI /c/ChicagoBoss/cb_tutorial
    $ ./init-dev.sh

    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {local,sasl_safe_sup}
                 started: [{pid,<0.39.0>},
                           {name,alarm_handler},
                           {mfargs,{alarm_handler,start_link,[]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]

    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {local,sasl_safe_sup}
                 started: [{pid,<0.40.0>},
                           {name,overload},
                           {mfargs,{overload,start_link,[]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]

    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {local,sasl_sup}
                 started: [{pid,<0.38.0>},
                           {name,sasl_safe_sup},
                           {mfargs,
                               {supervisor,start_link,
                                   [{local,sasl_safe_sup},sasl,safe]}},
                           {restart_type,permanent},
                           {shutdown,infinity},
                           {child_type,supervisor}]
    Eshell V5.9  (abort with ^G)

    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {local,sasl_sup}
                 started: [{pid,<0.41.0>},
                           {name,release_handler},
                           {mfargs,{release_handler,start_link,[]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
             application: sasl
              started_at: cb_tutorial@sendai
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {local,kernel_safe_sup}
                 started: [{pid,<0.46.0>},
                           {name,timer_server},
                           {mfargs,{timer,start_link,[]}},
                           {restart_type,permanent},
                           {shutdown,1000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {local,crypto_sup}
                 started: [{pid,<0.51.0>},
                           {name,crypto_server},
                           {mfargs,{crypto_server,start_link,[]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
             application: crypto
              started_at: cb_tutorial@sendai
    (cb_tutorial@sendai)1>
    =INFO REPORT==== 2-Feb-2012::00:28:45 ===
    Starting Boss in development mode....
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {global,boss_db_mock_sup}
                 started: [{pid,<0.63.0>},
                           {name,db_mock_controller},
                           {mfargs,{boss_db_mock_controller,start_link,[[]]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {local,boss_db_sup}
                 started: [{pid,<0.61.0>},
                           {name,db_controller},
                           {mfargs,
                               {boss_db_controller,start_link,
                                   [[{adapter,boss_db_adapter_mock},
                                     {cache_enable,false},
                                     {shards,[]},
                                     {db_host,"localhost"},
                                     {db_port,1978}]]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {global,boss_session_mock_sup}
                 started: [{pid,<0.67.0>},
                           {name,session_mock_controller},
                           {mfargs,
                               {boss_session_mock_controller,start_link,
                                   [[{adapter,boss_session_adapter_mock},
                                     {session_exp_time,525600},
                                     {session_key,"_boss_session"}]]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {global,boss_session_sup}
                 started: [{pid,<0.65.0>},
                           {name,session_controller},
                           {mfargs,
                               {boss_session_controller,start_link,
                                   [[{adapter,boss_session_adapter_mock},
                                     {session_exp_time,525600},
                                     {session_key,"_boss_session"}]]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =INFO REPORT==== 2-Feb-2012::00:28:45 ===
    Starting master services on cb_tutorial@sendai
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {<0.70.0>,bmq_sup}
                 started: [{pid,<0.71.0>},
                           {name,mq_controller},
                           {mfargs,
                               {bmq_controller,start_link,
                                   [[{adapter,boss_mq_adapter_bmq}]]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {global,boss_mq_sup}
                 started: [{pid,<0.69.0>},
                           {name,mq_controller},
                           {mfargs,
                               {boss_mq_controller,start_link,
                                   [[{adapter,boss_mq_adapter_bmq}]]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {global,boss_news_sup}
                 started: [{pid,<0.73.0>},
                           {name,news_controller},
                           {mfargs,{boss_news_controller,start_link,[[]]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {local,inet_gethost_native_sup}
                 started: [{pid,<0.77.0>},{mfa,{inet_gethost_native,init,[[]]}}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {local,kernel_safe_sup}
                 started: [{pid,<0.76.0>},
                           {name,inet_gethost_native_sup},
                           {mfargs,{inet_gethost_native,start_link,[]}},
                           {restart_type,temporary},
                           {shutdown,1000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {local,boss_mail_sup}
                 started: [{pid,<0.75.0>},
                           {name,mail_controller},
                           {mfargs,
                               {boss_mail_controller,start_link,
                                   [[{driver,boss_mail_driver_smtp}]]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {local,misultin}
                 started: [{pid,<0.79.0>},
                           {name,server},
                           {mfargs,{misultin_server,start_link,[{4096}]}},
                           {restart_type,permanent},
                           {shutdown,60000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {local,misultin}
                 started: [{pid,<0.80.0>},
                           {name,sessions},
                           {mfargs,
                               {misultin_sessions,start_link,[{<0.78.0>,600}]}},
                           {restart_type,permanent},
                           {shutdown,60000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {<0.81.0>,misultin_acceptors_sup}
                 started: [{pid,<0.82.0>},
                           {name,{acceptor,1}},
                           {mfargs,
                               {misultin_acceptor,start_link,
                                   [<0.78.0>,#Port<0.3344>,8001,30000,http,
                                    {custom_opts,4194304,2000,false,
                                        #Fun<boss_web_controller.1.28399071>,true,
                                        undefined,true,
                                        ['draft-hybi-17','draft-hybi-10',
                                         'draft-hixie-76'],
                                        undefined,false,false,true,false}]}},
                           {restart_type,permanent},
                           {shutdown,brutal_kill},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {<0.81.0>,misultin_acceptors_sup}
                 started: [{pid,<0.83.0>},
                           {name,{acceptor,2}},
                           {mfargs,
                               {misultin_acceptor,start_link,
                                   [<0.78.0>,#Port<0.3344>,8001,30000,http,
                                    {custom_opts,4194304,2000,false,
                                        #Fun<boss_web_controller.1.28399071>,true,
                                        undefined,true,
                                        ['draft-hybi-17','draft-hybi-10',
                                         'draft-hixie-76'],
                                        undefined,false,false,true,false}]}},
                           {restart_type,permanent},
                           {shutdown,brutal_kill},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {<0.81.0>,misultin_acceptors_sup}
                 started: [{pid,<0.84.0>},
                           {name,{acceptor,3}},
                           {mfargs,
                               {misultin_acceptor,start_link,
                                   [<0.78.0>,#Port<0.3344>,8001,30000,http,
                                    {custom_opts,4194304,2000,false,
                                        #Fun<boss_web_controller.1.28399071>,true,
                                        undefined,true,
                                        ['draft-hybi-17','draft-hybi-10',
                                         'draft-hixie-76'],
                                        undefined,false,false,true,false}]}},
                           {restart_type,permanent},
                           {shutdown,brutal_kill},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:45 ===
              supervisor: {<0.81.0>,misultin_acceptors_sup}
                 started: [{pid,<0.85.0>},
                           {name,{acceptor,4}},
                           {mfargs,
                               {misultin_acceptor,start_link,
                                   [<0.78.0>,#Port<0.3344>,8001,30000,http,
                                    {custom_opts,4194304,2000,false,
                                        #Fun<boss_web_controller.1.28399071>,true,
                                        undefined,true,
                                        ['draft-hybi-17','draft-hybi-10',
                                         'draft-hixie-76'],
                                        undefined,false,false,true,false}]}},
                           {restart_type,permanent},
                           {shutdown,brutal_kill},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:46 ===
              supervisor: {<0.81.0>,misultin_acceptors_sup}
                 started: [{pid,<0.86.0>},
                           {name,{acceptor,5}},
                           {mfargs,
                               {misultin_acceptor,start_link,
                                   [<0.78.0>,#Port<0.3344>,8001,30000,http,
                                    {custom_opts,4194304,2000,false,
                                        #Fun<boss_web_controller.1.28399071>,true,
                                        undefined,true,
                                        ['draft-hybi-17','draft-hybi-10',
                                         'draft-hixie-76'],
                                        undefined,false,false,true,false}]}},
                           {restart_type,permanent},
                           {shutdown,brutal_kill},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:46 ===
              supervisor: {<0.81.0>,misultin_acceptors_sup}
                 started: [{pid,<0.87.0>},
                           {name,{acceptor,6}},
                           {mfargs,
                               {misultin_acceptor,start_link,
                                   [<0.78.0>,#Port<0.3344>,8001,30000,http,
                                    {custom_opts,4194304,2000,false,
                                        #Fun<boss_web_controller.1.28399071>,true,
                                        undefined,true,
                                        ['draft-hybi-17','draft-hybi-10',
                                         'draft-hixie-76'],
                                        undefined,false,false,true,false}]}},
                           {restart_type,permanent},
                           {shutdown,brutal_kill},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:46 ===
              supervisor: {<0.81.0>,misultin_acceptors_sup}
                 started: [{pid,<0.88.0>},
                           {name,{acceptor,7}},
                           {mfargs,
                               {misultin_acceptor,start_link,
                                   [<0.78.0>,#Port<0.3344>,8001,30000,http,
                                    {custom_opts,4194304,2000,false,
                                        #Fun<boss_web_controller.1.28399071>,true,
                                        undefined,true,
                                        ['draft-hybi-17','draft-hybi-10',
                                         'draft-hixie-76'],
                                        undefined,false,false,true,false}]}},
                           {restart_type,permanent},
                           {shutdown,brutal_kill},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:46 ===
              supervisor: {<0.81.0>,misultin_acceptors_sup}
                 started: [{pid,<0.89.0>},
                           {name,{acceptor,8}},
                           {mfargs,
                               {misultin_acceptor,start_link,
                                   [<0.78.0>,#Port<0.3344>,8001,30000,http,
                                    {custom_opts,4194304,2000,false,
                                        #Fun<boss_web_controller.1.28399071>,true,
                                        undefined,true,
                                        ['draft-hybi-17','draft-hybi-10',
                                         'draft-hixie-76'],
                                        undefined,false,false,true,false}]}},
                           {restart_type,permanent},
                           {shutdown,brutal_kill},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:46 ===
              supervisor: {<0.81.0>,misultin_acceptors_sup}
                 started: [{pid,<0.90.0>},
                           {name,{acceptor,9}},
                           {mfargs,
                               {misultin_acceptor,start_link,
                                   [<0.78.0>,#Port<0.3344>,8001,30000,http,
                                    {custom_opts,4194304,2000,false,
                                        #Fun<boss_web_controller.1.28399071>,true,
                                        undefined,true,
                                        ['draft-hybi-17','draft-hybi-10',
                                         'draft-hixie-76'],
                                        undefined,false,false,true,false}]}},
                           {restart_type,permanent},
                           {shutdown,brutal_kill},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:46 ===
              supervisor: {<0.81.0>,misultin_acceptors_sup}
                 started: [{pid,<0.91.0>},
                           {name,{acceptor,10}},
                           {mfargs,
                               {misultin_acceptor,start_link,
                                   [<0.78.0>,#Port<0.3344>,8001,30000,http,
                                    {custom_opts,4194304,2000,false,
                                        #Fun<boss_web_controller.1.28399071>,true,
                                        undefined,true,
                                        ['draft-hybi-17','draft-hybi-10',
                                         'draft-hixie-76'],
                                        undefined,false,false,true,false}]}},
                           {restart_type,permanent},
                           {shutdown,brutal_kill},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:46 ===
              supervisor: {local,misultin}
                 started: [{pid,<0.81.0>},
                           {name,acceptors_sup},
                           {mfargs,
                               {misultin_acceptors_sup,start_link,
                                   [<0.78.0>,8001,
                                    [binary,
                                     {packet,raw},
                                     {ip,{0,0,0,0}},
                                     {reuseaddr,true},
                                     {active,false},
                                     {backlog,128},
                                     inet],
                                    10,30000,http,
                                    {custom_opts,4194304,2000,false,
                                        #Fun<boss_web_controller.1.28399071>,true,
                                        undefined,true,
                                        ['draft-hybi-17','draft-hybi-10',
                                         'draft-hixie-76'],
                                        undefined,false,false,true,false}]}},
                           {restart_type,permanent},
                           {shutdown,infinity},
                           {child_type,supervisor}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:46 ===
              supervisor: {local,boss_sup}
                 started: [{pid,<0.56.0>},
                           {name,boss_web_controller},
                           {mfargs,
                               {boss_web_controller,start_link,
                                   [[{ip,"0.0.0.0"},{port,8001}]]}},
                           {restart_type,permanent},
                           {shutdown,5000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:46 ===
             application: boss
              started_at: cb_tutorial@sendai
    (cb_tutorial@sendai)1>
    =INFO REPORT==== 2-Feb-2012::00:28:46 ===
    Loading routes from "c:/ChicagoBoss/cb_tutorial/priv/cb_tutorial.routes" ....
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:46 ===
              supervisor: {<0.92.0>,boss_router_sup}
                 started: [{pid,<0.93.0>},
                           {name,router_controller},
                           {mfargs,
                               {boss_router_controller,start_link,
                                   [[{application,cb_tutorial},
                                     {controllers,[]}]]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1>
    =PROGRESS REPORT==== 2-Feb-2012::00:28:46 ===
              supervisor: {<0.95.0>,boss_translator_sup}
                 started: [{pid,<0.96.0>},
                           {name,translator_controller},
                           {mfargs,
                               {boss_translator_controller,start_link,
                                   [[{application,cb_tutorial}]]}},
                           {restart_type,permanent},
                           {shutdown,2000},
                           {child_type,worker}]
    (cb_tutorial@sendai)1> q().
    ok
    (cb_tutorial@sendai)2>
@zkessin
Contributor
zkessin commented Jan 22, 2014

Not going to fix, I don't have a windows build env, would welcome future pull requests

@zkessin zkessin closed this Jan 22, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment