Git Product home page Git Product logo

Comments (19)

yourcelf avatar yourcelf commented on August 24, 2024

Have you customized things? The buildpack only builds for server: https://github.com/AdmitHub/meteor-buildpack-horse/blob/master/bin/compile#L92

Can you provide more detail about your setup, meteor version, etc?

from meteor-buildpack-horse.

yourcelf avatar yourcelf commented on August 24, 2024

Actually, it looks like the fix in #35 might be incorrect. We may need to return to manually removing platforms prior to build.

from meteor-buildpack-horse.

lpender avatar lpender commented on August 24, 2024

I'm on Meteor 1.2 or so, using Os X, Heroku, Cedar-14.

I think a decent workaround is to remove ios and android from the .meteor/platforms file, commit it and add it to the .gitignore.

Then any developer who wants to build for mobile can explicitly add-platforms on their local environment.

Many thanks

from meteor-buildpack-horse.

vandretti avatar vandretti commented on August 24, 2024

I'm having similar issue with Meteor 1.2 on Linux. The workaround by setting BUILDPACK_PRELAUNCH_METEOR works on Mac , but not on Linux machines.

Apparently, both iOS and Android platforms must be added to a Meteor app, so they can be removed during the build. Unfortunately, adding iOS platform is not currently support for Linux machine.

from meteor-buildpack-horse.

dnswus avatar dnswus commented on August 24, 2024

I think should check for the existence of iOS and Android platform before removing them.

Another buildpack has similar logic: https://github.com/jordansissel/heroku-buildpack-meteor/blob/master/bin/compile_meteor#L55-L62

from meteor-buildpack-horse.

Alveoli avatar Alveoli commented on August 24, 2024

I feel dirty suggesting this, but I've spent a day trying to update my app to work with Meteor 1.2 and had enough!

To get round @lpender's Failed to find 'ANDROID_HOME' environment variable issue but while still supporting Cordova Hot Code Push, I updated my fork to remove the Android platform like so https://github.com/Alveoli/meteor-buildpack-horse/blob/master/bin/compile#L79

I have both iOS and Android apps so I guess that by keeping the ios platform added, Hot Code Push works.

from meteor-buildpack-horse.

kartikTT avatar kartikTT commented on August 24, 2024

@Alveoli thanks for the idea, that got me up and running as well - life saver!

from meteor-buildpack-horse.

jsbranco avatar jsbranco commented on August 24, 2024

This is still an issue, for the interim I just removed the platforms from packages/platform as mentioned by @lpender and it did the trick.

from meteor-buildpack-horse.

benstr avatar benstr commented on August 24, 2024

@branco91 and @lpender you lose hot-code push when removing platforms on the server.

from meteor-buildpack-horse.

lpender avatar lpender commented on August 24, 2024

@benstr thanks for pointing that out.

If anybody figures out how to set up Heroku with the Android SDK please publish the steps here.

from meteor-buildpack-horse.

pauldowman avatar pauldowman commented on August 24, 2024

I submitted PR #57. In doing so I noticed that hot code push for mobile apps has been broken by the BUILDPACK_PRELAUNCH_METEOR feature that got added recently.

I had previously fixed that in #35. BTW @yourcelf why do you think that fix is incorrect? Try mobile HCP with and without it. To test for that see if you can load the url /__cordova/manifest.json.

from meteor-buildpack-horse.

yourcelf avatar yourcelf commented on August 24, 2024

@pauldowman I'd interpreted PR #35 as intending to have meteor "only build for server" by virtue of the "--server" flag. But that flag doesn't do that; it just sets the URL for mobile targets to connect to. I may have misinterpreted the intention there.

Can someone (@lpender , @branco91, @Alveoli) verify that #57 PR fixes this issue?

from meteor-buildpack-horse.

jsbranco avatar jsbranco commented on August 24, 2024

@yourcelf I will try to give it a try today, will post the results.

from meteor-buildpack-horse.

jsbranco avatar jsbranco commented on August 24, 2024

Hi @yourcelf, just tested @pauldowman PR #57 and it does indeed fixes the build issue. Below are the steps I performed.

I just have a question, in the PR it says it also fixes all the hot code push for mobile apps, but in the notes it says it doesn't work for Android apps only. Does this mean if the code I push a code change to Prod my android apps won't pick up?

Here is what I have done:

Using the current repo without the fix.

export BUILDPACK_URL='https://github.com/AdmitHub/meteor-buildpack-horse.git'

-----> Installing meteor
remote: Downloading Meteor distribution
remote: ######################################################################## 100.0%
remote: 
remote: Meteor 1.2.1 has been installed in your home directory (~/.meteor).
remote: 
remote: Now you need to do one of the following:
remote: 
remote:   (1) Add "$HOME/.meteor" to your path, or
remote:   (2) Run this command as root:
remote:         cp "/tmp/buildpacks/custom/meteor-nbc9/.meteor/packages/meteor-tool/1.1.10/mt-os.linux.x86_64/scripts/admin/launch-meteor" /usr/bin/meteor
remote: 
remote: Then to get started, take a look at 'meteor --help' or see the docs at
remote: docs.meteor.com.
-----> Bundling bundle
-----> Building Meteor with ROOT_URL: http://xyz.abc.com
remote: => Errors executing Cordova commands:
remote: 
remote:    While building Cordova app for platform Android:
remote:    Error:
remote:    /tmp/build/.meteor/local/cordova-build/platforms/android/cordova/build:
remote:    Command failed with exit code 2 Error output:
remote:    [Error: Failed to find 'ANDROID_HOME' environment variable. Try setting
remote:    setting it manually.
remote:    Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to
remote:    include path to valid SDK directory.]
remote:    at ChildProcess.whenDone
remote:    (/tmp/buildpacks/custom/meteor-nbc9/.meteor/packages/meteor-tool/.1.1.10.ki0ccv++os.linux.x86_64+web.browser+web.cordova/mt-os.linux.x86_64/dev_bundle/lib/node_modules/cordova-lib/src/cordova/superspawn.js:139:23)
remote:    at ChildProcess.emit (events.js:98:17)
remote:    at maybeClose (child_process.js:766:16)
remote:    at Process.ChildProcess._handle.onexit (child_process.js:833:5)
remote:    

Using the Build pack from @pauldowman

export BUILDPACK_URL='https://github.com/okgrow/meteor-buildpack-horse.git'

remote: docs.meteor.com.
-----> Bundling bundle
       android: removed platform
-----> Building Meteor with ROOT_URL: http://sorteios.juniobranco.com
remote: npm WARN deprecated This version of npm lacks support for important features,
remote: npm WARN deprecated such as scoped packages, offered by the primary npm
remote: npm WARN deprecated registry. Consider upgrading to at least npm@2, if not the
remote: npm WARN deprecated latest stable version. To upgrade to npm@2, run:
remote: npm WARN deprecated 
remote: npm WARN deprecated   npm -g install npm@latest-2
remote: npm WARN deprecated 
remote: npm WARN deprecated To upgrade to the latest stable version, run:
remote: npm WARN deprecated 
remote: npm WARN deprecated   npm -g install npm@latest
remote: npm WARN deprecated 
remote: npm WARN deprecated (Depending on how Node.js was installed on your system, you
remote: npm WARN deprecated may need to prefix the preceding commands with `sudo`, or if
remote: npm WARN deprecated on Windows, run them from an Administrator prompt.)
remote: npm WARN deprecated 
remote: npm WARN deprecated If you're running the version of npm bundled with
remote: npm WARN deprecated Node.js 0.10 LTS, be aware that the next version of 0.10 LTS
remote: npm WARN deprecated will be bundled with a version of npm@2, which has some small
remote: npm WARN deprecated backwards-incompatible changes made to `npm run-script` and
remote: npm WARN deprecated semver behavior.
remote: npm WARN package.json [email protected] No description
remote: npm WARN package.json [email protected] No repository field.
remote: npm WARN package.json [email protected] No README data
.....

Application deployed:
       https://xyz.abc.com

from meteor-buildpack-horse.

max2mx avatar max2mx commented on August 24, 2024

@yourcelf The build pack from @pauldowman works just fine.
But as @branco91 was wondering, I tested the hot code push and the clients running on android didn't pick up the changes.

from meteor-buildpack-horse.

Chidan avatar Chidan commented on August 24, 2024

@Alveoli , as suggested by you if android platform is removed and ios kept, will hot code push work on both android and ios clients? If not has anyone find a workaround or solution?

from meteor-buildpack-horse.

Alveoli avatar Alveoli commented on August 24, 2024

@Chidan yes then hot code push works for both Android and iOS. You can also quickly check if HCP is working by viewing /__cordova/manifest.json

from meteor-buildpack-horse.

lpender avatar lpender commented on August 24, 2024

This worked for me:

heroku buildpacks:set https://github.com/okgrow/meteor-buildpack-horse.git

HCP is working on both iOs and Android now.

from meteor-buildpack-horse.

yourcelf avatar yourcelf commented on August 24, 2024

This ought to be fixed now -- but please reopen if there are any remaining problems.

from meteor-buildpack-horse.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.