[ 
https://issues.apache.org/jira/browse/FOR-752?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12980579#action_12980579
 ] 

Brian M Dube commented on FOR-752:
----------------------------------

This seems to work. It's the same idea as Mathieu's proposed change, but it 
avoids changing the visibility of ForrestConfUtils.getSystemProperty().

Index: main/java/org/apache/forrest/log/ForrestLogTargetFactory.java
===================================================================
--- main/java/org/apache/forrest/log/ForrestLogTargetFactory.java       
(revision 1057988)
+++ main/java/org/apache/forrest/log/ForrestLogTargetFactory.java       
(working copy)
@@ -42,7 +42,7 @@
 
             if(!projectHome.startsWith(ForrestConfUtils.defaultHome)){
                 DefaultContext newContext = new DefaultContext(context);
-                newContext.put("context-root",projectHome + "/build/webapp");
+                newContext.put("context-root", 
ForrestConfUtils.getProjectWebappHome());
                 currentContext = newContext;
             }
         } catch (Exception e) {
Index: main/java/org/apache/forrest/conf/ForrestConfUtils.java
===================================================================
--- main/java/org/apache/forrest/conf/ForrestConfUtils.java     (revision 
1057988)
+++ main/java/org/apache/forrest/conf/ForrestConfUtils.java     (working copy)
@@ -89,6 +89,10 @@
         return contextHome;
     }
 
+    public static String getProjectWebappHome() {
+      return getSystemProperty("project.webapp");
+    }
+
     /**
      * For backwards compatibility, alias old skin names to new ones. This must
      * be kept in sync with aliasing in forrest.build.xml/init-props


> Forrestbot "build" workstage creates spurious "build/webapp/WEB-INF/logs" 
> directory
> -----------------------------------------------------------------------------------
>
>                 Key: FOR-752
>                 URL: https://issues.apache.org/jira/browse/FOR-752
>             Project: Forrest
>          Issue Type: Bug
>          Components: Tool: Forrestbot
>    Affects Versions: 0.7, 0.8, 0.9-dev
>            Reporter: Richard Calmbach
>            Priority: Minor
>             Fix For: 0.10
>
>
> When running Forrestbot with the default value for property "build.work-dir" 
> (namely "work/${ant.project.name}"), "project.build-dir" is set to the same 
> value and consequently, "project.webapp" is set to 
> "work/${ant.project.name}/webapp". However, one of the two "logs" directories 
> continues to be created at "build/webapp/WEB-INF/logs", suggesting that 
> somewhere a hardcoded value is used instead of ${project.webapp}. The mkdir 
> command for this "logs" directory is not in any of the Ant build files in the 
> Forrest distribution; it must be in one of the Java classes, probably in a 
> class related to logging. I forced an I/O failure by turning off all 
> permissions on build/webapp and running "forrest -f build.xml build". This 
> yielded a stacktrace that originated 7 calls before:
> org.apache.avalon.excalibur.logger.factory.FileTargetFactory.createTarget(FileTargetFactory.java:160)
> The remaining 7 invokations were not displayed (just "... 7 more").
> The upshot of this bug is that running "forrest -f build.xml clean" misses 
> the "logs" directory in the unexpected location. My workaround right now is 
> to use a custom "clean-all" target that depends on "clean" and that deletes 
> the spurious "build/webapp" directory.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.