[
https://issues.jboss.org/browse/JBIDE-9147?page=com.atlassian.jira.plugin...
]
Viacheslav Kabanovich commented on JBIDE-9147:
----------------------------------------------
Now I see what happens. The problem appeared when building of CDI extensions was included
into CDI build.
Previously, steps were as follows:
1. Create working copy of context.
2. Update class path (which removes from working copy objects loaded from removed paths)
3. Load objects to working copy of context.
With CDI extensions, steps changed as follows:
1. Update class path (which removes from working copy objects loaded from removed paths)
2. Update extensions based on new class path in current context.
3. Create working copy of context (including working copies of contexts for extensions).
4. Load objects to working copy of context.
Here item 1, as before, cleans a working copy 'created on the fly' but that copy
is discarded and replaced by new one created in item 3 - with all paths.
Now, proposed patch modifies steps as follows.
1. Update class path (store the set of removed paths).
2. Update extensions based on new class path in current context.
3. Create working copy of context (including working copies of contexts for extensions).
4. Remove from working copy stored paths.
5. Load objects to working copy of context.
I think it is safe to merge to M2.
A lot of Java Model Exceptions when updating project pom
--------------------------------------------------------
Key: JBIDE-9147
URL:
https://issues.jboss.org/browse/JBIDE-9147
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: cdi (jsr-299)
Affects Versions: 3.3.0.M2
Reporter: Lukas Jungmann
Assignee: Viacheslav Kabanovich
Priority: Critical
Fix For: 3.3.0.M2
Attachments: ide.log.txt, JBIDE-9147.patch
EXECUTE: Import Seam-booking example (See
http://seamframework.org/Seam3/Contribute for
details how to get this example from Seam git repository (make sure CDI support enabled).
EXECUTE: Open seam-bookong/pom.xml
EXECUTE: Find
{code}
<dependency>
<groupId>org.jboss.seam.faces</groupId>
<artifactId>seam-faces</artifactId>
</dependency>
{code}
EXECUTE: Add <version>3.0.1.Final</version> :
{code}
<dependency>
<groupId>org.jboss.seam.faces</groupId>
<artifactId>seam-faces</artifactId>
<version>3.0.1.Final</version>
</dependency>
{code}
EXECUTE: Save the pom.xml
FAILURE: See Eclipse log, there are dozens of various Java Model Exceptions:
{code}
Java Model Exception: Java Model Status
[/home/jlukas/.m2/repository/org/jboss/seam/faces/seam-faces/3.0.1.Final/seam-faces-3.0.1.Final.jar
is not on its project's build path]
at
org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:505)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:246)
at org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:504)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:240)
at org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:504)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:240)
at
org.eclipse.jdt.internal.core.SourceRefElement.generateInfos(SourceRefElement.java:107)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:518)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:255)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:241)
at org.eclipse.jdt.internal.core.BinaryField.getTypeSignature(BinaryField.java:77)
at org.jboss.tools.cdi.internal.core.impl.BeanMember.setMember(BeanMember.java:48)
at org.jboss.tools.cdi.internal.core.impl.BeanField.setField(BeanField.java:43)
at org.jboss.tools.cdi.internal.core.impl.BeanField.setDefinition(BeanField.java:30)
at org.jboss.tools.cdi.internal.core.impl.ClassBean.setDefinition(ClassBean.java:98)
at org.jboss.tools.cdi.internal.core.impl.CDIProject.rebuildBeans(CDIProject.java:1107)
at org.jboss.tools.cdi.internal.core.impl.CDIProject.update(CDIProject.java:1017)
at
org.jboss.tools.cdi.internal.core.impl.definition.DefinitionContext.applyWorkingCopy(DefinitionContext.java:382)
at org.jboss.tools.cdi.core.CDICoreBuilder.build(CDICoreBuilder.java:199)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
...
Java Model Exception: Java Model Status
[/home/jlukas/.m2/repository/org/jboss/seam/faces/seam-faces/3.0.1.Final/seam-faces-3.0.1.Final.jar
is not on its project's build path]
at
org.eclipse.jdt.internal.core.JavaElement.newJavaModelException(JavaElement.java:505)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:246)
at org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:504)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:240)
at org.eclipse.jdt.internal.core.Openable.openAncestors(Openable.java:504)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:240)
at
org.eclipse.jdt.internal.core.SourceRefElement.generateInfos(SourceRefElement.java:107)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:518)
at org.eclipse.jdt.internal.core.BinaryType.getElementInfo(BinaryType.java:286)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:241)
at org.eclipse.jdt.internal.core.BinaryType.isInterface(BinaryType.java:723)
at
org.jboss.tools.cdi.internal.core.scanner.ImplementationCollector.process(ImplementationCollector.java:44)
at
org.jboss.tools.cdi.internal.core.scanner.ImplementationCollector.<init>(ImplementationCollector.java:33)
at org.jboss.tools.cdi.internal.core.impl.CDIProject.rebuildBeans(CDIProject.java:1090)
at org.jboss.tools.cdi.internal.core.impl.CDIProject.update(CDIProject.java:1017)
at
org.jboss.tools.cdi.internal.core.impl.definition.DefinitionContext.applyWorkingCopy(DefinitionContext.java:382)
at org.jboss.tools.cdi.core.CDICoreBuilder.build(CDICoreBuilder.java:199)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
etc.
{code}
EXECUTE: Remove <version>3.0.1.Final</version>
FAILURE: See Eclipse log, there are dozens of various Java Model Exceptions noting that
version 3.0.1 was not found but this version has just been removed from pom
see attached ide log
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira