One more thing, perhaps related. I’m getting a different in the flex-compiler-oem-0.9.8.jar between my local system and the CI server because of this line
+ - playerglobal com.adobe.flash.framework:playerglobal:swc:20.0 In META-INF/DEPENDENCIES which only exists in one of the systems. Any ideas on how to get around that? Thanks. From: Yishay Weiss<mailto:yishayj...@hotmail.com> Sent: Monday, April 5, 2021 10:36 AM To: dev@royale.apache.org<mailto:dev@royale.apache.org> Subject: RE: [Discuss] What to do with SWF target now that Adobe removed Flash Player in 2021 (Re: How to build from now on?) Hi Josh, I’m running release ant script which has <exec executable="${mvn}" dir="${artifactfolder}/sources" failonerror="true" > <arg value="clean" /> <arg value="install" /> <arg value="-Proyale-release,option-with-swf" /> </exec> This results in [exec] [INFO] Installing C:\temp2\sources\compiler-playerglobalc\target\compiler-playerglobalc-0.9.8-tests.jar to C:\Users\yisha\.m2\repository\org\apache\royale\compile r\compiler-playerglobalc\0.9.8\compiler-playerglobalc-0.9.8-tests.jar [exec] [INFO] [exec] [INFO] ----------------< org.apache.royale.compiler:compiler >----------------- [exec] [INFO] Building Apache Royale: Compiler: Compiler 0.9.8 [6/13] [exec] [INFO] --------------------------------[ jar ]--------------------------------- [exec] [INFO] Couldn't find artifact: com.adobe.flash.framework:20.0:playerglobal:pom [exec] [INFO] =========================================================== [exec] [INFO] - Installing Adobe Flash SDK 20.0 [exec] SLF4J: Class path contains multiple SLF4J bindings. [exec] SLF4J: Found binding in [jar:file:/C:/Users/yisha/.m2/repository/org/apache/flex/utilities/converter/flex-sdk-converter-maven-extension/1.0.0/flex-sdk-converter-m aven-extension-1.0.0.jar!/org/slf4j/impl/StaticLoggerBinder.class] [exec] SLF4J: Found binding in [jar:file:/C:/Users/yisha/.m2/repository/org/slf4j/slf4j-simple/1.7.21/slf4j-simple-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class] [exec] SLF4J: Found binding in [jar:file:/C:/Users/yisha/.m2/repository/ch/qos/logback/logback-classic/1.1.7/logback-classic-1.1.7.jar!/org/slf4j/impl/StaticLoggerBinder .class] [exec] SLF4J: Found binding in [jar:file:/C:/dev/apache-maven-3.6.3/bin/../lib/maven-slf4j-provider-3.6.3.jar!/org/slf4j/impl/StaticLoggerBinder.class] [exec] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. [exec] SLF4J: Actual binding is of type [org.slf4j.impl.SimpleLoggerFactory] [exec] Your System-Id: ca4f30bf [exec] The Adobe SDK license agreement applies to the Adobe Flash Player playerglobal.swc. Do you want to install the Adobe Flash Player playerglobal.swc? [exec] (In a non-interactive build such as a CI server build, alternatively to typing y or yes you can also set a system property containing your system which is interpr eted as equivalent to accepting by typing y or yes: -Dcom.adobe.systemIdsForWhichTheTermsOfTheAdobeLicenseAgreementAreAccepted=ca4f30bf ) Adding <arg value="-Dcom.adobe.systemIdsForWhichTheTermsOfTheAdobeLicenseAgreementAreAccepted=ca4f30bf" /> Did make the prompt go away, but I’m not sure if I can commit ca4f30bf or if that’s specific to my system. Can you advise? Thanks. From: Josh Tynjala<mailto:joshtynj...@bowlerhat.dev> Sent: Saturday, March 27, 2021 12:39 AM To: Apache Royale Development<mailto:dev@royale.apache.org> Subject: Re: [Discuss] What to do with SWF target now that Adobe removed Flash Player in 2021 (Re: How to build from now on?) Here's a follow-up with my progress in March. Last month, I had gotten airglobal.swc building, and now, I've figured out how to exclude the AIR-only APIs and build a separate playerglobal.swc too. I've committed playerglobal and airglobal projects to royale-typedefs. Again, these .swc files get built from the Apache-licensed doc XML files that Adobe donated to Apache Flex. I've made some changes to the builds for royale-asjs to start using these new .swc files. Libraries build. Examples build. Tests pass. These .swc files are working nicely. Things can still be improved, but it's a solid start. Maven is using our airglobal/playerglobal for pretty much everything. You can run `mvn clean install` at the root of royale-asjs, and it will build all framework .swc files without requiring any Adobe artifacts. You can also run with `-P with-distribution,option-with-swf` to build a zip/tar.gz distribution without requiring any Adobe artifacts. The only time that the Maven build still requires Adobe artifacts is if you specify `-P with-distribution,option-with-swf` and `-DdistributionTargetFolder=` together. The `-DdistributionTargetFolder` option merges in everything from the AIR SDK (not only airglobal.swc, but also executables like adt and adl), and I assume that we still want that to be possible, but optional. If you need a SWF distribution without Adobe stuff, just build the zip/tar.gz version and extract it. I basically consider the Maven changes to be done at this point. Ant is using our airglobal/playerglobal in some places, but not everywhere yet. You can run `ant` in the root of royale-asjs, and it will build all framework .swc files without requiring Adobe artifacts. If you have env.AIR_HOME or env.PLAYERGLOBAL_HOME specified, it will still use Adobe artifacts, and I plan to keep that working for anyone who happens to prefer that. If you don't have those environment variables set, it will use our airglobal/playerglobal automatically. Building a SWF distribution with Ant still requires env.AIR_HOME and env.PLAYERGLOBAL_HOME at this time. I just didn't have quite enough time this month to finish that part. Next month, I hope to be able to modify the Ant build to do a full release without Adobe artifacts (except you'll still need Flash Player to run tests, of course). I know that there's been talk of doing a release soon. While my work is still in progress, it's currently in a state that should not prevent a release, if someone wants to do one. As I said, you can still specify env.AIR_HOME and env.PLAYERGLOBAL_HOME, and the Ant release distribution build with Adobe artifacts should work the same as before. -- Josh Tynjala Bowler Hat LLC <https://bowlerhat.dev> On Thu, Feb 25, 2021 at 3:55 PM Josh Tynjala <joshtynj...@bowlerhat.dev> wrote: > Just an update on my progress in February to create an Apache-licensed > playerglobal.swc. Last month, I had successfully built the SWC file using > the Apache-licensed asdoc XML files that are in the Flex SDK, but I hadn't > had a chance to see if I could drop it in to replace the official Adobe SWC > yet. When I finally got a chance to try it this month, my SWC didn't work > at first. However, I was able to make some tweaks to the APIs where I > discovered that types/parameters were slightly wrong in the docs. I can now > successfully use the SWC to build the entire Royale framework (including > running RoyaleUnit tests), and I can run the compiler's > "royale.dependent.tests" integration tests too. > > I also cleaned up the command line API for playerglobalc to make it work > more like other compiler tools, like mxmlc, compc, or externc. After > getting that working, I updated the royale-maven-plugin to make it possible > to build the same SWC using either Maven or the command line. > > What I still need to do: > > - Build separately playerglobal.swc and airglobal.swc. AIR-only APIs > should not appear in playerglobal.swc. > - Test the SWC with some non-Royale projects too. Since building the > Royale framework helped me find some APIs that were slightly wrong in the > docs, I figure that I should test the SWC with some other projects too. I > plan to drop the SWC into the Flex SDK, and test some apps using Flex, > Starling, and Feathers. That should cover a wide range of APIs. If they all > compile and run, then I think our Apache-licensed replacement will be > looking pretty solid. > - Finally, I need to figure out how to integrate our new > playerglobal.swc/airglobal.swc into the distribution builds. I'd like to > allow anyone building the framework to continue to use SWCs from Adobe or > Harman, if they'd prefer. > > -- > Josh Tynjala > Bowler Hat LLC <https://bowlerhat.dev> > > > On Wed, Jan 20, 2021 at 2:16 PM Josh Tynjala <joshtynj...@bowlerhat.dev> > wrote: > >> FYI — I just pushed a prototype playerglobal-source-gen project to the >> royale-compiler repo. It's a command line app that can generate .as files >> from the Flex SDK's Apache-licensed asdoc files for playerglobal.swc. The >> idea is to use these generated .as files to compile our own >> playerglobal.swc that we can distribute under the Apache license. If Adobe >> ever decides to remove playerglobal.swc from their website, we'll have our >> version available as a backup. >> >> I've gotten the project far enough along that I can successfully build >> the generated .as source files into a .swc without any compiler errors. >> However, I haven't yet had a chance to check if that .swc can be used in an >> SDK/distribution instead of the official playerglobal.swc or airglobal.swc. >> In February, when I have some more time, I'll continue testing all of that. >> I just wanted to share my current progress so far! >> >> -- >> Josh Tynjala >> Bowler Hat LLC <https://bowlerhat.dev> >> >> >> On Tue, Jan 5, 2021 at 1:34 AM Carlos Rovira <carlosrov...@apache.org> >> wrote: >> >>> Hi Josh, >>> >>> I think that's a very good idea. As less external dependencies we have >>> the >>> better. And I think that means one thing less to download or manage by >>> mavenizer. >>> >>> Could it be possible that you contribute it? >>> >>> Thanks >>> >>> >>> El lun, 4 ene 2021 a las 21:53, Josh Tynjala (<joshtynj...@bowlerhat.dev >>> >) >>> escribió: >>> >>> > If necessary, I believe that we can create our own custom >>> playerglobal.swc >>> > without running into license issues. >>> > >>> > Basically, the official playerglobal.swc contains only the APIs, and no >>> > implementation, so it's basically like the typedef/externs SWCs that we >>> > create for JS libraries in Royale >>> > >>> > The Apache Flex repo contains full ASDoc XML files for playerglobal.swc >>> > under an Apache license. These files should contain enough information >>> > about variable/property types and method signatures that someone could >>> > write a parser to get all of the data we need to generate AS3 stub >>> classes >>> > and build a SWC from that. >>> > >>> > -- >>> > Josh Tynjala >>> > Bowler Hat LLC <https://bowlerhat.dev> >>> > >>> > >>> > On Sun, Jan 3, 2021 at 11:07 AM Harbs <harbs.li...@gmail.com> wrote: >>> > >>> > > Let’s wait and see whether we are dealing with real issues or not. If >>> > it’s >>> > > an issue we can debate solutions. >>> > > >>> > > I’m happy to ask my Adobe contacts what the plan is. >>> > > >>> > > > On Jan 3, 2021, at 8:52 PM, Carlos Rovira <carlosrov...@apache.org >>> > >>> > > wrote: >>> > > > >>> > > > Hi Harbs, >>> > > > >>> > > > the problem here's that I think we are on Apache, and using a >>> piece of >>> > > > software that is under a clear license use will be against the >>> > foundation >>> > > > rules. So although you or I can host the files, that's not seem to >>> me >>> > > like >>> > > > a solution to the real problem. >>> > > > >>> > > > I'm for go step by step and first try to talk with Adobe >>> > representatives >>> > > to >>> > > > get the permission for Apache to host the player files only for our >>> > flex >>> > > > and royale use cases. I think we could continue discussion after we >>> > know >>> > > > the solution to this request >>> > > > >>> > > > Can you, Alex or others do this request? or if you want I can do >>> it, >>> > but >>> > > > need someone to provide me the contact at adobe. >>> > > > >>> > > > Thanks >>> > > > >>> > > > >>> > > > >>> > > > El dom, 3 ene 2021 a las 15:59, Harbs (<harbs.li...@gmail.com>) >>> > > escribió: >>> > > > >>> > > >> There’s no license agreement when downloading playerglobal or the >>> > > content >>> > > >> debugger. >>> > > >> >>> > > >> I’m willing to take the risk to personally host these files if >>> > > necessary. >>> > > >> >>> > > >>> On Jan 3, 2021, at 4:47 PM, Christofer Dutz < >>> > christofer.d...@c-ware.de >>> > > > >>> > > >> wrote: >>> > > >>> >>> > > >>> And I doubt we would be allowed to simply upload Adobe stuff to >>> any >>> > > >> other server wirhout explicit conset from them. The license >>> agreement >>> > > you >>> > > >> agreed to when downloading explicitly forbids that (at least it >>> did, >>> > > wenn >>> > > >> we were working on the Flex Mavenizer and I doubt things changed) >>> > > >> >>> > > >> >>> > > > >>> > > > -- >>> > > > Carlos Rovira >>> > > > Apache Member & Apache Royale PMC >>> > > > *Apache Software Foundation* >>> > > > http://about.me/carlosrovira >>> > > >>> > > >>> > >>> >>> >>> -- >>> Carlos Rovira >>> Apache Member & Apache Royale PMC >>> *Apache Software Foundation* >>> http://about.me/carlosrovira >>> >>