Okay, I think I got the Spectrum library building a JS-only .swc file with
a few minor tweaks.

In asconfig.json, external-library-path should be changed so that it is the
same as js-external-library-path. By default,
library-path/external-library-path in royale-config.xml uses the SWF
framework, so if you want a JS-only .swc file, you need to specifically
tell it to use the JS framework.

"external-library-path": [
    "${royalelib}/libs",
    "${royalelib}/../js/libs",
    "libs"
],
"js-external-library-path": [
    "${royalelib}/../js/libs",
    "${royalelib}/js/libs",
    "libs"
],

In compile-config.xml, there are two tweaks.

First, you should remove playerglobal.swc because you are targeting JS only.

<!-- <external-library-path>
    <path-element>playerglobal.swc</path-element>
</external-library-path> -->

Second, you need to ensure that the correct values for the COMPILE::SWF and
COMPILE::JS defines are being used. By default, define for these values
uses AUTO, so the compiler would set COMPILE::SWF to true and COMPILE::JS
to false when creating the .swc file. Since you want a JS-only .swc file,
you need to specifically tell it to set COMPILE::SWF to false and
COMPILE::JS to true.

<define>
    <name>COMPILE::SWF</name>
    <value>false</value>
</define>
<define>
    <name>COMPILE::JS</name>
    <value>true</value>
</define>

That should do it. I tested with SpectrumBrowser, and the compiler seemed
happy using the new .swc file. The app ran, and I didn't notice anything
obviously out of place.

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


On Mon, May 23, 2022 at 8:19 AM Harbs <harbs.li...@gmail.com> wrote:

> That causes an error in the SWF part of the build.
>
> If you have a suggestion on how to fix the asconfigc file, I’m all ears. I
> tried using load-config and js-load-config like it’s done in ant, but that
> doesn’t seem to work for some reason.
>
>
> https://github.com/unhurdle/spectrum-royale/blob/master/Spectrum/asconfig.json#L23
>
>
> https://github.com/unhurdle/spectrum-royale/blob/master/Spectrum/asconfig.json#L26
>
>
> https://github.com/unhurdle/spectrum-royale/blob/master/Spectrum/compile-config.xml#L17
>
>
> https://github.com/unhurdle/spectrum-royale/blob/master/Spectrum/js-compile-config.xml#L17
>
> > On May 23, 2022, at 5:15 PM, Josh Tynjala <joshtynj...@bowlerhat.dev>
> wrote:
> >
> > You can set COMPILE::JS to true and COMPILE::SWF to false manually in
> your
> > library's asconfig.json using the define compiler option. That will
> > override the default AUTO value from royale-config.xml.
> >
> > --
> > Josh Tynjala
> > Bowler Hat LLC <https://bowlerhat.dev>
> >
> >
> > On Mon, May 23, 2022 at 4:41 AM Harbs <harbs.li...@gmail.com> wrote:
> >
> >> That will allow it to compile, but no code in a COMPILE::JS block will
> >> actually make it into the swc.
> >>
> >> Are you sure you’re getting COMPILE::JS code?
> >>
> >>> On May 22, 2022, at 7:11 PM, Hugo Ferreira <hferreira...@gmail.com>
> >> wrote:
> >>>
> >>> Thank you.
> >>>
> >>> As know the reason, as a workaround I solved this issue by adding SWF
> as
> >>> target and put COMPILE::JS everywhere where I found and error because
> was
> >>> JS code.
> >>> Now I can always compile in VS Code the library.
> >>>
> >>> Harbs <harbs.li...@gmail.com> escreveu no dia domingo, 22/05/2022 à(s)
> >>> 09:14:
> >>>
> >>>> Issue in Spectrum with details:
> >>>>
> >>>> https://github.com/unhurdle/spectrum-royale/issues/74
> >>>>
> >>>>> On May 22, 2022, at 11:12 AM, Harbs <harbs.li...@gmail.com> wrote:
> >>>>>
> >>>>> The problem with this setup is that COMPILE::JS blocks do not make it
> >>>> into the JS code in the swc.
> >>>>>
> >>>>> I’ve had trouble getting the scw built with COMPILE::JS block intact.
> >>>>>
> >>>>> This works in ant to build a valid swc:
> >>>>>
> >>>>
> >>
> https://github.com/unhurdle/spectrum-royale/blob/master/Spectrum/build.xml
> >>>>>
> >>>>> But this does not work in asconfgic:
> >>>>>
> >>>>
> >>
> https://github.com/unhurdle/spectrum-royale/blob/master/Spectrum/asconfig.json
> >>>>>
> >>>>> I have not yet figured out the correct asconfigc settings to make
> this
> >>>> work.
> >>>>>
> >>>>>> On May 20, 2022, at 7:46 PM, Josh Tynjala <
> joshtynj...@bowlerhat.dev>
> >>>> wrote:
> >>>>>>
> >>>>>> Here's a basic example asconfig.json for a JS SWC library that I
> found
> >>>> in
> >>>>>> one of my old projects:
> >>>>>>
> >>>>>> https://paste.apache.org/c0rsu
> >>>>>>
> >>>>>> --
> >>>>>> Josh Tynjala
> >>>>>> Bowler Hat LLC <https://bowlerhat.dev>
> >>>>>>
> >>>>>>
> >>>>>> On Fri, May 20, 2022 at 2:05 AM Hugo Ferreira <
> hferreira...@gmail.com
> >>>
> >>>>>> wrote:
> >>>>>>
> >>>>>>> Hi,
> >>>>>>>
> >>>>>>> I'm usin VS Code to build Royale with a mxml starting point on
> >>>>>>> asconfi.json, template, etc, etc ....
> >>>>>>> But, how to use VS Code (in therms of the full asconfig.json) to
> >> build
> >>>> a
> >>>>>>> library: SWC-JS ?
> >>>>>>> Has anyone used it for this purpose?
> >>>>>>>
> >>>>>
> >>>>
> >>>>
> >>
> >>
>
>

Reply via email to