Comments (19)
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.
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.
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-platform
s on their local environment.
Many thanks
from meteor-buildpack-horse.
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.
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.
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.
@Alveoli thanks for the idea, that got me up and running as well - life saver!
from meteor-buildpack-horse.
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.
@branco91 and @lpender you lose hot-code push when removing platforms on the server.
from meteor-buildpack-horse.
@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.
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.
@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.
@yourcelf I will try to give it a try today, will post the results.
from meteor-buildpack-horse.
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.
@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.
@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.
@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.
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.
This ought to be fixed now -- but please reopen if there are any remaining problems.
from meteor-buildpack-horse.
Related Issues (20)
- Add support for review apps HOT 2
- Build Error. npm ERR! 404 Not Found: pinkie-promise
- Handle METEOR_PACKAGE_DIRS HOT 9
- Incomprehensible error
- Instrument the app with tools such as new relic? HOT 4
- MONGO_URL is set, but build always stops with "missing error" HOT 1
- Build changes not getting reflected properly
- in heroku console log i am getting this: at=error code=H10 desc="App crashed" method=GET HOT 2
- Meteor 1.7 error on build to Heroku HOT 5
- Question: How do we set HTTP Headers? HOT 2
- Dokku deploy problem HOT 1
- prodOnly force-ssl not working
- App crashing after build
- Oplog support ? HOT 2
- update for meteor 1.9 HOT 5
- Update For Meteor 1.9
- [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs
- .......
- connection problems? HOT 1
- Multiple CERT_HAS_EXPIRED errors when pushing build to Heroku
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from meteor-buildpack-horse.