> In my experience, it is usually because either swf-external-library-path or
js-external-library-path is set

When I look at royale-config.xml I see that <external-library-path/> is used 
only for playerglobal.swc while the rest of the framework/libs are added in 
<library-path/>

<js-external-library-path/> has only js.swc and GCL.swc and anything under 
framework/js/libs (e.g. BasicJS.swc) is under <js-library-path/>

What should happen if instead they were all included in external? Also, why are 
the JS.swc included in <js-library-path/> instead of the regular swc ones?

>I saw that you are compiling for the SWF target. Note it prints COMPCJSCRoyale 
>before giving the error.

I get the same result with asconfigc with the following conf:

{
    "config": "royale",
    "type": "lib",
    "compilerOptions": {
        "targets": [
            "SWF",
            "JSRoyale"
        ],
        "source-path": [
            "src"
        ],
        "output": "../libs/ApacheFlexSpellingUI.swc",
        "library-path": [
            "../libs/"
        ],
        "js-library-path": [
            "../libs/"
        ]
    },
    "files": [
        "src"
        ]
}




________________________________
From: Josh Tynjala <joshtynj...@bowlerhat.dev>
Sent: Tuesday, July 8, 2025 2:57 PM
To: dev@royale.apache.org <dev@royale.apache.org>
Subject: Re: Any Ideas What This compc Error is About?

> It looks like the trick is to use -library-path instead of
-external-library-path. I am not sure why external is not enough.

Sometimes, external-library-path seems like it isn't working properly. In
my experience, it is usually because either swf-external-library-path or
js-external-library-path is set, and they are designed to take precedence
over external-library-path. It's worth mentioning that you may not be the
one setting them in your own project's compiler options. They might be set
as a default in royale-config.xml.

>  Does that mean that the JS compile is trying to use the COMPILE::SWF
block?

In your original message, I saw that you are compiling for the SWF target
(so I would expect COMPILE::SWF to be true, in that case):

<arg value="-targets=SWF" />


--
Josh Tynjala
Bowler Hat LLC
https://bowlerhat.dev/


On Tue, Jul 8, 2025 at 6:46 AM Yishay Weiss <yishayj...@hotmail.com> wrote:

> It looks like the trick is to use -library-path instead of
> -external-library-path. I am not sure why external is not enough.
>
> Following that I have an issue with a class that has this:
>
> COMPILE::JS{
> import org.apache.royale.utils.net.IDataInput;
> import org.apache.royale.utils.net.IDataOutput;
> }
> COMPILE::SWF{
> import flash.utils.IDataInput;
> import flash.utils.IDataOutput;
> }
>
> When referencing that class from a different library, I get:
>
> COMPCJSCRoyale
> C:\dev\royale-utilities\Squiggly\main\libs\ApacheFlexSpellingFramework.swc
> The definition flash.utils.IDataInput depended on by
> com.adobe.linguistics.spelling.framework.ResourceTable in the SWC
> C:\dev\royale-utilities\Squiggly\main\libs\ApacheFlexSpellingFramework.swc
> could not be found
>
> Does that mean that the JS compile is trying to use the COMPILE::SWF block?
>
>
> ________________________________
> From: Yishay Weiss <yishayj...@hotmail.com>
> Sent: Tuesday, July 8, 2025 10:29 AM
> To: Apache Royale Development <dev@royale.apache.org>
> Subject: Re: Any Ideas What This compc Error is About?
>
>
> Adding
> <jvmarg value="-Droyalelib=${ROYALE_HOME}/frameworks" />
>
> And removing
>
> <arg value="-library-path+=${ROYALE_HOME}/frameworks/libs/Core.swc" />
> <arg
> value="-library-path+=${ROYALE_HOME}/frameworks/projects/Basic/target/Basic.swc"
> />
>
> Fixed it for now...
>
> ________________________________
> From: Yishay Weiss <yishayj...@hotmail.com>
> Sent: Tuesday, July 8, 2025 9:34 AM
> To: Apache Royale Development <dev@royale.apache.org>
> Subject: Re: Any Ideas What This compc Error is About?
>
> T1.as looks like this:
>
> package
> {
> import org.apache.royale.core.UIBase;
>
> public class T1 extends UIBase
> {
> }
> }
> ________________________________
> From: Yishay Weiss <yishayj...@hotmail.com>
> Sent: Tuesday, July 8, 2025 9:29 AM
> To: Apache Royale Development <dev@royale.apache.org>
> Subject: Any Ideas What This compc Error is About?
>
> I'm getting this [1] error when running this [2] ant task
>
> [1] compileframework:
>      [java] Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
>      [java] args:
>      [java] -external-library-path
>      [java] C:\dev\player/11.1/playerglobal.swc
>      [java]
> -library-path+=C:\dev\full_royale_sdk\royale-asjs/frameworks/libs/Core.swc
>      [java]
> -library-path+=C:\dev\full_royale_sdk\royale-asjs/frameworks/projects/Basic/target/Basic.swc
>      [java] -targets=SWF
>      [java] -output
>      [java] libs/ApacheFlexSpellingFramework.swc
>      [java] -source-path
>      [java] SpellingFramework/src2
>      [java] -include-classes
>      [java] T1
>      [java] -dump-config
>      [java] sq_dump
>      [java] COMPC
>      [java]
>      [java] 1.1542501 seconds
>      [java] Error: interface method dispatchEvent in interface
> IEventDispatcher is implemented with an incompatible signature in class T1
>      [java]
>      [java]
>      [java] interface method dispatchEvent in interface IEventDispatcher
> is implemented with an incompatible signature in class T1
>      [java]
>      [java]
>
> [2]
> <target name="compileframework" depends="init">
> <java jar="${COMPC.JAR}" fork="true" failonerror="true">
> <jvmarg value="-Xmx384m" />
> <jvmarg value="-Dsun.io.useCanonCaches=false" />
> <arg value="-external-library-path"/>
> <arg
> value="${PLAYERGLOBAL_HOME}/${playerglobal.version}/playerglobal.swc"/>
> <arg value="-library-path+=${ROYALE_HOME}/frameworks/libs/Core.swc" />
> <arg
> value="-library-path+=${ROYALE_HOME}/frameworks/projects/Basic/target/Basic.swc"
> />
> <arg value="-targets=SWF" />
> <arg value="-output"/>
> <arg value="${OUTPUT_DIR}/ApacheFlexSpellingFramework.swc"/>
> <arg value="-source-path"/>
> <arg value="SpellingFramework/src2"/>
> <arg value="-include-classes"/>
> <arg value="T1"/>
> <arg value="-dump-config"/>
> <arg value="sq_dump"/>
> </java>
> </target>
>

Reply via email to