Hey Graeme, >From what I see, it would look like that *should* work, but the whole app/priv dir stuff is always finicky.
That said, the undef with the rebar_config:get_global is rather puzzling. It hints that perhaps the version of rebar you're running is out of date. What do you get from: rebar --version On Thu, Jul 3, 2014 at 8:05 PM, Graeme Defty <[email protected]> wrote: > Hi Jesse, > > In the past I have never been able to compile the app in dev, though on the > production server it was fine. Now I realise this was almost certainly tied > up with the naming conventions. I run 4 instances on the production server, > but in each case the app name is reflected in the name of the directory. > > Previously trying to compile in dev gave an error in init. This time we seem > to have moved a little further through the process because it took a little > longer and gave the following: > > graeme@graeme-IdeaPad-S410p:~/projects/egolf/dev/prodfix$ ./rebar boss > c=compile==> prodfix (boss) > 07:52:03.419 [info] Application lager started on node nonode@nohost > ERROR: boss failed while processing /home/graeme/projects/egolf/dev/prodfix: > {'EXIT', > {undef, > [{rebar_config,get_global, > [{config,"/home/graeme/projects/egolf/dev/prodfix", > [{plugin_dir,["priv/rebar"]}, > {plugins,[boss_plugin]}, > {eunit_compile_opts,[{src_dirs,["src/test"]}]}, > {edoc_opts,[no_packages,private]}, > local]}, > verbose,0], > []}, > {boss_rebar,compile,4, > [{file,"../ChicagoBoss-0.8.12/priv/rebar/boss_rebar.erl"}, > {line,100}]}, > > {boss_plugin,boss,2,[{file,"priv/rebar/boss_plugin.erl"},{line,33}]}, > {rebar_core,run_modules,4,[]}, > {rebar_core,execute,4,[]}, > {rebar_core,process_dir0,6,[]}, > {rebar_core,process_commands,2,[]}, > {rebar,main,1,[]}]}} > graeme@graeme-IdeaPad-S410p:~/projects/egolf/dev/prodfix$ > > > The application section of my boss.config file looks ike this: > > {egolf, [ > {path,"../prodfix"}, > {base_url, "/"} > ]} > > so I should be able to pick up my path through > > AppDir = boss_env:get_env(App, path, ""), > > as in the change i suggested, yes? > > > Thanks for your help, > > g > > > > On 4 July 2014 06:35, Jesse Gumm <[email protected]> wrote: >> >> Hi Graeme, >> >> As you've noted, you're definitely getting burned by the fact that >> your app and its containing directory aren't the same. >> >> Give this a shot: >> >> ./rebar boss c=compile >> >> Then run init and see if your change works. >> >> What is your current path set to in boss.config (for your app, not for >> 'boss')? >> >> On Thu, Jul 3, 2014 at 5:30 AM, Graeme Defty <[email protected]> >> wrote: >> > Got it! Well . . . at least I have found the offending (to me) code and >> > found a (partial) fix. >> > >> > In boss_web_controller_handle_request:build_static_response/4 there is a >> > call to make_etag/3. This function looks like this: >> > >> > make_etag(App, StaticPrefix, File) -> >> > Priv = case code:priv_dir(App) of >> > {error, bad_name} -> >> > %% enuit isn't loading the application, so this will default >> > for >> > us >> > "../priv"; >> > P -> >> > P >> > end, >> > --- etc --- >> > >> > That double '.' on the 5th line is what is causing my problems. If I >> > delete >> > on of those '.'s everything works fine. >> > >> > So why did nobody else suffer from this problem? >> > >> > The code at that point seems to be handling cases where the >> > application's >> > priv_dir is not being found. I am guessing I am the only one in this >> > situation whereas nobody else is. >> > >> > And why is that? I think it comes back to the issue of the application >> > and >> > the directory not being named the same. If I go to the command line and >> > type >> > >> > code:priv_dir(app_name). >> > >> > I do indeed get the response {error, bad_name}. >> > >> > However if I type: >> > >> > code:priv_dir(dir_name). >> > >> > the response is the correct path to my priv dir. >> > >> > SOOooooooooooo . . . >> > >> > I think that the code should read: >> > >> > make_etag(App, StaticPrefix, File) -> >> > AppDir = boss_env:get_env(App, path, ""), >> > Priv = case code:priv_dir(AppDir) of >> > {error, bad_name} -> >> > %% enuit isn't loading the application, so this will default >> > for >> > us >> > "./priv"; >> > P -> >> > P >> > end, >> > >> > >> > HOWEVER, this does not work because boss_env:get_env does not return the >> > correct value for path. It returns 'undefined'. >> > >> > I have checked my boss.config and it looks fine. >> > >> > Is there a problem with boss setting up the attributes in the >> > boss.config >> > file as attributes of my application? >> > >> > Thanks (and sorry for rambling on a bit) >> > >> > g >> > >> > >> > >> > >> > >> > >> > >> > >> > On 3 July 2014 12:33, Graeme Defty <[email protected]> wrote: >> >> >> >> OK - so you live and learn . . . multiple '/' characters in a path are >> >> fine - the extra ones are just ignored, so I have replaced all my >> >> leading >> >> slashes. >> >> >> >> But why then are my files not found? >> >> >> >> It appears to be the '../priv/' at the front of the path is taking me >> >> one >> >> level too high. It is the priv directory which is not being found. >> >> >> >> I created a link in the directory ABOVE my application directory, >> >> called >> >> it priv and pointed it to the priv directory within the application and >> >> all >> >> was well. >> >> >> >> SOOOooooo - looks like the '../priv/' added to the beginning of the >> >> path >> >> should have been './priv/'. >> >> >> >> BUT - why am I the only one having this issue? It seems pretty >> >> fundamental. Clearly I have something else set up incorrectly. >> >> >> >> Any ideas, anyone? >> >> >> >> g >> >> >> >> >> >> >> >> On 1 July 2014 21:28, Graeme Defty <[email protected]> wrote: >> >>> >> >>> Well maybe just 1 more error . . . >> >>> >> >>> previously my links such as "/static/blah/blah" would access static >> >>> files >> >>> <<app>>/prov/static/blah/blah" >> >>> >> >>> Now I get errors accessing file <<app>/priv//static/blah/blah" (note >> >>> the >> >>> double "/") >> >>> >> >>> However, if I take off the leading "/" from the link, I get reports of >> >>> "unknown action 'static'" on whatever controller I happen to be on. >> >>> >> >>> Any suggestions? >> >>> >> >>> g >> >>> >> >>> >> >>> -- >> >>> You received this message because you are subscribed to the Google >> >>> Groups >> >>> "ChicagoBoss" group. >> >>> To unsubscribe from this group and stop receiving emails from it, send >> >>> an >> >>> email to [email protected]. >> >>> Visit this group at http://groups.google.com/group/chicagoboss. >> >>> To view this discussion on the web visit >> >>> >> >>> https://groups.google.com/d/msgid/chicagoboss/CAKF5fiB0086_jmnCj3bz4wqs7mWJmWj4dROHUjAgT%2B9OFUopdQ%40mail.gmail.com. >> >>> For more options, visit https://groups.google.com/d/optout. >> >> >> >> >> > >> > -- >> > You received this message because you are subscribed to the Google >> > Groups >> > "ChicagoBoss" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> > an >> > email to [email protected]. >> > Visit this group at http://groups.google.com/group/chicagoboss. >> > To view this discussion on the web visit >> > >> > https://groups.google.com/d/msgid/chicagoboss/CAKF5fiBdAJojy9%2B%3D980Hj%3DnEzyc0s2D7z8YAVgZ-V%2BVcfRp3ew%40mail.gmail.com. >> > >> > For more options, visit https://groups.google.com/d/optout. >> >> >> >> -- >> Jesse Gumm >> Owner, Sigma Star Systems >> 414.940.4866 || sigma-star.com || @jessegumm >> >> -- >> You received this message because you are subscribed to the Google Groups >> "ChicagoBoss" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> Visit this group at http://groups.google.com/group/chicagoboss. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/chicagoboss/CAPTXyXdLn1sLO4%3DQ%3Dr-%3DY5U%2BtO0J42yw4%3Du_YSPmjNCQ_ASomA%40mail.gmail.com. >> >> For more options, visit https://groups.google.com/d/optout. > > > -- > You received this message because you are subscribed to the Google Groups > "ChicagoBoss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > Visit this group at http://groups.google.com/group/chicagoboss. > To view this discussion on the web visit > https://groups.google.com/d/msgid/chicagoboss/CAKF5fiB10rEiBGxwVC13_cKumn7PRkbKGVknTODGEiz3hDWhQg%40mail.gmail.com. > > For more options, visit https://groups.google.com/d/optout. -- Jesse Gumm Owner, Sigma Star Systems 414.940.4866 || sigma-star.com || @jessegumm -- You received this message because you are subscribed to the Google Groups "ChicagoBoss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. Visit this group at http://groups.google.com/group/chicagoboss. To view this discussion on the web visit https://groups.google.com/d/msgid/chicagoboss/CAPTXyXcRuYJmz%2B%3DNOyGJ%2BtFpYrPA-2aAeM%3D7AEf9rJuMNhekqg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
