Actions
Feature #8925
closedLoad plugin asset manifests from Foreman root directory
Description
While implementing plugin asset precompilation in Debian packages with the existing split-manifest support (https://github.com/theforeman/foreman/blob/1.7.1/config/environments/production.rb#L125-L147) it became apparent that we couldn't package the precompiled assets+manifest inside the gem installation directory as bundler manages that. If we put the assets in that location, bundler/rubygems would delete it.
e.g.
drwxr-xr-x root/root 0 2015-01-13 12:48 ./usr/share/foreman/vendor/ruby/1.9.1/gems/foreman_docker-1.0.0/ drwxr-xr-x root/root 0 2015-01-13 12:48 ./usr/share/foreman/vendor/ruby/1.9.1/gems/foreman_docker-1.0.0/public/ drwxr-xr-x root/root 0 2015-01-13 12:53 ./usr/share/foreman/vendor/ruby/1.9.1/gems/foreman_docker-1.0.0/public/assets/ drwxr-xr-x root/root 0 2015-01-13 12:53 ./usr/share/foreman/vendor/ruby/1.9.1/gems/foreman_docker-1.0.0/public/assets/foreman_docker/ -rw-r--r-- root/root 102 2015-01-13 12:53 ./usr/share/foreman/vendor/ruby/1.9.1/gems/foreman_docker-1.0.0/public/assets/foreman_docker/autocomplete-1e6e8602603162b4b019d664dd3a9b62.css
Instead, Foreman core needs to support a different location to load the asset manifests from that is outside of the plugin installation directory. This can be the main Foreman assets directory (~foreman/public/assets/) and since assets are all in a subdir per plugin, they won't clash.
Actions