+1, I think it's a good way to go.
Please add some description in the binary release kit to specify the
difference between the weex_sdk and weex_sdk_legacy.

Willem Jiang

Twitter: willemjiang
Weibo: 姜宁willem

On Wed, Sep 18, 2019 at 3:25 PM Jan Piotrowski <[email protected]> wrote:
>
> Exactly, that is the opposite of what your original email said ;)
>
> > weex_sdk will be compiled using the gradle-plugin mentioned above, while 
> > weex_sdk_legacy will not.
>
> But I understand now and agree with your suggestion.
>
> J
>
> Am Mi., 18. Sept. 2019 um 04:40 Uhr schrieb York Shen <[email protected]>:
> >
> > Nope.
> >
> > The class name in source code(.java) will be ‘org.apache.weex’, as this is 
> > the right thing to do, IMO. The apache source code release will be under 
> > ‘org.apache.weex’ as well.
> > The weex_sdk will be built without the plugin therefore its package name 
> > shall also be 'org.apache.weex'.
> > The weex_sdk_legacy will be built with the plugin therefore its package 
> > name shall be ‘com.taobao.weex'.
> > Users can choose whichever the above connivence library they’d like.
> >
> >
> > > 在 2019年9月18日,02:56,Jan Piotrowski <[email protected]> 写道:
> > >
> > > Sounds good.
> > >
> > >> weex_sdk will be compiled using the gradle-plugin mentioned above, while 
> > >> weex_sdk_legacy will not.
> > >
> > > Don't you mean the other one around? The legacy one should be built
> > > using the plugin, leading to the class names being replaced with the
> > > old ones.
> > >
> > > -J
> > >
> > > Am Di., 17. Sept. 2019 um 13:56 Uhr schrieb York Shen 
> > > <[email protected] <mailto:[email protected]>>:
> > >>
> > >> Hi, community
> > >>
> > >> Due to the restriction of Java language in method overriding [1], the 
> > >> solution I proposed months ago will not provide backwards-compatibility 
> > >> as expected but produce compiling error for users.
> > >>
> > >> Therefore, I’d like to proposal a new solution to fix the problem.
> > >>
> > >> Package name will be renamed from 'com.taobao.weex' to 'org.apache.weex' 
> > >> in source code and Apache Source Release as the previous plan.
> > >> Create a custom gradle-plugin which could rename package back to 
> > >> ‘com.taobao.weex’ at compiling time.
> > >> Publish two build variants (weex_sdk and weex_sdk_legacy) each time 
> > >> building connivence library. weex_sdk will be compiled using the 
> > >> gradle-plugin mentioned above, while weex_sdk_legacy will not.
> > >> Therefore, classes in weex_sdk will be under ‘org.apache.weex' package, 
> > >> and classes in weex_sdk_legacy will be under ‘com.taobao.weex’.
> > >> New users of weex should choose weex_sdk and new API, while current 
> > >> users could continue using weex_sdk_legacy which provide the same API 
> > >> behavior as now.
> > >> Finally, we would stop publishing weex_sdk_legacy sometime later.
> > >>
> > >> The community could benefit from the above solution in following aspects:
> > >> For me, there is much less work to do in current plan than the old one. 
> > >> Less bug to write, less time to use. One or two weeks will be enough.
> > >> For users, There is a guarantee that the API behavior of weex_sdk_legacy 
> > >> is the same as before because the source code after processing of 
> > >> gradle-plugin is the same as before. The old plan won’t give this 
> > >> guarantee.
> > >> We make our position very clear by naming the connivence binary to 
> > >> weex_sdk_legacy .
> > >>
> > >> [1] "When overriding a method, the signatures (name and argument types) 
> > >> have to be the same after type erasure." Ref 
> > >> https://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.4.2 
> > >> <https://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.4.2> 
> > >> <https://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.4.2 
> > >> <https://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.4.2>>
> > >>  for detail.
> > >>
> > >> Best Regards,
> > >> York Shen
> > >>
> > >> 申远
> > >>
> > >>> 在 2019年7月1日,16:26,Jan Piotrowski <[email protected] 
> > >>> <mailto:[email protected]>> 写道:
> > >>>
> > >>> Sounds pretty neat and was pretty much what I was thinking of.
> > >>>
> > >>> Th
> >

Reply via email to