ICEfaces
  1. ICEfaces
  2. ICE-8654

Include icepush.jar library in icefaces build via svn externals

    Details

    • Type: Task Task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.2
    • Component/s: Release
    • Labels:
      None
    • Environment:
      ICEfaces 3 trunk / icepush trunk
    • Affects:
      Compatibility/Configuration

      Description


      Currently (ICEfaces 3.1-) the icepush.jar library is included in the icefaces svn checkout via the icepush.jar being staged / committed directly into the icefaces/lib folder. This requires that the icepush.jar be generated and committed each time the source icepush/trunk repo is updated, which is error prone and labour intensive.

      In addition, currently the JavaDoc API docs for icepush are not included in the icefaces release bundles.

      An improvement would be to instead include the ice push/trunk (or tag as req.) directly in the icefaces/trunk checkout via the use svn externals. This would also allow the generation of the icepush Javadoc as part of the ICEfaces release bundle build.


        Activity

        Hide
        Ken Fyten added a comment - - edited

        Using the following scratchpad repo branch:
        http://10.18.39.25:8888/svn/ossrepo/icefaces3/scratchpads/ICE-8654
        I've established the icepush dir under icefaces being included via svn externals from the ice push/trunk.
        Also modified the icefaces/build.xml to add an icepush build target, included in world target, and added icepush to the release bundle builds.
        However, there remains an issue whereby if you build icefaces using the src bundle that is generated by "ant bundle", the resulting icepush.jar is missing the following resource file:

        META-INF/resources/icepush.js 
        

        This causes any deployed applications to fail with:

        Oct 16, 2012 12:01:39 PM com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
        SEVERE: Error Rendering View[/showcase.xhtml]
        java.lang.NullPointerException
        	at org.icefaces.impl.event.JavascriptResourceOutput.<init>(JavascriptResourceOutput.java:21)
        	at org.icefaces.impl.event.BridgeSetup.getHeadResources(BridgeSetup.java:116)
        	at org.icefaces.impl.event.BridgeSetup.processEvent(BridgeSetup.java:88)
        	at javax.faces.event.SystemEvent.processListener(SystemEvent.java:106)
        	at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2169)
        	at com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2145)
        	at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:303)
        	at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:247)
        	at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:812)
        	at javax.faces.component.UIViewRoot.encodeBegin(UIViewRoot.java:962)
        	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1777)
        	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:424)
        	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:124)
        	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
        	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
        	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
        	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
        	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
        	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
        	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
        	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
        	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
        	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
        	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:279)
        	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
        	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
        	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        	at java.lang.Thread.run(Thread.java:680)
        

        So this build issue needs to be debugged. Note that the binary bundle contents generated by "ant bundle" work fine.
        Also need to add in the generation and copying of the icepush JavaDoc to the binary bundle build.

        Show
        Ken Fyten added a comment - - edited Using the following scratchpad repo branch: http://10.18.39.25:8888/svn/ossrepo/icefaces3/scratchpads/ICE-8654 I've established the icepush dir under icefaces being included via svn externals from the ice push/trunk. Also modified the icefaces/build.xml to add an icepush build target, included in world target, and added icepush to the release bundle builds. However, there remains an issue whereby if you build icefaces using the src bundle that is generated by "ant bundle", the resulting icepush.jar is missing the following resource file: META-INF/resources/icepush.js This causes any deployed applications to fail with: Oct 16, 2012 12:01:39 PM com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException SEVERE: Error Rendering View[/showcase.xhtml] java.lang.NullPointerException at org.icefaces.impl.event.JavascriptResourceOutput.<init>(JavascriptResourceOutput.java:21) at org.icefaces.impl.event.BridgeSetup.getHeadResources(BridgeSetup.java:116) at org.icefaces.impl.event.BridgeSetup.processEvent(BridgeSetup.java:88) at javax.faces.event.SystemEvent.processListener(SystemEvent.java:106) at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2169) at com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2145) at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:303) at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:247) at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:812) at javax.faces.component.UIViewRoot.encodeBegin(UIViewRoot.java:962) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1777) at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:424) at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:124) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:279) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang. Thread .run( Thread .java:680) So this build issue needs to be debugged. Note that the binary bundle contents generated by "ant bundle" work fine. Also need to add in the generation and copying of the icepush JavaDoc to the binary bundle build.
        Hide
        Jack Van Ooststroom added a comment - - edited

        The problem with the missing icepush.js file from the icepush.jar in the src bundle is because the yui-compressor.jar is being removed from the src bundle:
        <delete>
        <fileset dir="$

        {bundle.dir.src}

        /icepush/lib">
        <include name="jstl-1.2"/>
        <include name="yui-compressor.jar"/>
        </fileset>
        </delete>
        Is the removal of the yui-compressor.jar intentional?

        Show
        Jack Van Ooststroom added a comment - - edited The problem with the missing icepush.js file from the icepush.jar in the src bundle is because the yui-compressor.jar is being removed from the src bundle: <delete> <fileset dir="$ {bundle.dir.src} /icepush/lib"> <include name="jstl-1.2"/> <include name="yui-compressor.jar"/> </fileset> </delete> Is the removal of the yui-compressor.jar intentional?
        Hide
        Ken Fyten added a comment - - edited

        Alright, the following is complete:

        • Remove staged icepush.jar
        • Remove concrete icepush dir which only help the icepush.pom file.
        • Added new svn external to include the icepush dir from icepish/trunk.
        • Update the build.xml to:
        • add new icepush build target
        • include icepush target in world and allclean builds.
        • include icepush jar and icepush javadoc in binary bundle build.
        • remove icepush samples and none-core files from src and bin bundle builds.
        Show
        Ken Fyten added a comment - - edited Alright, the following is complete: Remove staged icepush.jar Remove concrete icepush dir which only help the icepush.pom file. Added new svn external to include the icepush dir from icepish/trunk. Update the build.xml to: add new icepush build target include icepush target in world and allclean builds. include icepush jar and icepush javadoc in binary bundle build. remove icepush samples and none-core files from src and bin bundle builds.
        Hide
        Jack Van Ooststroom added a comment - - edited

        The icepush/lib move was addressed in ICE-8688. Marking this one as FIXED now.

        Show
        Jack Van Ooststroom added a comment - - edited The icepush/lib move was addressed in ICE-8688. Marking this one as FIXED now.

          People

          • Assignee:
            Jack Van Ooststroom
            Reporter:
            Ken Fyten
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: