From a8eec02ca18088c180c2c57904b2b40c1ff7d91a Mon Sep 17 00:00:00 2001 From: Shawn Pearce Date: Sat, 18 May 2013 16:55:45 -0700 Subject: [PATCH] Embed clippy.swf with a GWT DataResource Using a DataResource allows the GWT compiler to manage inserting the binary into the application context. This works in all run modes, making the clippy movie always available, even in GWT hosted debug. Change-Id: I02869d65d9787265ebe40046e0dbf883fd7ea9e1 --- gerrit-gwtexpui/BUCK | 16 ++++------------ .../gwtexpui/clippy/client/ClippyResources.java | 6 ++++++ .../gwtexpui/clippy/client/CopyableLabel.java | 7 +------ .../clippy.swf} | Bin tools/build.defs | 1 - 5 files changed, 11 insertions(+), 19 deletions(-) rename gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/{public/gwtexpui_clippy1.cache.swf => client/clippy.swf} (100%) diff --git a/gerrit-gwtexpui/BUCK b/gerrit-gwtexpui/BUCK index 41625ffe5a..105ee7df2e 100644 --- a/gerrit-gwtexpui/BUCK +++ b/gerrit-gwtexpui/BUCK @@ -4,7 +4,10 @@ gwt_module( name = 'Clippy', srcs = glob([SRC + 'clippy/client/*.java']), gwtxml = SRC + 'clippy/Clippy.gwt.xml', - resources = [SRC + 'clippy/client/clippy.css'], + resources = [ + SRC + 'clippy/client/clippy.css', + SRC + 'clippy/client/clippy.swf', + ], deps = [ ':SafeHtml', ':UserAgent', @@ -14,17 +17,6 @@ gwt_module( visibility = ['PUBLIC'], ) -genrule( - name = 'clippy_swf', - cmd = 'mkdir $TMP/gerrit_ui;' + - 'cp $SRCS $TMP/gerrit_ui;' + - 'cd $TMP;' + - 'zip -qr $OUT gerrit_ui', - srcs = [SRC + 'clippy/public/gwtexpui_clippy1.cache.swf'], - out = 'clippy_swf.zip', - visibility = ['PUBLIC'], -) - gwt_module( name = 'CSS', srcs = glob([SRC + 'css/rebind/*.java']), diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/ClippyResources.java b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/ClippyResources.java index 4c2b8981d4..dfa7679a97 100644 --- a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/ClippyResources.java +++ b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/ClippyResources.java @@ -16,10 +16,16 @@ package com.google.gwtexpui.clippy.client; import com.google.gwt.core.client.GWT; import com.google.gwt.resources.client.ClientBundle; +import com.google.gwt.resources.client.DataResource; +import com.google.gwt.resources.client.DataResource.DoNotEmbed; public interface ClippyResources extends ClientBundle { public static final ClippyResources I = GWT.create(ClippyResources.class); @Source("clippy.css") ClippyCss css(); + + @Source("clippy.swf") + @DoNotEmbed + DataResource swf(); } diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/CopyableLabel.java b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/CopyableLabel.java index 273318be51..a9296ebf1c 100644 --- a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/CopyableLabel.java +++ b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/CopyableLabel.java @@ -14,7 +14,6 @@ package com.google.gwtexpui.clippy.client; -import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.Scheduler; import com.google.gwt.event.dom.client.BlurEvent; import com.google.gwt.event.dom.client.BlurHandler; @@ -47,7 +46,6 @@ import com.google.gwtexpui.user.client.UserAgent; public class CopyableLabel extends Composite implements HasText { private static final int SWF_WIDTH = 110; private static final int SWF_HEIGHT = 14; - private static String swfUrl; private static boolean flashEnabled = true; static { @@ -63,10 +61,7 @@ public class CopyableLabel extends Composite implements HasText { } private static String swfUrl() { - if (swfUrl == null) { - swfUrl = GWT.getModuleBaseURL() + "gwtexpui_clippy1.cache.swf"; - } - return swfUrl; + return ClippyResources.I.swf().getSafeUri().asString(); } private final FlowPanel content; diff --git a/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/public/gwtexpui_clippy1.cache.swf b/gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/clippy.swf similarity index 100% rename from gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/public/gwtexpui_clippy1.cache.swf rename to gerrit-gwtexpui/src/main/java/com/google/gwtexpui/clippy/client/clippy.swf diff --git a/tools/build.defs b/tools/build.defs index 42cb630c63..bbea5add63 100644 --- a/tools/build.defs +++ b/tools/build.defs @@ -74,7 +74,6 @@ def gerrit_war(name, ui = 'ui_optdbg', context = []): context = [ '//gerrit-main:main_bin.jar', '//gerrit-war:webapp_assets.zip', - '//gerrit-gwtexpui:clippy_swf.zip', '//gerrit-gwtui:' + ui + '.zip', ] + context, )