[
https://issues.apache.org/jira/browse/CLK-719?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12915293#action_12915293
]
Andrew Fink commented on CLK-719:
---------------------------------
Hmm. Yes, It is dilemma.
Now If your resources in jar files - you have broken hot deploy.
After my patch resources in webroot will be under attack.
May be use this algorithm:
if (!destinationFile.exists()) {
// deploy as usual
} else if
(ConfigService.MODE_TRACE.equals(getConfigService(servletContext).getApplicationMode()))
{ //trace mode = special case
calculate resource length and compare destinationFile length
if resource is longer then overwrite destinationFile
So usually all woks like now (production mode).
Only in trace mode (when you develop or debug special cases) you should care
about your overriding versions in webroot: they should be bigger or equal than
original jar version
> Click Resources Deploying prevents rapid development with container's (tomcat
> in my case) hot deploy
> ----------------------------------------------------------------------------------------------------
>
> Key: CLK-719
> URL: https://issues.apache.org/jira/browse/CLK-719
> Project: Click
> Issue Type: Improvement
> Components: core
> Affects Versions: 2.2.0, 2.1.0
> Reporter: Andrew Fink
>
> Example:
> I have some template in "META-INF/resources", for ex:
> META-INF/resources/admin/blabla.ftl
> I run tomcat under my IDE:
> 1) it deploys webapp - OK
> 2) click deploys META-INF/resources/admin/blabla.ftl to
> webroot/admin/blabla.ftl - OK
> Then I see some mistake in blabla.ftl and bug fix it, build and deploy again.
> 1. Tomcat re-deploys webapp over existing webapp - OK!
> 2. Click doesn't deploy blabla.ftl because It already exists (tomcat/IDE
> doesn't clean folder).
> It is a problem.
> __ ClickUtils.deployFile checks only destinationFile.exists() __
> I think in debug|trace mode, Click should:
> - always overwrite (redeploy) files,
> - or checks resource length (for example: skip all bytes from resource's
> inputStream to calculate it's length) and if destinationFile.length !=
> resource.length then overwrite (redeploy)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.