You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by gr...@apache.org on 2020/03/23 07:07:53 UTC

[royale-asjs] 03/03: Sidestepping a few issues with swf html-template stuff to get past upper level gitignore rules.

This is an automated email from the ASF dual-hosted git repository.

gregdove pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git

commit 9cd53a93ead0c8f283816c6aa9d1d411780eb8a8
Author: greg-dove <gr...@gmail.com>
AuthorDate: Mon Mar 23 20:03:25 2020 +1300

    Sidestepping a few issues with swf html-template stuff to get past upper level gitignore rules.
---
 manualtests/UnitTests/build.xml                    | 101 +++++++++++++++
 manualtests/UnitTests/pom.xml                      |   5 +-
 .../swf-html-template/index.template.html          | 135 +++++++++++++++++++++
 manualtests/build_example.xml                      |  12 +-
 4 files changed, 251 insertions(+), 2 deletions(-)

diff --git a/manualtests/UnitTests/build.xml b/manualtests/UnitTests/build.xml
index a01cd3f..d8318f9 100644
--- a/manualtests/UnitTests/build.xml
+++ b/manualtests/UnitTests/build.xml
@@ -39,9 +39,12 @@
     <include file="${basedir}/../build_example.xml" />
 
     <target name="main" depends="clean" description="Clean build of ${example}">
+
         <antcall target="build_example.compile">
             <param name="debug" value="false"/>
+            <param name="no.wrapper" value="true"/>
         </antcall>
+        <antcall target="wrapper"/>
     </target>
 
     <target name="clean">
@@ -55,4 +58,102 @@
         </exec>
     </target>
 
+    <target name="wrapper">
+        <property name="templatebase" value="${basedir}/swf-html-template/index.template.html"/>
+        <copy todir="${destDir}">
+            <fileset dir="${ROYALE_HOME}/templates/swfobject">
+                <exclude name="index.template.html"/>
+            </fileset>
+        </copy>
+
+        <html-wrapper
+                height="100%"
+                width="100%"
+                bgcolor="#ffffff"
+                name="${example}"
+                versionmajor="11"
+                versionminor="5"
+                versionrevision="0"
+                template="${templatebase}"
+                output="${destDir}"/>
+    </target>
+
+
+    <property name="html_template_base" value="${basedir}/swf-html-template/index.template.html" />
+    <macrodef name="html-wrapper">
+        <attribute name="width"/>
+        <attribute name="height"/>
+        <attribute name="bgcolor"/>
+        <attribute name="name"/>
+        <attribute name="versionmajor"/>
+        <attribute name="versionminor"/>
+        <attribute name="versionrevision"/>
+        <attribute name="output"/>
+        <attribute name="template" default="${html_template_base}"/>
+        <sequential>
+            <copy toFile="@{output}/@{name}.html"
+                  file="@{template}" />
+            <replace file="@{output}/@{name}.html">
+                <replacefilter
+                        token="$${title}"
+                        value="@{name}"/>
+            </replace>
+            <replace file="@{output}/@{name}.html">
+                <replacefilter
+                        token="$${bgcolor}"
+                        value="@{bgcolor}"/>
+            </replace>
+            <replace file="@{output}/@{name}.html">
+                <replacefilter
+                        token="$${useBrowserHistory}"
+                        value="&#45;&#45;"/>
+            </replace>
+            <replace file="@{output}/@{name}.html">
+                <replacefilter
+                        token="$${version_major}"
+                        value="@{versionmajor}"/>
+            </replace>
+            <replace file="@{output}/@{name}.html">
+                <replacefilter
+                        token="$${version_minor}"
+                        value="@{versionminor}"/>
+            </replace>
+            <replace file="@{output}/@{name}.html">
+                <replacefilter
+                        token="$${version_revision}"
+                        value="@{versionrevision}"/>
+            </replace>
+            <replace file="@{output}/@{name}.html">
+                <replacefilter
+                        token="$${expressInstallSwf}"
+                        value="expressInstall.swf"/>
+            </replace>
+            <replace file="@{output}/@{name}.html">
+                <replacefilter
+                        token="$${expressInstallSwf}"
+                        value="expressInstall.swf"/>
+            </replace>
+            <replace file="@{output}/@{name}.html">
+                <replacefilter
+                        token="$${width}"
+                        value="@{width}"/>
+            </replace>
+            <replace file="@{output}/@{name}.html">
+                <replacefilter
+                        token="$${height}"
+                        value="@{height}"/>
+            </replace>
+            <replace file="@{output}/@{name}.html">
+                <replacefilter
+                        token="$${application}"
+                        value="@{name}"/>
+            </replace>
+            <replace file="@{output}/@{name}.html">
+                <replacefilter
+                        token="$${swf}"
+                        value="@{name}"/>
+            </replace>
+        </sequential>
+    </macrodef>
+
 </project>
diff --git a/manualtests/UnitTests/pom.xml b/manualtests/UnitTests/pom.xml
index 3cfc217..937f41b 100644
--- a/manualtests/UnitTests/pom.xml
+++ b/manualtests/UnitTests/pom.xml
@@ -166,7 +166,10 @@
 									<includeEmptyDirs>true</includeEmptyDirs>
 									<resources>
 										<resource>
-											<directory>${basedir}/swf-html-template/swfobject</directory>
+											<directory>${basedir}/../../templates/swfobject</directory>
+										</resource>
+										<resource>
+											<directory>${basedir}/swf-html-template</directory>
 											<filtering>true</filtering>
 										</resource>
 									</resources>
diff --git a/manualtests/UnitTests/swf-html-template/index.template.html b/manualtests/UnitTests/swf-html-template/index.template.html
new file mode 100644
index 0000000..33489c4
--- /dev/null
+++ b/manualtests/UnitTests/swf-html-template/index.template.html
@@ -0,0 +1,135 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!-- saved from url=(0014)about:internet -->
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<!--
+Smart developers always View Source.
+
+This application was built using Apache Royale, an open source framework
+that cross compiles MXML and ActionScript into HTML and JavaScript. It runs
+in web, desktop and mobile(app) in swf format and runs in browser based
+environments as HTML/JS/CSS files without the need for the Flash Player
+plugin. It brings the advantages of Flex to the HTML/JavaScript world.
+
+Learn more about Royale at http://royale.apache.org
+// -->
+<head>
+    <title>${title}</title>
+    <meta name="google" value="notranslate" />
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+    <!-- Include CSS to eliminate any default margins/padding and set the height of the html element and
+         the body element to 100%, because Firefox, or any Gecko based browser, interprets percentage as
+         the percentage of the height of its parent container, which has to be set explicitly.  Fix for
+         Firefox 3.6 focus border issues.  Initially, don't display flashContent div so it won't show
+         if JavaScript disabled.
+    -->
+    <style type="text/css" media="screen">
+        html, body  { height:100%; }
+        body { margin:0; padding:0; overflow:auto; text-align:center;
+            background-color: ${bgcolor}; }
+        object:focus { outline:none; }
+        #flashContent { display:none; }
+    </style>
+
+    <!-- Enable Browser History by replacing useBrowserHistory tokens with two hyphens -->
+    <!-- BEGIN Browser History required section ${useBrowserHistory}>
+    <link rel="stylesheet" type="text/css" href="history/history.css" />
+    <script type="text/javascript" src="history/history.js"></script>
+    <!${useBrowserHistory} END Browser History required section -->
+
+    <script type="text/javascript" src="swfobject.js"></script>
+    <script type="text/javascript">
+        // For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection.
+
+        var swf = ".swf";
+
+        //this supports intellij's 'open in browser'
+        if (window.location.search) {
+            swf += window.location.search;
+            console.log('appending window url params to swf...');
+        }
+
+        var swfVersionStr = "${version_major}.${version_minor}.${version_revision}";
+        // To use express install, set to playerProductInstall.swf, otherwise the empty string.
+        var xiSwfUrlStr = "${expressInstallSwf}";
+        var flashvars = {};
+        var params = {};
+        params.quality = "high";
+        params.bgcolor = "${bgcolor}";
+        params.allowscriptaccess = "sameDomain";
+        params.allowfullscreen = "true";
+        var attributes = {};
+        attributes.id = "${application}";
+        attributes.name = "${application}";
+        attributes.align = "left";
+        swfobject.embedSWF(
+            "${swf}"+swf, "flashContent",
+            "${width}", "${height}",
+            swfVersionStr, xiSwfUrlStr,
+            flashvars, params, attributes);
+        // JavaScript enabled so display the flashContent div in case it is not replaced with a swf object.
+        swfobject.createCSS("#flashContent", "display:block;text-align:left;");
+    </script>
+</head>
+<body>
+<!-- SWFObject's dynamic embed method replaces this alternative HTML content with Flash content when enough
+     JavaScript and Flash plug-in support is available. The div is initially hidden so that it doesn't show
+     when JavaScript is disabled.
+-->
+<div id="flashContent">
+    <p>
+        To view this page ensure that Adobe Flash Player version
+        ${version_major}.${version_minor}.${version_revision} or greater is installed.
+    </p>
+    <script type="text/javascript">
+        var pageHost = ((document.location.protocol == "https:") ? "https://" : "http://");
+        document.write("<a href='http://www.adobe.com/go/getflashplayer'><img src='"
+            + pageHost + "www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a>" );
+    </script>
+</div>
+
+<noscript>
+    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="${width}" height="${height}" id="${application}">
+        <param name="movie" value="${swf}.swf" />
+        <param name="quality" value="high" />
+        <param name="bgcolor" value="${bgcolor}" />
+        <param name="allowScriptAccess" value="sameDomain" />
+        <param name="allowFullScreen" value="true" />
+        <!--[if !IE]>-->
+        <object type="application/x-shockwave-flash" data="${swf}.swf" width="${width}" height="${height}">
+            <param name="quality" value="high" />
+            <param name="bgcolor" value="${bgcolor}" />
+            <param name="allowScriptAccess" value="sameDomain" />
+            <param name="allowFullScreen" value="true" />
+            <!--<![endif]-->
+            <!--[if gte IE 6]>-->
+            <p>
+                Either scripts and active content are not permitted to run or Adobe Flash Player version
+                ${version_major}.${version_minor}.${version_revision} or greater is not installed.
+            </p>
+            <!--<![endif]-->
+            <a href="http://www.adobe.com/go/getflashplayer">
+                <img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash Player" />
+            </a>
+            <!--[if !IE]>-->
+        </object>
+        <!--<![endif]-->
+    </object>
+</noscript>
+</body>
+</html>
diff --git a/manualtests/build_example.xml b/manualtests/build_example.xml
index e9dd31d..a1c9d44 100644
--- a/manualtests/build_example.xml
+++ b/manualtests/build_example.xml
@@ -158,6 +158,12 @@
 				<isset property="no.js"/>
 			</not>
 		</condition>
+
+        <condition property="wrapperTarget" value="build_example.wrapper" else="build_example.skipWrapper">
+            <not>
+                <isset property="no.wrapper"/>
+            </not>
+        </condition>
 		 <!-- Load the <compc> task. We can't do this at the <project> level -->
         <!-- because targets that run before flexTasks.jar gets built would fail. -->
         <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
@@ -187,7 +193,7 @@
              -->
         </mxmlc>
 
-        <antcall target="build_example.wrapper">
+        <antcall target="${wrapperTarget}">
 			<param name="output" value="${destDir}"/>
 			<param name="templatebase" value="${html_template_base}"/>
 		</antcall>
@@ -350,6 +356,10 @@
             <equals arg1="${config_arg}" arg2="air" />
         </condition>
     </target>
+
+    <target name="skipWrapper">
+        <echo>Wrapper build was skipped</echo>
+    </target>
 	
 	<target name="wrapper" depends="check-air" unless="is.air">
 		<property name="output" value="${basedir}/bin-debug"/>