In that case, I feel like we should be calling check_reqs on create, but not throwing an error; just display a warning if the build tools aren't installed.
We've had reports from people using the cca toolchain that `create` lets them start the project, but then they can't build because they're missing javac or something else essential. I think there's an expectation that we at least let people know early if they're going to have a bad time later on. On Tue, Feb 4, 2014 at 9:30 AM, Michal Mocny <mmo...@chromium.org> wrote: > ..matter of fact, for those same reasons we should change the other > platforms to support installation when check_reqs fail. I should be able > to test Android using AH the exact same way without a full dev environment. > > > On Tue, Feb 4, 2014 at 9:27 AM, Michal Mocny <mmo...@chromium.org> wrote: > > > With the app-harness, you actually can test on iOS from windows, so this > > is becoming a use case. So long as the pre-packaged native plugins > running > > on the app-harness match version requirements for your app, you won't > need > > to build the native bits locally. > > > > All we need is to serve web assets from your development machine to the > > AH, and the easiest way to make sure we serve the right assets is to use > > the platform targeted prepare step. If for no other reason, than just to > > make sure we serve the right cordova_plugins.js (though Braden will know > > what other platform bits the AH consumes, at some point it was using the > > app's cordova.js and plugins' js-modules, but I think it changed to used > > the AH bundled versions). > > > > -Michal > > > > > > On Mon, Feb 3, 2014 at 12:50 PM, Jesse <purplecabb...@gmail.com> wrote: > > > >> Personally, I would not expect a multi-platform team to even checkin the > >> platforms folder. > >> > >> Addressing Axel's use case: It would only require a few commands to be > >> ready to build an iOS Cordova project: > >> npm install -g cordova > >> cordova create ~/HelloCordova > >> cd ~/HelloCordova > >> cordova platform add ios > >> > >> As an alternative, the phonegap-cli [1] allows actual building of iOS > >> targets from Windows, by using the phonegap-build service. Or you could > >> just use the PhoneGap build site directly. You would need to setup an > >> account either way, > >> > >> My reason for creating the issue CB-5963 was NOT to enable the > >> functionality Baz referred to with CB-5706, but to provide an easy way > to > >> test plugins in WP7/8 and Windows8. I will/am changing the > functionality > >> a > >> bit in the nodejs scripts because it doesn't make sense to platform add > >> ios > >> on windows because you won't be able to run the tests anyway. > >> > >> My plan is that the node script for testing mobile spec will only > platform > >> add whatever platform is specified in the arguments. > >> ie. > >> node createmobilespec.js --platform wp8 > >> and possibly in the future, allow the testing of specific plugins, from > >> specific locations, using a specific cordova, and a specific platform > >> location. > >> > >> This really is all I have to say on the CB-5706 subject, if you still > want > >> to do it, then go ahead. However, if it is a significant change, and I > >> think I'll have to support the added code in wp8/windows8, then I will > be > >> very strict in accepting pull requests as I work on these projects every > >> day. You may want to choose a less controversial issue to work on. > >> > >> [1] https://github.com/phonegap/phonegap-cli > >> [2] https://build.phonegap.com/ > >> > >> > >> @purplecabbage > >> risingj.com > >> > >> > >> On Mon, Feb 3, 2014 at 8:09 AM, Andrew Grieve <agri...@chromium.org> > >> wrote: > >> > >> > Converting the scripts to node is exactly what we'd need to do to have > >> them > >> > work on Win, I think. We can just remove the call to check_reqs made > >> from > >> > create(). > >> > > >> > A use-case I can see for this is PhoneGap Build / AppHarness > >> development. > >> > > >> > If you'd like to work on this issue, then I think that's great! > >> > > >> > > >> > On Sun, Feb 2, 2014 at 9:20 AM, Bas Bosman <m...@nazgul.nu> wrote: > >> > > >> > > I do think it's beneficial to have that option available on Windows. > >> > > > >> > > As far as i know Cordova strives for feature parity across all > >> deployment > >> > > platforms (where possible) and I don't think it's strange to extend > >> that > >> > > feature parity to the development platform (where possible). I agree > >> that > >> > > you need XCode to build, test and deploy an iOS app, but you don't > >> need > >> > it > >> > > for large parts of developing the app. For that same reason I think > >> that > >> > > the ability to do a cordova add wp8 (not build) on a Mac for example > >> > would > >> > > be a good thing to have as well. > >> > > > >> > > The 'platform add' code currently doesn't actually use any of the > >> things > >> > > checked for in check_req as far as I can tell, so there is no > >> technical > >> > > reason not to do it. And we do allow a 'plugin add' to add iOS > >> specific > >> > > stuff on a Windows machine. > >> > > > >> > > If a group of people start developing a multi platform app using > >> Cordova > >> > a > >> > > valid use case in my opinion would be that there is one developer > who > >> > does > >> > > the initial setup. So adding the base platforms and plugins for the > >> team > >> > > to use. Currently he has to use multiple development platforms, > which > >> he > >> > > may not have, to do so while there is a good chance he'll only be > >> working > >> > > on the on Mac or Windows only development parts of the app after > that > >> > > initial setup. Giving him the opportunity to do that all from the > >> > > environment he's familiar with seems like a nice thing to have. > >> > > > >> > > Another reason I started looking into this is mobile-spec. There is > a > >> > JIRA > >> > > issue (CB-5963, submitted by a core contributor) about > >> > createmobilespec.sh > >> > > only working on a Mac. That script wouldn't be to hard to port over > to > >> > > JavaScript to have it run on other platforms as well, but it also > has > >> a > >> > > dependency on the platform add ios stuff. I think that having > >> something > >> > > there that works on all platforms and produces the same end result > >> would > >> > > be a good thing as well. > >> > > > >> > > And I agree with Axel, although I hadn't thought of it before, that > >> > having > >> > > similar create scripts across the platforms would be easier to > >> maintain > >> > > and extend Cordova wide in the future. > >> > > > >> > > But those are just my opinions. I didn't assign the JIRA issue to > >> myself > >> > > yet because I wanted to have your input first. And thank you for the > >> > input > >> > > so far. > >> > > > >> > > I see a lot of benefit for myself (and others) in this, but I won't > >> start > >> > > the coding and testing effort if it isn't something that's wanted > by a > >> > > majority of the group. :) > >> > > > >> > > Bas > >> > > > >> > > > Without wanting to say that it makes _much_ sense or is worth the > >> > effort > >> > > I > >> > > > tried this two weeks ago because I needed the iOS app on a > manager's > >> > > > iPhone > >> > > > but the project's iOS devs were not available. I wanted to add the > >> iOS > >> > > > platform, zip the platforms/ios folder and send it to another iOS > >> > > > developer > >> > > > (no Cordova there) to build it there. > >> > > > > >> > > > Maybe a deeper - low priority - goal here would be to have the > same > >> > node > >> > > > scripts on most platforms. > >> > > > Am 02.02.2014 00:06 schrieb "Jesse" <purplecabb...@gmail.com>: > >> > > > > >> > > >> Bas, keep in mind that anyone can enter an issue in JIRA, it > >> doesn't > >> > > >> necessarily mean that it is valid, or thought through, it is > just a > >> > > >> request. > >> > > >> Andrew's comment on the issue itself points some of this out. > >> > > >> It may make more sense to start with issues that have be created > >> by a > >> > > >> core > >> > > >> contributor. > >> > > >> You probably chose this issue because it was unassigned, choosing > >> an > >> > > >> assigned bug ( but not in-progress ) may be better as well, just > be > >> > sure > >> > > >> to > >> > > >> reassign it to yourself, and mark it in-progress. > >> > > >> > >> > > >> @purplecabbage > >> > > >> risingj.com > >> > > >> > >> > > >> > >> > > >> On Sat, Feb 1, 2014 at 2:46 PM, Steven Gill < > >> stevengil...@gmail.com> > >> > > >> wrote: > >> > > >> > >> > > >> > Why do we want to allow IOS create on windows? Xcode(a mac) is > a > >> > > >> > requirement for development for iOS. I don't understand why > this > >> > > >> > functionality is needed. WP stuff needs a windows machine to > >> > > >> > run/build/emulate. Hence why those commands are only available > >> on a > >> > > >> windows > >> > > >> > machine. > >> > > >> > > >> > > >> > > >> > > >> > On Sat, Feb 1, 2014 at 1:05 PM, Bas Bosman <cord...@nazgul.nu> > >> > wrote: > >> > > >> > > >> > > >> > > I've been looking into this. (JIRA CB-5706) > >> > > >> > > > >> > > >> > > The current create and update scripts for iOS are shell and > >> Python > >> > > >> > script. > >> > > >> > > Both of which aren't available on Windows without jumping > >> through > >> > a > >> > > >> lot > >> > > >> > of > >> > > >> > > hoops. > >> > > >> > > > >> > > >> > > Converting the scripts to JavaScript, modeled after the > Android > >> > > >> scripts, > >> > > >> > > will fix the issues of not being able to run them on Windows > >> as we > >> > > >> > already > >> > > >> > > have a Node dependency. > >> > > >> > > > >> > > >> > > But the bigger problem is check_reqs. That will never succeed > >> on > >> > > >> Windows > >> > > >> > > as there's no XCode there. > >> > > >> > > > >> > > >> > > Maybe add an optional --force parameter that will allow > people > >> to > >> > > >> ignore > >> > > >> > > the check_reqs result? > >> > > >> > > > >> > > >> > > Before creating a JIRA issue for that I wanted to solicit > some > >> > > >> opinions > >> > > >> > > here. Is this a valid course of action? Are there better > >> > > >> alternatives? > >> > > >> > > > >> > > >> > > Bas > >> > > >> > > > >> > > >> > > > >> > > >> > > >> > > >> > >> > > > > >> > > > >> > > > >> > > > >> > > >> > > > > >