You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by Simon MacDonald <si...@gmail.com> on 2012/04/13 22:31:49 UTC

Coho script

Hey,

I've been looking at the coho build release script today and one area
I think we should enhance is for the script to build the common JS and
then have the native components pick up the JS once it is built. This
would reduce the dependency of having the repo owner have to build the
common JS then commit it to the platform repo, then tag their repo.
Instead you just tag all the repos and have someone run the coho
script to create all the deliverables. Since I'm only very familar
with the Android build I've done the change for it only. Is it
possible, desirable, to do the same for other platforms?

Here is my change:

https://github.com/macdonst/coho/commit/2bb57c3bc8172afd2101bc58224c9b8e9f9680ed

Questions? Comments? Quemments?

Simon Mac Donald
http://hi.im/simonmacdonald

Re: Coho script

Posted by Patrick Mueller <pm...@gmail.com>.
On Sat, Apr 14, 2012 at 01:16, Shazron <sh...@gmail.com> wrote:

> Ideally I want the
> Makefile in iOS to actually help with pulling down the node install,
> install it, and install jake as well if possible - so that it's
> seamless.


I think that's gone a bit far.  I don't want to have to do something
special to NOT have node installed by the make file, for instance.  Having
the make file @echo the URL that has node installation instructions is
perfectly fine.

-- 
Patrick Mueller
http://muellerware.org

Re: Coho script

Posted by Simon MacDonald <si...@gmail.com>.
On Sat, Apr 14, 2012 at 1:16 AM, Shazron <sh...@gmail.com> wrote:

>
> Hmm I believe each repo builds off a tag (or should), so I don't see
> where you think for example the iOS version can be X commits ahead,
> they should be identical. I know its a "sync" problem among N
> maintainers which can be a nightmare. But the possibility I brought up
> is still real - you can get a version out there that is not
> tested/vouched for.
>

Well let me give you a very real example of what I'm talking about. If you
were to download the 1.6.0 release from PhoneGap.com you and inspect the
.js files delivered from each platform you will find that if you search for
the last fix before 1.6.0 was tagged:

https://git-wip-us.apache.org/repos/asf?p=incubator-cordova-js.git;a=commit;h=91bcaf73e3c3af82045c7d07ff0b53534e462937

Blackberry includes the fix.
Android does not.

So there you go, on our last release we succeed in putting out versions of
the platform's JS that have obviously been built with a different numbers
of commits.

Simon Mac Donald
http://hi.im/simonmacdonald

Re: Coho script

Posted by Shazron <sh...@gmail.com>.
>> Even though I +1'ed above - I like the idea of each repo being
>> "buildable" without any other dependencies, even though it's a dupe. I
>> realize this is another step for maintainers adding the script in, but
>> hopefully adhering to a release checklist will help somewhat.
>>
>
> Jesse and Shaz, I don't see it as being a hardship that you'd need to do
> build the JavaScript code then the platform specific code. However, if
> folks are worried about introducing a dependency the way I'd solve it, at
> least on Android, is to have the ant build script pull and build the latest
> JavaScript code. That way you always get the latest JS code and you don't
> have to check it into your platform specific repo.

I'm not really talking about us core devs, but the many other devs
that will need to pull our source. Right now it's just "make" for iOS,
but to build the js requires node as well - no biggie, we just have to
slot time for handling and doc'ing this which will eat up time to get
other things done in 2 weeks (?) for 1.7.0. Ideally I want the
Makefile in iOS to actually help with pulling down the node install,
install it, and install jake as well if possible - so that it's
seamless.

>
>
>> One (tiny) possible problem with the release script auto grabbing the
>> latest tagged js is, there is a possibility that it just might contain
>> new changes that hasn't been tested which the maintainer has not
>> signed off on (ie tested). But we might be able to mitigate this by
>> always releasing a rc build that gets tested again, before the
>> "official" release.
>>
>>
> I don't see that as being a problem, rather I see it as an improvement. If
> we are going with a common JS across all the platforms then each of the
> platform specific cordova.js should be built with the same set of commits.
> The way things are now where we build in check in the js to each platform
> may/does result with the iOS version being 3 commits ahead of the
> BlackBerry one, for example. That just smells wrong to me.

Hmm I believe each repo builds off a tag (or should), so I don't see
where you think for example the iOS version can be X commits ahead,
they should be identical. I know its a "sync" problem among N
maintainers which can be a nightmare. But the possibility I brought up
is still real - you can get a version out there that is not
tested/vouched for.

Re: Coho script

Posted by Simon MacDonald <si...@gmail.com>.
On Fri, Apr 13, 2012 at 11:21 PM, Shazron <sh...@gmail.com> wrote:

> Even though I +1'ed above - I like the idea of each repo being
> "buildable" without any other dependencies, even though it's a dupe. I
> realize this is another step for maintainers adding the script in, but
> hopefully adhering to a release checklist will help somewhat.
>

Jesse and Shaz, I don't see it as being a hardship that you'd need to do
build the JavaScript code then the platform specific code. However, if
folks are worried about introducing a dependency the way I'd solve it, at
least on Android, is to have the ant build script pull and build the latest
JavaScript code. That way you always get the latest JS code and you don't
have to check it into your platform specific repo.


> One (tiny) possible problem with the release script auto grabbing the
> latest tagged js is, there is a possibility that it just might contain
> new changes that hasn't been tested which the maintainer has not
> signed off on (ie tested). But we might be able to mitigate this by
> always releasing a rc build that gets tested again, before the
> "official" release.
>
>
I don't see that as being a problem, rather I see it as an improvement. If
we are going with a common JS across all the platforms then each of the
platform specific cordova.js should be built with the same set of commits.
The way things are now where we build in check in the js to each platform
may/does result with the iOS version being 3 commits ahead of the
BlackBerry one, for example. That just smells wrong to me.

Simon Mac Donald
http://hi.im/simonmacdonald

Re: Coho script

Posted by Patrick Mueller <pm...@gmail.com>.
On Sat, Apr 14, 2012 at 11:24, Simon MacDonald <si...@gmail.com>wrote:

>
> Yes, this is what I would like to see as well. For example:
>
> 1) 1.7.0rc1 is tagged.
> 2) three new fixes are checked into the common JS
> 3) 1.7.0.rc2 is tagged.
> 4) one new fix is checked into the common JS
> 5) 1.7.0rc3 is tagged
> 6) Everyone is good, no new fixes are needed in common JS.
> 7) 1.7.0 is tagged which is equal to 1.7.0rc3, thus ensuring the latest JS
> has been tested/vouched for.


+100

Additional note, if it wasn't always in the thread

- we should advertise the rc releases in various places, to allow folks to
try using them.  And presumably provide a couple of days to get feedback
back from those folks.

-- 
Patrick Mueller
http://muellerware.org

Re: Coho script

Posted by Simon MacDonald <si...@gmail.com>.
On Sat, Apr 14, 2012 at 7:31 AM, Patrick Mueller <pm...@gmail.com> wrote:

> On Fri, Apr 13, 2012 at 23:21, Shazron <sh...@gmail.com> wrote:
>
> > One (tiny) possible problem with the release script auto grabbing the
> > latest tagged js is, there is a possibility that it just might contain
> > new changes that hasn't been tested which the maintainer has not
> > signed off on (ie tested). But we might be able to mitigate this by
> > always releasing a rc build that gets tested again, before the
> > "official" release.
>
>
> +1.  This seems like common sense, but the rush we have at the end of a
> release cycle leaves me wary of issues that may drop in, in these final
> moments.
>
>
Yes, this is what I would like to see as well. For example:

1) 1.7.0rc1 is tagged.
2) three new fixes are checked into the common JS
3) 1.7.0.rc2 is tagged.
4) one new fix is checked into the common JS
5) 1.7.0rc3 is tagged
6) Everyone is good, no new fixes are needed in common JS.
7) 1.7.0 is tagged which is equal to 1.7.0rc3, thus ensuring the latest JS
has been tested/vouched for.

Simon Mac Donald
http://hi.im/simonmacdonald

Re: Coho script

Posted by Patrick Mueller <pm...@gmail.com>.
On Fri, Apr 13, 2012 at 23:21, Shazron <sh...@gmail.com> wrote:

> One (tiny) possible problem with the release script auto grabbing the
> latest tagged js is, there is a possibility that it just might contain
> new changes that hasn't been tested which the maintainer has not
> signed off on (ie tested). But we might be able to mitigate this by
> always releasing a rc build that gets tested again, before the
> "official" release.


+1.  This seems like common sense, but the rush we have at the end of a
release cycle leaves me wary of issues that may drop in, in these final
moments.

We should also make sure that everyone knows about changes to common-js
being dropped in, especially at the end of the cycle.

-- 
Patrick Mueller
http://muellerware.org

Re: Coho script

Posted by Shazron <sh...@gmail.com>.
Even though I +1'ed above - I like the idea of each repo being
"buildable" without any other dependencies, even though it's a dupe. I
realize this is another step for maintainers adding the script in, but
hopefully adhering to a release checklist will help somewhat.

One (tiny) possible problem with the release script auto grabbing the
latest tagged js is, there is a possibility that it just might contain
new changes that hasn't been tested which the maintainer has not
signed off on (ie tested). But we might be able to mitigate this by
always releasing a rc build that gets tested again, before the
"official" release.

On Fri, Apr 13, 2012 at 7:16 PM, Jesse MacFadyen
<pu...@gmail.com> wrote:
> I think having the built js file in each platform is fine, and it
> should just be checked in before tagging/releasing.
> Otherwise both repos have to be in perfect sync at all times.
>
> I see this as a slippery slide towards submodules, which we already
> determined are a bad idea. The more inter-dependencies we create in
> these repos, the more we have to move in lock-step. Some autonomy in
> each repo is IMHO a good thing, and the train gets hitched monthly
> anyway when we release.
>
> I think, at any point in time, developers should be able to go to any
> platform repo, download and build and have a working build.
>
> Cheers,
>  Jesse
>
> Sent from my iPhone5
>
> On 2012-04-13, at 7:00 PM, Filip Maj <fi...@adobe.com> wrote:
>
>> So essentially no more .js file in the native repos?
>>
>> We would need to update the READMEs and point users to the cordova-js repo
>> so they can build it themselves too then ya?
>>
>> On 4/13/12 3:11 PM, "Anis KADRI" <an...@gmail.com> wrote:
>>
>>> +1
>>>
>>> On Fri, Apr 13, 2012 at 3:07 PM, Shazron <sh...@gmail.com> wrote:
>>>
>>>> +1
>>>>
>>>> On Fri, Apr 13, 2012 at 1:39 PM, Drew Walters <de...@gmail.com>
>>>> wrote:
>>>>> +1 for this and all the other times it has been mentioned.
>>>>>
>>>>> On Fri, Apr 13, 2012 at 3:35 PM, Joe Bowser <bo...@gmail.com> wrote:
>>>>>> +1, but I'm in the same boat as Simon.
>>>>>>
>>>>>> On Fri, Apr 13, 2012 at 1:31 PM, Simon MacDonald
>>>>>> <si...@gmail.com>wrote:
>>>>>>
>>>>>>> Hey,
>>>>>>>
>>>>>>> I've been looking at the coho build release script today and one
>>>> area
>>>>>>> I think we should enhance is for the script to build the common JS
>>>> and
>>>>>>> then have the native components pick up the JS once it is built.
>>>> This
>>>>>>> would reduce the dependency of having the repo owner have to build
>>>> the
>>>>>>> common JS then commit it to the platform repo, then tag their repo.
>>>>>>> Instead you just tag all the repos and have someone run the coho
>>>>>>> script to create all the deliverables. Since I'm only very familar
>>>>>>> with the Android build I've done the change for it only. Is it
>>>>>>> possible, desirable, to do the same for other platforms?
>>>>>>>
>>>>>>> Here is my change:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>
>>>> https://github.com/macdonst/coho/commit/2bb57c3bc8172afd2101bc58224c9b8e9
>>>> f9680ed
>>>>>>>
>>>>>>> Questions? Comments? Quemments?
>>>>>>>
>>>>>>> Simon Mac Donald
>>>>>>> http://hi.im/simonmacdonald
>>>>>>>
>>>>
>>

Re: Coho script

Posted by Jesse MacFadyen <pu...@gmail.com>.
I think having the built js file in each platform is fine, and it
should just be checked in before tagging/releasing.
Otherwise both repos have to be in perfect sync at all times.

I see this as a slippery slide towards submodules, which we already
determined are a bad idea. The more inter-dependencies we create in
these repos, the more we have to move in lock-step. Some autonomy in
each repo is IMHO a good thing, and the train gets hitched monthly
anyway when we release.

I think, at any point in time, developers should be able to go to any
platform repo, download and build and have a working build.

Cheers,
  Jesse

Sent from my iPhone5

On 2012-04-13, at 7:00 PM, Filip Maj <fi...@adobe.com> wrote:

> So essentially no more .js file in the native repos?
>
> We would need to update the READMEs and point users to the cordova-js repo
> so they can build it themselves too then ya?
>
> On 4/13/12 3:11 PM, "Anis KADRI" <an...@gmail.com> wrote:
>
>> +1
>>
>> On Fri, Apr 13, 2012 at 3:07 PM, Shazron <sh...@gmail.com> wrote:
>>
>>> +1
>>>
>>> On Fri, Apr 13, 2012 at 1:39 PM, Drew Walters <de...@gmail.com>
>>> wrote:
>>>> +1 for this and all the other times it has been mentioned.
>>>>
>>>> On Fri, Apr 13, 2012 at 3:35 PM, Joe Bowser <bo...@gmail.com> wrote:
>>>>> +1, but I'm in the same boat as Simon.
>>>>>
>>>>> On Fri, Apr 13, 2012 at 1:31 PM, Simon MacDonald
>>>>> <si...@gmail.com>wrote:
>>>>>
>>>>>> Hey,
>>>>>>
>>>>>> I've been looking at the coho build release script today and one
>>> area
>>>>>> I think we should enhance is for the script to build the common JS
>>> and
>>>>>> then have the native components pick up the JS once it is built.
>>> This
>>>>>> would reduce the dependency of having the repo owner have to build
>>> the
>>>>>> common JS then commit it to the platform repo, then tag their repo.
>>>>>> Instead you just tag all the repos and have someone run the coho
>>>>>> script to create all the deliverables. Since I'm only very familar
>>>>>> with the Android build I've done the change for it only. Is it
>>>>>> possible, desirable, to do the same for other platforms?
>>>>>>
>>>>>> Here is my change:
>>>>>>
>>>>>>
>>>>>>
>>>
>>> https://github.com/macdonst/coho/commit/2bb57c3bc8172afd2101bc58224c9b8e9
>>> f9680ed
>>>>>>
>>>>>> Questions? Comments? Quemments?
>>>>>>
>>>>>> Simon Mac Donald
>>>>>> http://hi.im/simonmacdonald
>>>>>>
>>>
>

Re: Coho script

Posted by Filip Maj <fi...@adobe.com>.
So essentially no more .js file in the native repos?

We would need to update the READMEs and point users to the cordova-js repo
so they can build it themselves too then ya?

On 4/13/12 3:11 PM, "Anis KADRI" <an...@gmail.com> wrote:

>+1
>
>On Fri, Apr 13, 2012 at 3:07 PM, Shazron <sh...@gmail.com> wrote:
>
>> +1
>>
>> On Fri, Apr 13, 2012 at 1:39 PM, Drew Walters <de...@gmail.com>
>>wrote:
>> > +1 for this and all the other times it has been mentioned.
>> >
>> > On Fri, Apr 13, 2012 at 3:35 PM, Joe Bowser <bo...@gmail.com> wrote:
>> >> +1, but I'm in the same boat as Simon.
>> >>
>> >> On Fri, Apr 13, 2012 at 1:31 PM, Simon MacDonald
>> >> <si...@gmail.com>wrote:
>> >>
>> >>> Hey,
>> >>>
>> >>> I've been looking at the coho build release script today and one
>>area
>> >>> I think we should enhance is for the script to build the common JS
>>and
>> >>> then have the native components pick up the JS once it is built.
>>This
>> >>> would reduce the dependency of having the repo owner have to build
>>the
>> >>> common JS then commit it to the platform repo, then tag their repo.
>> >>> Instead you just tag all the repos and have someone run the coho
>> >>> script to create all the deliverables. Since I'm only very familar
>> >>> with the Android build I've done the change for it only. Is it
>> >>> possible, desirable, to do the same for other platforms?
>> >>>
>> >>> Here is my change:
>> >>>
>> >>>
>> >>>
>> 
>>https://github.com/macdonst/coho/commit/2bb57c3bc8172afd2101bc58224c9b8e9
>>f9680ed
>> >>>
>> >>> Questions? Comments? Quemments?
>> >>>
>> >>> Simon Mac Donald
>> >>> http://hi.im/simonmacdonald
>> >>>
>>


Re: Coho script

Posted by Anis KADRI <an...@gmail.com>.
+1

On Fri, Apr 13, 2012 at 3:07 PM, Shazron <sh...@gmail.com> wrote:

> +1
>
> On Fri, Apr 13, 2012 at 1:39 PM, Drew Walters <de...@gmail.com> wrote:
> > +1 for this and all the other times it has been mentioned.
> >
> > On Fri, Apr 13, 2012 at 3:35 PM, Joe Bowser <bo...@gmail.com> wrote:
> >> +1, but I'm in the same boat as Simon.
> >>
> >> On Fri, Apr 13, 2012 at 1:31 PM, Simon MacDonald
> >> <si...@gmail.com>wrote:
> >>
> >>> Hey,
> >>>
> >>> I've been looking at the coho build release script today and one area
> >>> I think we should enhance is for the script to build the common JS and
> >>> then have the native components pick up the JS once it is built. This
> >>> would reduce the dependency of having the repo owner have to build the
> >>> common JS then commit it to the platform repo, then tag their repo.
> >>> Instead you just tag all the repos and have someone run the coho
> >>> script to create all the deliverables. Since I'm only very familar
> >>> with the Android build I've done the change for it only. Is it
> >>> possible, desirable, to do the same for other platforms?
> >>>
> >>> Here is my change:
> >>>
> >>>
> >>>
> https://github.com/macdonst/coho/commit/2bb57c3bc8172afd2101bc58224c9b8e9f9680ed
> >>>
> >>> Questions? Comments? Quemments?
> >>>
> >>> Simon Mac Donald
> >>> http://hi.im/simonmacdonald
> >>>
>

Re: Coho script

Posted by Shazron <sh...@gmail.com>.
+1

On Fri, Apr 13, 2012 at 1:39 PM, Drew Walters <de...@gmail.com> wrote:
> +1 for this and all the other times it has been mentioned.
>
> On Fri, Apr 13, 2012 at 3:35 PM, Joe Bowser <bo...@gmail.com> wrote:
>> +1, but I'm in the same boat as Simon.
>>
>> On Fri, Apr 13, 2012 at 1:31 PM, Simon MacDonald
>> <si...@gmail.com>wrote:
>>
>>> Hey,
>>>
>>> I've been looking at the coho build release script today and one area
>>> I think we should enhance is for the script to build the common JS and
>>> then have the native components pick up the JS once it is built. This
>>> would reduce the dependency of having the repo owner have to build the
>>> common JS then commit it to the platform repo, then tag their repo.
>>> Instead you just tag all the repos and have someone run the coho
>>> script to create all the deliverables. Since I'm only very familar
>>> with the Android build I've done the change for it only. Is it
>>> possible, desirable, to do the same for other platforms?
>>>
>>> Here is my change:
>>>
>>>
>>> https://github.com/macdonst/coho/commit/2bb57c3bc8172afd2101bc58224c9b8e9f9680ed
>>>
>>> Questions? Comments? Quemments?
>>>
>>> Simon Mac Donald
>>> http://hi.im/simonmacdonald
>>>

Re: Coho script

Posted by Drew Walters <de...@gmail.com>.
+1 for this and all the other times it has been mentioned.

On Fri, Apr 13, 2012 at 3:35 PM, Joe Bowser <bo...@gmail.com> wrote:
> +1, but I'm in the same boat as Simon.
>
> On Fri, Apr 13, 2012 at 1:31 PM, Simon MacDonald
> <si...@gmail.com>wrote:
>
>> Hey,
>>
>> I've been looking at the coho build release script today and one area
>> I think we should enhance is for the script to build the common JS and
>> then have the native components pick up the JS once it is built. This
>> would reduce the dependency of having the repo owner have to build the
>> common JS then commit it to the platform repo, then tag their repo.
>> Instead you just tag all the repos and have someone run the coho
>> script to create all the deliverables. Since I'm only very familar
>> with the Android build I've done the change for it only. Is it
>> possible, desirable, to do the same for other platforms?
>>
>> Here is my change:
>>
>>
>> https://github.com/macdonst/coho/commit/2bb57c3bc8172afd2101bc58224c9b8e9f9680ed
>>
>> Questions? Comments? Quemments?
>>
>> Simon Mac Donald
>> http://hi.im/simonmacdonald
>>

Re: Coho script

Posted by Joe Bowser <bo...@gmail.com>.
+1, but I'm in the same boat as Simon.

On Fri, Apr 13, 2012 at 1:31 PM, Simon MacDonald
<si...@gmail.com>wrote:

> Hey,
>
> I've been looking at the coho build release script today and one area
> I think we should enhance is for the script to build the common JS and
> then have the native components pick up the JS once it is built. This
> would reduce the dependency of having the repo owner have to build the
> common JS then commit it to the platform repo, then tag their repo.
> Instead you just tag all the repos and have someone run the coho
> script to create all the deliverables. Since I'm only very familar
> with the Android build I've done the change for it only. Is it
> possible, desirable, to do the same for other platforms?
>
> Here is my change:
>
>
> https://github.com/macdonst/coho/commit/2bb57c3bc8172afd2101bc58224c9b8e9f9680ed
>
> Questions? Comments? Quemments?
>
> Simon Mac Donald
> http://hi.im/simonmacdonald
>