Jenkins build is back to normal : royale-asjs_MXTests #922

2019-07-10 Thread Apache Royale CI Server
See 




Build failed in Jenkins: royale-asjs_MXTests #921

2019-07-10 Thread Apache Royale CI Server
See 


--
[...truncated 944.66 KB...]
[mxmlc] scanning for overrides: DeviceNames
[mxmlc] scanning for overrides: DispatchKeyEvent
[mxmlc] scanning for overrides: DispatchMouseClickEvent
[mxmlc] scanning for overrides: DispatchMouseEvent
[mxmlc] scanning for overrides: MustellaLogEvent
[mxmlc] scanning for overrides: MustellaSandboxEvent
[mxmlc] scanning for overrides: ScriptRunner
[mxmlc] scanning for overrides: SetProperty
[mxmlc] scanning for overrides: TestCase
[mxmlc] scanning for overrides: TestOutput
[mxmlc] scanning for overrides: TestResult
[mxmlc] scanning for overrides: TypeInfo
[mxmlc] scanning for overrides: TextInputTests
[mxmlc] scanning for overrides: ComboBoxTests
[mxmlc] scanning for overrides: DateFieldTests
[mxmlc] scanning for overrides: RadioButtonTests
[mxmlc] scanning for overrides: Panel
[mxmlc] scanning for overrides: MenuBarTests
[mxmlc] scanning for overrides: IDataGrid
[mxmlc] scanning for overrides: IMenu
[mxmlc] scanning for overrides: ButtonAutoRepeatController
[mxmlc] scanning for overrides: LayoutChangeNotifier
[mxmlc] scanning for overrides: DataFieldProviderBead
[mxmlc] scanning for overrides: Container
[mxmlc] scanning for overrides: DataGridListArea
[mxmlc] scanning for overrides: DownArrowButtonView
[mxmlc] scanning for overrides: HScrollBarThumbView
[mxmlc] scanning for overrides: HScrollBarTrackView
[mxmlc] scanning for overrides: LeftArrowButtonView
[mxmlc] scanning for overrides: RightArrowButtonView
[mxmlc] scanning for overrides: TextButtonView
[mxmlc] scanning for overrides: Label
[mxmlc] scanning for overrides: TitleBarTitle
[mxmlc] scanning for overrides: UpArrowButtonView
[mxmlc] scanning for overrides: VScrollBarThumbView
[mxmlc] scanning for overrides: VScrollBarTrackView
[mxmlc] scanning for overrides: Border
[mxmlc] scanning for overrides: IDataGridColumn
[mxmlc] scanning for overrides: DataGridColumn
[mxmlc] scanning for overrides: DateChooserHeader
[mxmlc] scanning for overrides: DateChooserList
[mxmlc] scanning for overrides: DateHeaderButton
[mxmlc] scanning for overrides: IChrome
[mxmlc] scanning for overrides: IViewportScroller
[mxmlc] scanning for overrides: ScrollBar
[mxmlc] scanning for overrides: HScrollBar
[mxmlc] scanning for overrides: PanelLayoutProxy
[mxmlc] scanning for overrides: VScrollBar
[mxmlc] scanning for overrides: Menu
[mxmlc] scanning for overrides: CascadingMenu
[mxmlc] scanning for overrides: CloseButton
[mxmlc] scanning for overrides: ButtonBar
[mxmlc] scanning for overrides: DataGridButtonBar
[mxmlc] scanning for overrides: Group
[mxmlc] scanning for overrides: Spinner
[mxmlc] scanning for overrides: TextInput
[mxmlc] scanning for overrides: TitleBar
[mxmlc] scanning for overrides: ToolTip
[mxmlc] scanning for overrides: IGraphicShape
[mxmlc] scanning for overrides: GraphicShape
[mxmlc] scanning for overrides: ITransformHost
[mxmlc] scanning for overrides: IDrawable
[mxmlc] scanning for overrides: IRect
[mxmlc] scanning for overrides: Rect
[mxmlc] scanning for overrides: ChainBinding
[mxmlc] scanning for overrides: ChainWatcher
[mxmlc] scanning for overrides: IBinding
[mxmlc] scanning for overrides: ConstantBinding
[mxmlc] scanning for overrides: GenericBinding
[mxmlc] scanning for overrides: MXMLBeadViewDataBinding
[mxmlc] scanning for overrides: WatcherBase
[mxmlc] scanning for overrides: PropertyWatcher
[mxmlc] scanning for overrides: SimpleBinding
[mxmlc] scanning for overrides: ICollection
[mxmlc] scanning for overrides: ICollectionView
[mxmlc] scanning for overrides: LayoutData
[mxmlc] scanning for overrides: MarginData
[mxmlc] scanning for overrides: BorderStyles
[mxmlc] scanning for overrides: CSSTextField
[mxmlc] scanning for overrides: ClassFactory
[mxmlc] scanning for overrides: IContentView
[mxmlc] scanning for overrides: SimpleCSSStyles
[mxmlc] scanning for overrides: SimpleCSSStylesWithFlex
[mxmlc] scanning for overrides: IHandlesOriginalEvent
[mxmlc] scanning for overrides: CollectionEvent
[mxmlc] scanning for overrides: CustomEvent
[mxmlc] scanning for overrides: ItemAddedEvent
[mxmlc] scanning for overrides: ItemClickedEvent
[mxmlc] scanning for overrides: ItemRemovedEvent
[mxmlc] scanning for overrides: ItemRendererEvent
[mxmlc] scanning for overrides: Size
[mxmlc] scanning for overrides: ItemAndDescriptor
[mxmlc] scanning for overrides: SetEventHandler
[mxmlc] scanning for overrides: SetProperty
[mxmlc] scanning for overrides: CSSBorderUtils
[mxmlc] scanning for overrides: CSSUtils

Re: Jewel CSS winding up in non-Jewel apps

2019-07-10 Thread Josh Tynjala
It looks like the native keyword is allowed on functions only. You'll get a
compiler error if you try to add the native keyword onto a class. After
discovering this, I looked at how classes are compiled into
playerglobal.swc, and it looks like they have [native] metadata. That could
possibly serve the same purpose.

Here are a few options that might work:

1) Modify the compiler to allow the native keyword to be used on classes.

2) Use [native] metadata to detect typedef classes.

3) Check the class for a constructor that has the native keyword (since a
constructor is a function, native is allowed there).

--
Josh Tynjala
Bowler Hat LLC 


On Tue, Jul 9, 2019 at 8:08 PM Alex Harui  wrote:

> Good idea.  I have this vague memory that there are some other gotchas
> around using "native", but give it a try and see what happens.
>
> -Alex
>
> On 7/9/19, 4:21 PM, "Josh Tynjala"  wrote:
>
> You know, I just realized... we should start adding the "native"
> modifier
> to ActionScript classes in typedef SWCs. Typedef SWCs serve the same
> purpose as playerglobal/airglobal SWCs, which are also compiled as
> "native". They all define APIs that will be available at run-time and
> the
> SWC should only be used for checking types and things at compile-time.
>
> IDefinition has an isNative() method that tells you if a class was
> marked
> with the "native" keyword. We would use that instead of
> library-path/external-library-path to determine whether goog.require()
> is
> needed for a particular class. This would keep
> library-path/external-library-path working as they always have, without
> affecting goog.require().
>
> I think I actually suggested using the "native" keyword for typedefs a
> very
> long time ago. I think you said that externc or the JS emitter didn't
> handle it properly. Since I wasn't very familiar with the compiler
> code at
> the time, I didn't think I could fix it, so I dropped the idea.
>
> This is what was missing. We were ignoring a feature of the language
> that
> was meant for exactly this situation.
>
> --
> Josh Tynjala
> Bowler Hat LLC <
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbowlerhat.devdata=02%7C01%7Caharui%40adobe.com%7Cbdb3db4ff29e40f289e908d704c425d7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636983112848931274sdata=OejBnXkhiEnesxpytUFjtQZ6NOCrMR1%2FWK9zhiVqvuw%3Dreserved=0
> >
>
>
> On Tue, Jul 9, 2019 at 4:00 PM Alex Harui 
> wrote:
>
> > Category #1 is when someone intends to combine code from a SWC into
> > another SWC to create one mega-swc, maybe to reduce the number of
> SWCs or,
> > back in the day, to create one RSL instead of two.  I don't think
> Royale
> > should ever need to do this.
> >
> > Category #2 is the other AS classes from other SWCs you need.  As you
> > mentioned Jewel.SWC uses Basic org.apache.royale.states.States (from
> > Core.swc or Basic.swc).
> >
> > Category #3 is definitions that are not in Royale code.  For SWF
> versions
> > of SWCs, it is everything in playerglobal/airglobal.  So Sprite,
> > DisplayObject, other flash.*.* packages.  For JS versions of SWCs it
> is
> > HTMLElement and other stuff in js.swc or other typedefs.
> >
> > If you are suggesting that somehow the compiler will know that some
> SWCs
> > on the external-library-path are typedefs vs a framework class from
> > Core.swc or Basic.swc, that might be possible, but I don't know how
> > efficient that will be (or accurate) to determine that, plus
> portions of
> > the compiler have a test for "isExternal()" that we'd have to make
> sure we
> > get right.
> >
> > That's why I suggest that we add some new option that lists classes
> that
> > shouldn't be linked into library.swf without marking them
> "isExternal()".
> > There is already a similar option that does mark classes as
> "isExternal()"
> > that we might be able to leverage.
> >
> > HTH,
> > -Alex
> >
> >
> > On 7/9/19, 3:43 PM, "Josh Tynjala" 
> wrote:
> >
> > > 3) code that should not be in the output SWC that doesn't
> support
> > goog.require/goog.provide
> >
> > Is there anything other than a typedef SWC that could be
> classified as
> > #3?
> > It seems like we have an extra category that doesn't exist in
> > practice, but
> > we're giving it priority over a category that is more common.
> >
> > Not just with framework SWCs either. Third-party SWCs that
> include
> > custom
> > components would need to set the framework SWCs on the
> > external-library-path too.
> >
> > --
> > Josh Tynjala
> > Bowler Hat LLC <
> >
> 

Re: Tour de Jewel regression in Jewel Alert (release version)

2019-07-10 Thread Carlos Rovira
Since this seems all related to the change Josh propose (use of native),
I'll focus in other documentation task for now.

thanks!

Carlos



El mié., 10 jul. 2019 a las 0:13, Alex Harui ()
escribió:

> Other typedef SWCs beside js.swc should have .js files in them and the
> compiler should be picking that up and sending it to the Closure Compiler.
>
> However, I think getting missing.js to work will be another level of
> difficulty because it is part of js.swc.  It might be better to create a
> separate typedefs.swc for the APIs you want to add.
>
> HTH,
> -Alex
>
> On 7/9/19, 10:51 AM, "Carlos Rovira"  wrote:
>
> ok Alex,
>
> I order to look at this in the compiler. Where I can look? if you
> remember
> another js that is passed to GCC I could try to follow the same
> pattern to
> add missing.js,
>
> El mar., 9 jul. 2019 a las 18:39, Alex Harui ( >)
> escribió:
>
> > You may need to verify that missing.js APIs get passed to Google
> Closure
> > Compiler.  I think they don't.  So a separate typedefs SWC may need
> to be
> > created for it.  It may be that other APIs in missing.js get renamed
> as
> > well and nobody noticed until now, or by luck, some other API usage
> was
> > preventing the rename.
> >
> > -Alex
> >
> > On 7/9/19, 9:20 AM, "Carlos Rovira"  wrote:
> >
> > El mar., 9 jul. 2019 a las 18:03, Alex Harui
> ( > >)
> > escribió:
> >
> > > Did the typedefs for Ant get rebuilt?
> >
> >
> > yes, since I pass a script that makes a full rebuilt
> >
> >
> > >   How should HTMLSpanElement have a "animate" API defined for
> it?
> > >
> >
> > since Element.animate() is the API we are trying to add
> >
> >
> > >
> > > I’m not sure if we can tell Google Closure Compiler that
> > HTMLSpanElement
> > > should have an "animate" API since I think it picks up the
> externs
> > for
> > > built-in browser classes from its own externs, so I don't see
> how it
> > would
> > > know not to rename that property.
> > >
> >
> > We need to tell GCC that Element.animate exists, for this reason
> the
> > API
> > added to missing.js (that maybe could be in other place as we
> decide).
> > Right now Royale is recognizing animate right, the problem is
> again
> > with
> > release minification since compiler is renaming methods as
> yesterday
> > before
> > Josh change to the compiler (adding good.require()). Although
> this
> > time the
> > problem although is the same could be caused for a different
> thing.
> >
> > thanks
> >
> > Carlos
> >
> >
> >
> >
> > >
> > > HTH,
> > > -Alex
> > >
> > > On 7/9/19, 7:41 AM, "Carlos Rovira" 
> wrote:
> > >
> > > yes, and then after maven build sdk with ANT.
> > > what seems to fail is ANT SDK build
> > >
> > > El mar., 9 jul. 2019 a las 16:25, Piotr Zarzycki (<
> > > piotrzarzyck...@gmail.com>)
> > > escribió:
> > >
> > > > By rebuilding all - You mean that you have build
> typedefs,
> > compiler
> > > and
> > > > asjs - using Maven and than your app ?
> > > >
> > > > wt., 9 lip 2019 o 16:23 Carlos Rovira <
> carlosrov...@apache.org
> > >
> > > > napisał(a):
> > > >
> > > > > Hi Piotr,
> > > > >
> > > > > I found that still did remove the api from missing.js
> in
> > typedefs,
> > > > removing
> > > > > that and rebuilding all gives me the following error
> when
> > reach to
> > > the
> > > > > build SDK with ANT step:
> > > > >
> > > > > compile-swf:
> > > > >
> > > > >  [echo] Compiling libs/Jewel.swc
> > > > >
> > > > >  [echo] ROYALE_HOME:
> > > > /Users/carlosrovira/Dev/Royale/Source/royale-asjs
> > > > >
> > > > >  [echo] ROYALE_SWF_COMPILER_HOME:
> > > > > /Users/carlosrovira/Dev/Royale/Source/royale-asjs
> > > > >
> > > > >  [echo] ROYALE_COMPILER_HOME:
> > > > > /Users/carlosrovira/Dev/Royale/Source/royale-asjs/js
> > > > >
> > > > >  [java] args:
> > > > >
> > > > >  [java]
> > > > >
> > >
> >
> +royalelib=/Users/carlosrovira/Dev/Royale/Source/royale-asjs/frameworks
> > > > >
> > > > >  [java] +playerglobal.version=11.1
> > > > >
> > > > >  [java]
> > > +env.AIR_HOME=/Users/carlosrovira/Dev/Air/Sdks/AIR_SDK_25
> > > > >
> > > > >  

Re: Jewel CSS winding up in non-Jewel apps

2019-07-10 Thread Carlos Rovira
Using "native" keyword sounds and good solution and very cool.  :)

El mié., 10 jul. 2019 a las 5:08, Alex Harui ()
escribió:

> Good idea.  I have this vague memory that there are some other gotchas
> around using "native", but give it a try and see what happens.
>
> -Alex
>
> On 7/9/19, 4:21 PM, "Josh Tynjala"  wrote:
>
> You know, I just realized... we should start adding the "native"
> modifier
> to ActionScript classes in typedef SWCs. Typedef SWCs serve the same
> purpose as playerglobal/airglobal SWCs, which are also compiled as
> "native". They all define APIs that will be available at run-time and
> the
> SWC should only be used for checking types and things at compile-time.
>
> IDefinition has an isNative() method that tells you if a class was
> marked
> with the "native" keyword. We would use that instead of
> library-path/external-library-path to determine whether goog.require()
> is
> needed for a particular class. This would keep
> library-path/external-library-path working as they always have, without
> affecting goog.require().
>
> I think I actually suggested using the "native" keyword for typedefs a
> very
> long time ago. I think you said that externc or the JS emitter didn't
> handle it properly. Since I wasn't very familiar with the compiler
> code at
> the time, I didn't think I could fix it, so I dropped the idea.
>
> This is what was missing. We were ignoring a feature of the language
> that
> was meant for exactly this situation.
>
> --
> Josh Tynjala
> Bowler Hat LLC <
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbowlerhat.devdata=02%7C01%7Caharui%40adobe.com%7Cbdb3db4ff29e40f289e908d704c425d7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636983112848931274sdata=OejBnXkhiEnesxpytUFjtQZ6NOCrMR1%2FWK9zhiVqvuw%3Dreserved=0
> >
>
>
> On Tue, Jul 9, 2019 at 4:00 PM Alex Harui 
> wrote:
>
> > Category #1 is when someone intends to combine code from a SWC into
> > another SWC to create one mega-swc, maybe to reduce the number of
> SWCs or,
> > back in the day, to create one RSL instead of two.  I don't think
> Royale
> > should ever need to do this.
> >
> > Category #2 is the other AS classes from other SWCs you need.  As you
> > mentioned Jewel.SWC uses Basic org.apache.royale.states.States (from
> > Core.swc or Basic.swc).
> >
> > Category #3 is definitions that are not in Royale code.  For SWF
> versions
> > of SWCs, it is everything in playerglobal/airglobal.  So Sprite,
> > DisplayObject, other flash.*.* packages.  For JS versions of SWCs it
> is
> > HTMLElement and other stuff in js.swc or other typedefs.
> >
> > If you are suggesting that somehow the compiler will know that some
> SWCs
> > on the external-library-path are typedefs vs a framework class from
> > Core.swc or Basic.swc, that might be possible, but I don't know how
> > efficient that will be (or accurate) to determine that, plus
> portions of
> > the compiler have a test for "isExternal()" that we'd have to make
> sure we
> > get right.
> >
> > That's why I suggest that we add some new option that lists classes
> that
> > shouldn't be linked into library.swf without marking them
> "isExternal()".
> > There is already a similar option that does mark classes as
> "isExternal()"
> > that we might be able to leverage.
> >
> > HTH,
> > -Alex
> >
> >
> > On 7/9/19, 3:43 PM, "Josh Tynjala" 
> wrote:
> >
> > > 3) code that should not be in the output SWC that doesn't
> support
> > goog.require/goog.provide
> >
> > Is there anything other than a typedef SWC that could be
> classified as
> > #3?
> > It seems like we have an extra category that doesn't exist in
> > practice, but
> > we're giving it priority over a category that is more common.
> >
> > Not just with framework SWCs either. Third-party SWCs that
> include
> > custom
> > components would need to set the framework SWCs on the
> > external-library-path too.
> >
> > --
> > Josh Tynjala
> > Bowler Hat LLC <
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbowlerhat.devdata=02%7C01%7Caharui%40adobe.com%7Cbdb3db4ff29e40f289e908d704c425d7%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C1%7C636983112848931274sdata=OejBnXkhiEnesxpytUFjtQZ6NOCrMR1%2FWK9zhiVqvuw%3Dreserved=0
> > >
> >
> >
> > On Tue, Jul 9, 2019 at 3:33 PM Alex Harui
> 
> > wrote:
> >
> > > I'm not sure why Jewel CSS is winding up in non-Jewel apps,
> but the
> > issue
> > > of whether SWC dependencies should be on the library-path or
> > > external-library-path isn't so much as a bug (functionality
> that
> > isn't
> > > working as expected) but rather, a problem we've had 

Re: Maven build and URLSearchParams

2019-07-10 Thread Harbs
https://github.com/apache/royale-typedefs/blob/develop/js/src/main/config/externc-config.xml#L89
 


Which should be created by:
https://github.com/apache/royale-typedefs/blob/develop/js/build.xml#L99 


> On Jul 10, 2019, at 8:49 AM, Piotr Zarzycki  wrote:
> 
> I would love to know how is this happen...
> 
> On Wed, Jul 10, 2019, 12:36 AM Alex Harui  wrote:
> 
>> I'm pretty sure the Ant build is generating a URLSearchParams.as
>> 
>> 
>> http://apacheroyaleci.westus2.cloudapp.azure.com:8080/job/royale-typedefs/ws/js/target/generated-sources/externc/classes/URLSearchParams.as
>> 
>> HTH,
>> -Alex
>> 
>> On 7/9/19, 3:21 PM, "Piotr Zarzycki"  wrote:
>> 
>>I have never tried build any application by ant which uses
>> URLSearchParams
>>and as far as I know we are not using at all that class in our
>> examples.
>> 
>>śr., 10 lip 2019 o 00:19 Alex Harui 
>> napisał(a):
>> 
>>> I don't think a change to missing.js should be required if it works
>> on Ant.
>>> 
>>> My 2 cents,
>>> -Alex
>>> 
>>> On 7/9/19, 2:50 PM, "Piotr Zarzycki" 
>> wrote:
>>> 
>>>I think I got it. I was build typedefs without -P main, so it
>> didn't
>>>rebuild for me repository fully.
>>> 
>>>wt., 9 lip 2019 o 23:25 Piotr Zarzycki <
>> piotrzarzyck...@gmail.com>
>>>napisał(a):
>>> 
 I have added missing api to missing.js file. I would like to
>> test
>>> whether
 it helped to my application build, but I'm getting the same
>> issue. I
>>> have
 build royale-typedefs and compiler by Maven. What else I
>> should do
>>> in order
 to test stuff before I make any commit ?
 
 czw., 27 cze 2019 o 18:41 Alex Harui >> 
 napisał(a):
 
> Did you verify that royale-typedefs built correctly and
>> installed
>>> the
> artifact in the local maven repo, and that your app build is
>>> picking up the
> artifact from the local repo instead of the snapshot server or
>>> using a
> timestamped artifact that is different from the one you built?
> 
> -Alex
> 
> On 6/27/19, 5:18 AM, "Piotr Zarzycki" <
>> piotrzarzyck...@gmail.com>
>>> wrote:
> 
>I have added by this commit [1] missing url.js, but I
>> still have
> error:
> 
> 
>: col: 40 Error: Call to a possibly undefined method
>>> URLSearchParams.
> 
>var urlParams:URLSearchParams =
>> new
>URLSearchParams();
> 
>Do I miss something ?
> 
>[1]
> 
> 
>>> 
>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Froyale-typedefs%2Fcommit%2F952664e244c75f9700e7d9c14bd74283c5a75070data=02%7C01%7Caharui%40adobe.com%7Cafd3118c45c942e4569808d704bbcf07%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636983076989165081sdata=GzEXanDUEZdkTr%2FJJ7FZC%2BTkA40j3obpQ5qf4MCre2E%3Dreserved=0
> 
>Thanks,
>Piotr
> 
>śr., 26 cze 2019 o 11:21 Piotr Zarzycki <
>>> piotrzarzyck...@gmail.com>
>napisał(a):
> 
>> Here you have references what URLSearchParams is ->
>> 
> 
>>> 
>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdeveloper.mozilla.org%2Fen-US%2Fdocs%2FWeb%2FAPI%2FURLSearchParamsdata=02%7C01%7Caharui%40adobe.com%7Cafd3118c45c942e4569808d704bbcf07%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636983076989165081sdata=wuTvOZudbkZAtHVWBHsyJPqLC76YwXoAGO%2FCLbDYcGk%3Dreserved=0
>> 
>> śr., 26 cze 2019 o 11:17 Carlos Rovira <
>>> carlosrov...@apache.org>
>> napisał(a):
>> 
>>> Ok Piotr,
>>> 
>>> thanks, so this is not AS3 class is JS code, I was
>> searching
>>> for
> an AS3
>>> class in repo.
>>> 
>>> 
>>> El mié., 26 jun. 2019 a las 11:12, Piotr Zarzycki (<
>>> piotrzarzyck...@gmail.com>) escribió:
>>> 
 Hi Carlos,
 
 I have added missing part [1]. I'm waiting for some
>>> responses
> here [2]
 
 [1]
 
 
>>> 
> 
>>> 
>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fapache%2Froyale-typedefs%2Fcommit%2F952664e244c75f9700e7d9c14bd74283c5a75070data=02%7C01%7Caharui%40adobe.com%7Cafd3118c45c942e4569808d704bbcf07%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636983076989165081sdata=GzEXanDUEZdkTr%2FJJ7FZC%2BTkA40j3obpQ5qf4MCre2E%3Dreserved=0
 [2]
 
 
>>> 
> 
>>> 
>> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.apache.org%2Fthread.html%2F89dccf49b2953e540f68fc6abcefb38f07206d879fdab3b8bd3a0631%40%253Cdev.maven.apache.org%253Edata=02%7C01%7Caharui%40adobe.com%7Cafd3118c45c942e4569808d704bbcf07%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C636983076989165081sdata=SothezMJdgDIKGW4OtXYUURS5V8BAsucg1hpAmoAS0I%3Dreserved=0
 
 Thanks,
 Piotr