> Does anyone have any idea what has happened here ? Why TileHorizontalLayout > after compilation to TileHorizontalLayout.js have all of these methods ?
TileHorizontallayout has [Bindable] metadata on some properties. If anything in a class is marked as [Bindable], and that class (or a superclass) does not already extend EventDispatcher (or implement IEventDispatcher), the compiler will automatically generate an implementation of IEventDispatcher. This is true in Royale, and it was also true in Flex. Here are the classes that TileHorizontalLayout is a subclass of: TileHorizontalLayout extends SimpleHorizontalLayout extends StyledLayoutBase extends LayoutBase extends Bead There are also the following interfaces in the type hierarchy: ILayoutStyleProperties, IBeadLayout, IBead Nowhere in this chain of classes is there an EventDispatcher or IEventDispatcher. So the compiler is generating its own implementation of IEventDispatcher. Unfortunately, it seems to be generating an implementation of the methods from the SWF version of IEventDispatcher instead of the methods from the JS version of IEventDispatcher. I don't believe that I have worked with the part of the Royale compiler that generates code for bindable classes/properties before, so I don't know why it would be doing that. However, that seems like a bug. Maybe not necessarily in the compiler. It could be that the compiler options used by the JewelJS build are wrong. Note: I don't think that the compiler is incorrectly using the Spark version of LayoutBase instead of the Core version of LayoutBase. This can be explained without the Spark version of LayoutBase being involved in any way. -- Josh Tynjala Bowler Hat LLC <https://bowlerhat.dev> On Mon, May 15, 2023 at 5:14 AM Piotr Zarzycki <piotrzarzyck...@gmail.com> wrote: > Hi Guys, > > I have voted +1, but I have found one issue which concerns me a little bit. > I have need of usage in my application > -> org.apache.royale.jewel.beads.layouts.TileHorizontalLayout. I have made > my own custom class which extends that one. To my big surprise I got > following compilation error: > > Error: interface method addEventListener in interface IEventDispatcher is > implemented with an incompatible signature in class > ExtendedTileHorizontalLayout > : Error: interface method removeEventListener in interface IEventDispatcher > is implemented with an incompatible signature in class > ExtendedTileHorizontalLayout > : Error: interface method dispatchEvent in interface IEventDispatcher is > implemented with an incompatible signature in class > ExtendedTileHorizontalLayout > > I have looked into TileHorizontalLayout in Moonshine and I see there > signature methods -> https://prnt.sc/crcNcuFHgu-8 > > Look int signatures dispatchEvent, hasEventListener, removeEventListener > and addEventListener - they are all missing fields name. This is definitely > wrong, but I think all of these methods shouldn't even exists in > frameworks/js/libs/JewelJS.swc -> TileHorizontalLayout. > > TileHorizontalLayout extends several classes, one of them > is org.apache.royale.core.LayoutBase - non of these classes have anywhere > inside methods dispatchEvent, hasEventListener etc. However there is > another class in completely different > package spark.layouts.supportClasses.LayoutBase - that one have these > methods implemented exactly in the same way as my TileHorizontalLayout.js > have. > > Does anyone have any idea what has happened here ? Why TileHorizontalLayout > after compilation to TileHorizontalLayout.js have all of these methods ? > > Thanks, > Piotr > > > niedz., 14 maj 2023 o 03:29 Maria Jose Esteve <mjest...@iest.com> > napisał(a): > > > Hi, > > I keep testing the automated compilation option [1] the compilation gave > > me error ☹. > > I have left the log of the compilation here [2] but I attach the error: > > > > <<<<<<< > > ... > > main: > > Copying 1 file to > > > D:\Develop_Royale\Projects\Royale-SDK\0.9.10\apache-royale-0.9.10-src\royale-asjs\examples\native\USStatesMap\bin\js-debug > > Copying 1 file to > > > D:\Develop_Royale\Projects\Royale-SDK\0.9.10\apache-royale-0.9.10-src\royale-asjs\examples\native\USStatesMap\bin\js-release > > > > main: > > > > build_maven: > > Path is C:\Program Files (x86)\Common > > Files\Oracle\Java\javapath;D:\Apache;C:\Program > > > Files\Java\jdk1.8.0_281\bin;D:\Apache\apache-ant-1.10.13\bin;D:\Apache\apache-maven-3.9.1\bin;D:\app\client\hiedra\product\19.0.0\client_1\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program > > Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program > > > Files\dotnet\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program > > Files\Git\cmd;C:\Users\hiedra\AppData\Local\Programs\Microsoft VS > > Code;C:\Program Files\Microsoft SQL Server\Client > > SDK\ODBC\170\Tools\Binn\;C:\Program > > Files\PowerShell\7-preview\preview;C:\Program Files > > > (x86)\Yarn\bin\;D:\Apache\HaxeToolkit\haxe;D:\Apache\HaxeToolkit\neko;C:\Program > > Files\nodejs\;C:\Program Files (x86)\Intel\Intel(R) Management Engine > > Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine > > Components\DAL;C:\Program Files (x86)\Pulse > > Secure\VC142.CRT\X64\;C:\Program Files (x86)\Pulse > > Secure\VC142.CRT\X86\;C:\Program Files\Microsoft SQL > > Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL > > Server\130\Tools\Binn\;C:\Program Files > > > (x86)\GnuPG\bin;C:\Users\hiedra\AppData\Local\Microsoft\WindowsApps;C:\Users\hiedra\AppData\Local\GitHubDesktop\bin;C:\Users\hiedra\.dotnet\tools;C:\Users\hiedra\AppData\Local\Microsoft\WindowsApps;C:\Users\hiedra\AppData\Local\Programs\Microsoft > > VS > > > Code\bin;C:\Users\hiedra\AppData\Local\Yarn\bin;C:\Users\hiedra\AppData\Roaming\npm > > > > BUILD FAILED > > > > D:\Develop_Royale\Projects\Royale-SDK\0.9.10\ApproveRoyale.xml:796: The > > following error occurred while executing this line: > > > > D:\Develop_Royale\Projects\Royale-SDK\0.9.10\ApproveRoyale.xml:809: exec > > returned: 1 > > > > Total time: 39 minutes 52 seconds > > >>>>>>> > > > > The error occurs in the Maven compilation task (it's in the path, could > it > > be because of the maven version?): > > > > >>>>>>> > > ... > > <target name="build_maven"> > > <condition property="compiler_mvn_profiles" > > value="-Poption-with-swf" > > else="-Ddummy=true"> > > <isset property="env.AIR_HOME" /> > > </condition> > > <condition property="asjs_mvn_profiles" > > value="-Pwith-examples,with-distribution,option-with-swf" > > else="-Pwith-examples,with-distribution"> > > <isset property="env.AIR_HOME" /> > > </condition> > > <echo>Path is ${env.Path}</echo> > > > > -- >>> <exec executable="${mvn}" dir="${basedir}/${ > > maven.package.url.name}/royale-compiler" failonerror="true" > > inputstring="Yes"> > > <arg value="clean" /> > > <arg value="${compiler_mvn_profiles}" /> > > <arg value="install" /> > > </exec> > > <exec executable="${mvn}" dir="${basedir}/${ > maven.package.url.name}/royale-typedefs" > > failonerror="true" > > > <arg value="clean" /> > > <arg value="install" /> > > </exec> > > <exec executable="${mvn}" dir="${basedir}/${ > maven.package.url.name}/royale-asjs" > > failonerror="true" inputstring="Yes"> > > <arg value="clean" /> > > <arg value="${asjs_mvn_profiles}" /> > > <arg value="install" /> > > </exec> > > </target> > > ... > > <<<<<<< > > > > I have a question about licenses... Yishay has no anomalies in this > regard > > but I have an unapproved license: > > Unapproved licenses: > > > > > D:/Develop_Royale/Projects/Royale-SDK/0.9.10/apache-royale-0.9.10-bin-js-swf/royale-asjs/js/lib/royaleunit/dom4j-LICENSE.txt > > How can I fix it? > > > > [1] > > > https://dist.apache.org/repos/dist/dev/royale/0.9.10/rc4/ApproveRoyale.xml > > y ejecutando el script: > > ant -e -f ApproveRoyale.xml -Drelease.version=0.9.10 -Drc=4 > > [2] > > > https://drive.google.com/file/d/1jCgS51cgtRSSuh11UJUxzdEaburpDdpF/view?usp=share_link > > > > Hiedra > > > > -----Mensaje original----- > > De: Yishay Weiss <yishayj...@hotmail.com> > > Enviado el: sábado, 13 de mayo de 2023 19:36 > > Para: dev@royale.apache.org > > Asunto: [DISCUSS] Release Apache Royale 0.9.10 RC4 > > > > This is the discussion thread. > > > > > -- > > Piotr Zarzycki >