Re: (flex-sdk) 04/05: build.properties: FP and AIR 32.0

2024-03-21 Thread Josh Tynjala
Sorry, the Flex mailing lists have been ending up in my spam folder, so I
didn't see your message.

We certainly could do a new release of the Flex SDK, if someone is willing
to work on it.

My recent commits mainly resolve issues with building the Flex SDK from
source, and ensuring that we are pointing folks towards Adobe URLs that are
still valid (since many no longer work). Existing binary distributions
should still work okay, and it's existing source distributions that folks
might have trouble with.

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


On Mon, Mar 4, 2024 at 1:58 PM Piotr Zarzycki 
wrote:

> Josh,
>
> Because all of this updates do you think we should release Flex SDK ?
>
> Thanks,
> Piotr
>
> pon., 4 mar 2024 o 22:44  napisał(a):
>
> > This is an automated email from the ASF dual-hosted git repository.
> >
> > joshtynjala pushed a commit to branch develop
> > in repository https://gitbox.apache.org/repos/asf/flex-sdk.git
> >
> > commit 8277d9e48288f11325c6dc71c5ab745f092c71f7
> > Author: Josh Tynjala 
> > AuthorDate: Mon Mar 4 13:13:34 2024 -0800
> >
> > build.properties: FP and AIR 32.0
> > ---
> >  build.properties | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/build.properties b/build.properties
> > index 05c91f1163..7eb1542c3d 100644
> > --- a/build.properties
> > +++ b/build.properties
> > @@ -25,10 +25,10 @@ release.version = 4.17.0
> >  build.number = 0
> >
> >  # Flash player version for which player global swc to use
> > -playerglobal.version = 11.1
> > +playerglobal.version = 32.0
> >
> >  # AIR version number
> > -air.version = 16.0
> > +air.version = 32.0
> >
> >  # Default locale for the SDK
> >  locale = en_US
> >
> >
>
> --
>
> Piotr Zarzycki
>


Re: BlazeDS 4.8.0 - flex.messaging.services.xxx

2023-08-25 Thread Josh Tynjala
The "flex-messaging-proxy" module relied on the commons-httpclient 3.1
library, which had CVE security vulnerabilities. To update
flex-messaging-proxy, this dependency would need to be replaced by the
newer org.apache.httpcomponents.httpclient, which has a different API (and
no migration guide from the older version). It was found that some of the
features of the proxy service exposed commons-httpclient internals that
seem to no longer exist in org.apache.httpcomponents.httpclient. This made
it very difficult to upgrade flex-messaging-proxy, so we decided to disable
it instead, so that other BlazeDS features could be updated and released to
fix other security vulnerabilities.

However, we would be open to a community contribution that upgrades
flex-messaging-proxy to use org.apache.httpcomponents.httpclient. The
original source code can be found in the blazeds-4.7.3 tag.

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


On Thu, Aug 24, 2023 at 11:49 PM 吉川威雄 / YOSHIKAWA,TAKAO <
takao.yoshikawa...@hitachi.com> wrote:

> Hi,
>
>
>
> What is the reason why the following class features have been removed from
> BlazeDS 4.8.0?
>
> Are there any alternative solutions or countermeasures for this?
>
>
>
> flex.messaging.services.HTTPProxyService
>
> flex.messaging.services.http.HTTPProxyAdapter
>
> flex.messaging.services.http.SOAPProxyAdapter
>
>
>
> Thanks,
>
> Takao
>


Re: BlazeDS -Jakarta Namespace Support

2023-08-21 Thread Josh Tynjala
We have a jakartaee branch where I've started the migration from JavaEE to
JakartaEE:

https://github.com/apache/flex-blazeds/tree/jakartaee

I still need to do further testing, but I think it's nearly ready.

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


On Mon, Aug 21, 2023 at 2:35 AM 吉川威雄 / YOSHIKAWA,TAKAO <
takao.yoshikawa...@hitachi.com> wrote:

> Hi,
>
>
>
> I have a question about BlazeDS.
>
> Is there a plan that BlazeDS supports Jakarta Namespace? If the answer is
> yes, could you please tell us the schedule?
>
>
>
> Thanks,
>
> Takao
>


Re: Flex BlazeDS Missing War and

2023-07-12 Thread Josh Tynjala
Apache's version of BlazeDS doesn't offer an equivalent to Adobe's turnkey
bundle. Currently, the closest thing is our "binary release",
which includes the BlazeDS .jar files, but we don't bundle Tomcat or any
samples in there at this time. If all goes well with my efforts to
reintroduce updated samples, the next binary release should include a
samples.war (and source code, of course) that can be dropped into Tomcat
(but you'll need to download Tomcat separately; Tomcat won't be bundled).

I actually found Adobe's old version of the BlazeDS turnkey bundle on the
Internet Archive recently, and I mirrored it on my Github account, just in
case anyone might want it. I included instructions for updating Tomcat and
BlazeDS in the bundle.

https://github.com/joshtynjala/blazeds-turnkey-archive
https://github.com/joshtynjala/blazeds-turnkey-archive/releases/tag/v4.0.0.14931

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


On Wed, Jul 12, 2023 at 11:45 AM Abhay Singh  wrote:

> i see, thanks for the clarification.
>
> I actually referred few URL which talks about "turnkey versions of blazeds
> which contains ready to use version f Tomcat (version 6.0.14) in which the
> the BlazeDS WAR file has already been deployed and configured along with a
> variety sample applications.The turnkey allows you to get up and running
> with BlazeDS in a matter of minutes."
>
> since the poc was on similar lines i was looking to use that turnkey zip
> file and use the war file to get started.
>
> Hope it clarifies.
>
> On Wed, Jul 12, 2023 at 8:55 PM Josh Tynjala 
> wrote:
>
> > As I understand it, BlazeDS doesn't have its own .war file. I don't think
> > it would make much sense, since BlazeDS isn't an application on its own.
> > It's a library that you can use as part of building an application. In
> > other words, you need to build your own .war that contains your custom
> Java
> > application logic, with the BlazeDS .jar files included as a dependency.
> >
> > I'm actually working on restoring the BlazeDS samples project that was
> > included with the old Adobe version. It was donated to Apache with the
> rest
> > of BlazeDS, but no one seems to have kept it up to date. I happened to
> find
> > it in the repository history recently, and I've been working on adding
> new
> > Royale frontends to replace the original Flex/Flash frontends, and making
> > sure everything can be built with Maven. This samples project will show
> how
> > to build a .war file that you can deploy to Tomcat.
> >
> > --
> > Josh Tynjala
> > Bowler Hat LLC <https://bowlerhat.dev>
> >
> >
> > On Wed, Jul 12, 2023 at 4:23 AM Abhay Singh 
> wrote:
> >
> > > Hello Team,
> > >
> > > While doing a POC for replacement of Coldfusion came across BlazeDS.
> > >
> > > Reason for change being newer version of coldfusion don't support AMF
> > > anymore.
> > >
> > > BlazeDS would be a good choice as it supports push messages, hibernate
> > etc.
> > >
> > > However , we are stuck with setting up BlazeDS with Tomcat as he is
> > unable
> > > to build war and set it up on tomcat.
> > >
> > > Referred Link:
> > >
> > > https://flex.apache.org/download-blazeds.html
> > >
> > > Furthe , also tried looking for the war files or turnkey version as
> > > mentioned in below URL:
> > >
> > > https://lists.apache.org/list.html?dev@%3Cusers.flex%2eapache%2eorg%3E
> > >
> > > However, i am not able to find the older versions as well.
> > >
> > >
> > >
> > > Please suggest.
> > >
> >
>


Re: Flex BlazeDS Missing War and

2023-07-12 Thread Josh Tynjala
As I understand it, BlazeDS doesn't have its own .war file. I don't think
it would make much sense, since BlazeDS isn't an application on its own.
It's a library that you can use as part of building an application. In
other words, you need to build your own .war that contains your custom Java
application logic, with the BlazeDS .jar files included as a dependency.

I'm actually working on restoring the BlazeDS samples project that was
included with the old Adobe version. It was donated to Apache with the rest
of BlazeDS, but no one seems to have kept it up to date. I happened to find
it in the repository history recently, and I've been working on adding new
Royale frontends to replace the original Flex/Flash frontends, and making
sure everything can be built with Maven. This samples project will show how
to build a .war file that you can deploy to Tomcat.

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


On Wed, Jul 12, 2023 at 4:23 AM Abhay Singh  wrote:

> Hello Team,
>
> While doing a POC for replacement of Coldfusion came across BlazeDS.
>
> Reason for change being newer version of coldfusion don't support AMF
> anymore.
>
> BlazeDS would be a good choice as it supports push messages, hibernate etc.
>
> However , we are stuck with setting up BlazeDS with Tomcat as he is unable
> to build war and set it up on tomcat.
>
> Referred Link:
>
> https://flex.apache.org/download-blazeds.html
>
> Furthe , also tried looking for the war files or turnkey version as
> mentioned in below URL:
>
> https://lists.apache.org/list.html?dev@%3Cusers.flex%2eapache%2eorg%3E
>
> However, i am not able to find the older versions as well.
>
>
>
> Please suggest.
>


[ANNOUNCE] Apache Flex BlazeDS 4.8.0 Released!

2023-04-17 Thread Josh Tynjala
The Apache Flex community is pleased to announce the release of Apache Flex
Blaze DS 4.8.0

Apache Flex BlazeDS is the server-based Java remoting and web messaging
technology that enables developers to easily connect to back-end
distributed data and push data in real-time to Apache Flex, Apache Royale,
and Adobe AIR™ applications for more responsive rich Internet application
(RIA) experiences.

The Apache Flex Blaze DS 4.8.0 is an update to upgrade dependencies and
make general improvements, including the introduction of a binary
distribution.

For more details, see the release notes at:
https://www.apache.org/dist/flex/BlazeDS/4.8.0/RELEASE_NOTES

Apache Flex Blaze DS is available in source and binary forms from the
following download page:
https://flex.apache.org/download-blazeds.html

When downloading from a mirror site, please remember to verify the
downloads using signatures or SHA512 hashes.

For more information on Apache Flex Blaze DS, visit the project home page:
http://flex.apache.org

Thank you for using Apache Flex Blaze DS,

The Apache Flex Community


[RESULT] [VOTE] Release Apache Flex BlazeDS 4.8.0 RC1

2023-04-17 Thread Josh Tynjala
Vote passes with 3 binding +1 votes.

Thank you,

Josh


On Wed, Mar 8, 2023 at 3:05 PM Josh Tynjala 
wrote:

> Hi,
>
> This is the vote for the 4.8.0 release of Apache Flex BlazeDS.
>
> This release disables or removes certain modules that required third-party
> dependencies that are no longer maintained, and it updates a number of
> other dependencies.
>
> The release candidate can be found here:
> https://dist.apache.org/repos/dist/dev/flex/BlazeDS/4.8.0/rc1/
>
> Before voting please review the section, "What are the ASF requirements on
> approving a release?", at:
> https://www.apache.org/dev/release.html#approving-a-release
>
> At a minimum you would be expected to check that:
> - SHA and signed packages are correct
> - README, RELEASE_NOTES, NOTICE and LICENSE files are all fine
> - That you can compile from source package using `mvn clean install`
>
> The KEYS file is at https://dist.apache.org/repos/dist/release/flex/KEYS
>
> Please vote to approve this release:
> +1 Approve the release
> -1 Don’t approve the release (please provide specific comments to why)
>
> This vote will be open for 72 hours or until a result can be called.
>
> The vote passes if there is:
> - At least 3 +1 votes from the PMC
> - More positive votes than negative votes
>
> If you find an issue with the release that's a "show stopper" please don't
> hold off voting -1. If someone votes -1, please continue testing. We want
> to try and catch as many issues as we can and cut down on the number of
> release candidates. Remember existing voters can change their vote during
> the voting process.
>
> People who are not in the PMC are also encouraged to test out the release
> and vote, although their votes will not be binding, they can influence how
> the PMC votes.
>
> Please put all discussion about this release in the DISCUSS thread – not
> in this VOTE thread.
>
> Thanks,
> Josh
>


Re: [DISCUSS] Release Apache Flex BlazeDS 4.8.0 RC1

2023-04-12 Thread Josh Tynjala
At least one more binding +1 vote needed, folks!

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


On Wed, Mar 8, 2023 at 3:01 PM Josh Tynjala  wrote:

> Hi,
>
> Please discuss the BlazeDS 4.8.0 release candidate here and not in the
> vote thread.
>
> Thanks,
> Josh
>


Re: [VOTE] Release Apache Flex BlazeDS 4.8.0 RC1

2023-03-20 Thread Josh Tynjala
+1

macOS Ventura 13.2.1
Temurin JDK 11.0.17
Apache Maven 3.8.6

Source package builds, SHA512 and GPG signature match.

I tested runtime behavior using a modified version of Adobe's BlazeDS
turnkey distribution v4.0.0.14931 (which I archived on my personal Github,
to make it easier to find).

https://github.com/joshtynjala/blazeds-turnkey-archive

I upgraded the distribution to Tomcat 9, and I replaced the original Adobe
BlazeDS jar files with the Apache BlazeDS jar files.

For the client side, I replaced the SWF browser samples with functionally
equivalent AIR apps (built with Feathers UI and Haxe, but they still
use AIR's native AMF implementation, so they're testing what needs to be
tested). For completeness, I also ensured that they work when built for JS
and served from Tomcat.

https://github.com/feathersui/feathersui-blazeds-turnkey-samples

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


On Wed, Mar 8, 2023 at 3:05 PM Josh Tynjala 
wrote:

> Hi,
>
> This is the vote for the 4.8.0 release of Apache Flex BlazeDS.
>
> This release disables or removes certain modules that required third-party
> dependencies that are no longer maintained, and it updates a number of
> other dependencies.
>
> The release candidate can be found here:
> https://dist.apache.org/repos/dist/dev/flex/BlazeDS/4.8.0/rc1/
>
> Before voting please review the section, "What are the ASF requirements on
> approving a release?", at:
> https://www.apache.org/dev/release.html#approving-a-release
>
> At a minimum you would be expected to check that:
> - SHA and signed packages are correct
> - README, RELEASE_NOTES, NOTICE and LICENSE files are all fine
> - That you can compile from source package using `mvn clean install`
>
> The KEYS file is at https://dist.apache.org/repos/dist/release/flex/KEYS
>
> Please vote to approve this release:
> +1 Approve the release
> -1 Don’t approve the release (please provide specific comments to why)
>
> This vote will be open for 72 hours or until a result can be called.
>
> The vote passes if there is:
> - At least 3 +1 votes from the PMC
> - More positive votes than negative votes
>
> If you find an issue with the release that's a "show stopper" please don't
> hold off voting -1. If someone votes -1, please continue testing. We want
> to try and catch as many issues as we can and cut down on the number of
> release candidates. Remember existing voters can change their vote during
> the voting process.
>
> People who are not in the PMC are also encouraged to test out the release
> and vote, although their votes will not be binding, they can influence how
> the PMC votes.
>
> Please put all discussion about this release in the DISCUSS thread – not
> in this VOTE thread.
>
> Thanks,
> Josh
>


Re: [DISCUSS] Release Apache Flex BlazeDS 4.8.0 RC1

2023-03-20 Thread Josh Tynjala
Thanks for taking a look, Greg!

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


On Tue, Mar 14, 2023 at 12:09 PM Greg Dove  wrote:

> Hi Josh,
>
> Just a quick note to say that I will test and review the build this coming
> weekend. Sorry I can't get there sooner.
>
> -Greg
>
>
> On Thu, Mar 9, 2023 at 12:01 PM Josh Tynjala 
> wrote:
>
> > Hi,
> >
> > Please discuss the BlazeDS 4.8.0 release candidate here and not in the
> vote
> > thread.
> >
> > Thanks,
> > Josh
> >
>


[VOTE] Release Apache Flex BlazeDS 4.8.0 RC1

2023-03-08 Thread Josh Tynjala
Hi,

This is the vote for the 4.8.0 release of Apache Flex BlazeDS.

This release disables or removes certain modules that required third-party
dependencies that are no longer maintained, and it updates a number of
other dependencies.

The release candidate can be found here:
https://dist.apache.org/repos/dist/dev/flex/BlazeDS/4.8.0/rc1/

Before voting please review the section, "What are the ASF requirements on
approving a release?", at:
https://www.apache.org/dev/release.html#approving-a-release

At a minimum you would be expected to check that:
- SHA and signed packages are correct
- README, RELEASE_NOTES, NOTICE and LICENSE files are all fine
- That you can compile from source package using `mvn clean install`

The KEYS file is at https://dist.apache.org/repos/dist/release/flex/KEYS

Please vote to approve this release:
+1 Approve the release
-1 Don’t approve the release (please provide specific comments to why)

This vote will be open for 72 hours or until a result can be called.

The vote passes if there is:
- At least 3 +1 votes from the PMC
- More positive votes than negative votes

If you find an issue with the release that's a "show stopper" please don't
hold off voting -1. If someone votes -1, please continue testing. We want
to try and catch as many issues as we can and cut down on the number of
release candidates. Remember existing voters can change their vote during
the voting process.

People who are not in the PMC are also encouraged to test out the release
and vote, although their votes will not be binding, they can influence how
the PMC votes.

Please put all discussion about this release in the DISCUSS thread – not in
this VOTE thread.

Thanks,
Josh


[DISCUSS] Release Apache Flex BlazeDS 4.8.0 RC1

2023-03-08 Thread Josh Tynjala
Hi,

Please discuss the BlazeDS 4.8.0 release candidate here and not in the vote
thread.

Thanks,
Josh


[VOTE] Release Apache Flex BlazeDS 4.8.0 RC1

2023-03-08 Thread Josh Tynjala
Hi,

This is the vote for the 4.8.0 release of Apache Flex BlazeDS.

This release disables or removes certain modules that required third-party
dependencies that are no longer maintained, and it updates a number of
other dependencies.

The release candidate can be found here:
https://dist.apache.org/repos/dist/dev/flex/BlazeDS/4.8.0/rc1/

Before voting please review the section, "What are the ASF requirements on
approving a release?", at:
https://www.apache.org/dev/release.html#approving-a-release

At a minimum you would be expected to check that:
- SHA and signed packages are correct
- README, RELEASE_NOTES, NOTICE and LICENSE files are all fine
- That you can compile from source package using `mvn clean install`

The KEYS file is at https://dist.apache.org/repos/dist/release/flex/KEYS

Please vote to approve this release:
+1 Approve the release
-1 Don’t approve the release (please provide specific comments to why)

This vote will be open for 72 hours or until a result can be called.

The vote passes if there is:
- At least 3 +1 votes from the PMC
- More positive votes than negative votes

If you find an issue with the release that's a "show stopper" please don't
hold off voting -1. If someone votes -1, please continue testing. We want
to try and catch as many issues as we can and cut down on the number of
release candidates. Remember existing voters can change their vote during
the voting process.

People who are not in the PMC are also encouraged to test out the release
and vote, although their votes will not be binding, they can influence how
the PMC votes.

Please put all discussion about this release in the DISCUSS thread – not in
this VOTE thread.

Thanks,
Josh


[RESULT] [VOTE] Release Apache flex-sdk-converter-maven-extension 1.1.0 RC1

2023-02-20 Thread Josh Tynjala
Vote passes with 3 binding and 1 non-binding +1 votes.

Thank you,

Josh


On Thu, Feb 2, 2023 at 3:15 PM Josh Tynjala 
wrote:

> Hi,
>
> This is the vote for the 1.1.0 release of Apache
> flex-sdk-converter-maven-extension.
>
> This release fixes an HTTP to HTTPS redirect issue that causes Mavenized
> downloads to fail.
>
> The release candidate can be found here:
>
> https://dist.apache.org/repos/dist/dev/flex/flex-maven-tools/flex-sdk-converter/1.1.0/rc1/
>
> Before voting please review the section, "What are the ASF requirements on
> approving a release?", at:
> https://www.apache.org/dev/release.html#approving-a-release
>
> At a minimum you would be expected to check that:
> - SHA and signed packages are correct
> - README, RELEASE_NOTES, NOTICE and LICENSE files are all fine
> - That you can compile from source package
>
> The KEYS file is at https://dist.apache.org/repos/dist/release/flex/KEYS
>
> Please vote to approve this release:
> +1 Approve the release
> -1 Don’t approve the release (please provide specific comments to why)
>
> This vote will be open for 72 hours or until a result can be called.
>
> The vote passes if there is:
> - At least 3 +1 votes from the PMC
> - More positive votes than negative votes
>
> If you find an issue with the release that's a "show stopper" please don't
> hold off voting -1. If someone votes -1, please continue testing. We want
> to try and catch as many issues as we can and cut down on the number of
> release candidates. Remember existing voters can change their vote during
> the voting process.
>
> People who are not in the PMC are also encouraged to test out the release
> and vote, although their votes will not be binding, they can influence how
> the PMC votes.
>
> Please put all discussion about this release in the DISCUSSION thread not
> this VOTE thread.
>
> Thanks,
> Josh
>


Re: [DISCUSS] Release Apache flex-sdk-converter-maven-extension 1.1.0 RC1

2023-02-13 Thread Josh Tynjala
Thanks for voting, folks. I'm on vacation this week without my computer, so
I'll call the result and make the release officially when I get back next
week.
--
Josh Tynjala
Bowler Hat LLC <https://bowlerhat.dev>


On Thu, Feb 2, 2023 at 1:15 PM Josh Tynjala 
wrote:

> Hi,
>
> Please discuss the flex-sdk-converter-maven-extension 1.1.0 release
> candidate here and not in the vote thread.
>
> Thanks,
> Josh
>


Re: [DISCUSS] Release Apache flex-sdk-converter-maven-extension 1.1.0 RC1

2023-02-13 Thread Josh Tynjala
Thanks for pointing out the requirements in the README. I'll be sure to
update that for the tests fix.

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


On Mon, Feb 13, 2023 at 3:20 AM Yishay Weiss  wrote:

> This is actually stated in the README, sorry for missing that. If you do
> decide to fix this issue you should probably modify the Install
> Prerequisites section in README as well.
>
> Thanks for doing this
>
> From: Josh Tynjala<mailto:joshtynj...@bowlerhat.dev>
> Sent: Thursday, February 9, 2023 6:24 PM
> To: dev@flex.apache.org<mailto:dev@flex.apache.org>
> Subject: Re: [DISCUSS] Release Apache flex-sdk-converter-maven-extension
> 1.1.0 RC1
>
> I confirm that PlatformTypeTest fails with JDK 17, but works in JDK 8 and
> 11. The test seems to be using reflection to change a private property in
> the JDK to non-final so that it can pretend to be running on a different
> platform temporarily. Some quick research turned up that the JDK authors
> made things stricter in JDK 12 because doing something like this should not
> be encouraged.
>
> This test is broken, but the behavior of flex-sdk-converter-maven-extension
> is still correct. I will definitely fix the test for future releases.
>
> Yishay, would you be willing to test `mvn clean install` with JDK 11 so
> that we don't need to do a new RC? If you're going to try it with
> royale-compiler, you can switch back to JDK 17 for that.
>
> --
> Josh Tynjala
> Bowler Hat LLC <https://bowlerhat.dev>
>
>
> On Wed, Feb 8, 2023 at 11:10 PM Yishay Weiss 
> wrote:
>
> > I’m getting this:
> >
> > C:\dev\apache-flex-sdk-converter-1.1.0>mvn clean install
> > Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
> > [INFO] Scanning for projects...
> > [INFO]
> > 
> > [INFO] Reactor Build Order:
> > [INFO]
> > [INFO] Apache Flex - SDK-Converter
> > [pom]
> > [
> > (…)
> >
> > [INFO]  T E S T S
> > [INFO] ---
> > [INFO] Running
> > org.apache.flex.utilities.converter.retrievers.types.PlatformTypeTest
> > [ERROR] Tests run: 5, Failures: 0, Errors: 5, Skipped: 0, Time elapsed:
> > 0.082 s <<< FAILURE! - in
> > org.apache.flex.utilities.converter.retrievers.types.PlatformTypeTest
> > [ERROR] [0] IS_OS_WINDOWS, WINDOWS
> >
> (it_detects_the_current_platform_type)(org.apache.flex.utilities.converter.retrievers.types.PlatformTypeTest)
> > Time elapsed: 0.009 s  <<< ERROR!
> > java.lang.NoSuchFieldException: modifiers
> > at
> >
> org.apache.flex.utilities.converter.retrievers.types.PlatformTypeTest.setFinalStatic(PlatformTypeTest.java:74)
> > at
> >
> org.apache.flex.utilities.converter.retrievers.types.PlatformTypeTest.setUp(PlatformTypeTest.java:51)
> >
> > From: Josh Tynjala<mailto:joshtynj...@bowlerhat.dev>
> > Sent: Friday, February 3, 2023 6:23 PM
> > To: dev@flex.apache.org<mailto:dev@flex.apache.org>
> > Subject: Re: [DISCUSS] Release Apache flex-sdk-converter-maven-extension
> > 1.1.0 RC1
> >
> > At minimum, extract the source-release .zip file and run `mvn clean
> > install` in the root directory that contains pom.xml.
> >
> > OPTIONAL: After `mvn clean isntall`, you can also test that it works with
> > the royale-compiler repo (be sure to pull the latest commits). Here's
> what
> > you need to do:
> >
> > (Prerequisite: Make sure that you have the FLASHPLAYER_DEBUGGER env var
> > pointing to a Flash Player projector executable. If you don't have this
> > executable already, the royale-compiler README explains how you can still
> > download it from Adobe.)
> >
> > 1. In royale-compiler, go into .mvn/extensions.xml and set the version to
> > 1.1.0: 1.1.0
> > 2. Go into ~/.m2/repository/com/adobe/flash/ and move the "framework"
> > directory somewhere else temporarily. This lets you put it back later, if
> > something goes wrong.
> > 3. In royale-compiler, run `mvn clean install -P option-with-swf`.
> >
> > If the royale-compiler option-with-swf build passes, then the extension
> > successfully installed playerglobal 32.0.
> >
> > --
> > Josh Tynjala
> > Bowler Hat LLC <https://bowlerhat.dev>
> >
> >
> > On Thu, Feb 2, 2023 at 11:28 PM Harbs  wrote:
> >
> > > What do I need to do to test this?
> > >
> > > > On Feb 3, 2023, at 1:15 AM, Josh Tynjala 
> > > wrote:
> > > >
> > > > Hi,
> > > >
> > > > Please discuss the flex-sdk-converter-maven-extension 1.1.0 release
> > > > candidate here and not in the vote thread.
> > > >
> > > > Thanks,
> > > > Josh
> > >
> > >
> >
> >
>
>


Re: [DISCUSS] Release Apache flex-sdk-converter-maven-extension 1.1.0 RC1

2023-02-09 Thread Josh Tynjala
I confirm that PlatformTypeTest fails with JDK 17, but works in JDK 8 and
11. The test seems to be using reflection to change a private property in
the JDK to non-final so that it can pretend to be running on a different
platform temporarily. Some quick research turned up that the JDK authors
made things stricter in JDK 12 because doing something like this should not
be encouraged.

This test is broken, but the behavior of flex-sdk-converter-maven-extension
is still correct. I will definitely fix the test for future releases.

Yishay, would you be willing to test `mvn clean install` with JDK 11 so
that we don't need to do a new RC? If you're going to try it with
royale-compiler, you can switch back to JDK 17 for that.

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


On Wed, Feb 8, 2023 at 11:10 PM Yishay Weiss  wrote:

> I’m getting this:
>
> C:\dev\apache-flex-sdk-converter-1.1.0>mvn clean install
> Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
> [INFO] Scanning for projects...
> [INFO]
> 
> [INFO] Reactor Build Order:
> [INFO]
> [INFO] Apache Flex - SDK-Converter
> [pom]
> [
> (…)
>
> [INFO]  T E S T S
> [INFO] ---
> [INFO] Running
> org.apache.flex.utilities.converter.retrievers.types.PlatformTypeTest
> [ERROR] Tests run: 5, Failures: 0, Errors: 5, Skipped: 0, Time elapsed:
> 0.082 s <<< FAILURE! - in
> org.apache.flex.utilities.converter.retrievers.types.PlatformTypeTest
> [ERROR] [0] IS_OS_WINDOWS, WINDOWS
> (it_detects_the_current_platform_type)(org.apache.flex.utilities.converter.retrievers.types.PlatformTypeTest)
> Time elapsed: 0.009 s  <<< ERROR!
> java.lang.NoSuchFieldException: modifiers
> at
> org.apache.flex.utilities.converter.retrievers.types.PlatformTypeTest.setFinalStatic(PlatformTypeTest.java:74)
> at
> org.apache.flex.utilities.converter.retrievers.types.PlatformTypeTest.setUp(PlatformTypeTest.java:51)
>
> From: Josh Tynjala<mailto:joshtynj...@bowlerhat.dev>
> Sent: Friday, February 3, 2023 6:23 PM
> To: dev@flex.apache.org<mailto:dev@flex.apache.org>
> Subject: Re: [DISCUSS] Release Apache flex-sdk-converter-maven-extension
> 1.1.0 RC1
>
> At minimum, extract the source-release .zip file and run `mvn clean
> install` in the root directory that contains pom.xml.
>
> OPTIONAL: After `mvn clean isntall`, you can also test that it works with
> the royale-compiler repo (be sure to pull the latest commits). Here's what
> you need to do:
>
> (Prerequisite: Make sure that you have the FLASHPLAYER_DEBUGGER env var
> pointing to a Flash Player projector executable. If you don't have this
> executable already, the royale-compiler README explains how you can still
> download it from Adobe.)
>
> 1. In royale-compiler, go into .mvn/extensions.xml and set the version to
> 1.1.0: 1.1.0
> 2. Go into ~/.m2/repository/com/adobe/flash/ and move the "framework"
> directory somewhere else temporarily. This lets you put it back later, if
> something goes wrong.
> 3. In royale-compiler, run `mvn clean install -P option-with-swf`.
>
> If the royale-compiler option-with-swf build passes, then the extension
> successfully installed playerglobal 32.0.
>
> --
> Josh Tynjala
> Bowler Hat LLC <https://bowlerhat.dev>
>
>
> On Thu, Feb 2, 2023 at 11:28 PM Harbs  wrote:
>
> > What do I need to do to test this?
> >
> > > On Feb 3, 2023, at 1:15 AM, Josh Tynjala 
> > wrote:
> > >
> > > Hi,
> > >
> > > Please discuss the flex-sdk-converter-maven-extension 1.1.0 release
> > > candidate here and not in the vote thread.
> > >
> > > Thanks,
> > > Josh
> >
> >
>
>


Re: [VOTE] Release Apache flex-sdk-converter-maven-extension 1.1.0 RC1

2023-02-07 Thread Josh Tynjala
+1


On Thu, Feb 2, 2023 at 3:15 PM Josh Tynjala 
wrote:

> Hi,
>
> This is the vote for the 1.1.0 release of Apache
> flex-sdk-converter-maven-extension.
>
> This release fixes an HTTP to HTTPS redirect issue that causes Mavenized
> downloads to fail.
>
> The release candidate can be found here:
>
> https://dist.apache.org/repos/dist/dev/flex/flex-maven-tools/flex-sdk-converter/1.1.0/rc1/
>
> Before voting please review the section, "What are the ASF requirements on
> approving a release?", at:
> https://www.apache.org/dev/release.html#approving-a-release
>
> At a minimum you would be expected to check that:
> - SHA and signed packages are correct
> - README, RELEASE_NOTES, NOTICE and LICENSE files are all fine
> - That you can compile from source package
>
> The KEYS file is at https://dist.apache.org/repos/dist/release/flex/KEYS
>
> Please vote to approve this release:
> +1 Approve the release
> -1 Don’t approve the release (please provide specific comments to why)
>
> This vote will be open for 72 hours or until a result can be called.
>
> The vote passes if there is:
> - At least 3 +1 votes from the PMC
> - More positive votes than negative votes
>
> If you find an issue with the release that's a "show stopper" please don't
> hold off voting -1. If someone votes -1, please continue testing. We want
> to try and catch as many issues as we can and cut down on the number of
> release candidates. Remember existing voters can change their vote during
> the voting process.
>
> People who are not in the PMC are also encouraged to test out the release
> and vote, although their votes will not be binding, they can influence how
> the PMC votes.
>
> Please put all discussion about this release in the DISCUSSION thread not
> this VOTE thread.
>
> Thanks,
> Josh
>


Re: [DISCUSS] Release Apache flex-sdk-converter-maven-extension 1.1.0 RC1

2023-02-07 Thread Josh Tynjala
Thanks, Greg!

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


On Mon, Feb 6, 2023 at 7:16 PM Greg Dove  wrote:

> Thanks for your work on this, Josh. I followed your guide in here, and
> think I covered all the required testing, and added my vote in the vote
> thread
> -Greg
>
> On Sat, Feb 4, 2023 at 5:23 AM Josh Tynjala 
> wrote:
>
> > At minimum, extract the source-release .zip file and run `mvn clean
> > install` in the root directory that contains pom.xml.
> >
> > OPTIONAL: After `mvn clean isntall`, you can also test that it works with
> > the royale-compiler repo (be sure to pull the latest commits). Here's
> what
> > you need to do:
> >
> > (Prerequisite: Make sure that you have the FLASHPLAYER_DEBUGGER env var
> > pointing to a Flash Player projector executable. If you don't have this
> > executable already, the royale-compiler README explains how you can still
> > download it from Adobe.)
> >
> > 1. In royale-compiler, go into .mvn/extensions.xml and set the version to
> > 1.1.0: 1.1.0
> > 2. Go into ~/.m2/repository/com/adobe/flash/ and move the "framework"
> > directory somewhere else temporarily. This lets you put it back later, if
> > something goes wrong.
> > 3. In royale-compiler, run `mvn clean install -P option-with-swf`.
> >
> > If the royale-compiler option-with-swf build passes, then the extension
> > successfully installed playerglobal 32.0.
> >
> > --
> > Josh Tynjala
> > Bowler Hat LLC <https://bowlerhat.dev>
> >
> >
> > On Thu, Feb 2, 2023 at 11:28 PM Harbs  wrote:
> >
> > > What do I need to do to test this?
> > >
> > > > On Feb 3, 2023, at 1:15 AM, Josh Tynjala 
> > > wrote:
> > > >
> > > > Hi,
> > > >
> > > > Please discuss the flex-sdk-converter-maven-extension 1.1.0 release
> > > > candidate here and not in the vote thread.
> > > >
> > > > Thanks,
> > > > Josh
> > >
> > >
> >
>


Re: [DISCUSS] Release Apache flex-sdk-converter-maven-extension 1.1.0 RC1

2023-02-03 Thread Josh Tynjala
At minimum, extract the source-release .zip file and run `mvn clean
install` in the root directory that contains pom.xml.

OPTIONAL: After `mvn clean isntall`, you can also test that it works with
the royale-compiler repo (be sure to pull the latest commits). Here's what
you need to do:

(Prerequisite: Make sure that you have the FLASHPLAYER_DEBUGGER env var
pointing to a Flash Player projector executable. If you don't have this
executable already, the royale-compiler README explains how you can still
download it from Adobe.)

1. In royale-compiler, go into .mvn/extensions.xml and set the version to
1.1.0: 1.1.0
2. Go into ~/.m2/repository/com/adobe/flash/ and move the "framework"
directory somewhere else temporarily. This lets you put it back later, if
something goes wrong.
3. In royale-compiler, run `mvn clean install -P option-with-swf`.

If the royale-compiler option-with-swf build passes, then the extension
successfully installed playerglobal 32.0.

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


On Thu, Feb 2, 2023 at 11:28 PM Harbs  wrote:

> What do I need to do to test this?
>
> > On Feb 3, 2023, at 1:15 AM, Josh Tynjala 
> wrote:
> >
> > Hi,
> >
> > Please discuss the flex-sdk-converter-maven-extension 1.1.0 release
> > candidate here and not in the vote thread.
> >
> > Thanks,
> > Josh
>
>


[DISCUSS] Release Apache flex-sdk-converter-maven-extension 1.1.0 RC1

2023-02-02 Thread Josh Tynjala
Hi,

Please discuss the flex-sdk-converter-maven-extension 1.1.0 release
candidate here and not in the vote thread.

Thanks,
Josh


[VOTE] Release Apache flex-sdk-converter-maven-extension 1.1.0 RC1

2023-02-02 Thread Josh Tynjala
Hi,

This is the vote for the 1.1.0 release of Apache
flex-sdk-converter-maven-extension.

This release fixes an HTTP to HTTPS redirect issue that causes Mavenized
downloads to fail.

The release candidate can be found here:
https://dist.apache.org/repos/dist/dev/flex/flex-maven-tools/flex-sdk-converter/1.1.0/rc1/

Before voting please review the section, "What are the ASF requirements on
approving a release?", at:
https://www.apache.org/dev/release.html#approving-a-release

At a minimum you would be expected to check that:
- SHA and signed packages are correct
- README, RELEASE_NOTES, NOTICE and LICENSE files are all fine
- That you can compile from source package

The KEYS file is at https://dist.apache.org/repos/dist/release/flex/KEYS

Please vote to approve this release:
+1 Approve the release
-1 Don’t approve the release (please provide specific comments to why)

This vote will be open for 72 hours or until a result can be called.

The vote passes if there is:
- At least 3 +1 votes from the PMC
- More positive votes than negative votes

If you find an issue with the release that's a "show stopper" please don't
hold off voting -1. If someone votes -1, please continue testing. We want
to try and catch as many issues as we can and cut down on the number of
release candidates. Remember existing voters can change their vote during
the voting process.

People who are not in the PMC are also encouraged to test out the release
and vote, although their votes will not be binding, they can influence how
the PMC votes.

Please put all discussion about this release in the DISCUSSION thread not
this VOTE thread.

Thanks,
Josh


RE: BlazeDS release

2023-01-18 Thread Josh Tynjala
After my commits today to remove the proxy module and clean up some things, I 
think we're pretty much ready to go for a new BlazeDS release. I don't have any 
further time to work on it this month, but I can make it happen in February.

- Josh

On 2023/01/10 07:22:22 Yishay Weiss wrote:
> Thanks for working on this.
> 
> Chris gave some guidelines [2] for the release process.
> 
> Maybe the plc4x check-list [1] is helpful?
> 
> [1] https://plc4x.apache.org/developers/release/release.html
> 
> [2]
> The release itself should be the normal Maven release process … you can see 
> in the plc4x release documentation on how you need to configure your system:
> https://plc4x.apache.org/developers/release/release.html
> 
> 
> The short version of a release should be:
> 
> 
> 
> mvn release:prepare
> 
> 
> 
> mvn elease:perform
> 
> And the plc4x documentation describes what has to be done in the nexus repo 
> for staging and releasing the maven artifacts.
> 
> From: Josh Tynjala<mailto:joshtynj...@apache.org>
> Sent: Tuesday, January 10, 2023 2:03 AM
> To: dev@flex.apache.org<mailto:dev@flex.apache.org>
> Subject: Re: BlazeDS release
> 
> Okay, some updates on my progress with BlazeDS.
> 
> - I made the necessary changes to remove the vulnerable xalan dependency.
> - I looked at the proxy module issue, where we need to replace the obsolete 
> commons-httpclient 3.x with its successor, httpcomponents-httpclient 4.x. It 
> seems to be non-trivial to upgrade. I'm not sure that we have much test 
> coverage either, so there would be a certain amount of risk. I can see why 
> Piotr said that we should exclude the proxy module from the release instead. 
> I want to do a little bit of testing/investigation to see how much impact 
> removing the proxy module might have.
> - I moved the OWASP dependency checker into a 'with-owasp' profile. We don't 
> want that being a default part of the build because a failing build will be 
> confusing for users that want to build from source, if any new CVEs are 
> issued in the future. It should be mainly for our CI and release managers 
> instead. It can be enabled by adding `-P with-owasp` to the `mvn install` 
> command.
> - I replaced the 'flex-ci-build' profile with a new 'with-distribution' 
> profile. It builds not only the source distribution, but also a **new** 
> binary distribution, which we didn't have before. The binary distribution is 
> identical to the source distribution, except that it also has a 'lib' 
> directory that contains all of the built .jar files and their required 
> dependencies.
> - I merged everything from security-updates into develop. I'll continue any 
> further work on develop.
> 
> Folks, I need help with one thing: Do we have release manager 
> instructions/checklist for BlazeDS? Thanks!
> 
> - Josh
> 
> On 2023/01/04 20:59:29 Josh Tynjala wrote:
> > I'd like to spend some time this month finishing up the recent BlazeDS
> > stuff so that we can get it released.
> >
> > Can someone confirm that the changes listed here are still what should be
> > done? It looks straightforward enough.
> >
> > https://lists.apache.org/thread/9h7th05wc57399jp7l7mj11c45nq8jbn
> >
> > And which branch should I commit to? security-updates? develop? master?
> > Something else?
> >
> > Thanks,
> >
> > --
> > Josh Tynjala
> > Bowler Hat LLC <https://bowlerhat.dev>
> >
> 
> 


Re: BlazeDS release

2023-01-10 Thread Josh Tynjala
Just documenting some of my findings about the BlazeDS proxy module.

The HTTProxyService class is compiled into flex-messaging-proxy.jar. BlazeDS 
may be configured to use HTTProxyService in services-config.xml, like this:



If flex-messaging-proxy.jar is missing, and an HTTPProxyService is configured 
in services-config.xml, the following exception will be thrown:

flex.messaging.MessageException: Cannot create class of type 
'flex.messaging.services.HTTPProxyService'. Type 
'flex.messaging.services.HTTPProxyService' not found.

However, exposing an HTTPProxyService is not required by BlazeDS. If there is 
no HTTPProxyService configured, and flex-messaging-proxy.jar is not available 
on the classpath, then other services (such as RemotingService and 
MessageService) seem to continue to work correctly. I basically only needed to 
comment out the  element for HTTPProxyService in services-config.xml, 
and the other services started working again.

I have no idea how common it is to use HTTPProxyService in real-world 
production servers. Hopefully, it's not very likely, and removing it will have 
little impact. As noted above, my tests seem to indicate that it's technically 
possible to remove the proxy module, and BlazeDS will still be functional for 
other service types. I think we'll need to include three things in the release 
notes about this removal:

1) That flex-messaging-proxy.jar and the HTTPProxyService are removed.
2) The full text of the exception that gets thrown when services-config.xml 
references HTTPProxyService.
3) Instructions on how to disable HTTPProxyService in services-config.xml.

- Josh

On 2023/01/10 00:03:04 Josh Tynjala wrote:
> Okay, some updates on my progress with BlazeDS.
> 
> - I made the necessary changes to remove the vulnerable xalan dependency.
> - I looked at the proxy module issue, where we need to replace the obsolete 
> commons-httpclient 3.x with its successor, httpcomponents-httpclient 4.x. It 
> seems to be non-trivial to upgrade. I'm not sure that we have much test 
> coverage either, so there would be a certain amount of risk. I can see why 
> Piotr said that we should exclude the proxy module from the release instead. 
> I want to do a little bit of testing/investigation to see how much impact 
> removing the proxy module might have.
> - I moved the OWASP dependency checker into a 'with-owasp' profile. We don't 
> want that being a default part of the build because a failing build will be 
> confusing for users that want to build from source, if any new CVEs are 
> issued in the future. It should be mainly for our CI and release managers 
> instead. It can be enabled by adding `-P with-owasp` to the `mvn install` 
> command.
> - I replaced the 'flex-ci-build' profile with a new 'with-distribution' 
> profile. It builds not only the source distribution, but also a **new** 
> binary distribution, which we didn't have before. The binary distribution is 
> identical to the source distribution, except that it also has a 'lib' 
> directory that contains all of the built .jar files and their required 
> dependencies.
> - I merged everything from security-updates into develop. I'll continue any 
> further work on develop.
> 
> Folks, I need help with one thing: Do we have release manager 
> instructions/checklist for BlazeDS? Thanks!
> 
> - Josh
> 
> On 2023/01/04 20:59:29 Josh Tynjala wrote:
> > I'd like to spend some time this month finishing up the recent BlazeDS
> > stuff so that we can get it released.
> > 
> > Can someone confirm that the changes listed here are still what should be
> > done? It looks straightforward enough.
> > 
> > https://lists.apache.org/thread/9h7th05wc57399jp7l7mj11c45nq8jbn
> > 
> > And which branch should I commit to? security-updates? develop? master?
> > Something else?
> > 
> > Thanks,
> > 
> > --
> > Josh Tynjala
> > Bowler Hat LLC <https://bowlerhat.dev>
> > 
> 


RE: BlazeDS release

2023-01-10 Thread Josh Tynjala
Thanks, Yishay. I'll check it out.

- Josh

On 2023/01/10 07:22:22 Yishay Weiss wrote:
> Thanks for working on this.
> 
> Chris gave some guidelines [2] for the release process.
> 
> Maybe the plc4x check-list [1] is helpful?
> 
> [1] https://plc4x.apache.org/developers/release/release.html
> 
> [2]
> The release itself should be the normal Maven release process … you can see 
> in the plc4x release documentation on how you need to configure your system:
> https://plc4x.apache.org/developers/release/release.html
> 
> 
> The short version of a release should be:
> 
> 
> 
> mvn release:prepare
> 
> 
> 
> mvn elease:perform
> 
> And the plc4x documentation describes what has to be done in the nexus repo 
> for staging and releasing the maven artifacts.
> 
> From: Josh Tynjala<mailto:joshtynj...@apache.org>
> Sent: Tuesday, January 10, 2023 2:03 AM
> To: dev@flex.apache.org<mailto:dev@flex.apache.org>
> Subject: Re: BlazeDS release
> 
> Okay, some updates on my progress with BlazeDS.
> 
> - I made the necessary changes to remove the vulnerable xalan dependency.
> - I looked at the proxy module issue, where we need to replace the obsolete 
> commons-httpclient 3.x with its successor, httpcomponents-httpclient 4.x. It 
> seems to be non-trivial to upgrade. I'm not sure that we have much test 
> coverage either, so there would be a certain amount of risk. I can see why 
> Piotr said that we should exclude the proxy module from the release instead. 
> I want to do a little bit of testing/investigation to see how much impact 
> removing the proxy module might have.
> - I moved the OWASP dependency checker into a 'with-owasp' profile. We don't 
> want that being a default part of the build because a failing build will be 
> confusing for users that want to build from source, if any new CVEs are 
> issued in the future. It should be mainly for our CI and release managers 
> instead. It can be enabled by adding `-P with-owasp` to the `mvn install` 
> command.
> - I replaced the 'flex-ci-build' profile with a new 'with-distribution' 
> profile. It builds not only the source distribution, but also a **new** 
> binary distribution, which we didn't have before. The binary distribution is 
> identical to the source distribution, except that it also has a 'lib' 
> directory that contains all of the built .jar files and their required 
> dependencies.
> - I merged everything from security-updates into develop. I'll continue any 
> further work on develop.
> 
> Folks, I need help with one thing: Do we have release manager 
> instructions/checklist for BlazeDS? Thanks!
> 
> - Josh
> 
> On 2023/01/04 20:59:29 Josh Tynjala wrote:
> > I'd like to spend some time this month finishing up the recent BlazeDS
> > stuff so that we can get it released.
> >
> > Can someone confirm that the changes listed here are still what should be
> > done? It looks straightforward enough.
> >
> > https://lists.apache.org/thread/9h7th05wc57399jp7l7mj11c45nq8jbn
> >
> > And which branch should I commit to? security-updates? develop? master?
> > Something else?
> >
> > Thanks,
> >
> > --
> > Josh Tynjala
> > Bowler Hat LLC <https://bowlerhat.dev>
> >
> 
> 


Re: Change default branch on Github to develop?

2023-01-10 Thread Josh Tynjala
Just following up. The default branch has been now changed to develop on 
several Flex repos.

- Josh

On 2023/01/09 17:56:54 Josh Tynjala wrote:
> I ended up creating an Infra ticket for this:
> 
> https://issues.apache.org/jira/browse/INFRA-24073
> 
> - Josh
> 
> On 2023/01/06 20:09:15 Josh Tynjala wrote:
> > I see that Royale's repos are defaulting to the develop on Github, but
> > Flex's repos are defaulting to master. I'd like to change Flex's repos to
> > develop by default too, since that's where most commits are supposed to
> > happen, and it will ensure that PRs are done against the correct branch, if
> > we get any submitted.
> > 
> > Does anyone else in the PMC have access, within the Github website, to the
> > settings for Flex repos? (I don't) For instance, in the flex-blazeds repo,
> > the URL to change the default branch would be here:
> > 
> > https://github.com/apache/flex-blazeds/settings/branches
> > 
> > If so, can you change it from master to develop for me? Or do we need to
> > send a request to Infra to have them do it?
> > 
> > Thanks,
> > 
> > --
> > Josh Tynjala
> > Bowler Hat LLC <https://bowlerhat.dev>
> > 
> 


Re: BlazeDS release

2023-01-09 Thread Josh Tynjala
Okay, some updates on my progress with BlazeDS.

- I made the necessary changes to remove the vulnerable xalan dependency.
- I looked at the proxy module issue, where we need to replace the obsolete 
commons-httpclient 3.x with its successor, httpcomponents-httpclient 4.x. It 
seems to be non-trivial to upgrade. I'm not sure that we have much test 
coverage either, so there would be a certain amount of risk. I can see why 
Piotr said that we should exclude the proxy module from the release instead. I 
want to do a little bit of testing/investigation to see how much impact 
removing the proxy module might have.
- I moved the OWASP dependency checker into a 'with-owasp' profile. We don't 
want that being a default part of the build because a failing build will be 
confusing for users that want to build from source, if any new CVEs are issued 
in the future. It should be mainly for our CI and release managers instead. It 
can be enabled by adding `-P with-owasp` to the `mvn install` command.
- I replaced the 'flex-ci-build' profile with a new 'with-distribution' 
profile. It builds not only the source distribution, but also a **new** binary 
distribution, which we didn't have before. The binary distribution is identical 
to the source distribution, except that it also has a 'lib' directory that 
contains all of the built .jar files and their required dependencies.
- I merged everything from security-updates into develop. I'll continue any 
further work on develop.

Folks, I need help with one thing: Do we have release manager 
instructions/checklist for BlazeDS? Thanks!

- Josh

On 2023/01/04 20:59:29 Josh Tynjala wrote:
> I'd like to spend some time this month finishing up the recent BlazeDS
> stuff so that we can get it released.
> 
> Can someone confirm that the changes listed here are still what should be
> done? It looks straightforward enough.
> 
> https://lists.apache.org/thread/9h7th05wc57399jp7l7mj11c45nq8jbn
> 
> And which branch should I commit to? security-updates? develop? master?
> Something else?
> 
> Thanks,
> 
> --
> Josh Tynjala
> Bowler Hat LLC <https://bowlerhat.dev>
> 


Re: Change default branch on Github to develop?

2023-01-09 Thread Josh Tynjala
I ended up creating an Infra ticket for this:

https://issues.apache.org/jira/browse/INFRA-24073

- Josh

On 2023/01/06 20:09:15 Josh Tynjala wrote:
> I see that Royale's repos are defaulting to the develop on Github, but
> Flex's repos are defaulting to master. I'd like to change Flex's repos to
> develop by default too, since that's where most commits are supposed to
> happen, and it will ensure that PRs are done against the correct branch, if
> we get any submitted.
> 
> Does anyone else in the PMC have access, within the Github website, to the
> settings for Flex repos? (I don't) For instance, in the flex-blazeds repo,
> the URL to change the default branch would be here:
> 
> https://github.com/apache/flex-blazeds/settings/branches
> 
> If so, can you change it from master to develop for me? Or do we need to
> send a request to Infra to have them do it?
> 
> Thanks,
> 
> --
> Josh Tynjala
> Bowler Hat LLC <https://bowlerhat.dev>
> 


Change default branch on Github to develop?

2023-01-06 Thread Josh Tynjala
I see that Royale's repos are defaulting to the develop on Github, but
Flex's repos are defaulting to master. I'd like to change Flex's repos to
develop by default too, since that's where most commits are supposed to
happen, and it will ensure that PRs are done against the correct branch, if
we get any submitted.

Does anyone else in the PMC have access, within the Github website, to the
settings for Flex repos? (I don't) For instance, in the flex-blazeds repo,
the URL to change the default branch would be here:

https://github.com/apache/flex-blazeds/settings/branches

If so, can you change it from master to develop for me? Or do we need to
send a request to Infra to have them do it?

Thanks,

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


Re: BlazeDS release

2023-01-05 Thread Josh Tynjala
I figured out the necessary the changes on my local computer, tests are 
passing, and it seems to be successfully exchanging messages with clients, so 
I'm ready to commit. As I mentioned, I just need to know the expected branch. 
I'm leaning toward security-updates, but I'm not sure.

- Josh

On 2023/01/04 20:59:29 Josh Tynjala wrote:
> I'd like to spend some time this month finishing up the recent BlazeDS
> stuff so that we can get it released.
> 
> Can someone confirm that the changes listed here are still what should be
> done? It looks straightforward enough.
> 
> https://lists.apache.org/thread/9h7th05wc57399jp7l7mj11c45nq8jbn
> 
> And which branch should I commit to? security-updates? develop? master?
> Something else?
> 
> Thanks,
> 
> --
> Josh Tynjala
> Bowler Hat LLC <https://bowlerhat.dev>
> 


BlazeDS release

2023-01-04 Thread Josh Tynjala
I'd like to spend some time this month finishing up the recent BlazeDS
stuff so that we can get it released.

Can someone confirm that the changes listed here are still what should be
done? It looks straightforward enough.

https://lists.apache.org/thread/9h7th05wc57399jp7l7mj11c45nq8jbn

And which branch should I commit to? security-updates? develop? master?
Something else?

Thanks,

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


Running Adobe Flex 2 on OpenFL and JS

2021-09-10 Thread Josh Tynjala
Hey community,

I just wanted to share a little proof-of-concept demo involving Flex that I
put together the other day.  thought that there might be some folks around
here who would be interested. I was able to compile a simple "Hello World"
app made with Adobe Flex 2 (really, the version from 2006!) using the
Apache Royale AS3 to JS compiler, with Flex ultimately running on OpenFL in
JS instead of Flash Player.

Then, I made it work with Flex 3 too (the original MPL open source
release), so I could put the source code up on Github.

Flex 3 demo:

https://joshblog.net/projects/openfl-flex3/

Github repo:

https://github.com/joshtynjala/openfl-adobe-flex-poc

More details on my blog:

https://joshblog.net/2021/adobe-flex-2-running-on-openfl-in-javascript-instead-of-swf/

Happy Friday!

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


Re: [VOTE] Fork FlexJS from Apache Flex

2017-09-01 Thread Josh Tynjala
nt to be involved with the legacy Apache
> Flex code.
>
> Relationship with Existing Apache Projects
>
> Apache FlexJS might use some releases from Apache Flex for some features
> or for an Installer app.  FlexJS can be used to create Apache Cordova
> applications and we hope to find time to make the Cordova community aware
> of this capability.  The Apache FlexJS Compiler has dependencies on Apache
> Commons, and we use Apache Ant and Apache Maven for building the various
> release artifacts.
>
> Cryptography
>
> Apache FlexJS does not currently does not distribute cryptography code
> other than an MD5 hash algorithm.
>
> Required Resources
>
> Mailing Lists
>
> -private@
> -dev@
> -commits@
> -users@
> -issues@
>
> Version Control
>
> We would like to use GitBox if it is practical to convert the current git
> repos listed above.  We want to explore using GitHub's wiki and
> documentation tools.
>
> Issue Tracking
>
> If GitBox allows us to use GitHub issues, we will use that, otherwise, we
> will request a new JIRA project from Infra.
>
> Other Resources
>
> We would like to try using Git for our website version control and
> whatever the publishing process is.  We will probably continue to run jobs
> on builds.a.o.
>
> Initial PMC
>
> Harbs
> Yishay Weiss
> Alex Harui
> Peter Ent
> Josh Tynjala
> Piotr Zarzycki
> Carlos Rovira
> Erik De Bruin
> Omprakash Muppirala
> Frédéric Thomas
> Olaf Krueger
> Michael Schmalle
> Dave Fisher
>
>
> Initial Committers
>
> Christofer Dutz
> Greg Dove
> Andy Dufilie
> Darrell Loverin
>
>
>
> We propose Harbs as initial PMC Chair and VP Apache FlexJS.
>
> Affiliations
>
> Alex Harui and Peter Ent are currently employees of Adobe Systems Inc.
> Nobody else works for a large corporation.
>
> --- End Proposal ---
>
>


Re: [Flex JS] Flex SDK Installer always get stuck at "Finish uncompressing"

2017-08-28 Thread Josh Tynjala
VSCode checks if an SDK contains two directories named "bin" and
"frameworks", and it requires either "flex-sdk-description.xml" or
"air-sdk-description.xml" in the root of the SDK.

One change that I could make is to allow "bin" to be missing if "js/bin"
exists instead.

The parts of Moonshine that I've worked on should have these same
requirements, but there may be some other requirements elsewhere in the
codebase.

- Josh

On Mon, Aug 28, 2017 at 8:31 AM, Alex Harui 
wrote:

> AIR and Flash are already technically prerequisites, but folks found it so
> inconvenient compared to the old Adobe distributions that Om and others
> created the Installer to automate fetching the Flash/AIR bits.
>
> Flash Builder, and maybe some other IDEs, expect AIR and Flash files in
> the SDK folder.  Anyone using Maven and only using an IDE as a text editor
> without much code intelligence can just use Maven to get the things they
> need.
>
> Using Ant to install the SDK worked the last time I tried it.
>
> I'm not sure what dependencies VSCode Extensions and Moonshine expect, but
> if they can live without Flash/AIR then it is possible to put together a
> JS-only package.
>
> And anyone who wants to become an authorized Adobe distributor can sign up
> with Adobe to distribute the Flash/AIR SDKs and make packages like Adobe
> did.  But Apache probably shouldn't since that is distributing stuff that
> isn't open source.
>
> -Alex
>
> On 8/28/17, 7:23 AM, "Olaf Krueger"  wrote:
>
> >Hmm... if we just would like to target JS, do we still need AIR and
> >playerglobal.swc?
> >If not, maybe we could provide a FlexJS "JS only" version?
> >
> >Maybe another approach could be to declare AIR as a prerequisite?
> >
> >Thanks,
> >Olaf
> >
> >
> >
> >
> >--
> >View this message in context:
> >https://na01.safelinks.protection.outlook.com/?url=
> http%3A%2F%2Fapache-fle
> >x-development.247.n4.nabble.com%2FFlex-JS-Flex-SDK-
> Installer-always-ge
> >t-stuck-at-Finish-uncompressing-tp63989p63994.
> html&data=02%7C01%7C%7Cd392a
> >411c104483719ef08d4ee206ef6%7Cfa7b1b5a7b34438794aed2c178de
> cee1%7C0%7C0%7C6
> >36395270455882491&sdata=J%2F2HjEqxGEGjfgJRS9Z8HgNEkabQ6k
> 3%2BfghmAssykVc%3D
> >&reserved=0
> >Sent from the Apache Flex Development mailing list archive at Nabble.com.
>
>


Re: FlexJS Closure warnings

2017-08-22 Thread Josh Tynjala
I remember seeing that Alex updated to a newer version of Closure compiler
recently. I don't recall if he updated Closure library at the same time. As
I understand it, it's a good idea to keep them both in sync.

- Josh

On Aug 22, 2017 3:43 AM, "Harbs"  wrote:

> I’ve been getting hundreds of warnings when FlexJS runs GCC.
>
> It’s kind of weird that the errors seem to be in the Google library files.
>
> FlexJSStore generates 119 warnings for me. My app generates over 300
> warnings. Some of additional ones are in the typedef files.
>
> Harbs


Re: [FlexJS] Failing build for simple example

2017-08-16 Thread Josh Tynjala
Yes, if we release a new version of the compiler, then Moonshine can be
updated to use it.

Alternatively, Moonshine could be refactored to allow users to optionally
point to a different version of the compiler, similar to how the VSCode
extension provides the nextgenas.sdk.editor setting.

- Josh

On Wed, Aug 16, 2017 at 10:56 AM, piotrz  wrote:

> The bundled jars are using released version of compiler, so the deal is to
> release new version.
>
> Then it could be used there?
>
> Piotr
>
>
>
> -
> Apache Flex PMC
> piotrzarzyck...@gmail.com
> --
> View this message in context: http://apache-flex-
> development.247.n4.nabble.com/FlexJS-Failing-build-for-
> simple-example-tp63695p63900.html
> Sent from the Apache Flex Development mailing list archive at Nabble.com.
>


Re: [FlexJS] Failing build for simple example

2017-08-16 Thread Josh Tynjala
Everything is compiled into a single "fat" JAR, so unfortunately no.

- Josh

On Wed, Aug 16, 2017 at 10:44 AM, Alex Harui 
wrote:

> Bummer.  There is no way to overwrite the compiler jars?
>
> -Alex
>
> On 8/16/17, 10:34 AM, "Josh Tynjala"  wrote:
>
> >Moonshine currently uses the 0.8.0 compiler for code intelligence. Nightly
> >builds of FlexJS specify a new fxg-base-class compiler option in
> >flex-config.xml, but this compiler option didn't exist in 0.8.0.
> >
> >There is currently no way to force Moonshine to use the newer compiler for
> >code intelligence instead of the version that it bundles.
> >
> >- Josh
> >
> >
> >On Wed, Aug 16, 2017 at 10:19 AM, piotrz 
> >wrote:
> >
> >> Hi,
> >>
> >> This option "flash.display.Sprite"
> >> flex-config seems to breaking code completion in Moonshine.
> >>
> >> I've just configured Moonshine on clean Windows 7 PC and started to
> >>getting
> >> following things in console [1]. Once I commented out in flex-config
> >>that
> >> option everything started to work.
> >>
> >> Anyone have an idea where the problem could be ?
> >>
> >> [1]
> >>https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fpaste.ap
> >>ache.org%2FKknK&data=02%7C01%7C%7C59f55fbd7a1b4640335c08d4e4cd
> 1ded%7Cfa7b
> >>1b5a7b34438794aed2c178decee1%7C0%7C0%7C636385016997138868&
> sdata=l9KP2Eqnf
> >>4vupyT8Wqx1zXgIprKrdZlPhdBvIBUyX8Q%3D&reserved=0
> >>
> >> Thanks,
> >> Piotr
> >>
> >>
> >>
> >> -
> >> Apache Flex PMC
> >> piotrzarzyck...@gmail.com
> >> --
> >> View this message in context: http://apache-flex-
> >> development.247.n4.nabble.com/FlexJS-Failing-build-for-
> >> simple-example-tp63695p63895.html
> >> Sent from the Apache Flex Development mailing list archive at
> >>Nabble.com.
> >>
>
>


Re: [FlexJS] Failing build for simple example

2017-08-16 Thread Josh Tynjala
Moonshine currently uses the 0.8.0 compiler for code intelligence. Nightly
builds of FlexJS specify a new fxg-base-class compiler option in
flex-config.xml, but this compiler option didn't exist in 0.8.0.

There is currently no way to force Moonshine to use the newer compiler for
code intelligence instead of the version that it bundles.

- Josh


On Wed, Aug 16, 2017 at 10:19 AM, piotrz  wrote:

> Hi,
>
> This option "flash.display.Sprite"
> flex-config seems to breaking code completion in Moonshine.
>
> I've just configured Moonshine on clean Windows 7 PC and started to getting
> following things in console [1]. Once I commented out in flex-config that
> option everything started to work.
>
> Anyone have an idea where the problem could be ?
>
> [1] https://paste.apache.org/KknK
>
> Thanks,
> Piotr
>
>
>
> -
> Apache Flex PMC
> piotrzarzyck...@gmail.com
> --
> View this message in context: http://apache-flex-
> development.247.n4.nabble.com/FlexJS-Failing-build-for-
> simple-example-tp63695p63895.html
> Sent from the Apache Flex Development mailing list archive at Nabble.com.
>


Re: Adobe has announced the end-of-life of the Flash Player

2017-08-14 Thread Josh Tynjala
It's best to assume that Adobe is no longer going to provide security
updates for Flash Player in 2020. Do not fork any web browsers to try to
continue supporting Flash Player or other plugins. You will put the
security of your users at great risk. It's not worth it.

The age of browser plugins, and Flash Player on the web, is coming to an
end. It's time to move on. You can migrate your apps to AIR. You can
contribute to FlexJS. The folks working on the spriteflexjs library are
trying to recreate the display list and other flash.* APIs in the browser.
Contribute to those efforts, and you'll be able to keep writing the same
code for the web.

- Josh

On Mon, Aug 14, 2017 at 7:41 AM, flex capacitor 
wrote:

> Microsoft, Google and Firefox have all explicitly disabled FP in the
> browser and then faced backlash from users and then they reenabled it.
> Remember Microsoft's exclusion list? We read tech blogs and have heard the
> news but the average user isn't paying attention or they'll be distracted
> around 2020 (by elections).
>
> My opinion is businesses won't move over unless they have to and many of
> them don't want to spend the money to. And some companies don't have the
> money to.
>
> What if we fork a version of Firefox that continues to support plugins. Get
> announcements out to the major tech blogs. Clear up the misconceptions at
> the same time. Unity would be down for that and they have major investors.
> They were thrown under the bus too.
>
> I had written a paragraph about Googles web team here but to keep it short
> they are bias and are trying to make decisions for everyone. Firefox is
> following their lead so they somehow don't lose users. When the browsers
> makers decide (for everyone) to disable plugins there will be a huge
> audience looking for a browser that continues to support them.
>
> At the same time maybe we can put some part of Flex into it like client
> side MXML rendering or compiling. I think Alex said the compiler could be
> stripped down to 29MB. Almost everyone uses IE to download Chrome or
> Firefox. Download size is not a big an issue as it used to be.
>
> HTML, CSS, JS need an upgrade. HTML can be upgraded to MXML (Flex or
> FlexJS), CSS in Flex has always been fine for me but it could be upgraded
> to SCSS or post CSS (I'm sure there are others). JS is being upgraded to
> ES5, 6 slowly but even ES6 still feels less than ES4. That might generate
> interest from developers. My 2 cents.
>
>
> On Mon, Aug 14, 2017 at 9:10 AM, Jeffry Houser 
> wrote:
>
> >  For legacy applications or archival purposes, you'll probably want to
> > keep an installer for the Flash Player and/or older browsers.  So they
> can
> > be reset up on an old machine, or in a VM. Browsers, for the most part,
> > have already shut down their plugin APIs.
> >
> >
> >
> > On 8/14/2017 8:26 AM, Clint M wrote:
> >
> >> I remember reading that browsers won't be supporting after that.
> >>
> >> On Mon, Aug 14, 2017 at 6:19 AM, Deepak MS 
> >> wrote:
> >>
> >> Let's say Adobe releases final version of flash player version 35 for
> >>> instance, by end of 2019, without further maintenance or development of
> >>> the
> >>> plugin. Will this version continue to stay forever, whether or not
> users
> >>> want to use it or is it that flash player will be blocked by browsers
> >>> themselves? It isn't clear in the article. Or did I miss it?
> >>>
> >>>
> >>>
> >>> On Wed, Jul 26, 2017 at 1:32 AM, Nicholas Kwiatkowski <
> >>> nicholaskwiatkow...@gmail.com> wrote:
> >>>
> >>> Looks like we have a date :
> 
>  https://blogs.adobe.com/conversations/2017/07/adobe-flash-update.html
> 
>  -Nick
> 
> 
> > --
> > Jeffry Houser
> > Technical Entrepreneur
> > http://www.dot-com-it.com
> > http://www.jeffryhouser.com
> > 203-379-0773
> >
> >
>


Re: Adobe has announced the end-of-life of the Flash Player

2017-08-14 Thread Josh Tynjala
Browsers are definitely planning to remove all support for the Flash Player
plugin on or before 2020.

- Josh


On Aug 14, 2017 5:19 AM, "Deepak MS"  wrote:

Let's say Adobe releases final version of flash player version 35 for
instance, by end of 2019, without further maintenance or development of the
plugin. Will this version continue to stay forever, whether or not users
want to use it or is it that flash player will be blocked by browsers
themselves? It isn't clear in the article. Or did I miss it?



On Wed, Jul 26, 2017 at 1:32 AM, Nicholas Kwiatkowski <
nicholaskwiatkow...@gmail.com> wrote:

> Looks like we have a date :
>
> https://blogs.adobe.com/conversations/2017/07/adobe-flash-update.html
>
> -Nick
>


Re: [FlexJS][Docs] Started with some docs using a github repo

2017-08-09 Thread Josh Tynjala
I recommend including a review of basic MXML language features in the
getting started material. Things like binding, states, and even just how to
add children to containers, listen to events, and things like that. It's
good for people completely new to Flex/FlexJS, but I think it's also
important for experienced Flex developers. It shows them that FlexJS still
has many of the features that they liked, and puts them on familiar ground
before they need to jump into the differences in FlexJS, like PAYG and
beads.

- Josh

On Wed, Aug 9, 2017 at 4:13 AM, Olaf Krueger  wrote:

> Hi guys,
> it seems to me that since Adobe announced the EOL of FlashPlayer there's
> some more interest in FlexJS.
> And it also seems to me that is still not so easy to get in touch with
> FlexJS for others.
> One reason is probably the lack of the documentation.
>
> My feeling is that some more documentation is more important than ever at
> this time where folks probably think about which path they will go with
> their Flex apps in future.
>
> So I prioritized this task for myself and started a github wiki with the
> goal to fill the gap.
> I decide to go with github instead of our wiki cause I think it is easier
> to
> contribute for anybody who is willing to help.
> Moreover, the long term idea is to move to github pages to provide a shiny
> website dedicated to FlexJS.
> Bootstrap, Angular and others do impressive things using github pages with
> static site generators.
> If it turns out that this approach is helpful and if there are no technical
> issues it could be moved to Apache at any time of course.
>
> This is the link to the wiki [1].
> For now, it's just a scaffolding of what I would like to achieve at first.
> A
> lot of things are probably already available at other places but I think it
> is helpful to summarize all these things at one place.
>
> The repo is not restricted to some collaborators so anybody who's willing
> to
> help should be able to start right now.
>
> Thanks,
> Olaf
>
> [1] https://github.com/ok-at-github/flexjs-docs/wiki
>
>
>
>
> --
> View this message in context: http://apache-flex-
> development.247.n4.nabble.com/FlexJS-Docs-Started-with-
> some-docs-using-a-github-repo-tp63786.html
> Sent from the Apache Flex Development mailing list archive at Nabble.com.
>


Re: Flex 0.8.1 release?

2017-08-08 Thread Josh Tynjala
Yeah, I meant a hotfix with some bug fixes only. However, if it seems like
there's been enough work to make a 0.9.0 release, and it's stable enough,
then that's seems fine too.

- Josh

On Tue, Aug 8, 2017 at 7:45 AM, Harbs  wrote:

> I assume Josh was talking about a hotfix.
>
> I was just thinking that it’s time to release 0.9.0.. I wonder if we could
> just try and get a new release out the door quickly.
>
> I’ll try and spend some time with the examples.
>
>
> > On Aug 8, 2017, at 5:41 PM, Alex Harui  wrote:
> >
> > A 0.8.1 release is fine with me.  However, I just saw that
> > DataBindingExample is broken.  The stock price doesn't show up.  We will
> > probably need to stop and check all of the examples again.  Peter usually
> > helps me do that, but he's on vacation.  Other folks will need to step up
> > to be the RM and help fix the examples.
> >
> > Go for it,
> > -Alex
> >
> > On 8/8/17, 6:41 AM, "Josh Tynjala"  joshtynj...@gmail.com>> wrote:
> >
> >> (copying from users)
> >>
> >> PMC,
> >>
> >> We should consider a 0.8.1 release with some of the recent bug fixes.
> The
> >> IntelliJ IDEA fix [1], in particular, seems especially important,
> >> considering this thread. Developers want to to try FlexJS in a familiar
> >> IDE, and 0.8.0 makes that harder right now.
> >>
> >> It's also like to get the MXML source maps fix [2] released too. We
> could
> >> cherry pick some other fixes too, if anyone has some that they think are
> >> important.
> >>
> >> - Josh
> >>
> >>
> >> [1]
> >> https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Flists.apa <https://na01.safelinks.
> protection.outlook.com/?url=https%3A%2F%2Flists.apa>
> >> che.org <http://che.org/>%2Fthread.html%2F81206edf522415581aff6df07014
> 0a4f0194410bb76ab2cec0
> >> 8448f3%40%253Cdev.flex.apache.org <http://253cdev.flex.apache.org/
> >%253E&data=02%7C01%7C%7C39ea7917765f4d800
> >> fcf08d4de635282%7Cfa7b1b5a7b34438794aed2c178de
> cee1%7C0%7C0%7C6363779655526
> >> 69422&sdata=ijNpBfB4Ve6NmLiKQ5vodOykXuOu4lk4meZTOwfmSFo%3D&reserved=0
> >> [2]
> >> https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Flists.apa <https://na01.safelinks.
> protection.outlook.com/?url=https%3A%2F%2Flists.apa>
> >> che.org <http://che.org/>%2Fthread.html%2Ff62e1c8341ce16f29c3adbde5ded
> c94d41269b939e573b3282
> >> 6be72e%40%253Cdev.flex.apache.org <http://253cdev.flex.apache.org/
> >%253E&data=02%7C01%7C%7C39ea7917765f4d800
> >> fcf08d4de635282%7Cfa7b1b5a7b34438794aed2c178de
> cee1%7C0%7C0%7C6363779655526
> >> 69422&sdata=yHKn9SScoUolPsg%2FmYw6eb3ePbdiLoO2jKFpNvLOVcQ%3D&reserved=0
>
>


Flex 0.8.1 release?

2017-08-08 Thread Josh Tynjala
(copying from users)

PMC,

We should consider a 0.8.1 release with some of the recent bug fixes. The
IntelliJ IDEA fix [1], in particular, seems especially important,
considering this thread. Developers want to to try FlexJS in a familiar
IDE, and 0.8.0 makes that harder right now.

It's also like to get the MXML source maps fix [2] released too. We could
cherry pick some other fixes too, if anyone has some that they think are
important.

- Josh


[1]
https://lists.apache.org/thread.html/81206edf522415581aff6df070140a4f0194410bb76ab2cec08448f3@%3Cdev.flex.apache.org%3E
[2]
https://lists.apache.org/thread.html/f62e1c8341ce16f29c3adbde5dedc94d41269b939e573b32826be72e@%3Cdev.flex.apache.org%3E


Re: FlexJS Random crazy thought

2017-08-07 Thread Josh Tynjala
I've considered the idea of extending the TypeScript compiler to understand
MXML, and  elements would contain TypeScript instead of
ActionScript. Creating a new compiler for TypeScript would be a massive
effort (even considering the similarities between ActionScript and
TypeScript), so it would be better to piggyback on Microsoft's work, in my
opinion. Especially since it would be a never-ending game of catch up as
TypeScript continues to evolve.

- Josh

On Mon, Aug 7, 2017 at 8:11 AM, Harbs  wrote:

> I was thinking about how we could increase adoption of FlexJS and I had a
> thought:
>
> How crazy would it be to make Falcon understand TypeScript?
>
> TypeScript is currently very popular for many of the reasons that we like
> ActionScript. The difference is that ActionScript is not the current fad.
> There are also many js libraries written in TypeScript.
>
> If FalconJX would be able to compile .as files alongside .ts files,
> TypeScript code could become first-class citizens in the FlexJS ecosystem.
> That would accomplish two things:
>
> 1. TypeScript code could be used as-is in a project.
> 2. It would make FlexJS an option for many TypeScript developers and give
> FlexJS a shot at vastly increased adoption.
>
> Thoughts?
> Harbs


Re: [FlexJS] Failing build for simple example

2017-08-04 Thread Josh Tynjala
I'm guessing that you didn't update the compiler before building the SDK. I
think that fxg-base-class is a somewhat new compiler option.

- Josh

On Fri, Aug 4, 2017 at 8:42 AM, piotrz  wrote:

> Hi,
>
> With Santanu we did build FlexJS SDK by Ant and tried to use this version
> to
> build simple example. We are  getting following error [1]. Does anyone know
> what could happen ?
>
> [1] https://paste.apache.org/HQcd
>
> Thanks,
> Piotr
>
>
>
> -
> Apache Flex PMC
> piotrzarzyck...@gmail.com
> --
> View this message in context: http://apache-flex-
> development.247.n4.nabble.com/FlexJS-Failing-build-for-
> simple-example-tp63695.html
> Sent from the Apache Flex Development mailing list archive at Nabble.com.
>


Re: git commit: [flex-falcon] [refs/heads/develop] - compiler-jx: Added -js-default-initializers option to force uninitialized variables to default to the same values in JS as they do in SWF.

2017-08-03 Thread Josh Tynjala
It seems dangerous to replace isNaN with someNumber !== someNumber. In that
article, they said that isNaN() could return false positives, but I don't
actually consider their example to be a false positive at all. I would
fully expect isNaN() to return true for a string value. If we replaced that
example call to isNaN() with !==, and the result became false instead of
true, I would consider it a bug.

In Flash/AIR, isNaN() accepts only type Number. In the JS typedefs, isNaN()
accepts anything. I guess if the type of the variable is known to be
Number, the compiler could switch to !==. If it's a different type, we
should probably keep using isNaN(). For some types, we may even be able to
assume that isNaN() will always return true. However, we need to be careful
about edge cases. A Number could be stored in type Object, for instance.

- Josh

On Thu, Aug 3, 2017 at 7:22 AM, Alex Harui  wrote:

> Here's an article about isNaN is JS.
>
> http://adripofjavascript.com/blog/drips/the-problem-with-
> testing-for-nan-in
> -javascript.html
>
> Maybe the transpiler should not output isNaN and instead "someNumber !==
> someNumber"
>
> -Alex
>
> On 8/3/17, 6:30 AM, "Harbs"  wrote:
>
> >Cool.
> >
> >I wonder if there’s a difference between Flash and JS. The tests seem to
> >indicate that isNaN() is very efficient in JS. It might be an interesting
> >project to compare badly performing cases in Flash to their JS
> >counterparts.
> >
> >BTW, I just ran into a case where booleans behave differently in JS than
> >AS where initialization would not help. I’ve started my document. I’ll
> >add this case. Once the doc starts coming together I’ll share on the
> >list. :-)
> >
> >Harbs
> >
> >> On Aug 3, 2017, at 3:59 PM, Josh Tynjala  wrote:
> >>
> >> Switching away from isNaN() in Feathers improved performance in a
> >> measurable way. It wasn't just a guess.
> >>
> >> - Josh
> >>
> >> On Aug 2, 2017 11:53 PM, "Harbs"  wrote:
> >>
> >> Ah. Thanks. (I haven’t had my coffee yet) ;-)
> >>
> >> It would be interesting to know if that really is more efficient.
> >>
> >>> On Aug 3, 2017, at 9:33 AM, Greg Dove  wrote:
> >>>
> >>> I assume it is if (unknownNumOrNaN != unknownNumOrNaN )
> >>>
> >>> I have used things like if (unknownNumOrNaN *0 !=0) in the past but the
> >>> above seems better
> >>>
> >>>
> >>> On Thu, Aug 3, 2017 at 6:20 PM, Harbs  wrote:
> >>>
> >>>> I’m curious. How does that work?
> >>>> unknownNumOrNaN != NaN will always be true
> >>>>
> >>>>> On Aug 3, 2017, at 1:37 AM, Josh Tynjala 
> >>>>>wrote:
> >>>>>
> >>>>> Good one! To avoid the overhead of the isNaN() function call, I
> >>>> frequently
> >>>>> rely on the fact that NaN != NaN.
> >>>>>
> >>>>> - Josh
> >>>>>
> >>>>> On Wed, Aug 2, 2017 at 3:32 PM, Harbs  wrote:
> >>>>>
> >>>>>> Thanks for the history lesson. :-)
> >>>>>>
> >>>>>> This does bring up another difference between an initialized value
> >>>>>>of
> >>>> NaN
> >>>>>> and undefined:
> >>>>>>
> >>>>>> NaN != NaN, while undefined == undefined
> >>>>>>
> >>>>>>> On Aug 3, 2017, at 1:00 AM, Dave Fisher 
> >>>>>>>wrote:
> >>>>>>>
> >>>>>>> I hate this Macbook’s touch top bar which puts a send button
> >>>>>>>directly
> >>>>>> above the delete key.
> >>>>>>>
> >>>>>>>> On Aug 2, 2017, at 2:50 PM, Dave Fisher 
> >>>> wrote:
> >>>>>>>>
> >>>>>>>> Hi Folks,
> >>>>>>>>
> >>>>>>>> A peanut gallery look at NaN which is really a bit encoding for
> >>>> various
> >>>>>> kinds of floating point number errors like underflow, overflow,
> >>>>>>divided
> >>>> by
> >>>>>> 0, etc. In my Fortran past life we used XMISS as a special valu
> >>>>>>>
> >>>>>>> Value. Essentially undefined.
> >>>>>>>
> >>>>>>> I

Re: git commit: [flex-falcon] [refs/heads/develop] - compiler-jx: Added -js-default-initializers option to force uninitialized variables to default to the same values in JS as they do in SWF.

2017-08-03 Thread Josh Tynjala
Switching away from isNaN() in Feathers improved performance in a
measurable way. It wasn't just a guess.

- Josh

On Aug 2, 2017 11:53 PM, "Harbs"  wrote:

Ah. Thanks. (I haven’t had my coffee yet) ;-)

It would be interesting to know if that really is more efficient.

> On Aug 3, 2017, at 9:33 AM, Greg Dove  wrote:
>
> I assume it is if (unknownNumOrNaN != unknownNumOrNaN )
>
> I have used things like if (unknownNumOrNaN *0 !=0) in the past but the
> above seems better
>
>
> On Thu, Aug 3, 2017 at 6:20 PM, Harbs  wrote:
>
>> I’m curious. How does that work?
>> unknownNumOrNaN != NaN will always be true
>>
>>> On Aug 3, 2017, at 1:37 AM, Josh Tynjala  wrote:
>>>
>>> Good one! To avoid the overhead of the isNaN() function call, I
>> frequently
>>> rely on the fact that NaN != NaN.
>>>
>>> - Josh
>>>
>>> On Wed, Aug 2, 2017 at 3:32 PM, Harbs  wrote:
>>>
>>>> Thanks for the history lesson. :-)
>>>>
>>>> This does bring up another difference between an initialized value of
>> NaN
>>>> and undefined:
>>>>
>>>> NaN != NaN, while undefined == undefined
>>>>
>>>>> On Aug 3, 2017, at 1:00 AM, Dave Fisher  wrote:
>>>>>
>>>>> I hate this Macbook’s touch top bar which puts a send button directly
>>>> above the delete key.
>>>>>
>>>>>> On Aug 2, 2017, at 2:50 PM, Dave Fisher 
>> wrote:
>>>>>>
>>>>>> Hi Folks,
>>>>>>
>>>>>> A peanut gallery look at NaN which is really a bit encoding for
>> various
>>>> kinds of floating point number errors like underflow, overflow, divided
>> by
>>>> 0, etc. In my Fortran past life we used XMISS as a special valu
>>>>>
>>>>> Value. Essentially undefined.
>>>>>
>>>>> IEEE had very particular definitions and Apple published a book about
>>>> SANE.
>>>>>
>>>>> At any rate what you guys are observing is by design: NaN always
>> results
>>>> in false in any comparison. And it is a number. But it is not a number
>> in
>>>> floating point so much as it is an error condition.
>>>>>
>>>>> https://stackoverflow.com/questions/1565164/what-is-the-
>>>> rationale-for-all-comparisons-returning-false-for-ieee754-nan-values
>>>>>
>>>>> https://people.eecs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF
>>>>>
>>>>> My father complained about when the IBM 360 came out in the early
>> 1960’s
>>>> he had to go to doubles because the IBM architecture went from 6 - 6
bit
>>>> words for a single to 4 - 8 bit words. The practical result was twice
as
>>>> much magnetic tape both length and number of reals.
>>>>>
>>>>> Regards,
>>>>> Dave
>>>>>
>>>>>>
>>>>>>> On Aug 1, 2017, at 3:21 PM, Greg Dove  wrote:
>>>>>>>
>>>>>>> Yes it does. NaN is an 'instance' of the Number type (even though it
>> is
>>>>>>> 'Not a Number' ;)  )
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Aug 2, 2017 at 10:18 AM, Harbs 
>> wrote:
>>>>>>>
>>>>>>>> Interesting.
>>>>>>>>
>>>>>>>> I’m not sure that I realized that NaN passes that test. Does it?
>>>>>>>>
>>>>>>>>> On Aug 2, 2017, at 1:12 AM, Greg Dove  wrote:
>>>>>>>>>
>>>>>>>>> I agree undefined works the same as NaN for many things for
>> example,
>>>> but
>>>>>>>> it
>>>>>>>>> fails on very basic things like if (x is Number)
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>
>>


Re: git commit: [flex-falcon] [refs/heads/develop] - compiler-jx: Added -js-default-initializers option to force uninitialized variables to default to the same values in JS as they do in SWF.

2017-08-02 Thread Josh Tynjala
I like the idea of having the FlexJS framework specify non-initialization
with its config files, and then most users will get initialization by
default (obviously, with the option to have non-initialization too, if
desired).

- Josh

On Wed, Aug 2, 2017 at 2:16 PM, Alex Harui  wrote:

> We have flex-config.xml, air-config.xml, js-config.xml, etc.  These config
> files are (or can be) different sets of defaults.
>
> Meanwhile, we currently build the FlexJS framework via
> compile-swf-config.xml and compile-js-config.xml and its equivalent in
> pom.xml.  I have no problem using different defaults for the FlexJS
> framework and different defaults for compiling apps.  We already supply
> certain kinds of optimizations via @flexjsignorcoercion.  IOW, there is
> precedence for controlling the kinds of JS output we generate.
>
> We provide an Express component set with different defaults than Basic and
> produces fatter slower apps but should make it easier to get your app up
> and running.  We can certainly have the compiler start out by producing
> fatter slower code as well as long as it doesn't give a negative first
> impression of app size.  We just have to make it possible to shave off
> code to improve download size and performance if/when someone needs it.
>
> Regarding the list of nullable types, I agree there should be some
> wildcard for all instances.
>
> My 2 cents,
> -Alex
>
> On 8/2/17, 7:06 AM, "Josh Tynjala"  wrote:
>
> >> To me, this is all related to PAYG.
> >
> >To me, making the compiler generate PAYG code by default sounds like the
> >FlexJS framework leaking into the rest of the ecosystem. Maybe this is a
> >place where mxmlc and asjsc should go in different directions. It makes
> >perfect sense to me for the compiler to do PAYG by default for the FlexJS
> >framework, but the rest of the world should get the a better user
> >experience with more compatibility by default (with the option to opt into
> >non-initialized PAYG mode). Thoughts?
> >
> >> list the Classes that should be initialized.  Maybe your code
> >doesn't care if Numbers are initialized but does care that Booleans are.
> >Then you can opt in on Boolean initialization and not pay the price for
> >Number initialization.
> >
> >It's an interesting idea. For nullable types, that list could get huge,
> >though. Boolean, int, uint, and Number are all special, but basically
> >everything else is nullable. I think there should still be a way to say "I
> >want everything initialized".
> >
> >> BTW, IIRC, VarDeclarationEmitter only handles local variables and not
> >instance variables.
> >
> >For some reason, I thought I remembered locals and members using the same
> >emitter. I'll update it elsewhere for members too.
> >
> >- Josh
> >
> >On Tue, Aug 1, 2017 at 9:34 PM, Alex Harui 
> >wrote:
> >
> >> To me, this is all related to PAYG.  And also, coding "style" matters.
> >>If
> >> we want to allow every possible existing AS statement work as-is, then
> >>we
> >> must initialize every variable that has a different default in JS.
> >>
> >> I thought the results of the set of tests I ran was that some of those
> >> patterns that expose the differences between JS and AS default values
> >>are
> >> less efficient and/or less common that other patterns.  IOW, as
> >>mentioned
> >> up thread "if (someBoolean === false)" is less code and just as fast if
> >> you rewrite it as "if (!someBoolean)".  And so, my recommendation for
> >>the
> >> framework code is that we take the time to try to use these more common
> >> patterns and thus not need to initialize every variable.
> >>
> >> Another outcome of the tests was the question as to whether our compiler
> >> ought to some day learn to rewrite these inefficient patterns to further
> >> reduce cases where initialization is required.  And to also ponder
> >>whether
> >> Google Closure Compiler may some day get around to rewriting these
> >> patterns.
> >>
> >> Either way, if we know the framework works just fine with uninitialized
> >> variables and may even be smaller and faster than if we used other
> >> patterns that care about initialization values, we can allow all kinds
> >>of
> >> output options for user code.   I just looked at the commit a few
> >>minutes
> >> ago.  It is ok for now, but I'd suggest making the option not tri-state,
> >> but rather, list the Classes

Re: git commit: [flex-falcon] [refs/heads/develop] - compiler-jx: Added -js-default-initializers option to force uninitialized variables to default to the same values in JS as they do in SWF.

2017-08-02 Thread Josh Tynjala
Good one! To avoid the overhead of the isNaN() function call, I frequently
rely on the fact that NaN != NaN.

- Josh

On Wed, Aug 2, 2017 at 3:32 PM, Harbs  wrote:

> Thanks for the history lesson. :-)
>
> This does bring up another difference between an initialized value of NaN
> and undefined:
>
> NaN != NaN, while undefined == undefined
>
> > On Aug 3, 2017, at 1:00 AM, Dave Fisher  wrote:
> >
> > I hate this Macbook’s touch top bar which puts a send button directly
> above the delete key.
> >
> >> On Aug 2, 2017, at 2:50 PM, Dave Fisher  wrote:
> >>
> >> Hi Folks,
> >>
> >> A peanut gallery look at NaN which is really a bit encoding for various
> kinds of floating point number errors like underflow, overflow, divided by
> 0, etc. In my Fortran past life we used XMISS as a special valu
> >
> > Value. Essentially undefined.
> >
> > IEEE had very particular definitions and Apple published a book about
> SANE.
> >
> > At any rate what you guys are observing is by design: NaN always results
> in false in any comparison. And it is a number. But it is not a number in
> floating point so much as it is an error condition.
> >
> > https://stackoverflow.com/questions/1565164/what-is-the-
> rationale-for-all-comparisons-returning-false-for-ieee754-nan-values
> >
> > https://people.eecs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF
> >
> > My father complained about when the IBM 360 came out in the early 1960’s
> he had to go to doubles because the IBM architecture went from 6 - 6 bit
> words for a single to 4 - 8 bit words. The practical result was twice as
> much magnetic tape both length and number of reals.
> >
> > Regards,
> > Dave
> >
> >>
> >>> On Aug 1, 2017, at 3:21 PM, Greg Dove  wrote:
> >>>
> >>> Yes it does. NaN is an 'instance' of the Number type (even though it is
> >>> 'Not a Number' ;)  )
> >>>
> >>>
> >>> On Wed, Aug 2, 2017 at 10:18 AM, Harbs  wrote:
> >>>
>  Interesting.
> 
>  I’m not sure that I realized that NaN passes that test. Does it?
> 
> > On Aug 2, 2017, at 1:12 AM, Greg Dove  wrote:
> >
> > I agree undefined works the same as NaN for many things for example,
> but
>  it
> > fails on very basic things like if (x is Number)
> 
> 
> >>
> >
>
>


Re: git commit: [flex-falcon] [refs/heads/develop] - compiler-jx: Added -js-default-initializers option to force uninitialized variables to default to the same values in JS as they do in SWF.

2017-08-02 Thread Josh Tynjala
gt;> includes a large proportion of people who are already familiar with
> >> actionscript and therefore have expectations based on that familiarity,
> >> then I don't see how having default behaviour that is different to those
> >> expectations will be helpful to the uptake in use of flexjs.
> >>
> >> If it is not the case then we need to have documentation that supports
> >>the
> >> divergence from official actionscript language documentation elsewhere,
> >>and
> >> the hope that new users will read it as the authoritative source.
> >>
> >>
> >> On Wed, Aug 2, 2017 at 10:31 AM, Harbs  wrote:
> >>
> >>> I’d prefer if we could somehow get the best of both worlds.
> >>>
> >>> I don’t see a solution to that dilemma at the moment, but maybe we’ll
> >>>come
> >>> up with something...
> >>>
> >>> Harbs
> >>>
> >>>> On Aug 2, 2017, at 1:24 AM, Josh Tynjala 
> >>>>wrote:
> >>>>
> >>>> Don't get me wrong. If you see value in it, then we definitely
> >>>>shouldn't
> >>>> remove it as an option. However, for compatibility with the existing
> >>>> language, I'd prefer to see initialization be the default instead.
> >>>>
> >>>> - Josh
> >>>>
> >>>> On Tue, Aug 1, 2017 at 3:14 PM, Harbs  wrote:
> >>>>
> >>>>> Any maybe vice versa... ;-p
> >>>>>
> >>>>> Alex was planning on looking into whether he can solve the boolean
> >>>>> problem, so let’s hold off until he does that.
> >>>>>
> >>>>> I think comparing two booleans is pretty rare although I have already
> >>> run
> >>>>> into if(myBool == false) not working. Changing it to if(!myBool) was
> >>> simple
> >>>>> enough, but I do agree with you that it’s currently broken.
> >>>>>
> >>>>> For now, we’re going to have to agree to disagree on initializing
> >>> values.
> >>>>> I’ve seen a lot of value in leaving them undefined. It makes it
> >>>>>really
> >>>>> clear while debugging whether the value has been set or not.
> >>>>>
> >>>>> Harbs
> >>>>>
> >>>>>> On Aug 2, 2017, at 12:54 AM, Josh Tynjala 
> >>> wrote:
> >>>>>>
> >>>>>> Maybe I'll convince others eventually.
> >>>>>
> >>>>>
> >>>
> >>>
> >
>
>


Re: git commit: [flex-falcon] [refs/heads/develop] - compiler-jx: Added -js-default-initializers option to force uninitialized variables to default to the same values in JS as they do in SWF.

2017-08-01 Thread Josh Tynjala
I'll bet that most of time that non-initialized values bite me is when I'm
checking if a member variable is null or not. I frequently rely on the fact
that Object, String, and most classes default to null, and then I do
something like this:

if(this._myVar === null)
{
}

I dread the day I need to go in and initialize a ton of variables that
didn't need to be initialized before (across hundreds of classes). Even
with this new option, if I port an open source library like Feathers, I'm
not going to force everyone who uses it to add
-js-default-initializers=true to their project's compiler options when they
want to add my library's source code to their project. That would be a bad
user experience. I've started trying to manually initialize to null when I
add new member variables to Feathers with the idea that this might be
required someday, but there's still a ton of existing code that will take a
very long time for me to update.

I wonder if there's some value in initializing only member variables, and
not locals (which I don't usually declare without initializing them). That
seems like it could be confusing, though. Or maybe null is worth
considering as a special case that's always initialized too. It seems
pretty very difficult to get the best of both worlds here.

- Josh

On Tue, Aug 1, 2017 at 3:31 PM, Harbs  wrote:

> I’d prefer if we could somehow get the best of both worlds.
>
> I don’t see a solution to that dilemma at the moment, but maybe we’ll come
> up with something...
>
> Harbs
>
> > On Aug 2, 2017, at 1:24 AM, Josh Tynjala  wrote:
> >
> > Don't get me wrong. If you see value in it, then we definitely shouldn't
> > remove it as an option. However, for compatibility with the existing
> > language, I'd prefer to see initialization be the default instead.
> >
> > - Josh
> >
> > On Tue, Aug 1, 2017 at 3:14 PM, Harbs  wrote:
> >
> >> Any maybe vice versa... ;-p
> >>
> >> Alex was planning on looking into whether he can solve the boolean
> >> problem, so let’s hold off until he does that.
> >>
> >> I think comparing two booleans is pretty rare although I have already
> run
> >> into if(myBool == false) not working. Changing it to if(!myBool) was
> simple
> >> enough, but I do agree with you that it’s currently broken.
> >>
> >> For now, we’re going to have to agree to disagree on initializing
> values.
> >> I’ve seen a lot of value in leaving them undefined. It makes it really
> >> clear while debugging whether the value has been set or not.
> >>
> >> Harbs
> >>
> >>> On Aug 2, 2017, at 12:54 AM, Josh Tynjala 
> wrote:
> >>>
> >>> Maybe I'll convince others eventually.
> >>
> >>
>
>


Re: git commit: [flex-falcon] [refs/heads/develop] - compiler-jx: Added -js-default-initializers option to force uninitialized variables to default to the same values in JS as they do in SWF.

2017-08-01 Thread Josh Tynjala
Don't get me wrong. If you see value in it, then we definitely shouldn't
remove it as an option. However, for compatibility with the existing
language, I'd prefer to see initialization be the default instead.

- Josh

On Tue, Aug 1, 2017 at 3:14 PM, Harbs  wrote:

> Any maybe vice versa... ;-p
>
> Alex was planning on looking into whether he can solve the boolean
> problem, so let’s hold off until he does that.
>
> I think comparing two booleans is pretty rare although I have already run
> into if(myBool == false) not working. Changing it to if(!myBool) was simple
> enough, but I do agree with you that it’s currently broken.
>
> For now, we’re going to have to agree to disagree on initializing values.
> I’ve seen a lot of value in leaving them undefined. It makes it really
> clear while debugging whether the value has been set or not.
>
> Harbs
>
> > On Aug 2, 2017, at 12:54 AM, Josh Tynjala  wrote:
> >
> > Maybe I'll convince others eventually.
>
>


Re: git commit: [flex-falcon] [refs/heads/develop] - compiler-jx: Added -js-default-initializers option to force uninitialized variables to default to the same values in JS as they do in SWF.

2017-08-01 Thread Josh Tynjala
I think if booleans could fail even non-strict equality checks when they
are not initialized, then we should always initialize booleans, like we
currently do with int and uint. It doesn't even make sense to make it an
option for booleans, if that's the case. It's just broken.

I would still like the see the compiler initialize everything by default so
that ActionScript behaves like ActionScript. I think we're making a mistake
by making non-initialization the default. Maybe I'll convince others
eventually.

- Josh

On Tue, Aug 1, 2017 at 11:09 AM, Harbs  wrote:

> One suggestion on this:
>
> Instead of making it a simple true/false, I’d suggest a tristate control
> of true/false/booleans.
>
> The reason I’m making that suggestion is because even without strict
> equality, setting booleans to false has the benefit that bool1 == bool2
> will work as expected where undefined might not.
>
> FWIW, I have discovered that undefined for Numbers generally behaves the
> same as NaN. I have also discovered that it’s very useful to NOT initialize
> Numbers. Most NaN math errors I get are due to math with numbers which have
> not been properly initialized. Anytime I get an unexpected NaN value, I’ve
> found it’s very easy to walk up the stack trace to discover where math has
> been done with an undefined value which basically without fail exposes the
> bug. Initializing the values to NaN would mask the issues and make them
> harder to find.
>
> My $0.02,
> Harbs
>
> > On Aug 1, 2017, at 1:02 AM, joshtynj...@apache.org wrote:
> >
> > Repository: flex-falcon
> > Updated Branches:
> >  refs/heads/develop b04074bf0 -> c500b3fe5
> >
> >
> > compiler-jx: Added -js-default-initializers option to force
> uninitialized variables to default to the same values in JS as they do in
> SWF.
> >
> > -js-default-initializers defaults to false and is completely optional,
> but may be useful for porting SWF projects to JS if an existing codebase
> uses strict equality and relies on the SWF default initializers.
> >
> >
> > Project: http://git-wip-us.apache.org/repos/asf/flex-falcon/repo
> > Commit: http://git-wip-us.apache.org/repos/asf/flex-falcon/commit/
> c500b3fe
> > Tree: http://git-wip-us.apache.org/repos/asf/flex-falcon/tree/c500b3fe
> > Diff: http://git-wip-us.apache.org/repos/asf/flex-falcon/diff/c500b3fe
> >
> > Branch: refs/heads/develop
> > Commit: c500b3fe52299272dbf201033723296057c79413
> > Parents: b04074b
> > Author: Josh Tynjala 
> > Authored: Mon Jul 31 14:47:24 2017 -0700
> > Committer: Josh Tynjala 
> > Committed: Mon Jul 31 14:54:24 2017 -0700
> >
> > --
> > .../flex/compiler/clients/JSConfiguration.java  | 19 ++
> > .../codegen/js/jx/VarDeclarationEmitter.java| 61
> 
> > 2 files changed, 68 insertions(+), 12 deletions(-)
> > --
> >
> >
> > http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/
> c500b3fe/compiler-jx/src/main/java/org/apache/flex/compiler/
> clients/JSConfiguration.java
> > --
> > diff --git 
> > a/compiler-jx/src/main/java/org/apache/flex/compiler/clients/JSConfiguration.java
> b/compiler-jx/src/main/java/org/apache/flex/compiler/
> clients/JSConfiguration.java
> > index ab1c73c..9f6bbe9 100644
> > --- a/compiler-jx/src/main/java/org/apache/flex/compiler/
> clients/JSConfiguration.java
> > +++ b/compiler-jx/src/main/java/org/apache/flex/compiler/
> clients/JSConfiguration.java
> > @@ -118,6 +118,25 @@ public class JSConfiguration extends Configuration
> > }
> >
> > //
> > +// 'js-default-initializers'
> > +//
> > +
> > +private boolean jsDefaultInitializers = false;
> > +
> > +public boolean getJsDefaultInitializers()
> > +{
> > +return jsDefaultInitializers;
> > +}
> > +
> > +@Config
> > +@Mapping("js-default-initializers")
> > +public void setJsDefaultInitializers(ConfigurationValue cv,
> boolean value)
> > +throws ConfigurationException
> > +{
> > +jsDefaultInitializers = value;
> > +}
> > +
> > +//
> > // 'compiler.js-external-library-path' option
> > //
> >
> >
> > http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/
> c500b3fe/compiler-jx/src/main/java/org/apache/flex/compiler/
> internal/codegen/js/

Re: [MAVEN-BUILD] FlexJS Framework (maven) - Build # 1129 - Still Failing

2017-08-01 Thread Josh Tynjala
It looks like assert.as uses CONFIG::debug and CONFIG::release. Are those
defined in the compiler options for Maven?

- Josh

On Tue, Aug 1, 2017 at 12:59 AM, piotrz  wrote:

> Hi Alex,
>
> I just tried and yes it's also failing for me in TLF [1]. But on Jenkins it
> look like it is failing at the beginning, so it something else there.
>
> [1] https://paste.apache.org/tvD7
>
> Piotr
>
>
>
>
>
> -
> Apache Flex PMC
> piotrzarzyck...@gmail.com
> --
> View this message in context: http://apache-flex-
> development.247.n4.nabble.com/Re-MAVEN-BUILD-FlexJS-
> Framework-maven-Build-1129-Still-Failing-tp63607p63624.html
> Sent from the Apache Flex Development mailing list archive at Nabble.com.
>


Re: Debugger statement

2017-08-01 Thread Josh Tynjala
Would it be helpful if someone from Adobe talked about
flash.debugger.enterDebugger() publicly? I assume that user mmorearty on
the official Adobe forums may be Mike Morearty from the Flex team, and he
mentions it in this thread:

https://forums.adobe.com/thread/247021

- Josh

On Mon, Jul 31, 2017 at 5:46 PM, Alex Harui 
wrote:

> I'm still trying to get the ok to use undocumented APIs without violating
> the Flash EULA which prohibits reverse-engineering.  Could just make it
> JS-only for now.
>
> -Alex
>
> On 7/31/17, 3:01 PM, "Josh Tynjala"  wrote:
>
> >If there are no objections in the next 24 hours, I plan to merge my
> >"feature/debugger-statement" branch that adds a "debugger" statement to
> >ActionScript similar to the one available in JS.
> >
> >Use of the debugger statement is completely optional, but it's a useful
> >way
> >to trigger the debugger from code in a cross-platform way. In other words,
> >the following code will just work whether you're running the generated JS
> >or SWF:
> >
> >if(x > 100)
> >{
> >debugger;
> >}
> >
> >- Josh
>
>


Debugger statement

2017-07-31 Thread Josh Tynjala
If there are no objections in the next 24 hours, I plan to merge my
"feature/debugger-statement" branch that adds a "debugger" statement to
ActionScript similar to the one available in JS.

Use of the debugger statement is completely optional, but it's a useful way
to trigger the debugger from code in a cross-platform way. In other words,
the following code will just work whether you're running the generated JS
or SWF:

if(x > 100)
{
debugger;
}

- Josh


Re: PAYG

2017-07-24 Thread Josh Tynjala
Okay, so PAYG can't have One True Definition. How you implement PAYG
depends on context.

I wonder if some kind of PAYG pattern cookbook would be helpful? I was
thinking that our situations with PAYG remind me of software design
patterns. Design patterns aren't really defined with an exact
implementation, but they offer guidance for how you can solve problems of a
certain category. With PAYG, I think we're going to have different
categories that will need similar implementations, but not exactly the
same. That's where PAYG patterns could help provide a framework for
implementation.

Let's find common patterns. Maybe even give them names to make them
memorable and easy to refer to.

- Josh

On Thu, Jul 13, 2017 at 10:42 AM, Alex Harui 
wrote:

> Hi,
>
> I promised some feedback on Greg's PAYG page.  After thinking about it
> some more, I'm proposing my take on it below.  I know past discussion
> tried to break off component set definitions from PAYG, but I think PAYG
> is always going to be subjective enough that the goals of the various
> component sets will affect decisions about what goes in the default beads.
>  I can't say this often enough though:  one main goal of beads is to avoid
> spending energy on what is the one right way, and also, on exactly what
> PAYG means.  If you don't agree with what PAYG means to the others working
> on a component set, go start a new component set.
>
> So, I am going to try to discuss all of the related factors in one place
> below.
>
> Thanks,
> -Alex
>
> --- Pay-as-you-go (PAYG) ---
>
>
> PAYG means that Download Size, Startup Time, Memory Usage, Line of Code
> goes up and Performance goes down as new features are added to the
> Application.
>
> PAYG leverages well-known computer science principles:  Re-usable code,
> Separation of Concerns, Modularity, Abstraction.
>
> PAYG cannot be defined objectively.  You can be too granular or not
> granular enough.
> Too Much:  Put a for loop in a re-usable function.  Everybody must call
> this function.
> Too Little:  Regular Flex SDK.  13,000 line base classes.
> Just Right:  Make it possible that an application has no unused code paths
> in the framework code it uses.  IOW, no just-in-case code.
>
> FlexJS uses modules called "Beads" to implement features in a PAYG
> fashion.  Beads are placed on Strands so composition is primary pattern.
>
> PAYG has no required implementation patterns.  There is no one right way.
> Subclassing, sharing utility functions, beads sharing other beads are all
> valid implementations.  The key is to see how it measures up against the
> metrics of Download Size, Startup Time, Memory Usage, etc.  Other
> computer-science principles like DRY should be considered as well.  There
> doesn't have to be only one version of a bead.  There can be beads with
> different implementations and tradeoffs on those metrics.
>
> ---Additional Guidelines for FlexJS---
>
> Naming:  Pick a relatively small/simple set of features that are likely to
> be used in several applications.Give it a name starting with Simple,
> or something descriptive and well-known like Panel.  Additional features
> expand the name with prefixes (DropDownList instead of ListForDropDown) or
> suffixes like PanelWithControlBar.  Reduced/inlined versions will also get
> expanded names.
>
> Defensive Code:  Rarely needed.  Bad inputs should be found and fixed
> before deploying the app.  Folks who take the time to do that should be
> rewarded with smaller code and faster performance.  Use of goog.DEBUG to
> have debug-time input checking is allowed.  There is a trade-off between
> any performance hit of debug-time checking vs the developer productivity
> of having those errors caught early.
>
> Bead Removal:  We may someday decide that beads should almost never be
> removed.  Implementing a flag to disable a bead might be cheaper than
> removing it.
>
> Component Sets:  Different component sets have different goals.
>   Basic:  smallest SWF-equivalent implementations
>   Express:  Pre-package Basic beads and thus SWF-equivalent
>   MDL:  No interest in SWF equivalence.
>
> JS metrics are more important than SWF metrics.
>
>
>


Re: [FlexJS] Debugging package

2017-07-24 Thread Josh Tynjala
I implemented a "debugger" statement in ActionScript that works similarly
to the JavaScript debugger statement:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/debugger

In JavaScript, it translates directly. In SWF, the compiler generates
bytecode for a call to flash.debugger.enterDebugger(). This is not an
officially documented function in the Flash runtimes, but it's been around
since AS3 was introduced, as far as I can tell. I would say that it's
unlikely to be removed in the future. While I mentioned that I was
considering using flash.system.System.pause(), it did not behave in the way
that I originally hoped. In my tests, System.pause() seemed to pause
rendering only, and code kept running without triggering the debugger.

My changes are in the feature/debugger-statement branch of flex-falcon.
I'll be happy to merge them into develop, if there's interest.

- Josh



On Tue, Jul 18, 2017 at 5:05 PM, Josh Tynjala  wrote:

> I'm working on adding support for the debugger statement to the compiler
> (FLEX-35343). I can successfully emit the debugger statement in the
> generated JS so far.
>
> I'm not yet sure if I can make it work on the SWF side. I figured out
> where I can generate bytecode instructions in ABCGeneratingReducer. If I
> can figure out how to generate bytecode to call enterDebugger() (or
> whatever the function is called), the debugger statement will work in both
> SWF and JS.
>
> - Josh
>
> On Sun, Jul 16, 2017 at 9:22 AM, Josh Tynjala 
> wrote:
>
>> If it were a variable or function, it could be defined somewhere like
>> that. It's a statement, though, so it needs to be added to where Falcon
>> creates the AST from the ActionScript code. Then, it also needs to emit the
>> statement as JS in FalconJX. On the SWF side, it should be translated to
>> appropriate bytecode to call enterDebugger().
>>
>> - Josh
>>
>> On Jul 16, 2017 8:56 AM, "Harbs"  wrote:
>>
>>> What needs to be modified? Does it need to be added to NativeJSType
>>> enums? Somewhere else?
>>>
>>> I’m really not clear on when things to be added to that and when they
>>> need to be in typedefs.
>>>
>>> > On Jul 16, 2017, at 6:51 PM, Harbs  wrote:
>>> >
>>> >> The compiler needs to be modified to support the debugger statement.
>>>
>>>
>


Re: [FlexJS] findPopupHost issue

2017-07-21 Thread Josh Tynjala
This type of issue used to get me all the time with the classic Flex SDK.
I'd have some subclass of Panel or something, but I'd have some kind of
selectedItem property on it that dispatched Event.CHANGE. If I had a child
that was a Slider or something, the slider's Event.CHANGE would bubble, and
I'd have something higher up in the display list thinking that my Panel
subclass' selectedItem was changing when it wasn't.

Most of the time, that's not an issue, but every once in a while, I'd see
an event listener getting called way too often. If you aren't expecting
that, there can be weird side effects. Performance is obviously a concern,
but also, if your listener triggers some change to the UI, that could
happen at times when it doesn't make any sense, and it's not necessarily
immediately clear why.

(Just thought I'd put a real world story behind why it's good for FlexJS to
avoid bubbling in custom events)

- Josh

On Fri, Jul 21, 2017 at 7:25 AM, Alex Harui 
wrote:

> I think we can use setParentTarget to get bubbling to work reliably with
> custom events, but as Peter said, I don't think we want to set up
> parentTarget's just-in-case.  Bubbling custom events is not a recommended
> practice as was mentioned in some other thread recently.
>
> Imagine if you had a Panel as a child of a larger Panel.  Bubbling a close
> event from the inner Panel could easily cause the outer Panel's close
> handler to also fire.
>
> My 2 cents,
> -Alex
>
> On 7/21/17, 6:22 AM, "Peter Ent"  wrote:
>
> >I needed events to bubble for the drag and drop work. While that was fine
> >for the Flash Player, the FlexJS/Google/Browser event mix didn't work.
> >Alex suggested I used setParentTarget on the event to work up the tree and
> >then the event would be dispatched at each level, thus mimicking bubbling.
> >I did this exclusively for drag events (see DragEvent class).
> >
> >Rather than putting that in as the solution for this, I took a simpler
> >approach.
> >
> >‹peter
> >
> >On 7/21/17, 2:35 AM, "Harbs"  wrote:
> >
> >>Bubbling does not work very well in FlexJS in general.
> >>
> >>When you can rely on native browser event bubbling, it usually works
> >>okay, but custom events don¹t bubble.
> >>
> >>> On Jul 21, 2017, at 1:49 AM, Justin Mclean 
> >>>wrote:
> >>>
> >>> Hi,
> >>>
>  The issue was that the TitleBar was dispatching "close" with
> bubbles=true.
>  This works fine on SWF but not on the HTML platform without some extra
>  work. So I just had PanelView intercept the event and dispatch one
> from
>  its strand.
> >>>
> >>> Out of interest is this because of a missing cloneEvent method or that
> >>>it wasn¹t listening on a parent of the item that dispatched the bubbling
> >>>event or something else?
> >>>
> >>> Thanks,
> >>> Justin
> >>
> >
>
>


Re: [FlexJS] Debugging package

2017-07-20 Thread Josh Tynjala
> > I'm still confused.  If you can use flash.system.System.pause() what
custom byte code is needed?

I want to be able to write a "debugger" statement in ActionScript and have
the compiler call flash.system.System.pause() in the generated SWF. Calling
a function in a SWF requires some kind of instructions in bytecode, right?

> Are there other JS statements we need to support some day?  Being able to
add them to js.swc might be a better plan than having to change the
compiler for each statement.

The debugger statement is kind of special because the keyword is the
complete statement. We could certainly fake the debugger statement in
js.swc because of that (it would only work on the JS side, though).

However, imagine if "throw" didn't exist in ActionScript:

throw new Error("Something went wrong");

I don't think we can fake that one in js.swc.

I appreciate that you're trying to find an easy workaround here. I am
purposefully challenging myself to implement the debugger statement in the
compiler, and to make it work in both SWF and JS.

- Josh



On Thu, Jul 20, 2017 at 9:15 AM, Alex Harui 
wrote:

> I'm still confused.  If you can use flash.system.System.pause() what
> custom byte code is needed?
>
> Are there other JS statements we need to support some day?  Being able to
> add them to js.swc might be a better plan than having to change the
> compiler for each statement.
>
> -Alex
>
> On 7/19/17, 7:37 PM, "Josh Tynjala"  wrote:
>
> >Well, as I said, I already have the compiler parsing the real debugger
> >statement in AS, and emitting the right JS. I just need to generate some
> >custom bytecode for SWF and then it will work everywhere.
> >
> >- Josh
> >
> >On Wed, Jul 19, 2017 at 7:17 PM, Alex Harui 
> >wrote:
> >
> >> I think we allow classes to be used as a "statement" for dependency
> >> management.  CoreClasses.as, for example, has plenty of lines like:
> >>
> >>import org.apache.flex.core.IUIBase; IUIBase;
> >>
> >>
> >> HTH,
> >> -Alex
> >>
> >> On 7/19/17, 6:57 PM, "Josh Tynjala"  wrote:
> >>
> >> >Yes, I'm changing the compiler. The debugger statement is not a
> >>function.
> >> >It works like this:
> >> >
> >> >debugger;
> >> >
> >> >I think that flash.system.System.pause() will work too, and it's
> >> >documented:
> >> >
> >> >https://na01.safelinks.protection.outlook.com/?url=
> >> http%3A%2F%2Fhelp.adobe
> >> >.com%2Fen_US%2FFlashPlatform%2Freference%2Factionscript%
> >> 2F3%2Fflash%2Fsyst
> >> >em%2FSystem.html%23pause&data=02%7C01%7C%
> 7C7bb64776e6eb48b8d61908d4cf12
> >> d04
> >> >e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> >> 7C636361127090455464&sdata=I2
> >> >01iT7jr2mvseuvMIJdUVu1SpRLJimK7Tqdp3n%2B%2Bv8%3D&reserved=0()
> >> >
> >> >- Josh
> >> >
> >> >On Wed, Jul 19, 2017 at 6:44 PM, Alex Harui 
> >> >wrote:
> >> >
> >> >> Are you changing the compiler?  I thought you could just add:
> >> >>
> >> >>   function debugger{};
> >> >>
> >> >> to missing.js so it results in:
> >> >>
> >> >>   public class debugger {};
> >> >>
> >> >> and
> >> >>
> >> >> package flash.debugger {
> >> >>   native function enterDebugger():void;
> >> >> }
> >> >>
> >> >> to one of our swcs?  Although I have to say I'm a bit uncomfortable
> >> >>about
> >> >> adding undocumented Flash APIs to our code base.  We are not
> >>supposed to
> >> >> use APIs that are "reverse-engineered".  Do we have proof that Adobe
> >> >> documented it at one point in time?
> >> >>
> >> >> HTH,
> >> >> -Alex
> >> >>
> >> >> On 7/18/17, 5:05 PM, "Josh Tynjala"  wrote:
> >> >>
> >> >> >I'm working on adding support for the debugger statement to the
> >> >>compiler
> >> >> >(FLEX-35343). I can successfully emit the debugger statement in the
> >> >> >generated JS so far.
> >> >> >
> >> >> >I'm not yet sure if I can make it work on the SWF side. I figured
> >>out
> >> >> >where
> >> >> >I can generate 

Re: [FlexJS] Debugging package

2017-07-20 Thread Josh Tynjala
We could consider something similar to COMPILE::JS and COMPILE::SWF where
they default to a value of auto, which the compiler knows to turn into true
or false. COMPILE::DEBUG could also default to a value of auto, and then
the compiler makes it true for a debug build and false for a release build.

- Josh

On Thu, Jul 20, 2017 at 12:55 AM, Harbs  wrote:

> Cool. So what would you recommend the convention to tell the compiler to
> do so? A meta tag? a comment directive? (i.e. @debug)
>
> > On Jul 20, 2017, at 10:51 AM, Alex Harui 
> wrote:
> >
> > I believe there is code that becomes part of the optimizer.jar that
> > removes the trace statements.  It might be possible extend that code to
> > remove other things.
> >
> > -Alex
> >
> > On 7/19/17, 11:47 PM, "Harbs"  wrote:
> >
> >> I don’t think there were any responses to this.
> >>
> >> As it stands, the debugging functions will exist in release versions of
> >> swfs.
> >>
> >> Harbs
> >>
> >>> On Jul 16, 2017, at 12:07 PM, Harbs  wrote:
> >>>
> >>> 1. The debugging functions should disappear in a release build of JS,
> >>> but I’m not sure how to make the same thing happen in a release build
> of
> >>> SWF. I don’t think a debug config is the solution, because the debug
> >>> statements should be preserved in framework code and only be stripped
> >>> out for application release builds. Does anyone have ideas on how to go
> >>> about doing that?
> >>
> >
>
>


Re: [FlexJS] Debugging package

2017-07-19 Thread Josh Tynjala
Well, as I said, I already have the compiler parsing the real debugger
statement in AS, and emitting the right JS. I just need to generate some
custom bytecode for SWF and then it will work everywhere.

- Josh

On Wed, Jul 19, 2017 at 7:17 PM, Alex Harui 
wrote:

> I think we allow classes to be used as a "statement" for dependency
> management.  CoreClasses.as, for example, has plenty of lines like:
>
>import org.apache.flex.core.IUIBase; IUIBase;
>
>
> HTH,
> -Alex
>
> On 7/19/17, 6:57 PM, "Josh Tynjala"  wrote:
>
> >Yes, I'm changing the compiler. The debugger statement is not a function.
> >It works like this:
> >
> >debugger;
> >
> >I think that flash.system.System.pause() will work too, and it's
> >documented:
> >
> >https://na01.safelinks.protection.outlook.com/?url=
> http%3A%2F%2Fhelp.adobe
> >.com%2Fen_US%2FFlashPlatform%2Freference%2Factionscript%
> 2F3%2Fflash%2Fsyst
> >em%2FSystem.html%23pause&data=02%7C01%7C%7C7bb64776e6eb48b8d61908d4cf12
> d04
> >e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> 7C636361127090455464&sdata=I2
> >01iT7jr2mvseuvMIJdUVu1SpRLJimK7Tqdp3n%2B%2Bv8%3D&reserved=0()
> >
> >- Josh
> >
> >On Wed, Jul 19, 2017 at 6:44 PM, Alex Harui 
> >wrote:
> >
> >> Are you changing the compiler?  I thought you could just add:
> >>
> >>   function debugger{};
> >>
> >> to missing.js so it results in:
> >>
> >>   public class debugger {};
> >>
> >> and
> >>
> >> package flash.debugger {
> >>   native function enterDebugger():void;
> >> }
> >>
> >> to one of our swcs?  Although I have to say I'm a bit uncomfortable
> >>about
> >> adding undocumented Flash APIs to our code base.  We are not supposed to
> >> use APIs that are "reverse-engineered".  Do we have proof that Adobe
> >> documented it at one point in time?
> >>
> >> HTH,
> >> -Alex
> >>
> >> On 7/18/17, 5:05 PM, "Josh Tynjala"  wrote:
> >>
> >> >I'm working on adding support for the debugger statement to the
> >>compiler
> >> >(FLEX-35343). I can successfully emit the debugger statement in the
> >> >generated JS so far.
> >> >
> >> >I'm not yet sure if I can make it work on the SWF side. I figured out
> >> >where
> >> >I can generate bytecode instructions in ABCGeneratingReducer. If I can
> >> >figure out how to generate bytecode to call enterDebugger() (or
> >>whatever
> >> >the function is called), the debugger statement will work in both SWF
> >>and
> >> >JS.
> >> >
> >> >- Josh
> >> >
> >> >On Sun, Jul 16, 2017 at 9:22 AM, Josh Tynjala 
> >> >wrote:
> >> >
> >> >> If it were a variable or function, it could be defined somewhere like
> >> >> that. It's a statement, though, so it needs to be added to where
> >>Falcon
> >> >> creates the AST from the ActionScript code. Then, it also needs to
> >>emit
> >> >>the
> >> >> statement as JS in FalconJX. On the SWF side, it should be
> >>translated to
> >> >> appropriate bytecode to call enterDebugger().
> >> >>
> >> >> - Josh
> >> >>
> >> >> On Jul 16, 2017 8:56 AM, "Harbs"  wrote:
> >> >>
> >> >>> What needs to be modified? Does it need to be added to NativeJSType
> >> >>> enums? Somewhere else?
> >> >>>
> >> >>> I’m really not clear on when things to be added to that and when
> >>they
> >> >>> need to be in typedefs.
> >> >>>
> >> >>> > On Jul 16, 2017, at 6:51 PM, Harbs  wrote:
> >> >>> >
> >> >>> >> The compiler needs to be modified to support the debugger
> >>statement.
> >> >>>
> >> >>>
> >>
> >>
>
>


Re: [FlexJS] Debugging package

2017-07-19 Thread Josh Tynjala
Yes, I'm changing the compiler. The debugger statement is not a function.
It works like this:

debugger;

I think that flash.system.System.pause() will work too, and it's documented:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/System.html#pause()

- Josh

On Wed, Jul 19, 2017 at 6:44 PM, Alex Harui 
wrote:

> Are you changing the compiler?  I thought you could just add:
>
>   function debugger{};
>
> to missing.js so it results in:
>
>   public class debugger {};
>
> and
>
> package flash.debugger {
>   native function enterDebugger():void;
> }
>
> to one of our swcs?  Although I have to say I'm a bit uncomfortable about
> adding undocumented Flash APIs to our code base.  We are not supposed to
> use APIs that are "reverse-engineered".  Do we have proof that Adobe
> documented it at one point in time?
>
> HTH,
> -Alex
>
> On 7/18/17, 5:05 PM, "Josh Tynjala"  wrote:
>
> >I'm working on adding support for the debugger statement to the compiler
> >(FLEX-35343). I can successfully emit the debugger statement in the
> >generated JS so far.
> >
> >I'm not yet sure if I can make it work on the SWF side. I figured out
> >where
> >I can generate bytecode instructions in ABCGeneratingReducer. If I can
> >figure out how to generate bytecode to call enterDebugger() (or whatever
> >the function is called), the debugger statement will work in both SWF and
> >JS.
> >
> >- Josh
> >
> >On Sun, Jul 16, 2017 at 9:22 AM, Josh Tynjala 
> >wrote:
> >
> >> If it were a variable or function, it could be defined somewhere like
> >> that. It's a statement, though, so it needs to be added to where Falcon
> >> creates the AST from the ActionScript code. Then, it also needs to emit
> >>the
> >> statement as JS in FalconJX. On the SWF side, it should be translated to
> >> appropriate bytecode to call enterDebugger().
> >>
> >> - Josh
> >>
> >> On Jul 16, 2017 8:56 AM, "Harbs"  wrote:
> >>
> >>> What needs to be modified? Does it need to be added to NativeJSType
> >>> enums? Somewhere else?
> >>>
> >>> I’m really not clear on when things to be added to that and when they
> >>> need to be in typedefs.
> >>>
> >>> > On Jul 16, 2017, at 6:51 PM, Harbs  wrote:
> >>> >
> >>> >> The compiler needs to be modified to support the debugger statement.
> >>>
> >>>
>
>


Re: [FlexJS] Debugging package

2017-07-18 Thread Josh Tynjala
I'm working on adding support for the debugger statement to the compiler
(FLEX-35343). I can successfully emit the debugger statement in the
generated JS so far.

I'm not yet sure if I can make it work on the SWF side. I figured out where
I can generate bytecode instructions in ABCGeneratingReducer. If I can
figure out how to generate bytecode to call enterDebugger() (or whatever
the function is called), the debugger statement will work in both SWF and
JS.

- Josh

On Sun, Jul 16, 2017 at 9:22 AM, Josh Tynjala  wrote:

> If it were a variable or function, it could be defined somewhere like
> that. It's a statement, though, so it needs to be added to where Falcon
> creates the AST from the ActionScript code. Then, it also needs to emit the
> statement as JS in FalconJX. On the SWF side, it should be translated to
> appropriate bytecode to call enterDebugger().
>
> - Josh
>
> On Jul 16, 2017 8:56 AM, "Harbs"  wrote:
>
>> What needs to be modified? Does it need to be added to NativeJSType
>> enums? Somewhere else?
>>
>> I’m really not clear on when things to be added to that and when they
>> need to be in typedefs.
>>
>> > On Jul 16, 2017, at 6:51 PM, Harbs  wrote:
>> >
>> >> The compiler needs to be modified to support the debugger statement.
>>
>>


Re: [FlexJS] technical debt

2017-07-18 Thread Josh Tynjala
Additionally, the cloning results in extra objects that need to be garbage
collected, which can hurt performance and make effects/animations look bad.
Good call on avoiding it!

- Josh

On Tue, Jul 18, 2017 at 8:23 AM, Alex Harui 
wrote:

> +1 to what Harbs said.
>
> Also, in FlexJS, we want very few if any custom events to bubble.
> Bubbling was overused in regular Flex and was, IMO, a bad practice because
> it breaks encapsulation.
>
> Bubbling was intended to allow an object in the DOM to monitor inputs to
> its children without having to attach listeners to the entire tree.  It
> was not meant as a way for a component to shout to the world "Hey, I just
> changed a property, does anybody care?"
>
> -Alex
>
> On 7/17/17, 11:05 PM, "Harbs"  wrote:
>
> >event.clone() is wrong for FlexJS. It’s event.cloneEvent()
> >
> >There was other feedback on the dev list. That seemed to have been
> >ignored.
> >
> >A lot of the rules fly in the face to current convention in the SDK. Some
> >(such as returning from a constructor) are actually enforced by the
> >compiler so the rule is not needed. I don’t have time right now to get
> >involved in a long protracted discussion, but please don’t take the lack
> >of input as consensus.
> >
> >Feel free to do what you want to SonarQube now, but don’t make any
> >changes based on the reports. If anyone else takes an interest in it,
> >please expect some rules to be changed.
> >
> >Thanks,
> >Harbs
> >
> >> On Jul 18, 2017, at 8:50 AM, Justin Mclean 
> >>wrote:
> >>
> >> Hi,
> >>
> >> So more than a week has gone by and I’ve received little feedback on
> >>[1]. Given that I’ll gone ahead and implement the rules as discussed in
> >>the document so people can see the changes.
> >>
> >> The new results are up:
> >> - First off the header rules is overly strict and expects a copyright
> >>line not just a header. ASF policy to not to have copyright lines so
> >>this is a false positive. I’ll disable the rule. We have other means to
> >>check headers. This will be fixed in the next run.
> >> - The ASDocs rule is picking a lot of public methods and properties
> >>that don’t have ASDocs. I think we should keep this to remind us at some
> >>point it needs to be fixed / people can fix as they make edits.
> >> - Is easier to see if issues that do need to be fixed. For instance I
> >>can see that there are a couple of event.clone issues that are likely
> >>bugs.
> >>
> >> Thanks,
> >> Justin
> >>
> >> 1.
> >>https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fcwiki.ap
> >>ache.org%2Fconfluence%2Fdisplay%2FFLEX%2FSonar%
> 2BCube%2BFlex%2BRules&data
> >>=02%7C01%7C%7C9be74a7882374975005208d4cda30749%
> 7Cfa7b1b5a7b34438794aed2c1
> >>78decee1%7C0%7C0%7C636359547464506542&sdata=
> cPs4sqimu5YFG%2B08ymZNtb9HMWC
> >>WFGixhtyGrP0burM%3D&reserved=0
> >> https%3A%2F%2Fcwiki.a
> >>pache.org%2Fconfluence%2Fdisplay%2FFLEX%2FSonar%
> 2BCube%2BFlex%2BRules&dat
> >>a=02%7C01%7C%7C9be74a7882374975005208d4cda3
> 0749%7Cfa7b1b5a7b34438794aed2c
> >>178decee1%7C0%7C0%7C636359547464506542&sdata=
> cPs4sqimu5YFG%2B08ymZNtb9HMW
> >>CWFGixhtyGrP0burM%3D&reserved=0>
> >
>
>


Re: [FlexJS] Debugging package

2017-07-16 Thread Josh Tynjala
If it were a variable or function, it could be defined somewhere like that.
It's a statement, though, so it needs to be added to where Falcon creates
the AST from the ActionScript code. Then, it also needs to emit the
statement as JS in FalconJX. On the SWF side, it should be translated to
appropriate bytecode to call enterDebugger().

- Josh

On Jul 16, 2017 8:56 AM, "Harbs"  wrote:

> What needs to be modified? Does it need to be added to NativeJSType enums?
> Somewhere else?
>
> I’m really not clear on when things to be added to that and when they need
> to be in typedefs.
>
> > On Jul 16, 2017, at 6:51 PM, Harbs  wrote:
> >
> >> The compiler needs to be modified to support the debugger statement.
>
>


Re: [FlexJS] Debugging package

2017-07-16 Thread Josh Tynjala
The compiler needs to be modified to support the debugger statement.

Ideally, it would also force Flash to pause in the debugger.

- Josh


On Jul 16, 2017 2:07 AM, "Harbs"  wrote:

I just added a debugging package to FlexJS. There are two things I don’t
know how to do:

1. The debugging functions should disappear in a release build of JS, but
I’m not sure how to make the same thing happen in a release build of SWF. I
don’t think a debug config is the solution, because the debug statements
should be preserved in framework code and only be stripped out for
application release builds. Does anyone have ideas on how to go about doing
that?

2. I have conditionalBreak commented out of CoreClasses because the
debugger statement is not recognized. Where do we need to add that?
missing.js?

Harbs


Re: FlexJS MXML ids and classNames - FLEX-35310

2017-07-15 Thread Josh Tynjala
If we change the behavior of id in MXML, there needs to be a way to force
the compiler to make id behave the old way. The compiler is used for more
than just compiling FlexJS. For instance, it is used in my VSCode
extension, where it provides code intelligence for MXML with the classic
Flex SDK and the Feathers SDK. In those cases, id must create a property on
the existing class, as it always has, and it cannot be replaced by a
different property for the same purpose.

- Josh

On Jul 15, 2017 2:25 AM, "piotrz"  wrote:

> Hi All,
>
> I think one of the biggest fish which we should fry is currently issue with
> duplication id. There need to be changes in compiler which seems to be for
> someone who really know the code. I would like to get back to the
> discussion
> and set up here some final decision. Let's have small vote cause we gather
> enough ideas.
>
> If I miss something or someone would like add more thoughts let it be, but
> let's move with this forward.
>
> Proposition 1: (Alex): Have "id" and "mxmlID". [1]
> Proposition 2: (Yishay): Have "localId" [2] - similar to [1]
> Proposition 3: (Alex): Additional idea where "localId" ("mxmlID") is
> actually not set on an object, working like "includeIn" [3]
> Proposition 4: (Josh): "id" will no longer set "id" in HTML, introduce new
> property called "htmlID" or "globalID" [4]
> Proposition 5: (Chris) [5]: Internal "id" based on parent components
>
> [1] https://goo.gl/CBkST5
> [2] https://goo.gl/C43Y4U
> [3] https://goo.gl/2aFghn
> [4] https://goo.gl/VTd25g
> [5] https://goo.gl/8rDMPU
>
> Thanks,
> Piotr
>
>
>
> -
> Apache Flex PMC
> piotrzarzyck...@gmail.com
> --
> View this message in context: http://apache-flex-
> development.247.n4.nabble.com/FlexJS-MXML-ids-and-
> classNames-tp54361p63276.html
> Sent from the Apache Flex Development mailing list archive at Nabble.com.
>


Re: BlazeDS 4.7.3 ISSUE: SerializationException: Creation validation for class "" failed.

2017-07-14 Thread Josh Tynjala
According to the release notes for BlazeDS 4.7.3, classes must be
whitelisted in order to be deserialized by ClassDeserializationValidator.
Perhaps that is what you are encountering.

- Josh

On Jul 14, 2017 4:46 PM, "jaabax"  wrote:

I am not being able to communicate with the server with  the jars from
flex-messaging-core, common, proxy and remoting version 4.7.3. When I change
to 4.7.2 things work. Importante: the ONLY thing I change is the version on
my pom.xml for it to work. No code changes at all.

I have the following test entity.

package test.package
{
[Bindable]
[RemoteClass(alias="test.package.Test")]
public class Test
{
public function Test()
{
}

private var _name:String
private var _price:int;

public function get name():String{
return _name;
}
public function get price():int{
return _price;
}
public function set name(name:String):void{
_name = name;
}
public function set price(price:int):void{
_price = price;
}

}
}

public class Test implements Serializable {

private String name;
private int price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}

}

I checked the source code and on the class ClassDeserializationValidator my
Test entity goes into Set disallowClasses.

### 2017/07/14 17:37:39 INFO servlet.MessageBrokerHandlerAdapter: Channel
endpoint my-amf received request.
[BlazeDS] Creation validation for class 'test.package.Test' failed.
flex.messaging.io.SerializationException: Creation validation for class
'test.package.Test' failed.
at flex.messaging.util.ClassUtil.validateCreation(ClassUtil.
java:354)
at flex.messaging.util.ClassUtil.createDefaultInstance(
ClassUtil.java:115)
at
flex.messaging.io.amf.AbstractAmfInput.createObjectInstance(
AbstractAmfInput.java:165)
at flex.messaging.io.amf.Amf3Input.readScriptObject(
Amf3Input.java:748)
at flex.messaging.io.amf.Amf3Input.readObjectValue(
Amf3Input.java:156)
at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:134)
at
flex.messaging.io.amf.Amf3Input.readObjectOneLevelDown(Amf3Input.java:1046)
at flex.messaging.io.amf.Amf3Input.readArray(Amf3Input.java:698)
at flex.messaging.io.amf.Amf3Input.readObjectValue(
Amf3Input.java:160)
at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:134)
at
flex.messaging.io.amf.Amf3Input.readObjectOneLevelDown(Amf3Input.java:1046)
at flex.messaging.io.amf.Amf3Input.readScriptObject(
Amf3Input.java:777)
at flex.messaging.io.amf.Amf3Input.readObjectValue(
Amf3Input.java:156)
at flex.messaging.io.amf.Amf3Input.readObject(Amf3Input.java:134)
at flex.messaging.io.amf.Amf0Input.readObjectValue(
Amf0Input.java:124)
at
flex.messaging.io.amf.Amf0Input.readObjectValueOneLevelDown(
Amf0Input.java:545)
at flex.messaging.io.amf.Amf0Input.readArrayValue(
Amf0Input.java:364)
at flex.messaging.io.amf.Amf0Input.readObjectValue(
Amf0Input.java:128)
at flex.messaging.io.amf.Amf0Input.readObject(Amf0Input.java:95)
at
flex.messaging.io.amf.AmfMessageDeserializer.readObject(
AmfMessageDeserializer.java:199)
at
flex.messaging.io.amf.AmfMessageDeserializer.readBody(
AmfMessageDeserializer.java:173)
at
flex.messaging.io.amf.AmfMessageDeserializer.readMessage(
AmfMessageDeserializer.java:93)
at
flex.messaging.endpoints.amf.SerializationFilter.invoke(
SerializationFilter.java:169)
at
flex.messaging.endpoints.BaseHTTPEndpoint.service(BaseHTTPEndpoint.java:328)
at
flex.messaging.endpoints.AMFEndpoint$$EnhancerBySpringCGLIB$$
2bc97534.service()
at
org.springframework.flex.servlet.MessageBrokerHandlerAdapter.handle(
MessageBrokerHandlerAdapter.java:109)
at
org.springframework.web.servlet.DispatcherServlet.
doDispatch(DispatcherServlet.java:963)
at
org.springframework.web.servlet.DispatcherServlet.
doService(DispatcherServlet.java:897)
at
org.springframework.web.servlet.FrameworkServlet.processRequest(
FrameworkServlet.java:970)
at
org.springframework.web.servlet.FrameworkServlet.
doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
at
org.springframework.web.servlet.FrameworkServlet.
service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
Appli

Re: Flash Builder desktop debugging issue

2017-07-14 Thread Josh Tynjala
I have an mm.cfg in my home directory, but it isn't empty. It contains the
following two lines, plus an empty line:

ErrorReportingEnable=1
TraceOutputFileEnable=1

- Josh

On Fri, Jul 14, 2017 at 1:17 AM, Fréderic Cox  wrote:

> Hi,
>
> I have checked [1] but something does not seem right. It states (for Mac):
>
> Flash Player first checks the user’s home directory (~). If none is found,
> then Flash Player looks in /Library/Application Support/Macromedia
>
> So I checked my user directory and there is an mm.cfg file with 0 bytes
> last modified 3 days ago ..
>
> I don't know what I did 3 days ago, maybe update Adobe AIR but I'm unsure.
> So I deleted this empty file and checked for /Library/Application
> Support/Macromedia but in there I don't have a mm.cfg file. I do have a
> mms.cfg file there but it seems to be unrelated.
>
> Anybody have any idea why I would have an empty mm.cfg in my home directory
> and what I should do to fix this?
>
> [1]
> http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0b
> f69084-7fc9.html
>
> On Thu, Jul 13, 2017 at 3:51 PM, Fréderic Cox 
> wrote:
>
> > Thanks for the help Alex, I'll check it tomorrow when I am back in office
> >
> > On Wed, Jul 12, 2017 at 5:20 PM, Alex Harui 
> > wrote:
> >
> >> Location of mm.cfg is listed here [1]
> >>
> >> If mm.cfg is ok, next step is to use the command-line debugger.  For AIR
> >> apps, you have to launch bin/fdb from the SDK folder, then type 'r' and
> >> return.  This should cause the debugger to wait for the next runtime to
> >> launch.
> >>
> >> Then run the ads command you see in the launch details below.  The
> >> debugger report that it connected.  Use the 'c' command until the AIR
> app
> >> comes up.  If the AIR app just runs and nothing happened in the
> debugger,
> >> the next step is to use "bin/swfdump -abc"  on the SWF in bin-debug.
> Look
> >> for 'debugline' and 'debugfile' in the output.  If it isn't there, then
> >> some how the build process is not placing debug information into the
> SWF.
> >> Then it is time to check all of your settings.
> >>
> >> HTH,
> >> -Alex
> >>
> >> [1]
> >> http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e6
> >> 3e3d11c0bf69084
> >> -7fc9.html
> >>  f69084-7fc9.html>
> >>
> >> On 7/12/17, 1:34 AM, "Fréderic Cox"  wrote:
> >>
> >> >When I change my SDK it is giving me the same problem.
> >> >
> >> >Process terminated without establishing connection to debugger.
> >> >
> >> >trace1
> >> >trace2
> >> >
> >> >Launch command details:  "/Applications/Adobe Flash Builder
> >> 4.7/sdks/4.6.0
> >> >(AIR 3.8)/bin/adl" -runtime "/Applications/Adobe Flash Builder
> >> >4.7/sdks/4.6.0 (AIR 3.8)/runtimes/air/mac"
> >> >/Users/frederic/Desktop/Exuvis/Mediahuis/DebugTest/bin-
> >> debug/DebugTest-app
> >> >.xml
> >> >/Users/frederic/Desktop/Exuvis/Mediahuis/DebugTest/bin-debug
> >> >
> >> >So it must be something external, no?
> >> >
> >> >On Tue, Jul 11, 2017 at 6:08 PM, Fréderic Cox 
> >> >wrote:
> >> >
> >> >> Thanks a lot for your help.
> >> >>
> >> >> I have created a new project and the same problem arises so it has
> >> >>nothing
> >> >> to do with compiler options. I created a project DebugTest and in
> >> >> creationComplete I've put two traces and a breakpoint. The debugger
> >> does
> >> >> not connect and shows:
> >> >>
> >> >> Process terminated without establishing connection to debugger.
> >> >>
> >> >> trace1
> >> >> trace2
> >> >>
> >> >> Launch command details:
> >> >>/Users/frederic/ApacheFlex/sdk/4.15.0_AIR20/bin/adl
> >> >> -runtime /Users/frederic/ApacheFlex/sdk/4.15.0_AIR20/runtimes/air/
> mac
> >> >>
> >> >>/Users/frederic/Desktop/Exuvis/Mediahuis/DebugTest/bin-
> >> debug/DebugTest-ap
> >> >>p.xml
> >> >> /Users/frederic/Desktop/Exuvis/Mediahuis/DebugTest/bin-debug
> >> >>
> >> >> I have disabled all my chrome and firefox extensions but no luck.
> >> >>Should I
> >> >> restart my Mac? Going to try that now...
> >> >>
> >> >> Where do I find mm.cfg?
> >> >>
> >> >> Regards,
> >> >>
> >> >> Fréderic
> >> >>
> >> >> On Tue, Jul 11, 2017 at 5:38 PM, Alex Harui  >
> >> >> wrote:
> >> >>
> >> >>> Hi Fréderic,
> >> >>>
> >> >>> The actual debugger is the same in Flash Builder.  Flash Builder
> has a
> >> >>> built-in debugger that tries to connect to a debugger Flash Player
> in
> >> >>>the
> >> >>> browser, or to the Air Debug Launcher (ADL).
> >> >>>
> >> >>> When you Run/Debug a Desktop app in Flash Builder, I think it should
> >> >>> always launch ADL.  I don't think there is any other way to set up
> the
> >> >>> launch.  If the app comes up but the debugger doesn't connect, you
> can
> >> >>> probably assume ADL is being launched.
> >> >>>
> >> >>> If the debugger isn't connecting to ADL, as Jeffry mentioned, if you
> >> >>>set
> >> >>> debug=false as a compiler option, the runtime will not try to
> connect
> >> >>>to
> >> >>> the debugger.
> >> >>>
> >> >>> Another way the debugger

Re: git commit: [flex-asjs] [refs/heads/develop] - added simple positioning to tool tip / make tool tip not react to mouse events

2017-07-13 Thread Josh Tynjala
With classic Flex, I believe IDEs would check if the [Inspectable] metadata
had an enumeration field and provide those values as suggestions when a
property is used in MXML.

I've been meaning to add that feature to the VSCode extension. I just added
an issue to remind myself:

https://github.com/BowlerHatLLC/vscode-nextgenas/issues/106

- Josh

On Thu, Jul 13, 2017 at 10:38 AM, Harbs  wrote:

> Something that I keep forgetting to ask:
>
> Do [Inspectable] meta tags work in FlexJS? I’m not sure how they worked in
> classic Flex, but having suggestions of possible values in an IDE was very
> helpful.
>
> Josh, would something like that be possible in VS Code?
>
> > On Jul 13, 2017, at 8:26 PM, Alex Harui 
> wrote:
> >
> > I would also recommend using large numbers for the constants.  It isn't
> > clear I can position a tooltip at 2,0 the way the code is written now.
>
>


Re: [FlexJS] Use of typeof

2017-07-13 Thread Josh Tynjala
I just gave it a try, and I'm not seeing global either. It appears that
"var global" is not defined in the typedefs. I guess we'll need to add it
to the missing.js for Node.

- Josh

On Thu, Jul 13, 2017 at 10:09 AM, Harbs  wrote:

> Adding node.swc makes things like require be recognized, but global is
> still not. Odd. I thought I saw it in the typedefs.
>
> > On Jul 13, 2017, at 8:04 PM, Harbs  wrote:
> >
> > Are you saying we should add node.swc to Core?
> >
> > FWIW, I just tried setting targets to JSNode and global is still not
> recognized. node.swc does not seem to be used even when that’s the target.
> That does not seem right either.
> >
> >> On Jul 13, 2017, at 7:42 PM, Josh Tynjala 
> wrote:
> >>
> >> I think the correct solution is to add node.swc to the
> >> -external-library-path when you need access to global. You need js.swc
> on
> >> the -external-library-path when you want to access window. You can't use
> >> window in a SWF-only project, for instance.
> >>
> >> - Josh
> >>
> >> On Thu, Jul 13, 2017 at 9:29 AM, Harbs  wrote:
> >>
> >>> There is a mention of window in the NativeJSType enums. Not sure why
> it’s
> >>> needed there.
> >>>
> >>> global should already be in node.js (I think). I’m pretty sure it’s
> >>> defined in the node typedefs
> >>>
> >>> I don’t really care how it’s achieved, but by default (without doing
> any
> >>> special imports) global should be recognized. (just like window is)
> >>>
> >>> Right now, typing global into a FlexJS project targeting “JSFlex” or
> any
> >>> one of the framework projects results in a compiler error. How do we
> fix
> >>> that?
> >>>
> >>>> On Jul 13, 2017, at 7:17 PM, Alex Harui 
> >>> wrote:
> >>>>
> >>>> IIRC, the compiler doesn't special case handling of that code.
> "window"
> >>>> is defined in missing.js so the js.swc knows there is such an
> entity.  Is
> >>>> there any reason not to add a "global" to node.swc?
> >>>>
> >>>> -Alex
> >>>>
> >>>> On 7/13/17, 12:29 AM, "Harbs"  wrote:
> >>>>
> >>>>> Right now, if you have code that looks like this, the compiler will
> >>>>> report and error and it will fail:
> >>>>>
> >>>>> global[“foo”];
> >>>>>
> >>>>> I would like for that to be legal code in a COMPILE::JS block and it
> >>>>> should compile to:
> >>>>>
> >>>>> global[“foo”];
> >>>>>
> >>>>> Exactly the same as window:
> >>>>>
> >>>>> If you write:
> >>>>> window[“foo”];
> >>>>>
> >>>>> It’s legal code and will compile to:
> >>>>> window[“foo”];
> >>>>>
> >>>>> That’s it.
> >>>>>
> >>>>>> On Jul 13, 2017, at 10:18 AM, Alex Harui 
> >>>>>> wrote:
> >>>>>>
> >>>>>> I'm still not clear what changes are needed.
> >>>>>>
> >>>>>> Are you trying to access APIs that are global but not defined in
> JS.SWC
> >>>>>> or
> >>>>>> Node.SWC?  Otherwise, the APIs on window/global should be defined in
> >>>>>> those
> >>>>>> SWCs.
> >>>>>>
> >>>>>> I'm not sure what the test case is supposed to look like.
> >>>>>>
> >>>>>> Thanks,
> >>>>>> -Alex
> >>>>>>
> >>>>>> On 7/13/17, 12:11 AM, "Harbs"  wrote:
> >>>>>>
> >>>>>>> Electron has both window and global. Node has global and no
> window. I
> >>>>>>> think CEF has window and no global. Browsers have window but not
> >>>>>>> global.
> >>>>>>> Depending on which environment you are writing for, you’re going to
> >>>>>>> need
> >>>>>>> either window or global for accessing global variables.
> >>>>>>>
> >>>>>>> I’m more concerned with general global access in Node than my
> specific
> >>>>>>

Re: [FlexJS] Use of typeof

2017-07-13 Thread Josh Tynjala
If you need access to global in Core, then yes, you should add node.swc.

The value of -targets does not determine which SWCs are included. It only
determines how the compiler generates the JavaScript. You should probably
continue to use JSFlex, but you should manually add node.swc to the
project's external-library-path. node.swc is only automatically included
when using the js/bin/asnodec compiler, which sets +configname=node and
that causes the compiler to load node-config.xml instead of the default
flex-config.xml.

Note that I'm not saying that you should try to use node-config.xml. I'm
just filling in some details on why changing -targets to JSNode didn't
work. You should add node.swc to the -external-library-path in the
project's compiler options.

- Josh

On Thu, Jul 13, 2017 at 10:04 AM, Harbs  wrote:

> Are you saying we should add node.swc to Core?
>
> FWIW, I just tried setting targets to JSNode and global is still not
> recognized. node.swc does not seem to be used even when that’s the target.
> That does not seem right either.
>
> > On Jul 13, 2017, at 7:42 PM, Josh Tynjala  wrote:
> >
> > I think the correct solution is to add node.swc to the
> > -external-library-path when you need access to global. You need js.swc on
> > the -external-library-path when you want to access window. You can't use
> > window in a SWF-only project, for instance.
> >
> > - Josh
> >
> > On Thu, Jul 13, 2017 at 9:29 AM, Harbs  wrote:
> >
> >> There is a mention of window in the NativeJSType enums. Not sure why
> it’s
> >> needed there.
> >>
> >> global should already be in node.js (I think). I’m pretty sure it’s
> >> defined in the node typedefs
> >>
> >> I don’t really care how it’s achieved, but by default (without doing any
> >> special imports) global should be recognized. (just like window is)
> >>
> >> Right now, typing global into a FlexJS project targeting “JSFlex” or any
> >> one of the framework projects results in a compiler error. How do we fix
> >> that?
> >>
> >>> On Jul 13, 2017, at 7:17 PM, Alex Harui 
> >> wrote:
> >>>
> >>> IIRC, the compiler doesn't special case handling of that code.
> "window"
> >>> is defined in missing.js so the js.swc knows there is such an entity.
> Is
> >>> there any reason not to add a "global" to node.swc?
> >>>
> >>> -Alex
> >>>
> >>> On 7/13/17, 12:29 AM, "Harbs"  wrote:
> >>>
> >>>> Right now, if you have code that looks like this, the compiler will
> >>>> report and error and it will fail:
> >>>>
> >>>> global[“foo”];
> >>>>
> >>>> I would like for that to be legal code in a COMPILE::JS block and it
> >>>> should compile to:
> >>>>
> >>>> global[“foo”];
> >>>>
> >>>> Exactly the same as window:
> >>>>
> >>>> If you write:
> >>>> window[“foo”];
> >>>>
> >>>> It’s legal code and will compile to:
> >>>> window[“foo”];
> >>>>
> >>>> That’s it.
> >>>>
> >>>>> On Jul 13, 2017, at 10:18 AM, Alex Harui 
> >>>>> wrote:
> >>>>>
> >>>>> I'm still not clear what changes are needed.
> >>>>>
> >>>>> Are you trying to access APIs that are global but not defined in
> JS.SWC
> >>>>> or
> >>>>> Node.SWC?  Otherwise, the APIs on window/global should be defined in
> >>>>> those
> >>>>> SWCs.
> >>>>>
> >>>>> I'm not sure what the test case is supposed to look like.
> >>>>>
> >>>>> Thanks,
> >>>>> -Alex
> >>>>>
> >>>>> On 7/13/17, 12:11 AM, "Harbs"  wrote:
> >>>>>
> >>>>>> Electron has both window and global. Node has global and no window.
> I
> >>>>>> think CEF has window and no global. Browsers have window but not
> >>>>>> global.
> >>>>>> Depending on which environment you are writing for, you’re going to
> >>>>>> need
> >>>>>> either window or global for accessing global variables.
> >>>>>>
> >>>>>> I’m more concerned with general global access in Node than my
> specific
> &g

Re: [FlexJS] Use of typeof

2017-07-13 Thread Josh Tynjala
03 PM, "Harbs"  wrote:
> >>>>>
> >>>>>> What do we currently do with window?
> >>>>>>
> >>>>>> global in Node is the same as window in the browser. All global
> >>>>>> variables
> >>>>>> are attached to the global object.
> >>>>>>
> >>>>>> global[“foo”] could compile to global[“foo”], global.foo, or just
> >>>>>> plain
> >>>>>> foo, and it all means the same thing.
> >>>>>>
> >>>>>>> On Jul 13, 2017, at 2:14 AM, Alex Harui 
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>> What AS do you want to write and what JS do you want as output?
> >>>>>>>
> >>>>>>> -Alex
> >>>>>>>
> >>>>>>> On 7/9/17, 12:53 AM, "Harbs"  wrote:
> >>>>>>>
> >>>>>>>> Checking for window will work for Node, but it will not work for
> >>>>>>>> Electron.
> >>>>>>>>
> >>>>>>>> I tried adding global to Falcon, but I was obviously going about
> it
> >>>>>>>> wrong, because what I tried did not work.
> >>>>>>>>
> >>>>>>>> This is not really high priority for me right now, so I’m moving
> on
> >>>>>>>> to
> >>>>>>>> something else…
> >>>>>>>>
> >>>>>>>>> On Jul 6, 2017, at 3:05 AM, Alex Harui  >
> >>>>>>>>> wrote:
> >>>>>>>>>
> >>>>>>>>> I've noticed lots of advice on the internet to use feature
> >>>>>>>>> detection
> >>>>>>>>> instead of browser/runtime detection.  Did you rule out doing
> >>>>>>>>> that?
> >>>>>>>>> Browsers may implement new features over time.
> >>>>>>>>>
> >>>>>>>>> But otherwise, I see some clever tests that check for "window"
> >>>>>>>>> and a
> >>>>>>>>> few
> >>>>>>>>> other things.
> >>>>>>>>>
> >>>>>>>>> HTH,
> >>>>>>>>> -Alex
> >>>>>>>>>
> >>>>>>>>> On 7/5/17, 1:54 PM, "Harbs"  wrote:
> >>>>>>>>>
> >>>>>>>>>> No. I was trying to use process to check whether it’s running in
> >>>>>>>>>> a
> >>>>>>>>>> Node
> >>>>>>>>>> runtime (such as Node or Electron). window does not have
> process.
> >>>>>>>>>>
> >>>>>>>>>> I’m trying to add a class that lets the client know what
> >>>>>>>>>> environment
> >>>>>>>>>> it’s
> >>>>>>>>>> running in.
> >>>>>>>>>>
> >>>>>>>>>> Adding global sounds like a good idea. Between window and
> >>>>>>>>>> global, I
> >>>>>>>>>> think
> >>>>>>>>>> that would offer a solution everywhere.
> >>>>>>>>>>
> >>>>>>>>>>> On Jul 5, 2017, at 7:48 PM, Alex Harui
> >>>>>>>>>>> 
> >>>>>>>>>>> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>> Sure, I know it wouldn't work at runtime, but it sounded like
> >>>>>>>>>>> Harbs
> >>>>>>>>>>> couldn't even get the compiler to accept window["process"]
> which
> >>>>>>>>>>> it
> >>>>>>>>>>> should.
> >>>>>>>>>>>
> >>>>>>>>>>> So, it should be ok to write:
> >>>>>>>>>>>
> >>>>>>>>>>> if(typeof window !== "undefined")
> >>>>>>>>>>> {
> >>&

Re: FlexJS Yeoman generator

2017-07-12 Thread Josh Tynjala
Thanks, Harbs!

This project is actually written in ActionScript and built with the Node.js
module support in FlexJS 0.8. Here's the source code on Github:

https://github.com/BowlerHatLLC/generator-flexjs

I even figured out how to make Travis CI compile with FlexJS (and Travis is
running Linux, by the way):

https://travis-ci.org/BowlerHatLLC/generator-flexjs

- Josh

On Wed, Jul 12, 2017 at 12:59 PM, Harbs  wrote:

> Looks like Josh has been busy again!
>
> https://www.patreon.com/posts/scaffold-apache-12918005 <
> https://www.patreon.com/posts/scaffold-apache-12918005>
>
> This makes creating new FlexJS projects a breeze even for newbies.
>
> Way to go Josh! :-)
>
> If someone wants to tweet about this and/or post on Facebook, that would
> be awesome.
>
> Harbs


Re: git commit: [flex-asjs] [refs/heads/develop] - Uploads are assumed to be POST

2017-07-12 Thread Josh Tynjala
Probably the same with function calls too:

trace(someFunction());

They wanted this to remain:

someFunction();

- Josh

On Wed, Jul 12, 2017 at 6:22 AM, Josh Tynjala  wrote:

> One thing to keep in mind with stripping out trace() calls is that some
> developers expect any modifications to variables that happen inside the
> arguments to remain. I remember a while back someone at Adobe mentioning
> that people complained when something like this was completely stripped out:
>
> trace(doSomething++);
>
> Because they expected this part to remain:
>
> doSomething++;
>
> - Josh
>
> On Wed, Jul 12, 2017 at 12:24 AM, Harbs  wrote:
>
>> My bad. It does in fact compile down to this:
>>
>> function uM(a){a=Array.prototype.slice.call(arguments,0)}w('org.apach
>> e.flex.utils.Language.trace',uM);
>>
>> So trace does not actually do anything. Great! :-)
>>
>> However, it’s still being called by the client code. (It just does
>> nothing.) Not super important, but it would be nice if at some point we can
>> figure out if there’s a way to strip out the calls completely.
>>
>> > On Jul 12, 2017, at 10:07 AM, Harbs  wrote:
>> >
>> > Oof. I think I’m still waking up. ;-)
>> >
>> > I did not realize what I was looking at with the goog.DEBUG. My
>> recollection is that trace statements are still being used in the release,
>> but I’ll double check that.
>> >
>> >> On Jul 12, 2017, at 9:56 AM, Alex Harui 
>> wrote:
>> >>
>> >> Well, the goal of using goog.DEBUG in Language.as trace() was to
>> convince
>> >> GCC to eliminate trace().  I haven't checked whether it is working or
>> not.
>> >> Requiring everyone to use goog.DEBUG around trace statements sounds
>> like
>> >> a pain.  Probably better to teach the publisher to remove it if GCC
>> can't
>> >> be taught to do it.  We visit almost every line of the JS output in the
>> >> publishers right now.
>> >>
>> >> My 2 cents,
>> >> -Alex
>> >>
>> >> On 7/11/17, 11:47 PM, "Harbs"  wrote:
>> >>
>> >>>
>> >>>> On Jul 12, 2017, at 8:20 AM, Alex Harui 
>> >>>> wrote:
>> >>>>
>> >>>> Again, though, I think this optimization isn't urgent.
>> >>>
>> >>> I completely agree. That’s why I have not been bringing this up
>> despite
>> >>> it being on my mind. When the discussion came up, I couldn’t help but
>> >>> join. ;-)
>> >>>
>> >>>
>> >>>> goog.DEBUG is already being used in Language.as.
>> >>>
>> >>> Thanks! I hadn’t noticed. I was missing an import of of goog.DEBUG in
>> >>> COMPILE::JS I’m guessing the imports of goog.bind and goog.global was
>> >>> enough to make goog.DEBUG visible to the compiler in Language.as.
>> >>>
>> >>> Once we’re on this topic, there’s something that I had wanted to
>> bring up
>> >>> for a long time: I think trace statements should disappear in the
>> release
>> >>> JS build. Should we put all the JS trace code inside an if(goog.DEBUG)
>> >>> block?
>> >>>
>> >>> Thanks,
>> >>> Harbs
>> >>
>> >
>>
>>
>


Re: git commit: [flex-asjs] [refs/heads/develop] - Uploads are assumed to be POST

2017-07-12 Thread Josh Tynjala
One thing to keep in mind with stripping out trace() calls is that some
developers expect any modifications to variables that happen inside the
arguments to remain. I remember a while back someone at Adobe mentioning
that people complained when something like this was completely stripped out:

trace(doSomething++);

Because they expected this part to remain:

doSomething++;

- Josh

On Wed, Jul 12, 2017 at 12:24 AM, Harbs  wrote:

> My bad. It does in fact compile down to this:
>
> function uM(a){a=Array.prototype.slice.call(arguments,0)}w('org.
> apache.flex.utils.Language.trace',uM);
>
> So trace does not actually do anything. Great! :-)
>
> However, it’s still being called by the client code. (It just does
> nothing.) Not super important, but it would be nice if at some point we can
> figure out if there’s a way to strip out the calls completely.
>
> > On Jul 12, 2017, at 10:07 AM, Harbs  wrote:
> >
> > Oof. I think I’m still waking up. ;-)
> >
> > I did not realize what I was looking at with the goog.DEBUG. My
> recollection is that trace statements are still being used in the release,
> but I’ll double check that.
> >
> >> On Jul 12, 2017, at 9:56 AM, Alex Harui 
> wrote:
> >>
> >> Well, the goal of using goog.DEBUG in Language.as trace() was to
> convince
> >> GCC to eliminate trace().  I haven't checked whether it is working or
> not.
> >> Requiring everyone to use goog.DEBUG around trace statements sounds like
> >> a pain.  Probably better to teach the publisher to remove it if GCC
> can't
> >> be taught to do it.  We visit almost every line of the JS output in the
> >> publishers right now.
> >>
> >> My 2 cents,
> >> -Alex
> >>
> >> On 7/11/17, 11:47 PM, "Harbs"  wrote:
> >>
> >>>
>  On Jul 12, 2017, at 8:20 AM, Alex Harui 
>  wrote:
> 
>  Again, though, I think this optimization isn't urgent.
> >>>
> >>> I completely agree. That’s why I have not been bringing this up despite
> >>> it being on my mind. When the discussion came up, I couldn’t help but
> >>> join. ;-)
> >>>
> >>>
>  goog.DEBUG is already being used in Language.as.
> >>>
> >>> Thanks! I hadn’t noticed. I was missing an import of of goog.DEBUG in
> >>> COMPILE::JS I’m guessing the imports of goog.bind and goog.global was
> >>> enough to make goog.DEBUG visible to the compiler in Language.as.
> >>>
> >>> Once we’re on this topic, there’s something that I had wanted to bring
> up
> >>> for a long time: I think trace statements should disappear in the
> release
> >>> JS build. Should we put all the JS trace code inside an if(goog.DEBUG)
> >>> block?
> >>>
> >>> Thanks,
> >>> Harbs
> >>
> >
>
>


Re: [FalconJX] Debugging minified code

2017-07-12 Thread Josh Tynjala
You should include the dashes, and you should surround everything in
quotes. I think you put spaces between each option, but I've never used
more than one.

Here's a Closure option I've successfully used:

-js-compiler-option="--compilation_level SIMPLE_OPTIMIZATIONS"

- Josh

On Tue, Jul 11, 2017 at 11:35 PM, Harbs  wrote:

> Sometimes it’s not too hard to figure out what’s going on, but sometimes
> it’s a real pain. The situation where I had a comparison against a constant
> in a bindable class was a real doozy. It was in the middle of a lot of XML
> parsing and I originally thought there was a problem with the XML classes
> until a stepped through a lot of renamed functions that were very hard to
> figure out what they did.
>
> So what exactly would the compiler option look like?
>
> I currently have something like this:
> -remove-circulars -js-output-optimization=skipAsCoercions
> -html-template=src/resources/mdl-js-index-template.html
> -js-external-library-path+=typedefs -js-library-path+=lib
>
> Do I include the dashes or not?
>
> Is this correct?
> -remove-circulars -js-output-optimization=skipAsCoercions
> -html-template=src/resources/mdl-js-index-template.html
> -js-external-library-path+=typedefs -js-library-path+=lib
> -js-compiler-option=debug
>
> How would I include multiple options there? Something like this does not
> look right:
> -js-compiler-option=debug,formatting=PRETTY_PRINT
>
> > On Jul 12, 2017, at 8:33 AM, Alex Harui 
> wrote:
> >
> > Try using -js-compiler-option.  It should pass along the various options
> > in the article to GCC.
> >
> > I haven't had to debug anything really big, but I often delete the source
> > map, add line breaks to the area of code that is failing and step through
> > it.  Painful for sure, but often successful.
> >
> > HTH,
> > -Alex
> >
> > On 7/11/17, 3:42 PM, "Harbs"  wrote:
> >
> >> One of the difficult tasks is trying to figure out what’s going wrong in
> >> minified code. I found an article on tips for that.[1] There are a few
> >> Closure options to make the minified code more legible. Is there a way
> to
> >> have Falcon use those options when sending the code to Closure?
> >>
> >> Thanks,
> >> Harbs
> >>
> >> [1]https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fgithub
> >> .com%2Fgoogle%2Fclosure-compiler%2Fwiki%2FDebugging-
> Compiled-Code&data=02%
> >> 7C01%7C%7Cbfca0e9dc888469da8e708d4c8b05d83%
> 7Cfa7b1b5a7b34438794aed2c178dec
> >> ee1%7C0%7C0%7C636354107193335204&sdata=VYIC%
> 2FYV7hx9DlzfD7II5mqvvmavD6Us1L
> >> ZAFkbQN%2BPs%3D&reserved=0
> >>  https%3A%2F%2Fgithub.c
> >> om%2Fgoogle%2Fclosure-compiler%2Fwiki%2FDebugging-
> Compiled-Code&data=02%7C
> >> 01%7C%7Cbfca0e9dc888469da8e708d4c8b05d83%7Cfa7b1b5a7b34438794aed2c178de
> cee
> >> 1%7C0%7C0%7C636354107193335204&sdata=VYIC%
> 2FYV7hx9DlzfD7II5mqvvmavD6Us1LZA
> >> FkbQN%2BPs%3D&reserved=0>
> >
>
>


Re: git commit: [flex-asjs] [refs/heads/develop] - Uploads are assumed to be POST

2017-07-11 Thread Josh Tynjala
That sounds like the proper way to handle this! We should be able to
reference constants in our ActionScript so that we can get compile-time
errors from typos, while the compiler makes sure that generated JavaScript
can be properly minified.

- Josh

On Tue, Jul 11, 2017 at 8:20 AM, Alex Harui 
wrote:

> AIUI, there is a cost in the minified JS to using constants.
>
> However, there is a cost to screwing up the typing of a string literal as
> well.
>
> The best answer for now, IMO, is to not care whether folks use constants
> or string literals.  There are much bigger fish to fry.  I don't want to
> see sweeping changes of replacing all string literals with constants or
> vice versa.  If you've got that kind of time on your hands, learn the
> compiler code and see if you can make the cross-compiler replace all
> constants with string literals.  IMO, that's the right answer.
>
> -Alex
>
> On 7/11/17, 5:37 AM, "Harbs"  wrote:
>
> >Here’s what is output in the minimized code:
> >
> >function
> >fqa(){}w('org.apache.flex.net.HTTPConstants.GET','GET');
> w('org.apache.flex
> >.net.HTTPConstants.POST','POST');w('org.apache.flex.net.
> HTTPConstants.PUT'
> >,'PUT');w('org.apache.flex.net.HTTPConstants.FORM_URL_
> ENCODED',Fm);w('org.
> >apache.flex.net.HTTPConstants.DELETE','DELETE'
> );w('org.apache.flex.net.HTT
> >PConstants.OPEN','open');w('org.apache.flex.net.
> HTTPConstants.COMPLETE',Bt
> >);w('org.apache.flex.net.HTTPConstants.COMMUNICATION_
> ERROR',At);w('org.apa
> >che.flex.net.HTTPConstants.IO_ERROR','ioError');
> >w('org.apache.flex.net.HTTPConstants.SECURITY_ERROR',
> 'securityError');w('o
> >rg.apache.flex.net.HTTPConstants.STATUS',Fx);w('
> org.apache.flex.net.HTTPCo
> >nstants.RESPONSE_STATUS','httpResponseStatus');fqa.
> prototype.h={names:[{na
> >me:'HTTPConstants',i:IF,kind:g}]};w(IF,fqa);
> >
> >elsewhere:
> >IF='org.apache.flex.net.HTTPConstants’,
> >
> >That’s 807 bytes. That’s quite a penalty for avoiding typing “POST”…
> >
> >No idea what wiki you are referring to.
> >
> >Harbs
> >
> >> On Jul 11, 2017, at 2:36 PM, Justin Mclean 
> >>wrote:
> >>
> >> Hi,
> >>
> >>> As it stands now, use of constants result in more JS code after
> >>>compiled.
> >>
> >> Debug yes but not optimised / release.
> >>
> >>> It’s possible that this can be optimized, but currently the most
> >>>efficient JS code is produced if using string literals rather than
> >>>constants. (The Google compiler created variables for string literals
> >>>used more than once.)
> >>
> >> That's not we found in a previous thread on this list, the google
> >>compiler optimises the constants and there is no penalty in using them.
> >>You mind provide examples that show the above is the actually case and
> >>document it on the wiki?
> >>
> >> My vote would be not the duplicate the strings everywhere and use
> >>constants as there is no cost and increased safety.
> >>
> >> Thanks,
> >> Justin
> >
>
>


Re: Flash Builder desktop debugging issue

2017-07-11 Thread Josh Tynjala
Inside the your SDK, the adl executable is used to debug AIR apps. (adl =
AIR debug launcher)

If nothing in your SDK changed, then it's probably related to compiler
arguments or something related to building the SWF.

- Josh

On Tue, Jul 11, 2017 at 8:11 AM, Fréderic Cox  wrote:

> Thanks for the replies.
>
> The problem is related to AIR debugging on desktop. I did not change my
> Apache Flex SDK so I really can't understand what caused the problem.
>
> Which debugger is used for AIR and where is it located?
>
> On Tue, Jul 11, 2017 at 3:41 PM, Harbs  wrote:
>
> > Same for me.
> >
> > > On Jul 11, 2017, at 4:18 PM, Jeffry Houser 
> > wrote:
> > >
> > > To debug a browser based applications, I use Firefox.  I couldn't get a
> > debugger to work in any other browser.
> >
> >
>


Re: Flash Builder desktop debugging issue

2017-07-11 Thread Josh Tynjala
If you're having trouble with AIR, the Flash Player version installed
shouldn't matter.

Have you double checked your compiler options? You should make sure your
project isn't setting -debug=false somehow. I forgot that I had done that
once!

- Josh


On Jul 11, 2017 4:48 AM, "Fréderic Cox"  wrote:

Hi,

I have a problem since a few days that is driving me absolutely nuts.
Flash Builder 4.7 is unable to connect to the debugger. It works for web
projects but not for AIR desktop projects.

I have tried numerous things like cleaning workspace, restarting FB, ..
nothing works.

I have downloaded the debug player for Chrome, Firefox and standalone.

flashbuilder.eu/flash-player-version.html tells me I have the debug player
installed correctly for both.

I have placed the Flash Player debugger in /Applications/Adobe Flash
Builder 4.7/player/mac/26.0/Flash Player.app and used that path in the
debug pane of the Flash Builder preferences so it should use that one ...

Although the name is Flash Player.app and not Flash Player Debugger.app
when I open it it shows as the Flash Player Debugger so that looks to work
also.

Any tips on how to solve this problem?

Thanks


Re: [FlexJS] question about porting an Adobe Flex 3 project to HTML+JS

2017-07-10 Thread Josh Tynjala
> I was not able to run build through VSCode: It constantly reported:
"Unknown compiler option: targets"

You probably have an old version of asconfigc installed on your system. Run
the following command to update:

npm install -g asconfigc

- Josh

On Mon, Jul 10, 2017 at 1:23 PM, piotrz  wrote:

> Hi Allen,
>
> I just look into your project and change it in order to give you starting
> point. [1]
>
> 1) You was not able to properly build cause you didn't have some classes:
> - SearchClass - You did add it but it was not enough
> - ISearchable - It was missing I've added it as a mock up
> 2) I was not able to run build through VSCode: It constantly reported:
> "Unknown compiler option: targets"
>
> "targets": [
> "JSFlex"
> ]
>
> So in that case I've changed tasks.json in order to launch maven build
> through VSCode - take a look into that file and still use VSCode.
>
> 3) I've changed pom.xml - cause you are working on project SampleSearchBox
> I
> had to change:
>
> SampleSearchBox
>
> Point main class: SampleSearchBox.mxml
>
> 4) If you hit CTRL + SHIFT + B - You will run maven build (run:
> target\javascript\bin\js-debug\index.html")
> 5) If you hit F5 - you will run Maven build + run application in debugging
> mode in Chrome (launch.json allows you to do that)
> 6) If you would like to use some other module from FlexJS for example
> express - go to pom.xml and add dependency :)
>
> Let me know whether it is working for you.
>
> [1] https://1drv.ms/u/s!ApVpLyjpHDC20RLgviwW9Uvdzva3
>
> Thanks, Piotr
>
>
>
> -
> Apache Flex PMC
> piotrzarzyck...@gmail.com
> --
> View this message in context: http://apache-flex-
> development.247.n4.nabble.com/FlexJS-question-about-
> porting-an-Adobe-Flex-3-project-to-HTML-JS-tp62698p63054.html
> Sent from the Apache Flex Development mailing list archive at Nabble.com.
>


Re: [FlexJS] Question about Events/possible bugs

2017-07-10 Thread Josh Tynjala
That sounds reasonable.

- Josh

On Mon, Jul 10, 2017 at 9:32 AM, Alex Harui 
wrote:

> Well, the goal is to not have the framework code use the native Event.
> Maybe we should add a warning that we can turn on for our code but is off
> by default.
>
> -Alex
>
> On 7/10/17, 8:52 AM, "Josh Tynjala"  wrote:
>
> >This behavior is because the native HTML classes aren't in a package. The
> >compiler treats everything that's not in a package the same as classes
> >like
> >Number, Boolean, and String, which you don't need to import.
> >
> >It seems potentially tricky to change this behavior, unless you have a
> >whitelist. You wouldn't want to be forced to import Number, for instance.
> >That would be a pretty drastic change from existing behavior.
> >
> >If you do happen to require imports for native HTML classes in the JSFlex
> >target, I'd like to see the JS target keep treating them normally. The
> >HTML
> >classes should not need to be imported with the JS target.
> >
> >- Josh
> >
> >On Mon, Jul 10, 2017 at 8:40 AM, Alex Harui 
> >wrote:
> >
> >> Yes, good catch.
> >>
> >> I'm wondering if the compiler should not auto-import native HTML
> >>classes.
> >>
> >> -Alex
> >>
> >> On 7/10/17, 1:16 AM, "Harbs"  wrote:
> >>
> >> >Good catch.
> >> >
> >> >Without looking at them, I’d guess that they are bugs. Clipboard was my
> >> >error and I just committed a fix for that.
> >> >
> >> >Thanks,
> >> >Harbs
> >> >
> >> >> On Jul 10, 2017, at 11:06 AM, Greg Dove  wrote:
> >> >>
> >> >> I noticed a problem with VerticalFlexLayout in IE11 (and presumably
> >> >>older
> >> >> IE browsers).
> >> >>
> >> >> The JS output causing problems has
> >> >>
> >> >> child.dispatchEvent(new Event("layoutNeeded"));
> >> >>
> >> >> The reason is that the org.apache.flex.events.Event import is missing
> >> >>from
> >> >> the
> >> >> COMPILE::JS build scope
> >> >> So it is falling back to what I assume is the native html Event class
> >> >>(via
> >> >> externs)
> >> >>
> >> >> This works fine in Chrome, but not so in IE11.
> >> >> Changing the actionscript source for VerticalFlexLayout to add
> >> >> import  org.apache.flex.events.Event;
> >> >>
> >> >> to cover  javascript as welll as SWF, fixes the issue.
> >> >>
> >> >> I then unzipped all the JS swcs and file-searched in the js output
> >>for
> >> >>'new
> >> >> Event'
> >> >>
> >> >> It looks like there are a total of 14 cases of output in the js which
> >> >>are
> >> >> new Event('something') instead of new
> >> >> org.apache.flex.events.Event('something')
> >> >>
> >> >> These are in
> >> >> org.apache.flex.core.ApplicationBase (x6)
> >> >> org.apache.flex.svg.GraphicContainer (x3)
> >> >> org.apache.flex.html.beads.layouts.VerticalFlexLayout (x1)
> >> >> org.apache.flex.html.beads.layouts.HorizontalFlexLayout (x1)
> >> >> org.apache.flex.textLayout.edit.Clipboard (x3)
> >> >>
> >> >> I suspect these are import omissions that may cause bugs (perhaps
> >>only
> >> >>in
> >> >> certain older browsers).
> >> >> But thought I would check before doing any changes in case I am
> >>missing
> >> >> something that I don't understand about the events in js
> >> >>
> >> >> What do others think?
> >> >
> >>
> >>
>
>


Re: [FlexJS] Question about Events/possible bugs

2017-07-10 Thread Josh Tynjala
This behavior is because the native HTML classes aren't in a package. The
compiler treats everything that's not in a package the same as classes like
Number, Boolean, and String, which you don't need to import.

It seems potentially tricky to change this behavior, unless you have a
whitelist. You wouldn't want to be forced to import Number, for instance.
That would be a pretty drastic change from existing behavior.

If you do happen to require imports for native HTML classes in the JSFlex
target, I'd like to see the JS target keep treating them normally. The HTML
classes should not need to be imported with the JS target.

- Josh

On Mon, Jul 10, 2017 at 8:40 AM, Alex Harui 
wrote:

> Yes, good catch.
>
> I'm wondering if the compiler should not auto-import native HTML classes.
>
> -Alex
>
> On 7/10/17, 1:16 AM, "Harbs"  wrote:
>
> >Good catch.
> >
> >Without looking at them, I’d guess that they are bugs. Clipboard was my
> >error and I just committed a fix for that.
> >
> >Thanks,
> >Harbs
> >
> >> On Jul 10, 2017, at 11:06 AM, Greg Dove  wrote:
> >>
> >> I noticed a problem with VerticalFlexLayout in IE11 (and presumably
> >>older
> >> IE browsers).
> >>
> >> The JS output causing problems has
> >>
> >> child.dispatchEvent(new Event("layoutNeeded"));
> >>
> >> The reason is that the org.apache.flex.events.Event import is missing
> >>from
> >> the
> >> COMPILE::JS build scope
> >> So it is falling back to what I assume is the native html Event class
> >>(via
> >> externs)
> >>
> >> This works fine in Chrome, but not so in IE11.
> >> Changing the actionscript source for VerticalFlexLayout to add
> >> import  org.apache.flex.events.Event;
> >>
> >> to cover  javascript as welll as SWF, fixes the issue.
> >>
> >> I then unzipped all the JS swcs and file-searched in the js output for
> >>'new
> >> Event'
> >>
> >> It looks like there are a total of 14 cases of output in the js which
> >>are
> >> new Event('something') instead of new
> >> org.apache.flex.events.Event('something')
> >>
> >> These are in
> >> org.apache.flex.core.ApplicationBase (x6)
> >> org.apache.flex.svg.GraphicContainer (x3)
> >> org.apache.flex.html.beads.layouts.VerticalFlexLayout (x1)
> >> org.apache.flex.html.beads.layouts.HorizontalFlexLayout (x1)
> >> org.apache.flex.textLayout.edit.Clipboard (x3)
> >>
> >> I suspect these are import omissions that may cause bugs (perhaps only
> >>in
> >> certain older browsers).
> >> But thought I would check before doing any changes in case I am missing
> >> something that I don't understand about the events in js
> >>
> >> What do others think?
> >
>
>


Re: [FlexJS] technical debt

2017-07-09 Thread Josh Tynjala
While I personally use === and !==, the vast, VAST majority of ActionScript
developers do not. I think it makes sense to turn that off for the default
profile. It's not considered best practice in the ActionScript community.
Probably because we encounter undefined significantly less than JS
developers do.

- Josh


On Jul 9, 2017 1:13 AM, "Justin Mclean"  wrote:

Hi,

> I made two changes on Friday.

Can I ask why you didn’t email the list saying you had done this and what
the purpose of disabling those rules were? Or disabling rules when I
suggested that you should make a custom profile instead?

> It’s important to note that these changes were only to the “Flex”
language. Considering that we’re the only project using this language at
all, it does not effect anyone else.

How did you know we are the only project using that profile when you
disabled those rules? Several other projects do use Actionscript and at
least one I know has used Flex. What do you think would of happened if you
had changed the Java default profile which we also use?

> Additionally, as best as I can tell, the language was first defined in
the end of December.

Sonar cube has been running against the FlexJS framework and compiler for
more than a year (probably two). In December Apache updated to a new
version of Sonar Cube. Going way back it was first suggested to be set up
in 2013 and Chris had it running externally for a bit before it was set it
up at Apache. There have been several discussions about it on thd list over
that time and no one has suggested disabling rules that I can recall.

> Considering we “own” the language, it seems reasonable that we should
define sane defaults in case any other project DOES use the language.

I have Sonar Cube running locally and use it to track TD on a current
project and I don’t disable those rules, in fact I turn on several more.

> "===" and "!==" should be used instead of "==" and "!=“ is simply
incorrect for ActionScript. I flies in the face of accepted coding
practices for the language, and should be removed completely.

Which is an opinion not held by all JavaScript and ActionScript developers,
in fact a large number of them consider it harmful to use “==“ and “!=". I
use “===“ and “!===“ most of the time in my AS code and I know (for
instance) Josh does as well. It may not made sense to use it everywhere in
the Flex JS SDK, but there is a fair amount of use off === and !== in the
existing FlexJS SDK (around a 1000 occurrances from a quick search) so it
seems that it’s not incorrect to use it even in our own framework.

Rather than turning off the rule I have suggested in my wiki document to
make it a minor issue. You are free to ignore any minor issues you want.
Sonar Cube also has good filtering tools to help you do that.

> "public static" fields should be constant is not something that Flex ever
enforced. I don’t really see the value for this rule, but I could go either
way.

Others may have differing options. It would would be best to discuss it on
list/wiki first before turning any rules off.

> Feel free to revert my changes, but the discussion should be about
defaults for the language, and not just about a custom rule set.

Different projects may have a different set of rules. I think it better to
go with the defaults as they are provided and have each project tune it.
Framework code is often different to application code so having one default
for both sorts of projects may not make sense.

Thanks,
Justin


Re: 4.16.0 Install issues

2017-07-07 Thread Josh Tynjala
Be sure to test on Windows 7. It has an older version of PowerShell, so
some things that work in newer versions may not work there. I had the unzip
working on Windows 10 after a long day of wrapping my head around running
PowerShell from AIR. The next morning, I discovered that I had to redo it
because I was using a new API that wasn't available in the older version of
PowerShell.

- Josh

On Fri, Jul 7, 2017 at 11:08 AM, Nicholas Kwiatkowski <
nicholaskwiatkow...@gmail.com> wrote:

> I think that was the direction I was going to go. Thanks!
>
> On Fri, Jul 7, 2017 at 11:30 AM, Josh Tynjala 
> wrote:
>
> > In addition to MD5, the code the installer uses to unzip files can also
> > cause Error #1000.
> >
> > I came up with a solution for that using PowerShell that I posted on the
> > mailing list:
> >
> > http://mail-archives.apache.org/mod_mbox/flex-dev/201706.
> > mbox/%3CCADZSWG4j-DwOFUbFGrJaOZsXTgU1FfwmE9fJUP5
> > dnrgCGFkhLQ%40mail.gmail.com%3E
> >
> > I looked into MD5 with PowerShell, and from what I could tell from a
> quick
> > search, that should be possible too.
> >
> > - Josh
> >
> > On Wed, Jul 5, 2017 at 6:13 PM, Nicholas Kwiatkowski 
> > wrote:
> >
> > > Is anybody actually addressing the issues people have been reporting
> > about
> > > the installer and/or ANT script for Flex SDK 4.16.0?
> > >
> > > Right now I see two major issues that are preventing even people who
> are
> > > familiar with the SDK from doing installs :
> > >
> > >  - In the installer, selecting AIR 25.0 gives users a non-descript
> "error
> > > 1000".  This is due toe the md5 checking in the installer running out
> of
> > > memory
> > >  - Trying to install via ANT is also broken under Windows (any version
> of
> > > AIR SDK).  As packaged, it always errors because it tries to install
> the
> > > MacOS AIR SDK.  Additionally, the optional components that are
> currently
> > > hosted on sourceforge fail to download due to some SSL errors (I've
> > tested
> > > this with the latest java sdk and ANT build).
> > >
> > > The AIR installer issue will require us to rip-and-replace the md5
> > > calculation functions.  I've started looking at it, but I don't think
> it
> > > will be an easy feat.
> > > Fixing the ANT script for Windows trying to install the mac air dmg is
> an
> > > easy fix (but it will require us to do a dot release to push it out)
> > > The SSL errors are because sourceforge is using SANs on their SSL
> certs,
> > > and the current versions of ANT don't know how to read them to validate
> > > them.  This may be out of our control.  Anybody know if we can convince
> > > Adobe to either donate those chunks of code or at least to move them
> to a
> > > different host?  It looks like the code involved is OSMF, AFE, AGLJ,
> > > rideau and Flex-Fontkit.  The alternative to a different host is for us
> > to
> > > ignore SSL errors, but that could be potentially dangerous.
> > >
> > > If nobody is working on these, I can start to take a crack at them, but
> > > honestly, the installer is extremely fragile at this point and I'm not
> > > looking forward to even trying to figure out what is going on in there
> > > again.
> > >
> > > -Nick
> > >
> >
>


Re: FlexJS Tests (was Re: [FlexJS] technical debt)

2017-07-07 Thread Josh Tynjala
The TraceListener in the example code listens for events from the
TestRunner and prints to the console. Those same events could be used to
collect failures and do anything you want with them.

- Josh

On Fri, Jul 7, 2017 at 8:59 AM, Alex Harui  wrote:

> Hi Josh,
>
> That could be good.  I took a quick look and didn't understand how it
> reports errors that can be collected and reported.  How does that work?
> Would it interface with Selenium?
>
> Thanks,
> -Alex
>
> On 7/7/17, 8:23 AM, "Josh Tynjala"  wrote:
>
> >I wrote a simple test runner similar to FlexUnit for some of my projects.
> >I'm happy to donate this code to FlexJS or FlexUnit if it can help
> >bootstrap the testing efforts.
> >
> >https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fgithub.co
> >m%2FBowlerHatLLC%2Fnextgenas-test&data=02%7C01%7C%
> 7C68cc4baa25b34232470408
> >d4c54c3ded%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> 7C636350378641405029
> >&sdata=auA9oG3sSGDFlZ0CC40PZ1LpX6pl9vaFjBWav7SWf34%3D&reserved=0
> >
> >It supports [Test], [Before], and [After] metadata:
> >
> >https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fgithub.co
> >m%2FBowlerHatLLC%2Fnextgenas-test%2Fwiki%2FMetadata&data=
> 02%7C01%7C%7C68cc
> >4baa25b34232470408d4c54c3ded%7Cfa7b1b5a7b34438794aed2c178de
> cee1%7C0%7C0%7C
> >636350378641405029&sdata=81tT4SQse5BRp2LtJGCybnwsZLEP9P
> 8wDl9zrYpoOYo%3D&re
> >served=0
> >
> >- Josh
> >
> >
> >
> >On Fri, Jul 7, 2017 at 3:16 AM, Harbs  wrote:
> >
> >> The checkintests target currently fails. I’m guessing the build file was
> >> not updated for dual.
> >>
> >> Selenium has a JS API[1]. It seems like we should be able to write tests
> >> in MXML and AS and then use Node.js to run the results. I’m not sure how
> >> easy it would be to generalize tests so that the same tests could be
> >>run in
> >> both Flash and Selenium. It should be an interesting project to try.
> >>
> >> We should probably add FlexUnit tests even if they only run in SWF. I
> >>will
> >> make an attempt to do so myself. It seems like it should be possible to
> >>run
> >> the FlexUnit tests in JS using one of the JS unit testing frameworks or
> >> even rolling our own JS implementation. I don’t think the way it’s run
> >>is
> >> important, but it would be a very good idea to allow FlexUnit to run in
> >>JS
> >> unmodified.
> >>
> >> I never quite “got” how the meta tags in FlexUnit actually work.
> >>
> >>
> >>[1]https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fwww.n
> >>pmjs.com%2Fpackage%2Fselenium-webdriver&data=02%
> 7C01%7C%7C68cc4baa25b3423
> >>2470408d4c54c3ded%7Cfa7b1b5a7b34438794aed2c178de
> cee1%7C0%7C0%7C6363503786
> >>41405029&sdata=gfStLT52BXyKlgefzw63jD0M71L6UJklCCPe0kW2yjw%3D&reserved=0
> >><
> >>
> >>https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fwww.npmj
> >>s.com%2Fpackage%2Fselenium-webdriver&data=02%7C01%7C%
> 7C68cc4baa25b3423247
> >>0408d4c54c3ded%7Cfa7b1b5a7b34438794aed2c178de
> cee1%7C0%7C0%7C6363503786414
> >>05029&sdata=gfStLT52BXyKlgefzw63jD0M71L6UJklCCPe0kW2yjw%3D&reserved=0>
> >>
> >> > On Jul 7, 2017, at 1:38 AM, Alex Harui 
> >>wrote:
> >> >
> >> > I have a subset of Mustella working on both platforms in the
> >>BasicTests
> >> > that run from the checkintests target in the Ant build.  There is a
> >> > writeup on Mustella in the wiki
> >> >
> >>https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fcwiki.ap
> >>ache.org%2Fconfluence%2Fdisplay%2FFLEX%2FMustella%
> 2BOverview&data=02%7C01
> >>%7C%7C68cc4baa25b34232470408d4c54c3ded%7Cfa7b1b5a7b34438794aed2c178de
> cee1
> >>%7C0%7C0%7C636350378641405029&sdata=pEFm3JIcipgNSvZMjSglS16g%
> 2BHyuZK%2FhY
> >>lFRG4lBwdA%3D&reserved=0.  I
> >> > haven't gone through it to see how much does or doesn't apply to
> >>FlexJS.
> >> > The BasicTests are in the flex-asjs repo in
> >>mustella/tests/basicTests.  I
> >> > basically copied the Flex SDK's BasicTests and modified it a bit to
> >>run
> >> in
> >> > FlexJS and commented out most tests because back when I did it, we
> >>didn't
> >> > have many components.  It might be interesting to comme

Re: 4.16.0 Install issues

2017-07-07 Thread Josh Tynjala
In addition to MD5, the code the installer uses to unzip files can also
cause Error #1000.

I came up with a solution for that using PowerShell that I posted on the
mailing list:

http://mail-archives.apache.org/mod_mbox/flex-dev/201706.mbox/%3CCADZSWG4j-DwOFUbFGrJaOZsXTgU1FfwmE9fJUP5dnrgCGFkhLQ%40mail.gmail.com%3E

I looked into MD5 with PowerShell, and from what I could tell from a quick
search, that should be possible too.

- Josh

On Wed, Jul 5, 2017 at 6:13 PM, Nicholas Kwiatkowski 
wrote:

> Is anybody actually addressing the issues people have been reporting about
> the installer and/or ANT script for Flex SDK 4.16.0?
>
> Right now I see two major issues that are preventing even people who are
> familiar with the SDK from doing installs :
>
>  - In the installer, selecting AIR 25.0 gives users a non-descript "error
> 1000".  This is due toe the md5 checking in the installer running out of
> memory
>  - Trying to install via ANT is also broken under Windows (any version of
> AIR SDK).  As packaged, it always errors because it tries to install the
> MacOS AIR SDK.  Additionally, the optional components that are currently
> hosted on sourceforge fail to download due to some SSL errors (I've tested
> this with the latest java sdk and ANT build).
>
> The AIR installer issue will require us to rip-and-replace the md5
> calculation functions.  I've started looking at it, but I don't think it
> will be an easy feat.
> Fixing the ANT script for Windows trying to install the mac air dmg is an
> easy fix (but it will require us to do a dot release to push it out)
> The SSL errors are because sourceforge is using SANs on their SSL certs,
> and the current versions of ANT don't know how to read them to validate
> them.  This may be out of our control.  Anybody know if we can convince
> Adobe to either donate those chunks of code or at least to move them to a
> different host?  It looks like the code involved is OSMF, AFE, AGLJ,
> rideau and Flex-Fontkit.  The alternative to a different host is for us to
> ignore SSL errors, but that could be potentially dangerous.
>
> If nobody is working on these, I can start to take a crack at them, but
> honestly, the installer is extremely fragile at this point and I'm not
> looking forward to even trying to figure out what is going on in there
> again.
>
> -Nick
>


Re: FlexJS Tests (was Re: [FlexJS] technical debt)

2017-07-07 Thread Josh Tynjala
I wrote a simple test runner similar to FlexUnit for some of my projects.
I'm happy to donate this code to FlexJS or FlexUnit if it can help
bootstrap the testing efforts.

https://github.com/BowlerHatLLC/nextgenas-test

It supports [Test], [Before], and [After] metadata:

https://github.com/BowlerHatLLC/nextgenas-test/wiki/Metadata

- Josh



On Fri, Jul 7, 2017 at 3:16 AM, Harbs  wrote:

> The checkintests target currently fails. I’m guessing the build file was
> not updated for dual.
>
> Selenium has a JS API[1]. It seems like we should be able to write tests
> in MXML and AS and then use Node.js to run the results. I’m not sure how
> easy it would be to generalize tests so that the same tests could be run in
> both Flash and Selenium. It should be an interesting project to try.
>
> We should probably add FlexUnit tests even if they only run in SWF. I will
> make an attempt to do so myself. It seems like it should be possible to run
> the FlexUnit tests in JS using one of the JS unit testing frameworks or
> even rolling our own JS implementation. I don’t think the way it’s run is
> important, but it would be a very good idea to allow FlexUnit to run in JS
> unmodified.
>
> I never quite “got” how the meta tags in FlexUnit actually work.
>
> [1]https://www.npmjs.com/package/selenium-webdriver <
> https://www.npmjs.com/package/selenium-webdriver>
>
> > On Jul 7, 2017, at 1:38 AM, Alex Harui  wrote:
> >
> > I have a subset of Mustella working on both platforms in the BasicTests
> > that run from the checkintests target in the Ant build.  There is a
> > writeup on Mustella in the wiki
> > https://cwiki.apache.org/confluence/display/FLEX/Mustella+Overview.  I
> > haven't gone through it to see how much does or doesn't apply to FlexJS.
> > The BasicTests are in the flex-asjs repo in mustella/tests/basicTests.  I
> > basically copied the Flex SDK's BasicTests and modified it a bit to run
> in
> > FlexJS and commented out most tests because back when I did it, we didn't
> > have many components.  It might be interesting to comment more tests back
> > in and see if they run.
> >
> > There are some FlexUnit tests that run as part of the Core.swc Ant build,
> > but only on SWF.
> >
> > The Maven build runs some Selenium tests that I think are written in
> Java,
> > and I think only test JS output.
> >
> > I haven't invested much time in test infrastructure or test creation
> since
> > there were some strong opinions about not liking Mustella and some
> > thoughts about how to make FlexUnit run on both platforms.
> >
> > My personal preference is that tests should be written in MXML and/or AS
> > and run on both platforms.  Bonus points if existing tests can be run
> > unmodified or mostly unmodified.
> >
> > -Alex
> >
> > On 7/6/17, 2:02 PM, "Harbs"  wrote:
> >
> >> Where are the instructions on how to use it? If I know how to write
> >> tests, I’d be much better about doing so…
> >>
> >>> On Jul 6, 2017, at 11:53 PM, Alex Harui 
> >>> wrote:
> >>>
> >>> I have put in place a test infrastructure
> >>
> >
>
>


Re: [FlexJS][VS Code] dual issues

2017-07-06 Thread Josh Tynjala
The AS/MXML code intelligence in VSCode instantiates certain classes from
the compiler to get the data it needs. Previously, I was instantiating a
FlexProject no matter which targets were specified. Now, I instantiate a
FlexJSProject when I'm sure that JS should have a higher priority than SWF
(based on the value of -targets). This seems to be enough to get the
compiler to switch from Flash Player APIs to JS APIs in the data that it
provides, and i can see that it switches COMPILE::JS to true and COMPILE::
SWF to false.

With this change that I just made, I suspect that if we merged the pairs of
SWCs into one, VSCode might just work with no changes (except to tell it to
use the newer compiler).

- Josh


On Jul 6, 2017 4:23 PM, "Alex Harui"  wrote:

I agree, it will be great to get JS API code-intelligence.

Just out of curiosity, what did you have to change?  One work item for the
future is to merge the "JS" SWC into the "SWF" SWC so there is only one
SWC per library instead of the current pair like Core.SWC and CoreJS.swc.
I'm trying to assess the impact of doing so.  We can certainly teach the
compiler to pick different classes based on the current -target, but right
now for FB, all it knows is that one set of SWCs or the other is on the
library path.  If we merge the SWCS, there is no other way to tell the
compiler which APIs to use by default, and I'm not sure I can control that
from outside FB.

Maybe just the Maven artifacts will be merged and we'll keep the pairs of
SWCs for IDEs.

Thoughts?
-Alex

On 7/6/17, 4:12 PM, "Josh Tynjala"  wrote:

>Okay, I figured out how to make VSCode switch to JS APIs instead of SWF
>APIs for completion and things. In the next version of the extension, when
>the targets compiler option is specified in asconfig.json, and the first
>value isn't "SWF", the extension will offer JS APIs. That includes giving
>you access to native browser APIs instead of Flash Player APIs. That's
>going to be a really nice change, I think. Thanks for pointing out this
>issue!
>
>- Josh
>
>On Thu, Jul 6, 2017 at 2:35 PM, Josh Tynjala 
>wrote:
>
>> > The js-output-type, library-path and external-library-path options are
>> probably not needed
>>
>> I would get rid of -js-output-type. I assume that -targets takes
>> precedence, but just to be safe, you shouldn't use both.
>>-js-output-type is
>> necessary for 0.7.0, but switch entirely to -targets with 0.8.0.
>>
>> > It would be nice to have full support for the new compiler options
>>
>> html-template, html-output-filename, js-compiler-option,
>> js-external-library-path, js-library-path, swf-external-library-path,
>> swf-library-path, and remove-circulars should all work in the
>> compilerOptions field if you're using the latest vscode-nextgenas 0.4.4
>>and
>> asconfigc 0.5.1. I just updated asconfigc to support these options last
>> week, and I haven't made an official announcement yet, so you might have
>> missed that one.
>>
>> I think there may be one or two you'll still need to put into
>> additionalOptions, but you should be able to switch over most of them.
>>
>> > 1. I’m getting “problems” even for files which are not used in my
>> project and are not open.
>>
>> This is something I'm aware of in VSCode. The compiler seems to greedily
>> load everything that exists in a source path, even if you don't actually
>> use it. Personally I like this, but even if I were to make it an option
>> somehow, I'm not aware of a way to stop the compiler from working that
>>way
>> either.
>>
>> > 2. I’m getting lots of errors which are specific to SWF-only output:
>>
>> I just glanced through the part of VSCode that passes options to the
>> compiler for code intelligence (different from the way that asconfigc
>>runs
>> the compiler to build), and I don't think I'm actually using the value
>>of
>> -targets. It's probably defaulting to SWF. I'll play around with that to
>> see if I can improve things when -targets is specifically JSFlex.
>>
>> >   a. I’m not getting JS specific classes recognized.
>>
>> Just to be clear, are you referring to DOM classes like
>>HTMLButtonElement
>> and other browser APIs here? I just want to be sure so that I test the
>> right thing when I make changes.
>>
>> - Josh
>>
>> On Thu, Jul 6, 2017 at 2:16 PM, Harbs  wrote:
>>
>>> Since updating to “dual”has been reporting lots of errors. When I
>>>build,
>>> both the debug and release builds build correctly, but the PROBLEMS
>>&

Re: [FlexJS][VS Code] dual issues

2017-07-06 Thread Josh Tynjala
Okay, I figured out how to make VSCode switch to JS APIs instead of SWF
APIs for completion and things. In the next version of the extension, when
the targets compiler option is specified in asconfig.json, and the first
value isn't "SWF", the extension will offer JS APIs. That includes giving
you access to native browser APIs instead of Flash Player APIs. That's
going to be a really nice change, I think. Thanks for pointing out this
issue!

- Josh

On Thu, Jul 6, 2017 at 2:35 PM, Josh Tynjala  wrote:

> > The js-output-type, library-path and external-library-path options are
> probably not needed
>
> I would get rid of -js-output-type. I assume that -targets takes
> precedence, but just to be safe, you shouldn't use both. -js-output-type is
> necessary for 0.7.0, but switch entirely to -targets with 0.8.0.
>
> > It would be nice to have full support for the new compiler options
>
> html-template, html-output-filename, js-compiler-option,
> js-external-library-path, js-library-path, swf-external-library-path,
> swf-library-path, and remove-circulars should all work in the
> compilerOptions field if you're using the latest vscode-nextgenas 0.4.4 and
> asconfigc 0.5.1. I just updated asconfigc to support these options last
> week, and I haven't made an official announcement yet, so you might have
> missed that one.
>
> I think there may be one or two you'll still need to put into
> additionalOptions, but you should be able to switch over most of them.
>
> > 1. I’m getting “problems” even for files which are not used in my
> project and are not open.
>
> This is something I'm aware of in VSCode. The compiler seems to greedily
> load everything that exists in a source path, even if you don't actually
> use it. Personally I like this, but even if I were to make it an option
> somehow, I'm not aware of a way to stop the compiler from working that way
> either.
>
> > 2. I’m getting lots of errors which are specific to SWF-only output:
>
> I just glanced through the part of VSCode that passes options to the
> compiler for code intelligence (different from the way that asconfigc runs
> the compiler to build), and I don't think I'm actually using the value of
> -targets. It's probably defaulting to SWF. I'll play around with that to
> see if I can improve things when -targets is specifically JSFlex.
>
> >   a. I’m not getting JS specific classes recognized.
>
> Just to be clear, are you referring to DOM classes like HTMLButtonElement
> and other browser APIs here? I just want to be sure so that I test the
> right thing when I make changes.
>
> - Josh
>
> On Thu, Jul 6, 2017 at 2:16 PM, Harbs  wrote:
>
>> Since updating to “dual”has been reporting lots of errors. When I build,
>> both the debug and release builds build correctly, but the PROBLEMS window
>> and the live code hinting report lots of (non) issues. I’m not sure what
>> the source of the errors are, but here are the details:
>>
>> I’ve tried a few variations of the asconfig file, but here’s what I
>> currently have:
>> {
>> "config": "flex",
>> "compilerOptions": {
>> "debug": true,
>> "js-output-type": "flexjs",
>> "targets": ["JSFlex"],
>> "source-map": false,
>> "library-path": [
>> "lib"
>> ],
>> "external-library-path": [
>> "typedefs"
>> ]
>> },
>> "copySourcePathAssets": true,
>> "additionalOptions": "-remove-circulars 
>> -js-output-optimization=skipAsCoercions
>> -html-template=src/resources/mdl-js-index-template.html
>> -js-external-library-path+=typedefs -js-library-path+=lib",
>> "files":
>> [
>> "src/PortedPrintUI.mxml"
>> ]
>> }
>>
>> The js-output-type, library-path and external-library-path options are
>> probably not needed, but they don’t seem to adversely effect the builds.
>> (It would be nice to have full support for the new compiler options.)
>>
>> Problems:
>> 1. I’m getting “problems” even for files which are not used in my project
>> and are not open.
>> 2. I’m getting lots of errors which are specific to SWF-only output:
>>   a. I’m not getting JS specific classes recognized.
>>   b. I’m getting lots of incompatible overrides (to Flash methods)
>>   c. I’m getting overriding function not marked for override errors on
>> functions that are implemented in flash (i.e. public function get
>> scaleX():Number)
>>   d. conflicts between variables and Flash getters.
>>   e. etc...
>>
>> Thanks,
>> Harbs
>
>
>


Re: [FlexJS][VS Code] dual issues

2017-07-06 Thread Josh Tynjala
> The js-output-type, library-path and external-library-path options are
probably not needed

I would get rid of -js-output-type. I assume that -targets takes
precedence, but just to be safe, you shouldn't use both. -js-output-type is
necessary for 0.7.0, but switch entirely to -targets with 0.8.0.

> It would be nice to have full support for the new compiler options

html-template, html-output-filename, js-compiler-option,
js-external-library-path, js-library-path, swf-external-library-path,
swf-library-path, and remove-circulars should all work in the
compilerOptions field if you're using the latest vscode-nextgenas 0.4.4 and
asconfigc 0.5.1. I just updated asconfigc to support these options last
week, and I haven't made an official announcement yet, so you might have
missed that one.

I think there may be one or two you'll still need to put into
additionalOptions, but you should be able to switch over most of them.

> 1. I’m getting “problems” even for files which are not used in my project
and are not open.

This is something I'm aware of in VSCode. The compiler seems to greedily
load everything that exists in a source path, even if you don't actually
use it. Personally I like this, but even if I were to make it an option
somehow, I'm not aware of a way to stop the compiler from working that way
either.

> 2. I’m getting lots of errors which are specific to SWF-only output:

I just glanced through the part of VSCode that passes options to the
compiler for code intelligence (different from the way that asconfigc runs
the compiler to build), and I don't think I'm actually using the value of
-targets. It's probably defaulting to SWF. I'll play around with that to
see if I can improve things when -targets is specifically JSFlex.

>   a. I’m not getting JS specific classes recognized.

Just to be clear, are you referring to DOM classes like HTMLButtonElement
and other browser APIs here? I just want to be sure so that I test the
right thing when I make changes.

- Josh

On Thu, Jul 6, 2017 at 2:16 PM, Harbs  wrote:

> Since updating to “dual”has been reporting lots of errors. When I build,
> both the debug and release builds build correctly, but the PROBLEMS window
> and the live code hinting report lots of (non) issues. I’m not sure what
> the source of the errors are, but here are the details:
>
> I’ve tried a few variations of the asconfig file, but here’s what I
> currently have:
> {
> "config": "flex",
> "compilerOptions": {
> "debug": true,
> "js-output-type": "flexjs",
> "targets": ["JSFlex"],
> "source-map": false,
> "library-path": [
> "lib"
> ],
> "external-library-path": [
> "typedefs"
> ]
> },
> "copySourcePathAssets": true,
> "additionalOptions": "-remove-circulars 
> -js-output-optimization=skipAsCoercions
> -html-template=src/resources/mdl-js-index-template.html
> -js-external-library-path+=typedefs -js-library-path+=lib",
> "files":
> [
> "src/PortedPrintUI.mxml"
> ]
> }
>
> The js-output-type, library-path and external-library-path options are
> probably not needed, but they don’t seem to adversely effect the builds.
> (It would be nice to have full support for the new compiler options.)
>
> Problems:
> 1. I’m getting “problems” even for files which are not used in my project
> and are not open.
> 2. I’m getting lots of errors which are specific to SWF-only output:
>   a. I’m not getting JS specific classes recognized.
>   b. I’m getting lots of incompatible overrides (to Flash methods)
>   c. I’m getting overriding function not marked for override errors on
> functions that are implemented in flash (i.e. public function get
> scaleX():Number)
>   d. conflicts between variables and Flash getters.
>   e. etc...
>
> Thanks,
> Harbs


Re: [FlexJS] 0.8.0 not working in IntelliJ IDEA

2017-07-06 Thread Josh Tynjala
Unfortunately, there is no workaround for 0.8.0. Even if we try to use
-js-output-type instead, it tries to call a constructor that simply doesn't
exist anymore. We didn't get compiler errors to tell us that this had
broken because it it used reflection to find that constructor.

- Josh

On Jul 6, 2017 1:47 PM, "Alex Harui"  wrote:

> Thanks for noticing that.  So does that mean a workaround for 0.8.0 is to
> define in additional compiler options:
>
>  -js-output-type=FLEXJS
>
> -Alex
>
> On 7/6/17, 11:46 AM, "Josh Tynjala"  wrote:
>
> >Okay, I made a commit that seems to get things working in IntelliJ IDEA
> >again. It looks like MxmlJSC and CompJSC in flex-compiler-oem.jar no
> >longer
> >need to create the backend manually, and MXMLJSC or COMPJSC can figure out
> >what to do automatically based on the value of -targets now.
> >
> >I was able to successfully build some projects in IntelliJ with -targets
> >set to JSFlex, SWF, and also JS.
> >
> >- Josh
> >
> >On Thu, Jul 6, 2017 at 11:21 AM, Josh Tynjala 
> >wrote:
> >
> >> The problem looks to be related to this line:
> >>
> >> compiler = COMPILER.getDeclaredConstructor(IBackend.class).newInstance(
> >> backend);
> >>
> >> It's looking for a constructor on MXMLJSC (not to be confused with
> >> MxmlJSC) that takes an IBackend as a parameter. There is no longer a
> >> constructor like that in 0.8.0. If I understand the dual changes
> >>correctly,
> >> MXMLJSC now automatically creates an IBackend based on the -targets
> >>value.
> >> It looks like this code does indeed still need changes to support dual.
> >>
> >> - Josh
> >>
> >>
> >> On Wed, Jul 5, 2017 at 3:09 PM, Josh Tynjala 
> >> wrote:
> >>
> >>> I'm trying to create a new FlexJS 0.8.0 project in IntelliJ IDEA, and
> >>>I'm
> >>> getting the following output when I try to build the project:
> >>>
> >>> Information:[HelloIDEA]: Starting Flex compiler:
> >>> "/Applications/IntelliJ
> >>>IDEA.app/Contents/jdk/Contents/Home/jre/bin/java"
> >>>
> >>>-Dapplication.home=/Users/joshtynjala/Development/Flex/
> sdks/flexjs-0.8.0
> >>> -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Duser.language=en
> >>> -Duser.region=en -Xmx512m -classpath "/Applications/IntelliJ
> >>>
> >>>IDEA.app/Contents/plugins/flex/lib/idea-flex-compiler-
> fix.jar:/Applicati
> >>>ons/IntelliJ
> >>> IDEA.app/Contents/plugins/flex/lib/flex-compiler.jar:/Users/
> >>>
> >>>joshtynjala/Development/Flex/sdks/flexjs-0.8.0/lib/
> flex-compiler-oem.jar
> >>>"
> >>> com.intellij.flex.compiler.FlexCompiler 54900
> >>> Information:[HelloIDEA]: mxmlc -load-config=/Users/joshtynjal
> >>> a/Library/Caches/IntelliJIdea2017.1/compile-server/
> >>> helloidea_6d5abd99/_temp_/IntelliJ_IDEA/idea-B028A5AE-12E86E20.xml
> >>> -load-config+=/Users/joshtynjala/Development/Flex/sdks/
> >>> flexjs-0.8.0/ide/IDEA/intellij-config.xml
> >>> Information:[HelloIDEA]: unknown error
> >>> Information:[HelloIDEA]: at java.lang.Class.getConstructor
> >>> 0(Class.java:3082)
> >>> Information:[HelloIDEA]: at java.lang.Class.getDeclaredCon
> >>> structor(Class.java:2178)
> >>> Information:[HelloIDEA]: at flex2.tools.MxmlJSC.getCompile
> >>> rInstance(MxmlJSC.java:48)
> >>> Information:[HelloIDEA]: at
> >>>flex2.tools.MxmlJSC.execute(MxmlJSC.java:89)
> >>> Information:[HelloIDEA]: at flex2.tools.Tool.compile(Tool.java:68)
> >>> Information:[HelloIDEA]: at flex2.tools.Mxmlc.mxmlc(Mxmlc.java:73)
> >>> Information:[HelloIDEA]: at com.intellij.flex.compiler.fle
> >>> x4.Flex4Handler.compileSwf(Flex4Handler.java:81)
> >>> Information:[HelloIDEA]: at com.intellij.flex.compiler.Com
> >>> pilationThread.run(CompilationThread.java:48)
> >>> Information:[HelloIDEA]: Compilation failed
> >>> Information:7/5/17, 2:56 PM - Compilation completed with 1 error and 0
> >>> warnings in 595ms
> >>> Error:[HelloIDEA]: java.lang.NoSuchMethodException:
> >>> org.apache.flex.compiler.clients.MXMLJSC.(org.apache.
> >>> flex.compiler.driver.IBackend)
> >>>
> >>> I followed the steps in these instructions that worked correctly with
> >>> 0.7.0:
> >>>
> >>>
> >>>https://na01.safelinks.protection.outlook.com/?url=
> https%3A%2F%2Fcwiki.a
> >>>pache.org%2Fconfluence%2Fdisplay%2FFLEX%2FUsing%
> 2BFlexJ&data=02%7C01%7C%
> >>>7C0db52a1b085d40a0d99008d4c49f7cf7%7Cfa7b1b5a7b34438794aed2c178de
> cee1%7C
> >>>0%7C0%7C636349636715390181&sdata=SMfsugjsJKZI9AKay2Dn0qhk7srWdH
> %2BkTtrlo
> >>>GXiw34%3D&reserved=0
> >>> S+with+IntelliJ+IDEA
> >>>
> >>> I'm not very familiar with this part of the code, but it looks to me
> >>>like
> >>> the call to MxmlJSC.getCompilerInstance() can't find IBackend? Could
> >>>it be
> >>> that flex-compiler-oem.jar is missing something in its classpath?
> >>>
> >>> - Josh
> >>>
> >>
> >>
>
>


Re: [FlexJS] 0.8.0 not working in IntelliJ IDEA

2017-07-06 Thread Josh Tynjala
Okay, I made a commit that seems to get things working in IntelliJ IDEA
again. It looks like MxmlJSC and CompJSC in flex-compiler-oem.jar no longer
need to create the backend manually, and MXMLJSC or COMPJSC can figure out
what to do automatically based on the value of -targets now.

I was able to successfully build some projects in IntelliJ with -targets
set to JSFlex, SWF, and also JS.

- Josh

On Thu, Jul 6, 2017 at 11:21 AM, Josh Tynjala  wrote:

> The problem looks to be related to this line:
>
> compiler = COMPILER.getDeclaredConstructor(IBackend.class).newInstance(
> backend);
>
> It's looking for a constructor on MXMLJSC (not to be confused with
> MxmlJSC) that takes an IBackend as a parameter. There is no longer a
> constructor like that in 0.8.0. If I understand the dual changes correctly,
> MXMLJSC now automatically creates an IBackend based on the -targets value.
> It looks like this code does indeed still need changes to support dual.
>
> - Josh
>
>
> On Wed, Jul 5, 2017 at 3:09 PM, Josh Tynjala 
> wrote:
>
>> I'm trying to create a new FlexJS 0.8.0 project in IntelliJ IDEA, and I'm
>> getting the following output when I try to build the project:
>>
>> Information:[HelloIDEA]: Starting Flex compiler:
>> "/Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/java"
>> -Dapplication.home=/Users/joshtynjala/Development/Flex/sdks/flexjs-0.8.0
>> -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Duser.language=en
>> -Duser.region=en -Xmx512m -classpath "/Applications/IntelliJ
>> IDEA.app/Contents/plugins/flex/lib/idea-flex-compiler-fix.jar:/Applications/IntelliJ
>> IDEA.app/Contents/plugins/flex/lib/flex-compiler.jar:/Users/
>> joshtynjala/Development/Flex/sdks/flexjs-0.8.0/lib/flex-compiler-oem.jar"
>> com.intellij.flex.compiler.FlexCompiler 54900
>> Information:[HelloIDEA]: mxmlc -load-config=/Users/joshtynjal
>> a/Library/Caches/IntelliJIdea2017.1/compile-server/
>> helloidea_6d5abd99/_temp_/IntelliJ_IDEA/idea-B028A5AE-12E86E20.xml
>> -load-config+=/Users/joshtynjala/Development/Flex/sdks/
>> flexjs-0.8.0/ide/IDEA/intellij-config.xml
>> Information:[HelloIDEA]: unknown error
>> Information:[HelloIDEA]: at java.lang.Class.getConstructor
>> 0(Class.java:3082)
>> Information:[HelloIDEA]: at java.lang.Class.getDeclaredCon
>> structor(Class.java:2178)
>> Information:[HelloIDEA]: at flex2.tools.MxmlJSC.getCompile
>> rInstance(MxmlJSC.java:48)
>> Information:[HelloIDEA]: at flex2.tools.MxmlJSC.execute(MxmlJSC.java:89)
>> Information:[HelloIDEA]: at flex2.tools.Tool.compile(Tool.java:68)
>> Information:[HelloIDEA]: at flex2.tools.Mxmlc.mxmlc(Mxmlc.java:73)
>> Information:[HelloIDEA]: at com.intellij.flex.compiler.fle
>> x4.Flex4Handler.compileSwf(Flex4Handler.java:81)
>> Information:[HelloIDEA]: at com.intellij.flex.compiler.Com
>> pilationThread.run(CompilationThread.java:48)
>> Information:[HelloIDEA]: Compilation failed
>> Information:7/5/17, 2:56 PM - Compilation completed with 1 error and 0
>> warnings in 595ms
>> Error:[HelloIDEA]: java.lang.NoSuchMethodException:
>> org.apache.flex.compiler.clients.MXMLJSC.(org.apache.
>> flex.compiler.driver.IBackend)
>>
>> I followed the steps in these instructions that worked correctly with
>> 0.7.0:
>>
>> https://cwiki.apache.org/confluence/display/FLEX/Using+FlexJ
>> S+with+IntelliJ+IDEA
>>
>> I'm not very familiar with this part of the code, but it looks to me like
>> the call to MxmlJSC.getCompilerInstance() can't find IBackend? Could it be
>> that flex-compiler-oem.jar is missing something in its classpath?
>>
>> - Josh
>>
>
>


Re: [FlexJS] 0.8.0 not working in IntelliJ IDEA

2017-07-06 Thread Josh Tynjala
By the way, I'd like to know what kind of extra problems you are seeing (in
another thread please) because that's not an issue I've encountered with
VSCode.

- Josh

On Thu, Jul 6, 2017 at 11:16 AM, Harbs  wrote:

> VS Code is reporting all kinds of issues that are not problems since the
> switch to dual. Maybe that’s related as well?
>
> > On Jul 6, 2017, at 9:06 PM, Josh Tynjala  wrote:
> >
> > I don't see why -targets wouldn't work when it works elsewhere, but I
> just
> > tried -compiler.targets too, and that also failed.
> >
> > Looking at the source code for flex2.tools.MxmlJSC, I see that it's still
> > checking for the -js-output-type option, and it isn't trying to find
> > -targets at all. Did you forget to update this class to support the dual
> > changes?
> >
> > - Josh
> >
> > On Thu, Jul 6, 2017 at 10:44 AM, Alex Harui 
> > wrote:
> >
> >> What does IJ do with additional compiler options?  Does it put them in
> one
> >> of the .xml files?  I can see from the original post that IJ seems to be
> >> using:
> >>
> >> -load-config=/Users/joshtynjala/Library/Caches/
> >> IntelliJIdea2017.1/compile-s
> >> erver/helloidea_6d5abd99/_temp_/IntelliJ_IDEA/idea-
> B028A5AE-12E86E20.xml
> >> -load-config+=/Users/joshtynjala/Development/Flex/
> >> sdks/flexjs-0.8.0/ide/IDE
> >> A/intellij-config.xml
> >>
> >>
> >> Did the new output log of compiler options reflect that it recognized
> that
> >> option?  Also, I'm not sure that -targets will work, it might have to be
> >> -compiler.targets
> >>
> >> HTH,
> >> -Alex
> >>
> >> On 7/6/17, 9:23 AM, "Josh Tynjala"  wrote:
> >>
> >>> I tried specifying -targets=JSFlex in the additional compiler options,
> but
> >>> it made no difference.
> >>>
> >>> - Josh
> >>>
> >>> On Thu, Jul 6, 2017 at 9:09 AM, Alex Harui 
> >>> wrote:
> >>>
> >>>> I suspect the issue is that IJ dictates all of the settings and
> doesn't
> >>>> use flex-config.xml, and thus no targets are being specified.  Is
> there
> >>>> a
> >>>> way to specify compiler.targets in additional compiler options in IJ?
> >>>> There is in FB.
> >>>>
> >>>> -Alex
> >>>>
> >>>> On 7/6/17, 8:34 AM, "Josh Tynjala"  wrote:
> >>>>
> >>>>> While full support for FlexJS in IntelliJ IDEA would be great, I
> think
> >>>>> it's
> >>>>> critical that we fix this issue to at least get back to the baseline
> we
> >>>>> had
> >>>>> in 0.7. A FlexJS project required a little bit of extra configuration
> >>>> with
> >>>>> 0.7, but at least we could get the compiler to work inside IntellIJ.
> >>>>>
> >>>>> Many Flex/ActionScript developers use IntelliJ, and while I'd love to
> >>>>> encourage them to try VSCode, I think many prefer to take their first
> >>>>> steps
> >>>>> with FlexJS in an environment they already know. Having this stop
> >>>> working
> >>>>> (especially when there are tutorials out there claiming it works) is
> >>>> going
> >>>>> to turn people away.
> >>>>>
> >>>>> If we can fix this issue, I want to push a 0.8.1 update because I
> think
> >>>>> getting this working again is very, very important.
> >>>>>
> >>>>> - Josh
> >>>>>
> >>>>> On Thu, Jul 6, 2017 at 12:55 AM, piotrz 
> >>>> wrote:
> >>>>>
> >>>>>> As I remember Chris get to the bottom of it and resolved it.
> >>>>>> Unfortunately
> >>>>>> after contacting with Jetbrains they refuse accept pull request with
> >>>> fix
> >>>>>> and
> >>>>>> Chris dropped it. [1]
> >>>>>>
> >>>>>> I was thinking even then that if someone could fix it and store
> >>>> version
> >>>>>> of
> >>>>>> plugin somewhere with fix it would be also HUGE, cause we could gain
> >>>>>> another
> >>>>>> IDE which support FlexJS.
> >>>>>>
> >>>>>> [1]
> >>>>>>
> >>>>>> https://na01.safelinks.protection.outlook.com/?url=
> >>>> http%3A%2F%2Fapache-fl
> >>>>>> ex-development.247.n4.nabble&data=02%7C01%7C%
> >>>> 7C5f4eb274ee54460f044608
> >>>>>> d4c484a74e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> >>>> 7C63634952143892612
> >>>>>> 4&sdata=3U%2FcqwvO4C8OtATk9khadreh99KxUUf
> sfJYiEptjJzs%3D&reserved=0.
> >>>>>> com/FlexJS-Step-by-step-h-baby-td58710.html
> >>>>>>
> >>>>>> Thanks,
> >>>>>> Piotr
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> -
> >>>>>> Apache Flex PMC
> >>>>>> piotrzarzyck...@gmail.com
> >>>>>> --
> >>>>>> View this message in context: http://apache-flex-
> >>>>>> development.247.n4.nabble.com/FlexJS-0-8-0-not-working-
> >>>>>> in-IntelliJ-IDEA-tp62848p62862.html
> >>>>>> Sent from the Apache Flex Development mailing list archive at
> >>>>>> Nabble.com.
> >>>>>>
> >>>>
> >>>>
> >>
> >>
>
>


Re: [FlexJS] 0.8.0 not working in IntelliJ IDEA

2017-07-06 Thread Josh Tynjala
The problem looks to be related to this line:

compiler =
COMPILER.getDeclaredConstructor(IBackend.class).newInstance(backend);

It's looking for a constructor on MXMLJSC (not to be confused with MxmlJSC)
that takes an IBackend as a parameter. There is no longer a constructor
like that in 0.8.0. If I understand the dual changes correctly, MXMLJSC now
automatically creates an IBackend based on the -targets value. It looks
like this code does indeed still need changes to support dual.

- Josh

On Wed, Jul 5, 2017 at 3:09 PM, Josh Tynjala  wrote:

> I'm trying to create a new FlexJS 0.8.0 project in IntelliJ IDEA, and I'm
> getting the following output when I try to build the project:
>
> Information:[HelloIDEA]: Starting Flex compiler:
> "/Applications/IntelliJ IDEA.app/Contents/jdk/Contents/Home/jre/bin/java"
> -Dapplication.home=/Users/joshtynjala/Development/Flex/sdks/flexjs-0.8.0
> -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Duser.language=en
> -Duser.region=en -Xmx512m -classpath "/Applications/IntelliJ
> IDEA.app/Contents/plugins/flex/lib/idea-flex-compiler-fix.jar:/Applications/IntelliJ
> IDEA.app/Contents/plugins/flex/lib/flex-compiler.jar:/
> Users/joshtynjala/Development/Flex/sdks/flexjs-0.8.0/lib/flex-compiler-oem.jar"
> com.intellij.flex.compiler.FlexCompiler 54900
> Information:[HelloIDEA]: mxmlc -load-config=/Users/
> joshtynjala/Library/Caches/IntelliJIdea2017.1/compile-
> server/helloidea_6d5abd99/_temp_/IntelliJ_IDEA/idea-B028A5AE-12E86E20.xml
> -load-config+=/Users/joshtynjala/Development/Flex/
> sdks/flexjs-0.8.0/ide/IDEA/intellij-config.xml
> Information:[HelloIDEA]: unknown error
> Information:[HelloIDEA]: at java.lang.Class.getConstructor0(Class.java:
> 3082)
> Information:[HelloIDEA]: at java.lang.Class.getDeclaredConstructor(Class.
> java:2178)
> Information:[HelloIDEA]: at flex2.tools.MxmlJSC.
> getCompilerInstance(MxmlJSC.java:48)
> Information:[HelloIDEA]: at flex2.tools.MxmlJSC.execute(MxmlJSC.java:89)
> Information:[HelloIDEA]: at flex2.tools.Tool.compile(Tool.java:68)
> Information:[HelloIDEA]: at flex2.tools.Mxmlc.mxmlc(Mxmlc.java:73)
> Information:[HelloIDEA]: at com.intellij.flex.compiler.
> flex4.Flex4Handler.compileSwf(Flex4Handler.java:81)
> Information:[HelloIDEA]: at com.intellij.flex.compiler.
> CompilationThread.run(CompilationThread.java:48)
> Information:[HelloIDEA]: Compilation failed
> Information:7/5/17, 2:56 PM - Compilation completed with 1 error and 0
> warnings in 595ms
> Error:[HelloIDEA]: java.lang.NoSuchMethodException:
> org.apache.flex.compiler.clients.MXMLJSC.(org.
> apache.flex.compiler.driver.IBackend)
>
> I followed the steps in these instructions that worked correctly with
> 0.7.0:
>
> https://cwiki.apache.org/confluence/display/FLEX/Using+
> FlexJS+with+IntelliJ+IDEA
>
> I'm not very familiar with this part of the code, but it looks to me like
> the call to MxmlJSC.getCompilerInstance() can't find IBackend? Could it be
> that flex-compiler-oem.jar is missing something in its classpath?
>
> - Josh
>


Re: [FlexJS] 0.8.0 not working in IntelliJ IDEA

2017-07-06 Thread Josh Tynjala
The issue with IntelliJ IDEA on seems to be related to
flex-compiler-oem.jar, which VSCode doesn't use at all.

- Josh

On Thu, Jul 6, 2017 at 11:16 AM, Harbs  wrote:

> VS Code is reporting all kinds of issues that are not problems since the
> switch to dual. Maybe that’s related as well?
>
> > On Jul 6, 2017, at 9:06 PM, Josh Tynjala  wrote:
> >
> > I don't see why -targets wouldn't work when it works elsewhere, but I
> just
> > tried -compiler.targets too, and that also failed.
> >
> > Looking at the source code for flex2.tools.MxmlJSC, I see that it's still
> > checking for the -js-output-type option, and it isn't trying to find
> > -targets at all. Did you forget to update this class to support the dual
> > changes?
> >
> > - Josh
> >
> > On Thu, Jul 6, 2017 at 10:44 AM, Alex Harui 
> > wrote:
> >
> >> What does IJ do with additional compiler options?  Does it put them in
> one
> >> of the .xml files?  I can see from the original post that IJ seems to be
> >> using:
> >>
> >> -load-config=/Users/joshtynjala/Library/Caches/
> >> IntelliJIdea2017.1/compile-s
> >> erver/helloidea_6d5abd99/_temp_/IntelliJ_IDEA/idea-
> B028A5AE-12E86E20.xml
> >> -load-config+=/Users/joshtynjala/Development/Flex/
> >> sdks/flexjs-0.8.0/ide/IDE
> >> A/intellij-config.xml
> >>
> >>
> >> Did the new output log of compiler options reflect that it recognized
> that
> >> option?  Also, I'm not sure that -targets will work, it might have to be
> >> -compiler.targets
> >>
> >> HTH,
> >> -Alex
> >>
> >> On 7/6/17, 9:23 AM, "Josh Tynjala"  wrote:
> >>
> >>> I tried specifying -targets=JSFlex in the additional compiler options,
> but
> >>> it made no difference.
> >>>
> >>> - Josh
> >>>
> >>> On Thu, Jul 6, 2017 at 9:09 AM, Alex Harui 
> >>> wrote:
> >>>
> >>>> I suspect the issue is that IJ dictates all of the settings and
> doesn't
> >>>> use flex-config.xml, and thus no targets are being specified.  Is
> there
> >>>> a
> >>>> way to specify compiler.targets in additional compiler options in IJ?
> >>>> There is in FB.
> >>>>
> >>>> -Alex
> >>>>
> >>>> On 7/6/17, 8:34 AM, "Josh Tynjala"  wrote:
> >>>>
> >>>>> While full support for FlexJS in IntelliJ IDEA would be great, I
> think
> >>>>> it's
> >>>>> critical that we fix this issue to at least get back to the baseline
> we
> >>>>> had
> >>>>> in 0.7. A FlexJS project required a little bit of extra configuration
> >>>> with
> >>>>> 0.7, but at least we could get the compiler to work inside IntellIJ.
> >>>>>
> >>>>> Many Flex/ActionScript developers use IntelliJ, and while I'd love to
> >>>>> encourage them to try VSCode, I think many prefer to take their first
> >>>>> steps
> >>>>> with FlexJS in an environment they already know. Having this stop
> >>>> working
> >>>>> (especially when there are tutorials out there claiming it works) is
> >>>> going
> >>>>> to turn people away.
> >>>>>
> >>>>> If we can fix this issue, I want to push a 0.8.1 update because I
> think
> >>>>> getting this working again is very, very important.
> >>>>>
> >>>>> - Josh
> >>>>>
> >>>>> On Thu, Jul 6, 2017 at 12:55 AM, piotrz 
> >>>> wrote:
> >>>>>
> >>>>>> As I remember Chris get to the bottom of it and resolved it.
> >>>>>> Unfortunately
> >>>>>> after contacting with Jetbrains they refuse accept pull request with
> >>>> fix
> >>>>>> and
> >>>>>> Chris dropped it. [1]
> >>>>>>
> >>>>>> I was thinking even then that if someone could fix it and store
> >>>> version
> >>>>>> of
> >>>>>> plugin somewhere with fix it would be also HUGE, cause we could gain
> >>>>>> another
> >>>>>> IDE which support FlexJS.
> >>>>>>
> >>>>>> [1]
> >>>>>>
> >>>>>> https://na01.safelinks.protection.outlook.com/?url=
> >>>> http%3A%2F%2Fapache-fl
> >>>>>> ex-development.247.n4.nabble&data=02%7C01%7C%
> >>>> 7C5f4eb274ee54460f044608
> >>>>>> d4c484a74e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> >>>> 7C63634952143892612
> >>>>>> 4&sdata=3U%2FcqwvO4C8OtATk9khadreh99KxUUf
> sfJYiEptjJzs%3D&reserved=0.
> >>>>>> com/FlexJS-Step-by-step-h-baby-td58710.html
> >>>>>>
> >>>>>> Thanks,
> >>>>>> Piotr
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>> -
> >>>>>> Apache Flex PMC
> >>>>>> piotrzarzyck...@gmail.com
> >>>>>> --
> >>>>>> View this message in context: http://apache-flex-
> >>>>>> development.247.n4.nabble.com/FlexJS-0-8-0-not-working-
> >>>>>> in-IntelliJ-IDEA-tp62848p62862.html
> >>>>>> Sent from the Apache Flex Development mailing list archive at
> >>>>>> Nabble.com.
> >>>>>>
> >>>>
> >>>>
> >>
> >>
>
>


Re: [FlexJS] 0.8.0 not working in IntelliJ IDEA

2017-07-06 Thread Josh Tynjala
I don't see why -targets wouldn't work when it works elsewhere, but I just
tried -compiler.targets too, and that also failed.

Looking at the source code for flex2.tools.MxmlJSC, I see that it's still
checking for the -js-output-type option, and it isn't trying to find
-targets at all. Did you forget to update this class to support the dual
changes?

- Josh

On Thu, Jul 6, 2017 at 10:44 AM, Alex Harui 
wrote:

> What does IJ do with additional compiler options?  Does it put them in one
> of the .xml files?  I can see from the original post that IJ seems to be
> using:
>
> -load-config=/Users/joshtynjala/Library/Caches/
> IntelliJIdea2017.1/compile-s
> erver/helloidea_6d5abd99/_temp_/IntelliJ_IDEA/idea-B028A5AE-12E86E20.xml
> -load-config+=/Users/joshtynjala/Development/Flex/
> sdks/flexjs-0.8.0/ide/IDE
> A/intellij-config.xml
>
>
> Did the new output log of compiler options reflect that it recognized that
> option?  Also, I'm not sure that -targets will work, it might have to be
> -compiler.targets
>
> HTH,
> -Alex
>
> On 7/6/17, 9:23 AM, "Josh Tynjala"  wrote:
>
> >I tried specifying -targets=JSFlex in the additional compiler options, but
> >it made no difference.
> >
> >- Josh
> >
> >On Thu, Jul 6, 2017 at 9:09 AM, Alex Harui 
> >wrote:
> >
> >> I suspect the issue is that IJ dictates all of the settings and doesn't
> >> use flex-config.xml, and thus no targets are being specified.  Is there
> >>a
> >> way to specify compiler.targets in additional compiler options in IJ?
> >> There is in FB.
> >>
> >> -Alex
> >>
> >> On 7/6/17, 8:34 AM, "Josh Tynjala"  wrote:
> >>
> >> >While full support for FlexJS in IntelliJ IDEA would be great, I think
> >> >it's
> >> >critical that we fix this issue to at least get back to the baseline we
> >> >had
> >> >in 0.7. A FlexJS project required a little bit of extra configuration
> >>with
> >> >0.7, but at least we could get the compiler to work inside IntellIJ.
> >> >
> >> >Many Flex/ActionScript developers use IntelliJ, and while I'd love to
> >> >encourage them to try VSCode, I think many prefer to take their first
> >> >steps
> >> >with FlexJS in an environment they already know. Having this stop
> >>working
> >> >(especially when there are tutorials out there claiming it works) is
> >>going
> >> >to turn people away.
> >> >
> >> >If we can fix this issue, I want to push a 0.8.1 update because I think
> >> >getting this working again is very, very important.
> >> >
> >> >- Josh
> >> >
> >> >On Thu, Jul 6, 2017 at 12:55 AM, piotrz 
> >> wrote:
> >> >
> >> >> As I remember Chris get to the bottom of it and resolved it.
> >> >>Unfortunately
> >> >> after contacting with Jetbrains they refuse accept pull request with
> >>fix
> >> >> and
> >> >> Chris dropped it. [1]
> >> >>
> >> >> I was thinking even then that if someone could fix it and store
> >>version
> >> >>of
> >> >> plugin somewhere with fix it would be also HUGE, cause we could gain
> >> >> another
> >> >> IDE which support FlexJS.
> >> >>
> >> >> [1]
> >> >>
> >> >>https://na01.safelinks.protection.outlook.com/?url=
> >> http%3A%2F%2Fapache-fl
> >> >>ex-development.247.n4.nabble&data=02%7C01%7C%
> >> 7C5f4eb274ee54460f044608
> >> >>d4c484a74e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> >> 7C63634952143892612
> >> >>4&sdata=3U%2FcqwvO4C8OtATk9khadreh99KxUUfsfJYiEptjJzs%3D&reserved=0.
> >> >> com/FlexJS-Step-by-step-h-baby-td58710.html
> >> >>
> >> >> Thanks,
> >> >> Piotr
> >> >>
> >> >>
> >> >>
> >> >> -
> >> >> Apache Flex PMC
> >> >> piotrzarzyck...@gmail.com
> >> >> --
> >> >> View this message in context: http://apache-flex-
> >> >> development.247.n4.nabble.com/FlexJS-0-8-0-not-working-
> >> >> in-IntelliJ-IDEA-tp62848p62862.html
> >> >> Sent from the Apache Flex Development mailing list archive at
> >> >>Nabble.com.
> >> >>
> >>
> >>
>
>


Re: [FlexJS] 0.8.0 not working in IntelliJ IDEA

2017-07-06 Thread Josh Tynjala
I tried specifying -targets=JSFlex in the additional compiler options, but
it made no difference.

- Josh

On Thu, Jul 6, 2017 at 9:09 AM, Alex Harui  wrote:

> I suspect the issue is that IJ dictates all of the settings and doesn't
> use flex-config.xml, and thus no targets are being specified.  Is there a
> way to specify compiler.targets in additional compiler options in IJ?
> There is in FB.
>
> -Alex
>
> On 7/6/17, 8:34 AM, "Josh Tynjala"  wrote:
>
> >While full support for FlexJS in IntelliJ IDEA would be great, I think
> >it's
> >critical that we fix this issue to at least get back to the baseline we
> >had
> >in 0.7. A FlexJS project required a little bit of extra configuration with
> >0.7, but at least we could get the compiler to work inside IntellIJ.
> >
> >Many Flex/ActionScript developers use IntelliJ, and while I'd love to
> >encourage them to try VSCode, I think many prefer to take their first
> >steps
> >with FlexJS in an environment they already know. Having this stop working
> >(especially when there are tutorials out there claiming it works) is going
> >to turn people away.
> >
> >If we can fix this issue, I want to push a 0.8.1 update because I think
> >getting this working again is very, very important.
> >
> >- Josh
> >
> >On Thu, Jul 6, 2017 at 12:55 AM, piotrz 
> wrote:
> >
> >> As I remember Chris get to the bottom of it and resolved it.
> >>Unfortunately
> >> after contacting with Jetbrains they refuse accept pull request with fix
> >> and
> >> Chris dropped it. [1]
> >>
> >> I was thinking even then that if someone could fix it and store version
> >>of
> >> plugin somewhere with fix it would be also HUGE, cause we could gain
> >> another
> >> IDE which support FlexJS.
> >>
> >> [1]
> >>
> >>https://na01.safelinks.protection.outlook.com/?url=
> http%3A%2F%2Fapache-fl
> >>ex-development.247.n4.nabble&data=02%7C01%7C%
> 7C5f4eb274ee54460f044608
> >>d4c484a74e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%
> 7C63634952143892612
> >>4&sdata=3U%2FcqwvO4C8OtATk9khadreh99KxUUfsfJYiEptjJzs%3D&reserved=0.
> >> com/FlexJS-Step-by-step-h-baby-td58710.html
> >>
> >> Thanks,
> >> Piotr
> >>
> >>
> >>
> >> -
> >> Apache Flex PMC
> >> piotrzarzyck...@gmail.com
> >> --
> >> View this message in context: http://apache-flex-
> >> development.247.n4.nabble.com/FlexJS-0-8-0-not-working-
> >> in-IntelliJ-IDEA-tp62848p62862.html
> >> Sent from the Apache Flex Development mailing list archive at
> >>Nabble.com.
> >>
>
>


Re: [FlexJS] Mobile Depends on Flash 11.4?

2017-07-06 Thread Josh Tynjala
I have also gotten this error before. I remember that I had to manually set
playerglobal.version (and maybe also playerglobal.swfversion) in my
env.properties to get the build to pass.

- Josh

On Tue, Jul 4, 2017 at 12:14 AM, yishayw  wrote:

> I was having a problem building the Mobile package. It was complaining
> about
> line 151 in Camera.as which does camera.copyToByteArray(). Looking at the
> docs [1], it looks like this method became available in flash 11.4 while
> the
> build is set to look for flash player 11.1 (under build.properties).
>
> So I changed to flash 25.0 and rebuilt, and Mobile passed. The funny thing
> is that after changing back to 11.1, the build now passes.
>
> In short, it looks to me like the flash player requirement should be
> updated
> to 11.4.
>
> What do you guys think?
>
> [1]
> http://help.adobe.com/en_US/FlashPlatform/reference/
> actionscript/3/flash/media/Camera.html#copyToByteArray()
>
>
>
>
> --
> View this message in context: http://apache-flex-
> development.247.n4.nabble.com/FlexJS-Mobile-Depends-on-
> Flash-11-4-tp62811.html
> Sent from the Apache Flex Development mailing list archive at Nabble.com.
>


  1   2   3   4   5   6   7   8   >