Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crux regression in release mode #866

Open
carlosrovira opened this issue Jun 12, 2020 · 3 comments
Open

Crux regression in release mode #866

carlosrovira opened this issue Jun 12, 2020 · 3 comments

Comments

@carlosrovira
Copy link
Contributor

Hi @greg-dove,

I'm getting the following error in some Crux applications. Only release, debug is working ok. I guess is something related to latest changes.

For example, "CruxQuickStart" is working ok, but "todomvc-jewel-crux" is showing the problem.

This is the RTE from example "todomvc-jewel-crux" in release mode.

getDefinitionByName.js:59 Uncaught ReferenceError: Error #1065: Variable org.apache.royale.jewel.View is not defined.
at $q (getDefinitionByName.js:59)
at br.L.Sk (TypeDefinition.as:389)
at Iz.fromTypeDefinition (TypeDescriptor.as:167)
at Uu (TypeCache.as:60)
at nw (BeanFactory.as:616)
at qw (CruxManager.as:107)
at st.L.setUpEventHandler (BeanFactory.as:517)
at oB.Mq.fireListeners (EventDispatcher.as:131)
at qp (eventtarget.js:372)
at Mx.L.Kp (JSStageEvents.as:209)
...(hidden in the browser)...
$q @ ContainerDataBinding.as:177
L.Sk @ TypeDefinition.js:513
Iz.fromTypeDefinition @ TypeDescriptor.as:139
Uu @ ArrayListView.js:1088
nw @ BeanFactory.as:577
qw @ CruxManager.as:69
L.setUpEventHandler @ BeanFactory.as:493
Mq.fireListeners @ EventDispatcher.as:110
qp @ eventtarget.js:349
L.Kp @ JSStageEvents.as:155
childList (async)
ez.addElement @ TextPrompt.js:177
L.initialize @ Application.as:706
ez.start @ Application.as:668
(anonymous) @ index.html:37

@carlosrovira
Copy link
Contributor Author

Hi Greg, I found a work around to fix the problem.
If I add in my pom.xml the jewel dependency it works on release. What seems to me very strange since it's getting it from the parent:

<dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Jewel</artifactId>
      <version>0.9.8-SNAPSHOT</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>

Maybe something to check with @chrisdutz

Thanks

@chrisdutz
Copy link
Contributor

Well as far as I can see it the todomvc-jewel-crux module didn't have the Jewel dependency ... so if you add it and it works, I guess it was simply missing. And I can't see that it's included by a parent module.

@carlosrovira
Copy link
Contributor Author

Hi Chris,

it's very strange, since it's clear that Jewel is detected in the dependency graph, from some parent, since in fact js-debug works perfect (and is finding all the jewel classes). The problem is only in js-release, where it finds too, since all compiles fine, but we just see the problem at Runtime when Crux throws the RTE about one class not found in the Reflection sussystem.
In fact I see the interface of todo mvc rendered showing the title, and the jewel list.

Maybe is a problem related to compiler in relation to some maven structure issue.
It's clear that is not critic, since we have a workaround, but maybe something to take into account in the one branch refactor.

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants