You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by Jesse <pu...@gmail.com> on 2014/02/25 23:35:41 UTC

Framework support via plugman + plugin spec

Plugman's install.js has this nice little gem in the source [0]:

frameworkFiles = platformTag.findall('./framework[@custom="true"]'), //
CB-5238 adding only custom frameworks

Looking through CB-5238[1], and the related issues [2][3] I have some
questions.

1. How do we add a non-custom framework?
2. What is the point of having an attribute that we only accept one value
for?
3. The docs [4] state that the default is false, but the code does not do
anything unless @custom is 'true', where is the disconnect?

[0]
https://github.com/apache/cordova-plugman/blob/master/src/install.js#L362
[1] https://issues.apache.org/jira/browse/CB-5238
[2] https://issues.apache.org/jira/browse/CB-5682
[3] https://issues.apache.org/jira/browse/CB-5949
[4] http://cordova.apache.org/docs/en/edge/plugin_ref_spec.md



@purplecabbage
risingj.com

Re: Framework support via plugman + plugin spec

Posted by Jesse <pu...@gmail.com>.
Okay, thanks, that is nice and ugly.
I'll put cleaning this mess up on my list.

@purplecabbage
risingj.com


On Tue, Feb 25, 2014 at 3:50 PM, Anis KADRI <an...@gmail.com> wrote:

> Forgot to mention that there is also a <source framework="true"> for
> pre-compiled libraries.
>
>
> On Tue, Feb 25, 2014 at 3:49 PM, Anis KADRI <an...@gmail.com> wrote:
>
> > Both types are installable by plugman.
> >
> > The (install.js) code does not give you a full picture.
> >
> > Take a look at [1]
> >
> > It is not a defect.
> >
> > For tool that is just supposed to moves file around and update some
> config
> > files, I think plugman has gotten overly complicated. Mostly to meet CLI
> > requirements.
> >
> > [1]
> >
> https://git-wip-us.apache.org/repos/asf?p=cordova-plugman.git;a=blob;f=src/util/config-changes.js;h=989a582649732469921c80d4ede6f9f00874d3ea;hb=HEAD#l130
> >
> >
> > On Tue, Feb 25, 2014 at 2:58 PM, Jesse <pu...@gmail.com> wrote:
> >
> >> Inline ...
> >>
> >> @purplecabbage
> >> risingj.com
> >>
> >>
> >> On Tue, Feb 25, 2014 at 2:49 PM, Anis KADRI <an...@gmail.com>
> wrote:
> >>
> >> > 1. This is an iOS only thing. Non-custom means System frameworks that
> >> ship
> >> > with the iOS SDK (CoreGraphics.framework, Accounts.frameworks, ...).
> >> Custom
> >> > frameworks are the ones you usually download, drag and drop to your
> >> xcode
> >> > project. There are some differences in how the project is structured
> for
> >> > System vs Custom frameworks.
> >> >
> >>
> >> Well, the framework tag now applies to Windows Phone and Windows 8, so
> >> this
> >> needs to be addressed.
> >> I understand the difference between custom and not-custom, but I require
> >> both types to be install-able by plugman.
> >> ie. custom means copy lib file to project + add linker reference
> >>     not-custom means just add linker reference
> >>
> >>
> >> > 2. It is silly I know but I didn't want to introduce a new tag.
> >> Especially
> >> > since there was already one that was
> >> > explicit enough (the <framework> tag).
> >> >
> >>
> >> Not silly, I too want to use the framework tag ...
> >>
> >>
> >> >
> >> > 3. if unspecified or set to false, it will be considered as a system
> >> > framework. Otherwise (if custom="true") it is considered a custom
> >> framework
> >> > and the xcode project will be structured accordingly. We could make
> the
> >> > custom attribute mandatory but I thought it would more of a pain.
> >> Besides,
> >> > it would break existing plugins that use System Frameworks.
> >> >
> >>
> >> Looking at the code any framework tag that does not have @custom='true'
> >> will be completely ignored.  Is this a defect?
> >>
> >>
> >> >
> >> > Anis
> >> >
> >> >
> >> > On Tue, Feb 25, 2014 at 2:35 PM, Jesse <pu...@gmail.com>
> wrote:
> >> >
> >> > > Plugman's install.js has this nice little gem in the source [0]:
> >> > >
> >> > > frameworkFiles = platformTag.findall('./framework[@custom="true"]'),
> >> //
> >> > > CB-5238 adding only custom frameworks
> >> > >
> >> > > Looking through CB-5238[1], and the related issues [2][3] I have
> some
> >> > > questions.
> >> > >
> >> > > 1. How do we add a non-custom framework?
> >> > > 2. What is the point of having an attribute that we only accept one
> >> value
> >> > > for?
> >> > > 3. The docs [4] state that the default is false, but the code does
> >> not do
> >> > > anything unless @custom is 'true', where is the disconnect?
> >> > >
> >> > > [0]
> >> > >
> >> >
> >>
> https://github.com/apache/cordova-plugman/blob/master/src/install.js#L362
> >> > > [1] https://issues.apache.org/jira/browse/CB-5238
> >> > > [2] https://issues.apache.org/jira/browse/CB-5682
> >> > > [3] https://issues.apache.org/jira/browse/CB-5949
> >> > > [4] http://cordova.apache.org/docs/en/edge/plugin_ref_spec.md
> >> > >
> >> > >
> >> > >
> >> > > @purplecabbage
> >> > > risingj.com
> >> > >
> >> >
> >>
> >
> >
>

Re: Framework support via plugman + plugin spec

Posted by Anis KADRI <an...@gmail.com>.
Forgot to mention that there is also a <source framework="true"> for
pre-compiled libraries.


On Tue, Feb 25, 2014 at 3:49 PM, Anis KADRI <an...@gmail.com> wrote:

> Both types are installable by plugman.
>
> The (install.js) code does not give you a full picture.
>
> Take a look at [1]
>
> It is not a defect.
>
> For tool that is just supposed to moves file around and update some config
> files, I think plugman has gotten overly complicated. Mostly to meet CLI
> requirements.
>
> [1]
> https://git-wip-us.apache.org/repos/asf?p=cordova-plugman.git;a=blob;f=src/util/config-changes.js;h=989a582649732469921c80d4ede6f9f00874d3ea;hb=HEAD#l130
>
>
> On Tue, Feb 25, 2014 at 2:58 PM, Jesse <pu...@gmail.com> wrote:
>
>> Inline ...
>>
>> @purplecabbage
>> risingj.com
>>
>>
>> On Tue, Feb 25, 2014 at 2:49 PM, Anis KADRI <an...@gmail.com> wrote:
>>
>> > 1. This is an iOS only thing. Non-custom means System frameworks that
>> ship
>> > with the iOS SDK (CoreGraphics.framework, Accounts.frameworks, ...).
>> Custom
>> > frameworks are the ones you usually download, drag and drop to your
>> xcode
>> > project. There are some differences in how the project is structured for
>> > System vs Custom frameworks.
>> >
>>
>> Well, the framework tag now applies to Windows Phone and Windows 8, so
>> this
>> needs to be addressed.
>> I understand the difference between custom and not-custom, but I require
>> both types to be install-able by plugman.
>> ie. custom means copy lib file to project + add linker reference
>>     not-custom means just add linker reference
>>
>>
>> > 2. It is silly I know but I didn't want to introduce a new tag.
>> Especially
>> > since there was already one that was
>> > explicit enough (the <framework> tag).
>> >
>>
>> Not silly, I too want to use the framework tag ...
>>
>>
>> >
>> > 3. if unspecified or set to false, it will be considered as a system
>> > framework. Otherwise (if custom="true") it is considered a custom
>> framework
>> > and the xcode project will be structured accordingly. We could make the
>> > custom attribute mandatory but I thought it would more of a pain.
>> Besides,
>> > it would break existing plugins that use System Frameworks.
>> >
>>
>> Looking at the code any framework tag that does not have @custom='true'
>> will be completely ignored.  Is this a defect?
>>
>>
>> >
>> > Anis
>> >
>> >
>> > On Tue, Feb 25, 2014 at 2:35 PM, Jesse <pu...@gmail.com> wrote:
>> >
>> > > Plugman's install.js has this nice little gem in the source [0]:
>> > >
>> > > frameworkFiles = platformTag.findall('./framework[@custom="true"]'),
>> //
>> > > CB-5238 adding only custom frameworks
>> > >
>> > > Looking through CB-5238[1], and the related issues [2][3] I have some
>> > > questions.
>> > >
>> > > 1. How do we add a non-custom framework?
>> > > 2. What is the point of having an attribute that we only accept one
>> value
>> > > for?
>> > > 3. The docs [4] state that the default is false, but the code does
>> not do
>> > > anything unless @custom is 'true', where is the disconnect?
>> > >
>> > > [0]
>> > >
>> >
>> https://github.com/apache/cordova-plugman/blob/master/src/install.js#L362
>> > > [1] https://issues.apache.org/jira/browse/CB-5238
>> > > [2] https://issues.apache.org/jira/browse/CB-5682
>> > > [3] https://issues.apache.org/jira/browse/CB-5949
>> > > [4] http://cordova.apache.org/docs/en/edge/plugin_ref_spec.md
>> > >
>> > >
>> > >
>> > > @purplecabbage
>> > > risingj.com
>> > >
>> >
>>
>
>

Re: Framework support via plugman + plugin spec

Posted by Anis KADRI <an...@gmail.com>.
Both types are installable by plugman.

The (install.js) code does not give you a full picture.

Take a look at [1]

It is not a defect.

For tool that is just supposed to moves file around and update some config
files, I think plugman has gotten overly complicated. Mostly to meet CLI
requirements.

[1]
https://git-wip-us.apache.org/repos/asf?p=cordova-plugman.git;a=blob;f=src/util/config-changes.js;h=989a582649732469921c80d4ede6f9f00874d3ea;hb=HEAD#l130


On Tue, Feb 25, 2014 at 2:58 PM, Jesse <pu...@gmail.com> wrote:

> Inline ...
>
> @purplecabbage
> risingj.com
>
>
> On Tue, Feb 25, 2014 at 2:49 PM, Anis KADRI <an...@gmail.com> wrote:
>
> > 1. This is an iOS only thing. Non-custom means System frameworks that
> ship
> > with the iOS SDK (CoreGraphics.framework, Accounts.frameworks, ...).
> Custom
> > frameworks are the ones you usually download, drag and drop to your xcode
> > project. There are some differences in how the project is structured for
> > System vs Custom frameworks.
> >
>
> Well, the framework tag now applies to Windows Phone and Windows 8, so this
> needs to be addressed.
> I understand the difference between custom and not-custom, but I require
> both types to be install-able by plugman.
> ie. custom means copy lib file to project + add linker reference
>     not-custom means just add linker reference
>
>
> > 2. It is silly I know but I didn't want to introduce a new tag.
> Especially
> > since there was already one that was
> > explicit enough (the <framework> tag).
> >
>
> Not silly, I too want to use the framework tag ...
>
>
> >
> > 3. if unspecified or set to false, it will be considered as a system
> > framework. Otherwise (if custom="true") it is considered a custom
> framework
> > and the xcode project will be structured accordingly. We could make the
> > custom attribute mandatory but I thought it would more of a pain.
> Besides,
> > it would break existing plugins that use System Frameworks.
> >
>
> Looking at the code any framework tag that does not have @custom='true'
> will be completely ignored.  Is this a defect?
>
>
> >
> > Anis
> >
> >
> > On Tue, Feb 25, 2014 at 2:35 PM, Jesse <pu...@gmail.com> wrote:
> >
> > > Plugman's install.js has this nice little gem in the source [0]:
> > >
> > > frameworkFiles = platformTag.findall('./framework[@custom="true"]'), //
> > > CB-5238 adding only custom frameworks
> > >
> > > Looking through CB-5238[1], and the related issues [2][3] I have some
> > > questions.
> > >
> > > 1. How do we add a non-custom framework?
> > > 2. What is the point of having an attribute that we only accept one
> value
> > > for?
> > > 3. The docs [4] state that the default is false, but the code does not
> do
> > > anything unless @custom is 'true', where is the disconnect?
> > >
> > > [0]
> > >
> >
> https://github.com/apache/cordova-plugman/blob/master/src/install.js#L362
> > > [1] https://issues.apache.org/jira/browse/CB-5238
> > > [2] https://issues.apache.org/jira/browse/CB-5682
> > > [3] https://issues.apache.org/jira/browse/CB-5949
> > > [4] http://cordova.apache.org/docs/en/edge/plugin_ref_spec.md
> > >
> > >
> > >
> > > @purplecabbage
> > > risingj.com
> > >
> >
>

Re: Framework support via plugman + plugin spec

Posted by Jesse <pu...@gmail.com>.
Inline ...

@purplecabbage
risingj.com


On Tue, Feb 25, 2014 at 2:49 PM, Anis KADRI <an...@gmail.com> wrote:

> 1. This is an iOS only thing. Non-custom means System frameworks that ship
> with the iOS SDK (CoreGraphics.framework, Accounts.frameworks, ...). Custom
> frameworks are the ones you usually download, drag and drop to your xcode
> project. There are some differences in how the project is structured for
> System vs Custom frameworks.
>

Well, the framework tag now applies to Windows Phone and Windows 8, so this
needs to be addressed.
I understand the difference between custom and not-custom, but I require
both types to be install-able by plugman.
ie. custom means copy lib file to project + add linker reference
    not-custom means just add linker reference


> 2. It is silly I know but I didn't want to introduce a new tag. Especially
> since there was already one that was
> explicit enough (the <framework> tag).
>

Not silly, I too want to use the framework tag ...


>
> 3. if unspecified or set to false, it will be considered as a system
> framework. Otherwise (if custom="true") it is considered a custom framework
> and the xcode project will be structured accordingly. We could make the
> custom attribute mandatory but I thought it would more of a pain. Besides,
> it would break existing plugins that use System Frameworks.
>

Looking at the code any framework tag that does not have @custom='true'
will be completely ignored.  Is this a defect?


>
> Anis
>
>
> On Tue, Feb 25, 2014 at 2:35 PM, Jesse <pu...@gmail.com> wrote:
>
> > Plugman's install.js has this nice little gem in the source [0]:
> >
> > frameworkFiles = platformTag.findall('./framework[@custom="true"]'), //
> > CB-5238 adding only custom frameworks
> >
> > Looking through CB-5238[1], and the related issues [2][3] I have some
> > questions.
> >
> > 1. How do we add a non-custom framework?
> > 2. What is the point of having an attribute that we only accept one value
> > for?
> > 3. The docs [4] state that the default is false, but the code does not do
> > anything unless @custom is 'true', where is the disconnect?
> >
> > [0]
> >
> https://github.com/apache/cordova-plugman/blob/master/src/install.js#L362
> > [1] https://issues.apache.org/jira/browse/CB-5238
> > [2] https://issues.apache.org/jira/browse/CB-5682
> > [3] https://issues.apache.org/jira/browse/CB-5949
> > [4] http://cordova.apache.org/docs/en/edge/plugin_ref_spec.md
> >
> >
> >
> > @purplecabbage
> > risingj.com
> >
>

Re: Framework support via plugman + plugin spec

Posted by Anis KADRI <an...@gmail.com>.
1. This is an iOS only thing. Non-custom means System frameworks that ship
with the iOS SDK (CoreGraphics.framework, Accounts.frameworks, ...). Custom
frameworks are the ones you usually download, drag and drop to your xcode
project. There are some differences in how the project is structured for
System vs Custom frameworks.

2. It is silly I know but I didn't want to introduce a new tag. Especially
since there was already one that was
explicit enough (the <framework> tag).

3. if unspecified or set to false, it will be considered as a system
framework. Otherwise (if custom="true") it is considered a custom framework
and the xcode project will be structured accordingly. We could make the
custom attribute mandatory but I thought it would more of a pain. Besides,
it would break existing plugins that use System Frameworks.

Anis


On Tue, Feb 25, 2014 at 2:35 PM, Jesse <pu...@gmail.com> wrote:

> Plugman's install.js has this nice little gem in the source [0]:
>
> frameworkFiles = platformTag.findall('./framework[@custom="true"]'), //
> CB-5238 adding only custom frameworks
>
> Looking through CB-5238[1], and the related issues [2][3] I have some
> questions.
>
> 1. How do we add a non-custom framework?
> 2. What is the point of having an attribute that we only accept one value
> for?
> 3. The docs [4] state that the default is false, but the code does not do
> anything unless @custom is 'true', where is the disconnect?
>
> [0]
> https://github.com/apache/cordova-plugman/blob/master/src/install.js#L362
> [1] https://issues.apache.org/jira/browse/CB-5238
> [2] https://issues.apache.org/jira/browse/CB-5682
> [3] https://issues.apache.org/jira/browse/CB-5949
> [4] http://cordova.apache.org/docs/en/edge/plugin_ref_spec.md
>
>
>
> @purplecabbage
> risingj.com
>