[jbosstools-issues] [JBoss JIRA] (JBIDE-22138) Server adapter: doesn't respect openshift maven profile
Andre Dietisheim (JIRA)
issues at jboss.org
Fri Aug 3 11:10:01 EDT 2018
[ https://issues.jboss.org/browse/JBIDE-22138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13609084#comment-13609084 ]
Andre Dietisheim edited comment on JBIDE-22138 at 8/3/18 11:09 AM:
-------------------------------------------------------------------
[~rob.stryker] m2e-wtp sets the module name in the following method: [AbstractProjectConfiguratorDelegate#configureDeployedName|https://github.com/eclipse/m2e.wtp/blob/master/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractProjectConfiguratorDelegate.java#L179]
I see it being called, which then causes the file to change on disk.
This then causes *J2EEModuleVirtualComponent* to clear it's cache:
{code}
J2EEModuleVirtualComponent(VirtualComponent).clearCache() line: 721
J2EEModuleVirtualComponent.clearCache() line: 512
J2EEModuleVirtualComponent(VirtualComponent).resourceChanged(Resource) line: 95
VirtualComponent$ResourceAdapter.notifyChanged(Notification) line: 78
WTPModulesResource(TranslatorResourceImpl).eNotify(Notification) line: 444
WTPModulesResource(ResourceImpl).setModified(boolean) line: 1867
WTPModulesResource(TranslatorResourceImpl).doSave(OutputStream, Map) line: 192
WTPModulesResource(ResourceImpl).save(OutputStream, Map<?,?>) line: 1475
WTPModulesResource(ResourceImpl).save(Map<?,?>) line: 1044
WTPModulesResource(ReferencedXMIResourceImpl).save(Map) line: 377
WTPModulesResource(TranslatorResourceImpl).save(Map) line: 167
ModuleStructuralModel(EditModel).primSaveResource(Resource) line: 1303
ModuleStructuralModel(EditModel).saveResource(Resource) line: 1334
ModuleStructuralModel(EditModel).primSave(IProgressMonitor) line: 1269
EditModel$1.run(IProgressMonitor) line: 373
Workspace.run(ICoreRunnable, ISchedulingRule, int, IProgressMonitor) line: 2289
Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 2316
ModuleStructuralModel.runSaveOperation(IWorkspaceRunnable, IProgressMonitor) line: 310
ModuleStructuralModel(EditModel).save(IProgressMonitor, Object) line: 376
ModuleStructuralModel.saveIfNecessary(IProgressMonitor, Object) line: 392
StructureEdit.saveIfNecessary(IProgressMonitor) line: 397
WebProjectConfiguratorDelegate(AbstractProjectConfiguratorDelegate).configureDeployedName(IProject, String) line: 189
{code}
But I dont see *JEEDeployableFactory#clearCache* being called. Btw. I dont see JEEDeployableFactory listening to resource change. Here are the listeners that I see registered:
* org.eclipse.emf.common.notify.impl.AdapterImpl at 21197771
* org.eclipse.wst.common.internal.emfworkbench.integration.EditModel$ResourceAdapter at 6bc55154
* org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper$FileAdapter at 3543d4e1
* EMF2DOMAdapterImpl(#document,WTPModulesResource), org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent$ResourceAdapter at 2e185af0
was (Author: adietish):
[~rob.stryker] m2e-wtp sets the module name in the following method: [AbstractProjectConfiguratorDelegate#configureDeployedName|https://github.com/eclipse/m2e.wtp/blob/master/org.eclipse.m2e.wtp/src/org/eclipse/m2e/wtp/AbstractProjectConfiguratorDelegate.java#L179]
I see it being called, which then causes the file to change on disk.
This then causes *J2EEModuleVirtualComponent* to clear it's cache:
{code}
J2EEModuleVirtualComponent(VirtualComponent).clearCache() line: 721
J2EEModuleVirtualComponent.clearCache() line: 512
J2EEModuleVirtualComponent(VirtualComponent).resourceChanged(Resource) line: 95
VirtualComponent$ResourceAdapter.notifyChanged(Notification) line: 78
WTPModulesResource(TranslatorResourceImpl).eNotify(Notification) line: 444
WTPModulesResource(ResourceImpl).setModified(boolean) line: 1867
WTPModulesResource(TranslatorResourceImpl).doSave(OutputStream, Map) line: 192
WTPModulesResource(ResourceImpl).save(OutputStream, Map<?,?>) line: 1475
WTPModulesResource(ResourceImpl).save(Map<?,?>) line: 1044
WTPModulesResource(ReferencedXMIResourceImpl).save(Map) line: 377
WTPModulesResource(TranslatorResourceImpl).save(Map) line: 167
ModuleStructuralModel(EditModel).primSaveResource(Resource) line: 1303
ModuleStructuralModel(EditModel).saveResource(Resource) line: 1334
ModuleStructuralModel(EditModel).primSave(IProgressMonitor) line: 1269
EditModel$1.run(IProgressMonitor) line: 373
Workspace.run(ICoreRunnable, ISchedulingRule, int, IProgressMonitor) line: 2289
Workspace.run(IWorkspaceRunnable, ISchedulingRule, int, IProgressMonitor) line: 2316
ModuleStructuralModel.runSaveOperation(IWorkspaceRunnable, IProgressMonitor) line: 310
ModuleStructuralModel(EditModel).save(IProgressMonitor, Object) line: 376
ModuleStructuralModel.saveIfNecessary(IProgressMonitor, Object) line: 392
StructureEdit.saveIfNecessary(IProgressMonitor) line: 397
WebProjectConfiguratorDelegate(AbstractProjectConfiguratorDelegate).configureDeployedName(IProject, String) line: 189
{code}
But I dont see *JEEDeployableFactory#clearCache* being called. Btw. I dont see J2EEDeployableFactory listening to resource change. Here are the listeners that I see registered:
* org.eclipse.emf.common.notify.impl.AdapterImpl at 21197771
* org.eclipse.wst.common.internal.emfworkbench.integration.EditModel$ResourceAdapter at 6bc55154
* org.eclipse.wst.common.internal.emfworkbench.WorkbenchResourceHelper$FileAdapter at 3543d4e1
* EMF2DOMAdapterImpl(#document,WTPModulesResource), org.eclipse.wst.common.componentcore.internal.resources.VirtualComponent$ResourceAdapter at 2e185af0
> Server adapter: doesn't respect openshift maven profile
> -------------------------------------------------------
>
> Key: JBIDE-22138
> URL: https://issues.jboss.org/browse/JBIDE-22138
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: openshift
> Environment: JBoss Developer Studio (Core Features) 9.1.0.GA-v20160403-1700-B477
> Openshift plugin 3.1.0.Final-v20160401-2357-B263
> Reporter: Rafael Benevides
> Assignee: Andre Dietisheim
> Labels: openshift_v3, server_adapter
> Fix For: 4.9.0.AM2
>
> Attachments: image-2018-06-22-19-02-57-247.png
>
>
> This is a follow up on JBIDE-22128.
> The maven profile is never read to determine the actual archive name. That will require more coupling to m2e, in order to load the pom.xml model using the openshift profile, if it exists, in order to determine the archive name. This will be a long running operation and will require more significant changes
> steps:
> # EXEC: follow steps outlined in https://github.com/redhat-helloworld-msa/helloworld-msa/blob/master/hello.adoc (deploying with fabric8 maven plugin doesn't work, you end up having the pod failing with ImagePullBack error. You need to take the alternative road where you deploy via "oc new-build", "oc new-app", "oc expose" etc.)
> # EXEC: import the app into your Eclipse workspace
> # EXEC: "hello" (workspace) project: Properties > Maven > Active Maven Profile: set "openshift"
> # EXEC: create a server adapter and start it
> # ASSERT: adapter starts syncing, verify what war is used
> Result:
> The war that's created locally and then synced to the pod is "hello.war" even though the profile specifies "ROOT.war"
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the jbosstools-issues
mailing list