Re: [MAVEN DISTRIBUTION] getting the Ant and Maven aligned
Hey Chris, Unfortunately I cannot share with you code of that project, unless by library you mean distribution which I have generated using your branches. I will have to double check, but I'm sure that I have rebuild everything using your branches. Thanks, Piotr czw., 11 mar 2021 o 21:47 Christofer Dutz napisał(a): > Hi Poitr, > > You re-built the compiler and then the framework (both in my branch and > including distribution)? > > Would you be able to share the library so I could try on my side? > > Chris > > -Ursprüngliche Nachricht- > Von: Piotr Zarzycki > Gesendet: Donnerstag, 11. März 2021 15:43 > An: Apache Royale Development > Betreff: Re: [MAVEN DISTRIBUTION] getting the Ant and Maven aligned > > Hi Chris, > > I have tested it with your changes and I'm getting same issue: > > Exception in thread "main" java.lang.NoClassDefFoundError: > org/apache/commons/lang/StringEscapeUtils > : at > > org.apache.royale.compiler.internal.codegen.js.jx.LiteralEmitter.emit(LiteralEmitter.java:225) > : at > > org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitLiteral(JSRoyaleEmitter.java:1040) > : at > org.apache.royale.compiler.internal.codegen.as > .ASBlockWalker.visitLiteral(ASBlockWalker.java:479) > : at > org.apache.royale.compiler.internal.visitor.as > .ASNodeSwitch.handle(ASNodeSwitch.java:373) > : at > org.apache.royale.compiler.internal.visitor.as > .ASNodeHandler.handle(ASNodeHandler.java:85) > : at > org.apache.royale.compiler.internal.visitor.as > .BeforeAfterStrategy.handle(BeforeAfterStrategy.java:110) > : at > org.apache.royale.compiler.internal.codegen.as > .ASBlockWalker.walk(ASBlockWalker.java:159) > : at > > org.apache.royale.compiler.internal.codegen.js.goog.JSGoogEmitter.emitAssignedValue(JSGoogEmitter.java:965) > : at > > org.apache.royale.compiler.internal.codegen.js.JSEmitter.emitAssignmentCoercion(JSEmitter.java:917) > : at > > org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitAssignmentCoercion(JSRoyaleEmitter.java:1558) > : at > > org.apache.royale.compiler.internal.codegen.js.jx.FunctionCallArgumentsEmitter.emitContents(FunctionCallArgumentsEmitter.java:103) > : at > > org.apache.royale.compiler.internal.codegen.js.jx.FunctionCallArgumentsEmitter.emit(FunctionCallArgumentsEmitter.java:50) > : > : at > > org.apache.royale.compiler.internal.codegen.js.jx.FunctionCallArgumentsEmitter.emit(FunctionCallArgumentsEmitter.java:35) > : at > > org.apache.royale.compiler.internal.codegen.js.JSEmitter.emitArguments(JSEmitter.java:259) > : at > > org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitArguments(JSRoyaleEmitter.java:986) > : at > > org.apache.royale.compiler.internal.codegen.js.jx.FunctionCallEmitter.emit(FunctionCallEmitter.java:693) > : at > > org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitFunctionCall(JSRoyaleEmitter.java:906) > : at > org.apache.royale.compiler.internal.codegen.as > .ASBlockWalker.visitFunctionCall(ASBlockWalker.java:330) > : at > org.apache.royale.compiler.internal.visitor.as > .ASNodeSwitch.handle(ASNodeSwitch.java:207) > : at > org.apache.royale.compiler.internal.visitor.as > .ASNodeHandler.handle(ASNodeHandler.java:85) > : at > org.apache.royale.compiler.internal.visitor.as > .BeforeAfterStrategy.handle(BeforeAfterStrategy.java:110) > : at > org.apache.royale.compiler.internal.codegen.as > .ASBlockWalker.walk(ASBlockWalker.java:159) > : at > > org.apache.royale.compiler.internal.codegen.js.goog.JSGoogEmitter.emitAssignedValue(JSGoogEmitter.java:965) > : at > > org.apache.royale.compiler.internal.codegen.js.JSEmitter.emitAssignmentCoercion(JSEmitter.java:917) > : at > > org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitAssignmentCoercion(JSRoyaleEmitter.java:1558) > : at > > org.apache.royale.compiler.internal.codegen.js.jx.BinaryOperatorEmitter.super_emitBinaryOperator(BinaryOperatorEmitter.java:598) > : at > > org.apache.royale.compiler.internal.codegen.js.jx.BinaryOperatorEmitter.emit(BinaryOperatorEmitter.java:500) > : at > > org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitBinaryOperator(JSRoyaleEmitter.java:1028) > : at > org.apache.royale.compiler.internal.codegen.as > .ASBlockWalker.visitBinaryOperator(ASBlockWalker.java:538) > : at > org.apache.royale.compiler.internal.visitor.as > .ASNodeSwitch.handle(ASNodeSwitch.java:348) > : at > org.apache.royale.compiler.internal.visitor.as > .ASNodeHandler.handle(ASNodeHandler.java:85) > : at > org.apache.royale.compiler.internal.visitor.as > .BeforeAfterStrategy.handle(BeforeAfterStrategy.java:110) > : at > org.apache.royale.compiler.internal.codegen.as > .ASBlockWalker.walk(ASBlockWalker.java:159) > : at > > org.apache.royale.compiler.internal.codegen.js.jx.StatementEmitter.emit(StatementEmitter.java:40) > : at > > org.apache.royale.compiler.internal.codegen.js.jx.StatementEmitter.emit(StatementEmitter.java:29) > : at > >
AW: [MAVEN DISTRIBUTION] getting the Ant and Maven aligned
Hi Poitr, You re-built the compiler and then the framework (both in my branch and including distribution)? Would you be able to share the library so I could try on my side? Chris -Ursprüngliche Nachricht- Von: Piotr Zarzycki Gesendet: Donnerstag, 11. März 2021 15:43 An: Apache Royale Development Betreff: Re: [MAVEN DISTRIBUTION] getting the Ant and Maven aligned Hi Chris, I have tested it with your changes and I'm getting same issue: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/StringEscapeUtils : at org.apache.royale.compiler.internal.codegen.js.jx.LiteralEmitter.emit(LiteralEmitter.java:225) : at org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitLiteral(JSRoyaleEmitter.java:1040) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.visitLiteral(ASBlockWalker.java:479) : at org.apache.royale.compiler.internal.visitor.as.ASNodeSwitch.handle(ASNodeSwitch.java:373) : at org.apache.royale.compiler.internal.visitor.as.ASNodeHandler.handle(ASNodeHandler.java:85) : at org.apache.royale.compiler.internal.visitor.as.BeforeAfterStrategy.handle(BeforeAfterStrategy.java:110) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.walk(ASBlockWalker.java:159) : at org.apache.royale.compiler.internal.codegen.js.goog.JSGoogEmitter.emitAssignedValue(JSGoogEmitter.java:965) : at org.apache.royale.compiler.internal.codegen.js.JSEmitter.emitAssignmentCoercion(JSEmitter.java:917) : at org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitAssignmentCoercion(JSRoyaleEmitter.java:1558) : at org.apache.royale.compiler.internal.codegen.js.jx.FunctionCallArgumentsEmitter.emitContents(FunctionCallArgumentsEmitter.java:103) : at org.apache.royale.compiler.internal.codegen.js.jx.FunctionCallArgumentsEmitter.emit(FunctionCallArgumentsEmitter.java:50) : : at org.apache.royale.compiler.internal.codegen.js.jx.FunctionCallArgumentsEmitter.emit(FunctionCallArgumentsEmitter.java:35) : at org.apache.royale.compiler.internal.codegen.js.JSEmitter.emitArguments(JSEmitter.java:259) : at org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitArguments(JSRoyaleEmitter.java:986) : at org.apache.royale.compiler.internal.codegen.js.jx.FunctionCallEmitter.emit(FunctionCallEmitter.java:693) : at org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitFunctionCall(JSRoyaleEmitter.java:906) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.visitFunctionCall(ASBlockWalker.java:330) : at org.apache.royale.compiler.internal.visitor.as.ASNodeSwitch.handle(ASNodeSwitch.java:207) : at org.apache.royale.compiler.internal.visitor.as.ASNodeHandler.handle(ASNodeHandler.java:85) : at org.apache.royale.compiler.internal.visitor.as.BeforeAfterStrategy.handle(BeforeAfterStrategy.java:110) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.walk(ASBlockWalker.java:159) : at org.apache.royale.compiler.internal.codegen.js.goog.JSGoogEmitter.emitAssignedValue(JSGoogEmitter.java:965) : at org.apache.royale.compiler.internal.codegen.js.JSEmitter.emitAssignmentCoercion(JSEmitter.java:917) : at org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitAssignmentCoercion(JSRoyaleEmitter.java:1558) : at org.apache.royale.compiler.internal.codegen.js.jx.BinaryOperatorEmitter.super_emitBinaryOperator(BinaryOperatorEmitter.java:598) : at org.apache.royale.compiler.internal.codegen.js.jx.BinaryOperatorEmitter.emit(BinaryOperatorEmitter.java:500) : at org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitBinaryOperator(JSRoyaleEmitter.java:1028) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.visitBinaryOperator(ASBlockWalker.java:538) : at org.apache.royale.compiler.internal.visitor.as.ASNodeSwitch.handle(ASNodeSwitch.java:348) : at org.apache.royale.compiler.internal.visitor.as.ASNodeHandler.handle(ASNodeHandler.java:85) : at org.apache.royale.compiler.internal.visitor.as.BeforeAfterStrategy.handle(BeforeAfterStrategy.java:110) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.walk(ASBlockWalker.java:159) : at org.apache.royale.compiler.internal.codegen.js.jx.StatementEmitter.emit(StatementEmitter.java:40) : at org.apache.royale.compiler.internal.codegen.js.jx.StatementEmitter.emit(StatementEmitter.java:29) : at org.apache.royale.compiler.internal.codegen.js.JSEmitter.emitStatement(JSEmitter.java:349) : at org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitStatement(JSRoyaleEmitter.java:1204) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.visitBlock(ASBlockWalker.java:349) : at org.apache.royale.compiler.internal.visitor.as.ASNodeSwitch.handle(ASNodeSwitch.java:278) : at org.apache.royale.compiler.internal.visitor.as.ASNodeHandler.handle(ASNodeHandler.java:85) : at org.apache.royale.compiler.internal.visitor.as.BeforeAfterStrategy.handle(BeforeAfterStrategy.java:110) : at
RE: [EXTERNAL] Re: Royale & NPE Behavior
The null pointer in this case is in the framework, not my code. I am using VSCode, pausing on exceptions is enabled, as well as pausing on uncaught exceptions. The problem is, no exception is thrown. No error exists. Rendering just stops for whatever component encounters the NP. To see what I'm talking about, try creating a VirtualList (jewel) without a ListPresentationModel. It will not render at all due to the NP. No errors, no exceptions. Perhaps my first email was a bit misleading because I kept using NPE, when really it's NPs without the E. I've noticed this same behavior within my own code. It's as is something is catching these and suppressing them. The following will show my issue: -Original Message- From: Yishay Weiss Sent: Thursday, March 11, 2021 4:21 AM To: dev@royale.apache.org Subject: [EXTERNAL] Re: Royale & NPE Behavior You got: >Without, the code will throw a null pointer exception resulting in an empty >list being displayed. And you expect: >Bare minimum, it would be nice to at least see an uncaught exception with the >debugger. Can you explain the difference? If what you need is for the debugger to halt execution with a stack trace, then you can switch on 'pause on exceptions' in the dev tools. I must be missing something... From: Brian Raymes Sent: Wednesday, March 10, 2021 7:16 PM To: dev@royale.apache.org Subject: Royale & NPE Behavior Hi all, I've been noticing a problem with Royale that I think is time to bring up with the greater audience. What is the expected behavior when encountering an NPE within a Royale application? I've notice that NPEs seem to break the UI with no notice of any kind. For example, I recently started trying out VirtualLists. For quite some time, I could not figure out why they would not render any of my data. It turns out, Virtual list requires the bead ListPresentationModel with a non-null rowHeight. This is due to VirtualListVerticalLayout's layout method assuming the existence of an IListPresentationModel. Without, the code will throw a null pointer exception resulting in an empty list being displayed. The problem I want to highlight is that as a developer, without diving through the framework code, and ultimately guessing on trying various things beforehand, there was no way for me to know that happened. There is no console log output stating the error, no uncaught exception for the debugger to catch, and no visible reasoning for what is occurring. Is this the expected behavior, or can this be improved? I've wasted a surprising amount of time chasing these issues in the past year while working with Royale. Bare minimum, it would be nice to at least see an uncaught exception with the debugger. Brian
Re: [MAVEN DISTRIBUTION] getting the Ant and Maven aligned
Hi Chris, I have tested it with your changes and I'm getting same issue: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/StringEscapeUtils : at org.apache.royale.compiler.internal.codegen.js.jx.LiteralEmitter.emit(LiteralEmitter.java:225) : at org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitLiteral(JSRoyaleEmitter.java:1040) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.visitLiteral(ASBlockWalker.java:479) : at org.apache.royale.compiler.internal.visitor.as.ASNodeSwitch.handle(ASNodeSwitch.java:373) : at org.apache.royale.compiler.internal.visitor.as.ASNodeHandler.handle(ASNodeHandler.java:85) : at org.apache.royale.compiler.internal.visitor.as.BeforeAfterStrategy.handle(BeforeAfterStrategy.java:110) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.walk(ASBlockWalker.java:159) : at org.apache.royale.compiler.internal.codegen.js.goog.JSGoogEmitter.emitAssignedValue(JSGoogEmitter.java:965) : at org.apache.royale.compiler.internal.codegen.js.JSEmitter.emitAssignmentCoercion(JSEmitter.java:917) : at org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitAssignmentCoercion(JSRoyaleEmitter.java:1558) : at org.apache.royale.compiler.internal.codegen.js.jx.FunctionCallArgumentsEmitter.emitContents(FunctionCallArgumentsEmitter.java:103) : at org.apache.royale.compiler.internal.codegen.js.jx.FunctionCallArgumentsEmitter.emit(FunctionCallArgumentsEmitter.java:50) : : at org.apache.royale.compiler.internal.codegen.js.jx.FunctionCallArgumentsEmitter.emit(FunctionCallArgumentsEmitter.java:35) : at org.apache.royale.compiler.internal.codegen.js.JSEmitter.emitArguments(JSEmitter.java:259) : at org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitArguments(JSRoyaleEmitter.java:986) : at org.apache.royale.compiler.internal.codegen.js.jx.FunctionCallEmitter.emit(FunctionCallEmitter.java:693) : at org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitFunctionCall(JSRoyaleEmitter.java:906) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.visitFunctionCall(ASBlockWalker.java:330) : at org.apache.royale.compiler.internal.visitor.as.ASNodeSwitch.handle(ASNodeSwitch.java:207) : at org.apache.royale.compiler.internal.visitor.as.ASNodeHandler.handle(ASNodeHandler.java:85) : at org.apache.royale.compiler.internal.visitor.as.BeforeAfterStrategy.handle(BeforeAfterStrategy.java:110) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.walk(ASBlockWalker.java:159) : at org.apache.royale.compiler.internal.codegen.js.goog.JSGoogEmitter.emitAssignedValue(JSGoogEmitter.java:965) : at org.apache.royale.compiler.internal.codegen.js.JSEmitter.emitAssignmentCoercion(JSEmitter.java:917) : at org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitAssignmentCoercion(JSRoyaleEmitter.java:1558) : at org.apache.royale.compiler.internal.codegen.js.jx.BinaryOperatorEmitter.super_emitBinaryOperator(BinaryOperatorEmitter.java:598) : at org.apache.royale.compiler.internal.codegen.js.jx.BinaryOperatorEmitter.emit(BinaryOperatorEmitter.java:500) : at org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitBinaryOperator(JSRoyaleEmitter.java:1028) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.visitBinaryOperator(ASBlockWalker.java:538) : at org.apache.royale.compiler.internal.visitor.as.ASNodeSwitch.handle(ASNodeSwitch.java:348) : at org.apache.royale.compiler.internal.visitor.as.ASNodeHandler.handle(ASNodeHandler.java:85) : at org.apache.royale.compiler.internal.visitor.as.BeforeAfterStrategy.handle(BeforeAfterStrategy.java:110) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.walk(ASBlockWalker.java:159) : at org.apache.royale.compiler.internal.codegen.js.jx.StatementEmitter.emit(StatementEmitter.java:40) : at org.apache.royale.compiler.internal.codegen.js.jx.StatementEmitter.emit(StatementEmitter.java:29) : at org.apache.royale.compiler.internal.codegen.js.JSEmitter.emitStatement(JSEmitter.java:349) : at org.apache.royale.compiler.internal.codegen.js.royale.JSRoyaleEmitter.emitStatement(JSRoyaleEmitter.java:1204) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.visitBlock(ASBlockWalker.java:349) : at org.apache.royale.compiler.internal.visitor.as.ASNodeSwitch.handle(ASNodeSwitch.java:278) : at org.apache.royale.compiler.internal.visitor.as.ASNodeHandler.handle(ASNodeHandler.java:85) : at org.apache.royale.compiler.internal.visitor.as.BeforeAfterStrategy.handle(BeforeAfterStrategy.java:110) : at org.apache.royale.compiler.internal.codegen.as.ASBlockWalker.walk(ASBlockWalker.java:159) : at org.apache.royale.compiler.internal.codegen.as.ASEmitter.emitMethodScope(ASEmitter.java:830) : at org.apache.royale.compiler.internal.codegen.js.jx.MethodEmitter.emit(MethodEmitter.java:160) : at
Re: Royale & NPE Behavior
You got: >Without, the code will throw a null pointer exception resulting in an empty >list being displayed. And you expect: >Bare minimum, it would be nice to at least see an uncaught exception with the >debugger. Can you explain the difference? If what you need is for the debugger to halt execution with a stack trace, then you can switch on 'pause on exceptions' in the dev tools. I must be missing something... From: Brian Raymes Sent: Wednesday, March 10, 2021 7:16 PM To: dev@royale.apache.org Subject: Royale & NPE Behavior Hi all, I've been noticing a problem with Royale that I think is time to bring up with the greater audience. What is the expected behavior when encountering an NPE within a Royale application? I've notice that NPEs seem to break the UI with no notice of any kind. For example, I recently started trying out VirtualLists. For quite some time, I could not figure out why they would not render any of my data. It turns out, Virtual list requires the bead ListPresentationModel with a non-null rowHeight. This is due to VirtualListVerticalLayout's layout method assuming the existence of an IListPresentationModel. Without, the code will throw a null pointer exception resulting in an empty list being displayed. The problem I want to highlight is that as a developer, without diving through the framework code, and ultimately guessing on trying various things beforehand, there was no way for me to know that happened. There is no console log output stating the error, no uncaught exception for the debugger to catch, and no visible reasoning for what is occurring. Is this the expected behavior, or can this be improved? I've wasted a surprising amount of time chasing these issues in the past year while working with Royale. Bare minimum, it would be nice to at least see an uncaught exception with the debugger. Brian