Closed kwando closed 5 years ago
Apologies for the inconvenience. I'm not seeing this issue on my integration test app so I'm going to have to dive a bit deeper to see why you are getting this error.
The file priv/cldr/week_data.json
is actually contained in the lib ex_cldr
. So the error from not finding the file in .../deps/ex_cldr_dates_times/priv/cldr/week_data.json
is surprising.
Would you mind running:
mix deps.clean ex_cldr_dates_times
mix deps.get
mix deps.compile --force
And let met know if this produces a different result? In parallel I'll dig into the code to see how it might possibly pick up the wrong directory.
No need to apologize, I'm thanking you for building/maintaining this library. :heart:
Yep, tried cleaning and recompiling a few times in different combinations with no success. Though I think I found a lead for you, seems to be related to the configuration somehow. It works with an empty config.exs, but it breaks when configured like this:
use Mix.Config
config :ex_cldr,
default_locale: "sv",
locales: ["en", "sv"],
data_dir: "./priv/cldr"
Below is a repository with a reproduction https://github.com/kwando/cldr_bug_repro
OK, i understand the source of the problem. One issue I have fixed with an updated version 1.6.2 ex_cldr. There was a bug whereby the Cldr.Config.client_data_dir/0
was being used to open static content instead of Cldr.Config.cldr_data_dir/0
. Upgrading to with mix deps.update ex_cldr
will fix this
The second issue which i can't reasonably fix until ex_cldr version 2.0
is that the :data_dir
config parameter will need to be an absolute path, not a relative one. I appreciate this isn't very friendly but its a consequence of the compile time downloading of locales. When that is happening, the current dir is actually the home dir of the ex_cldr
dependency; not the home dir of your app. This results in a bogus Cldr.Config.client_data_dir/0
resolution. Hence the need to use an absolute path.
Would you mind following the above and letting me know if that is working for you?
There is a lot simplification in the architecture and compilation phase in ex_cldr
version 2.0 but its going to take another couple of months to get to a release candidate.
Updating ex_cldr
to 1.6.2
works without further changes, even if I leave data_dir
as a relative path.
I don't really have a need to specify that option anyway so I can just remove that config option.
$ mix deps.update --all
Resolving Hex dependencies...
Dependency resolution completed:
Unchanged:
abnf2 0.1.2
decimal 1.5.0
ex_cldr_currencies 1.0.0
ex_cldr_dates_times 1.3.0
ex_cldr_numbers 1.4.4
poison 3.1.0
Upgraded:
ex_cldr 1.6.1 => 1.6.2
* Updating ex_cldr (Hex package)
I get some compile error when trying the latest version of ExCldr. Seesm like some files is missing / not downloaded correctly. Any idea how to move forward with this?