Thanks Jerome! Will it still make it to 2.2.0, or will be available only in 
a later version?
Ariel

On Monday, June 6, 2016 at 7:09:33 AM UTC+3, Jerome Dochez wrote:
>
> it's not there yet but someone is working on it. I will make it's 
> documented once it's out.
>
> On Sun, Jun 5, 2016 at 6:46 AM, Ariel Cattan <[email protected] 
> <javascript:>> wrote:
>
>> Hi Jerome,
>>
>> Is it possible to do Dex transformations using the transform API in 
>> Gradle plugin 2.2.0-alpha2 ? If yes - is there any documentation for it? 
>> And if not - is it still planned for 2.2.0?
>>
>> Thanks :)
>> Ariel
>>
>> On Tuesday, April 12, 2016 at 9:51:34 AM UTC+3, Ariel Cattan wrote:
>>>
>>> That's excellent news! Thanks!!
>>> Ariel
>>>
>>> On Monday, April 11, 2016 at 11:50:40 PM UTC+3, Jerome Dochez wrote:
>>>>
>>>> got it. yes this is relatively easy, we should add it in 2.2 timeframe.
>>>>
>>>> https://code.google.com/p/android/issues/detail?id=206504
>>>>
>>>> Jerome
>>>>
>>>> On Mon, Apr 11, 2016 at 1:35 PM Ariel Cattan <[email protected]> wrote:
>>>>
>>>>> Hi Jerome,
>>>>>
>>>>> Actually we are already doing very extensive dex transformations 
>>>>> today. We found we had much more control with dex transformations, and in 
>>>>> fact switched our entire solution to be based on dex transformations.
>>>>> Today our Gradle plugin finds its way through the various Android 
>>>>> plugin tasks, takes the output of the dex task, does the transformations, 
>>>>> and then adjusts the inputs of the packaging task so that it uses our 
>>>>> instrumented dex files instead of the original ones. We are doing it with 
>>>>> Android plugins below version 1.5.0, as well as above.  However, since 
>>>>> these are not official APIs, we have to "chase" you guys with every 
>>>>> release 
>>>>> :-)
>>>>> That's why we are striving to have an official, stable API that will 
>>>>> allow us to do that.
>>>>> Using the Jack API may be interesting, depending on what capabilities 
>>>>> it will expose. However since we're already heavily invested in dex 
>>>>> instrumentation, it will be better for us to just be able to get the dex 
>>>>> files as an input to a transform, and output back instrumented dex files.
>>>>> Wouldn't it be relatively easy for you to support such a path, using 
>>>>> the transform API?
>>>>>
>>>>> Thanks!
>>>>> Ariel
>>>>>
>>>>>
>>>>> On Monday, April 11, 2016 at 10:41:31 PM UTC+3, Jerome Dochez wrote:
>>>>>
>>>>>> Hi Ariel
>>>>>>
>>>>>> I think this discussion can go into different directions. 
>>>>>>
>>>>>> - we might at some point give access to transforms that manipulate 
>>>>>> dex files but the question remain, how do you plan to do the actual 
>>>>>> transformation ? asm-dex seems to not be complete for instance.
>>>>>>
>>>>>> - we will keep a path (even with jack enabled) where javac will be 
>>>>>> used to compile java code into .class files and bytecode manipulation 
>>>>>> will 
>>>>>> still be possible before the .class files are reinjected into the jack 
>>>>>> pipeline (which will be how instant-run+jack will be implemented 
>>>>>> initially).
>>>>>>
>>>>>> - Jack will also provide an API (based on ECJ) to register jack 
>>>>>> native bytecode enhancement that will allow you to do byte code 
>>>>>> manipulation as well (although constructs will be at a higher level 
>>>>>> obviously). This might be how instant-run will evolve.
>>>>>>
>>>>>> which path would you rather take ?
>>>>>>
>>>>>> On Mon, Apr 11, 2016 at 6:26 AM Ariel Cattan <[email protected]> 
>>>>>> wrote:
>>>>>>
>>>>> Hi,
>>>>>>>
>>>>>>> At the initial stages of the Transform API there seemed to be a way 
>>>>>>> to add a Dex transformation, but this was taken away.
>>>>>>> We are seeking for official/safe ways to instrument Dex files. It 
>>>>>>> became important when Jack was introduced (as Java bytecode 
>>>>>>> instrumentation 
>>>>>>> is not possible with Jack), and now with Instant Run it is again very 
>>>>>>> relevant. We would like to have the build system call our plugin in 
>>>>>>> order 
>>>>>>> to transform each Dex file being created, so that we could instrument 
>>>>>>> it. 
>>>>>>> With Instant Run, for example, once a new small Dex is created - if we 
>>>>>>> could have a transform being called and handed this changed file - we 
>>>>>>> could 
>>>>>>> instrument it on-the-fly, as part of the instant run build.
>>>>>>> Is there a way to do it today, or plans to support such 
>>>>>>> functionality in the future?
>>>>>>>
>>>>>>> Thanks!
>>>>>>> Ariel Cattan
>>>>>>>
>>>>>>> -- 
>>>>>>> You received this message because you are subscribed to the Google 
>>>>>>> Groups "adt-dev" group.
>>>>>>>
>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>>> send an email to [email protected].
>>>>>>
>>>>>>
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>> -- 
>>>>> You received this message because you are subscribed to the Google 
>>>>> Groups "adt-dev" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "adt-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"adt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to