forrest-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian M Dube (JIRA)" <j...@apache.org>
Subject [jira] Commented: (FOR-752) Forrestbot "build" workstage creates spurious "build/webapp/WEB-INF/logs" directory
Date Wed, 12 Jan 2011 06:21:47 GMT

    [ 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.


Mime
View raw message