play2-pdf
play2-pdf copied to clipboard
Is it really needed to use all Play dependencies?
I was reviewing the project and realized that we're using all Play modules defined into project/plugin.sbt.
We could improve our dependency to Play only using the exact module that we need.
The two main problems we will suffer is that we use Results.Result
as the main return from PdfGenerator.ok(...)
as we can see at here and play.Environment
as the helper class to get all resources (e.g. Images, CSS, etc) files from public
folder.
From my research I see that we're using the following modules:
- Play Twirl
- Play Guice
- Play Log (consider to use other log framework).
I believe that we could remove this method and return only byte[]
and InputStream
as the available returns to render the PDF and implement another way to get the resources from the public
folder (maybe using something very similar to play.Environment
implementation).
The benefits we could have are:
- Do not have to maintain all related modules from Play updated;
- Do not be exposed to all bugs related to all modules from Play;
- Significantly reduce the size of the project.
The malicious we could have:
- It's a breaking change feature, so, a Migration Guide is needed and could be not well received by the users;
- We couldn't know how to implement a good solution to get all resources files from
public
folder.
Hope to hear more opinions.
I agree and would say that we could use a helper class to get resources files using java.util.File
from public
folder.
It seems to be a very simple implementation...