Deploy App Inventor Failed on Google App Engine

I use below command:

gcloud app deploy --project=myproject --version=1 appengine/build/war/WEB-INF/appengine-web.xml

And I received error:

Beginning deployment of service [default]...
ERROR: (gcloud.app.deploy) Cannot upload file [c:\users\00000\appdata\local\temp\tmpb09m3n\tmpbh9iif\ode/37C5BBD515A75EB3B6617E21BF1F69BE.cache.js], which has size [35353266] (greater than maximum allowed size of [33554432]). Please delete the file or add to the skip_files entry in your application .yaml file and try again.

How can I do to resolve it?

3 Likes

Seems to be an issue occuring in the latest version. I’ve faced it too

1 Like

Can anyone from MIT team please look into this issue ?

Thanks.

1 Like

To deploy to App Engine, you’ll need to remove the <collapse-all-properties/> element from appengine/src/com/google/appinventor/YaClient.gwt.xml. With this in place, it builds one massive code base to distribute. When you remove it, it builds a variant per language and per browser so that the individual files are smaller at the expense of longer build times.

Edit: At MIT, we also turn on optimizations in both the blocklyeditor and appengine. To turn on optimizations in blocklyeditor, edit ploverConfig.js and change the mode from “RAW” to “SIMPLE”. To turn on optimizations in appengine, edit appengine/build.xml and change the line that includes “-style pretty” by replacing “-style pretty” with “-optimize 9”. Optionally, if you have a beefier machine you can specify the number of parallel threads used to speed up compilation by specifiying “-localWorkers N”, replacing N with the number of threads you’d like to use. This further reduces the size of the build and increases compile time (except the parallelization part).

7 Likes

My solution:

  1. Use sed command to split file 37C5BBD515A75EB3B6617E21BF1F69BE.cache.js, named cache1.js and cache2.js respectively
  2. Replaced 37C5BBD515A75EB3B6617E21BF1F69BE.cache.js content like below
    function _appendChild($file) {
      document.head.appendChild(document.createElement('script')).src = $file;  
    }
    function _tryCacheJs() {
      try {
        _;
        _appendChild('/ode/cache2.js');
        console.log(new Date());
      } catch {
        console.log("Failed:" + new Date());
        setTimeout(_tryCacheJs, 1000);
      }
    }

    _appendChild('/ode/cache1.js');
    _tryCacheJs();
  1. Solve the problem temporarily.

Hello i have the same error dear @ewpatton i have make this changes but still the problem

remove the <collapse-all-properties/> element from appengine/src/com/google/appinventor/YaClient.gwt.xml.

:edit appengine/build.xml and change the line that includes “-style pretty” by replacing “-style pretty” with “-optimize 9”.

I have make solution of dear @Deng_Daocheng but when i run the url show nothing : http://wakeapp.appspot.com/

I have make all from first now is working thanks

Hi Evan (@ewpatton ),

Today, as per today's open source code:

  1. There is no '<collapse-all-properties/>' property in the appengine/src/com/google/appinventor/YaClient.gwt.xml file.
  2. In blocklyeditor/ploverConfig.js, mode was already set to the SIMPLE
    .
  3. And in the appengine/build.xml, I can see that '-optimize 9' field at 2 places
    image
  4. For -localWorkers N the N value already changed to 8 in the code
    image

I made all the above changes but still I am getting the below error. I cannot able to deploy.

Can you please help me on this issue.

You no longer change those files. Instead, when you compile run ant -Drelease=true noplay to build appengine with all of the optimizations turned on.