ICEfaces
  1. ICEfaces
  2. ICE-9226

Make sample ACE themes accessible by maven

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 3.3
    • Fix Version/s: EE-3.3.0.GA, 4.0.BETA, 4.0
    • Component/s: Tool Integrations
    • Labels:
      None
    • Environment:
      Maven
    • Assignee Priority:
      P2
    • Affects:
      Documentation (User Guide, Ref. Guide, etc.), Sample App./Tutorial, Compatibility/Configuration

      Description

      We have the standard themeroller themes, available in our src and bin bundles, in the icefaces/samples/ace/themes folder, but we don't currently have a way of specifying a maven dependency, for applications or our own tutorials to be able to use them.

        Issue Links

          Activity

          Hide
          Ken Fyten added a comment -

          Themes are now committed as source files in a Maven approved structure under icefaces/ace/themes.

          To build the theme .jar files, use "mvn package" in the icefaces/ace/themes directory.
          Alternatively, to build an individual theme .jar, use "mvn package" in the theme directory (ex. icefaces/ace/themes/ace-swanky-purse).

          Show
          Ken Fyten added a comment - Themes are now committed as source files in a Maven approved structure under icefaces/ace/themes. To build the theme .jar files, use "mvn package" in the icefaces/ace/themes directory. Alternatively, to build an individual theme .jar, use "mvn package" in the theme directory (ex. icefaces/ace/themes/ace-swanky-purse).
          Hide
          Ken Fyten added a comment -

          Currently, the ace:themeSelector component doesn't work correctly with the new maven-formatted theme.jar files.

          There are 2 known issues:

          1. The themeSelector expects that the jar name (preceding the ".jar" extension) matches the theme dir name under the META-INF/resources/ directory.

          If we use the Maven-standard jar naming scheme of including the version information after the library name, we end up with a jar name of "black-tie-3.3.0-SNAPSHOT.jar", for example. The themeSelector will then try to locate the theme resources under a "META-INF/resources/ace-black-tie-3.3.0-SNAPSHOT" directory in the jar, which won't exist. As a result, the theme name will not appear in the themeSelector's list of available themes.

          To work around this current limitation, the maven build has been modified to not include the version information. This allows the theme name to appear correctly in the themeSelector list of themes.

          2. Even when the themeSelector detects the theme name successfully and it appears in the list of available themes, selecting the theme will not successfully load the theme resources for some reason (requires investigation).

          Show
          Ken Fyten added a comment - Currently, the ace:themeSelector component doesn't work correctly with the new maven-formatted theme.jar files. There are 2 known issues: 1. The themeSelector expects that the jar name (preceding the ".jar" extension) matches the theme dir name under the META-INF/resources/ directory. If we use the Maven-standard jar naming scheme of including the version information after the library name, we end up with a jar name of "black-tie-3.3.0-SNAPSHOT.jar", for example. The themeSelector will then try to locate the theme resources under a "META-INF/resources/ace-black-tie-3.3.0-SNAPSHOT" directory in the jar, which won't exist. As a result, the theme name will not appear in the themeSelector's list of available themes. To work around this current limitation, the maven build has been modified to not include the version information. This allows the theme name to appear correctly in the themeSelector list of themes. 2. Even when the themeSelector detects the theme name successfully and it appears in the list of available themes, selecting the theme will not successfully load the theme resources for some reason (requires investigation).
          Hide
          Ken Fyten added a comment -

          To test the theme jars generated by the Maven build process above, you can use the showcase sample application. However, you will first need to remove all the staged icefaces/samples/ace/ theme.jar files so they are not copied into the showcase.war. Once this is done, you can copy one or more of the maven-generated theme .jar files into the war or deploy application to test it with the ace:themeSelector component.

          Show
          Ken Fyten added a comment - To test the theme jars generated by the Maven build process above, you can use the showcase sample application. However, you will first need to remove all the staged icefaces/samples/ace/ theme.jar files so they are not copied into the showcase.war. Once this is done, you can copy one or more of the maven-generated theme .jar files into the war or deploy application to test it with the ace:themeSelector component.
          Hide
          Ken Fyten added a comment -

          As of today at least, #2 doesn't seem to be a factor any longer. So long as the theme jar is renamed to match the name of the theme (issue #1 above), it will load and work correctly when selected with the themeSelector.

          So issue #1 is the remaining task.

          Show
          Ken Fyten added a comment - As of today at least, #2 doesn't seem to be a factor any longer. So long as the theme jar is renamed to match the name of the theme (issue #1 above), it will load and work correctly when selected with the themeSelector. So issue #1 is the remaining task.
          Hide
          yip.ng added a comment - - edited
          • Regular expression changed to accommodate maven-produced theme jar file name format, i.e. optional "ace-" prefix and optional version suffix. (screenshot-01.) Version format is the standard format as described in Maven: The Complete Reference.
          • showcase POM updated to include theme jars in output.

          M: C:\svn\ossrepo\icefaces3\trunk\icefaces\samples\showcase\showcase\pom.xml#35689
          M: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\src\org\icefaces\ace\component\themeselect\ThemeSelect.java#35689

          Show
          yip.ng added a comment - - edited Regular expression changed to accommodate maven-produced theme jar file name format, i.e. optional "ace-" prefix and optional version suffix. ( screenshot-01 .) Version format is the standard format as described in Maven: The Complete Reference . showcase POM updated to include theme jars in output. M: C:\svn\ossrepo\icefaces3\trunk\icefaces\samples\showcase\showcase\pom.xml#35689 M: C:\svn\ossrepo\icefaces3\trunk\icefaces\ace\component\src\org\icefaces\ace\component\themeselect\ThemeSelect.java#35689

            People

            • Assignee:
              yip.ng
              Reporter:
              Mark Collette
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: