Author: fbricon
Date: 2012-04-04 06:42:32 -0400 (Wed, 04 Apr 2012)
New Revision: 40024
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.classpath
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.project
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/.jsdtscope
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.jdt.core.prefs
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.common.component
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.common.project.facet.core.xml
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.jsdt.ui.superType.container
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.jsdt.ui.superType.name
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/WebContent/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/WebContent/META-INF/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/WebContent/META-INF/MANIFEST.MF
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/WebContent/WEB-INF/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/WebContent/WEB-INF/lib/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/build/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/build/classes/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/pom.xml
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/seam-dependency.pom
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/src/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/target/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/target/classes/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/target/m2e-wtp/
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/target/m2e-wtp/web-resources/
Modified:
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/MavenCoreActivator.java
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/MavenUtil.java
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/ProjectUtil.java
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/configurators/SeamProjectConfigurator.java
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/internal/project/facet/MavenPostInstallListener.java
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/src/org/jboss/tools/maven/configurators/tests/SeamConfiguratorTest.java
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/src/org/jboss/tools/maven/core/ProjectUtilTest.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/ISeamFacetDataModelProperties.java
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDataModelProvider.java
Log:
JBIDE-11176: Exception is thrown when seam dependency is added
https://issues.jboss.org/browse/JBIDE-11176
Modified:
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/MavenCoreActivator.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/MavenCoreActivator.java 2012-04-04
05:04:46 UTC (rev 40023)
+++
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/MavenCoreActivator.java 2012-04-04
10:42:32 UTC (rev 40024)
@@ -49,7 +49,7 @@
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jst.common.project.facet.JavaFacetUtils;
+import org.eclipse.jst.common.project.facet.core.internal.JavaFacetUtil;
import org.eclipse.jst.common.project.facet.core.libprov.ILibraryProvider;
import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
import org.eclipse.jst.j2ee.project.JavaEEProjectUtilities;
@@ -176,7 +176,7 @@
public static void addMavenCapabilities(IProject project, IProgressMonitor monitor,
Model model) throws CoreException {
IFile pom = project.getFile(IMavenConstants.POM_FILE_NAME);
if (!pom.exists() && model != null) {
- MavenModelManager modelManager = MavenPlugin.getDefault().getMavenModelManager();
+ MavenModelManager modelManager = MavenPlugin.getMavenModelManager();
modelManager.createMavenModel(pom, model);
}
@@ -359,7 +359,7 @@
earVersion = ""+Double.valueOf(earVersion).intValue();//$NON-NLS-1$
}
Xpp3Dom version = new Xpp3Dom("version"); //$NON-NLS-1$
- version.setValue(earVersion); //$NON-NLS-1$
+ version.setValue(earVersion);
configuration.addChild(version);
}
Xpp3Dom defaultLibBundleDir = new Xpp3Dom("defaultLibBundleDir");
//$NON-NLS-1$
@@ -380,7 +380,7 @@
Xpp3Dom ejbProject = getEarModule(
"ejbModule", //$NON-NLS-1$
m2FacetModel.getStringProperty(IJBossMavenConstants.GROUP_ID),
- ejbArtifactId, ROOT_DIR, ejbModuleName); //$NON-NLS-1$
+ ejbArtifactId, ROOT_DIR, ejbModuleName);
modules.addChild(ejbProject);
}
@@ -390,7 +390,7 @@
"webModule", //$NON-NLS-1$
m2FacetModel.getStringProperty(IJBossMavenConstants.GROUP_ID),
m2FacetModel.getStringProperty(IJBossMavenConstants.ARTIFACT_ID),
- ROOT_DIR, webModuleName); //$NON-NLS-1$
+ ROOT_DIR, webModuleName);
Xpp3Dom contextRoot = new Xpp3Dom("contextRoot"); //$NON-NLS-1$
contextRoot.setValue(m2FacetModel
.getStringProperty(IJBossMavenConstants.ARTIFACT_ID));
@@ -710,7 +710,7 @@
}
public static void addCompilerPlugin(Build build, IProject project) {
- String compilerLevel = JavaFacetUtils.getCompilerLevel(project);
+ String compilerLevel = JavaFacetUtil.getCompilerLevel(project);
if (compilerLevel == null || DEFAULT_COMPILER_LEVEL.equals(compilerLevel)) {
return;
}
Modified:
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/MavenUtil.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/MavenUtil.java 2012-04-04
05:04:46 UTC (rev 40023)
+++
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/MavenUtil.java 2012-04-04
10:42:32 UTC (rev 40024)
@@ -10,12 +10,17 @@
************************************************************************************/
package org.jboss.tools.maven.core;
+import org.apache.maven.model.Model;
import org.apache.maven.model.Parent;
import org.apache.maven.project.MavenProject;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.m2e.core.MavenPlugin;
+import org.eclipse.m2e.core.embedder.MavenModelManager;
+import org.eclipse.m2e.core.internal.IMavenConstants;
import org.eclipse.m2e.core.project.IMavenProjectFacade;
/**
@@ -46,4 +51,17 @@
}
}
}
+
+ /**
+ * Returns the Maven Model of a project, or null if no pom.xml exits
+ */
+ public static Model getModel(IProject project) throws CoreException {
+ IFile pom = project.getFile(IMavenConstants.POM_FILE_NAME);
+ Model model = null;
+ if (pom.exists()) {
+ MavenModelManager modelManager = MavenPlugin.getMavenModelManager();
+ model = modelManager.readMavenModel(pom);
+ }
+ return model;
+ }
}
Modified:
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/ProjectUtil.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/ProjectUtil.java 2012-04-04
05:04:46 UTC (rev 40023)
+++
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/ProjectUtil.java 2012-04-04
10:42:32 UTC (rev 40024)
@@ -1,3 +1,13 @@
+/*************************************************************************************
+ * Copyright (c) 2008-2011 Red Hat, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * JBoss by Red Hat - Initial implementation.
+ ************************************************************************************/
package org.jboss.tools.maven.core;
import java.io.File;
Modified:
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/configurators/SeamProjectConfigurator.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/configurators/SeamProjectConfigurator.java 2012-04-04
05:04:46 UTC (rev 40023)
+++
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/configurators/SeamProjectConfigurator.java 2012-04-04
10:42:32 UTC (rev 40024)
@@ -503,6 +503,7 @@
config.setStringProperty(ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS,
deployType);
config.setBooleanProperty(ISeamFacetDataModelProperties.CONFIGURE_DEFAULT_SEAM_RUNTIME,
false);
config.setBooleanProperty(ISeamFacetDataModelProperties.CONFIGURE_WAR_PROJECT, false);
+ config.setBooleanProperty(ISeamFacetDataModelProperties.PROJECT_ALREADY_EXISTS, true);
IPreferenceStore store = MavenSeamActivator.getDefault().getPreferenceStore();
boolean configureSeamArtifacts = store.getBoolean(Activator.CONFIGURE_SEAM_ARTIFACTS);
if (!configureSeamArtifacts) {
Modified:
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/internal/project/facet/MavenPostInstallListener.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/internal/project/facet/MavenPostInstallListener.java 2012-04-04
05:04:46 UTC (rev 40023)
+++
trunk/maven/plugins/org.jboss.tools.maven.seam/src/org/jboss/tools/maven/seam/internal/project/facet/MavenPostInstallListener.java 2012-04-04
10:42:32 UTC (rev 40024)
@@ -1,11 +1,12 @@
package org.jboss.tools.maven.seam.internal.project.facet;
-import java.util.Set;
+import java.util.Map;
+import java.util.WeakHashMap;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
import org.eclipse.wst.common.project.facet.core.IFacetedProject;
import org.eclipse.wst.common.project.facet.core.IProjectFacet;
-import org.eclipse.wst.common.project.facet.core.IProjectFacetVersion;
+import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectEvent;
import org.eclipse.wst.common.project.facet.core.events.IFacetedProjectListener;
import org.eclipse.wst.common.project.facet.core.events.IProjectFacetActionEvent;
@@ -15,50 +16,64 @@
public class MavenPostInstallListener implements IFacetedProjectListener {
- private IDataModel m2FacetModel, seamFacetModel;
- private boolean configured = false;
+ private static final String M2_FACET_MODEL_PROVIDER =
"org.jboss.tools.maven.core.internal.project.facet.MavenFacetInstallDataModelProvider";
//$NON-NLS-1$
- private static final String M2_FACET_MODEL_PROVIDER =
"org.jboss.tools.maven.core.internal.project.facet.MavenFacetInstallDataModelProvider";
//$NON-NLS-1$
private static final String SEAM_FACET_MODEL_PROVIDER =
"org.jboss.tools.seam.internal.core.project.facet.SeamFacetInstallDataModelProvider";
//$NON-NLS-1$
+
+ private static final IProjectFacet MAVEN_FACET =
ProjectFacetsManager.getProjectFacet(IJBossMavenConstants.M2_FACET_ID);
+
+ private static final IProjectFacet SEAM_FACET =
ProjectFacetsManager.getProjectFacet("jst.seam"); //$NON-NLS-1$
+
+ private Map<IFacetedProject, IDataModel> seamModels = new
WeakHashMap<IFacetedProject, IDataModel>(1);
+
+ private Map<IFacetedProject, IDataModel> mavenModels = new
WeakHashMap<IFacetedProject, IDataModel>(1);
+
public void handleEvent(IFacetedProjectEvent event) {
+ if (!(event instanceof IProjectFacetActionEvent)) {
+ return;
+ }
+
IFacetedProject facetedProject = event.getProject();
- Set<IProjectFacetVersion> projectFacets = facetedProject
- .getProjectFacets();
+
+ boolean isSeamProject = facetedProject.hasProjectFacet(SEAM_FACET);
+ boolean isM2Project = facetedProject.hasProjectFacet(MAVEN_FACET);
+
+ Object object = ((IProjectFacetActionEvent) event).getActionConfig();
- boolean isSeamProject = false;
- boolean isM2Project = false;
- for (IProjectFacetVersion projectFacetVersion : projectFacets) {
- IProjectFacet projectFacet = projectFacetVersion.getProjectFacet();
- if (ISeamFacetDataModelProperties.SEAM_FACET_ID.equals(projectFacet.getId())) {
- isSeamProject = true;
- }
- else if (IJBossMavenConstants.M2_FACET_ID.equals(projectFacet.getId())) {
- isM2Project = true;
- }
- }
-
- IProjectFacetActionEvent actionEvent = (IProjectFacetActionEvent) event;
- Object object = actionEvent.getActionConfig();
+ IDataModel m2FacetModel = null;
+ IDataModel seamFacetModel = null;
if (object instanceof IDataModel) {
+
IDataModel dataModel = (IDataModel) object;
+
if ( SEAM_FACET_MODEL_PROVIDER.equals(dataModel.getID())) {
- seamFacetModel = dataModel;
+ seamModels.put(facetedProject, dataModel);
+ seamFacetModel = dataModel;
}
else if ( M2_FACET_MODEL_PROVIDER.equals(dataModel.getID()) ) {
- m2FacetModel = dataModel;
+ mavenModels.put(facetedProject, dataModel);
+ m2FacetModel = dataModel;
}
}
- if (!isSeamProject) {
- configured = false;
+
+ if (m2FacetModel == null) {
+ m2FacetModel = mavenModels.get(facetedProject);
}
+ if (seamFacetModel == null) {
+ seamFacetModel = seamModels.get(facetedProject);
+ }
- if (isSeamProject && isM2Project && !configured) {
- boolean mavenProjectExists =
m2FacetModel.getBooleanProperty(IJBossMavenConstants.MAVEN_PROJECT_EXISTS);
+ if (isSeamProject && isM2Project && seamFacetModel != null &&
m2FacetModel != null) {
+ boolean mavenProjectExists =
seamFacetModel.getBooleanProperty(ISeamFacetDataModelProperties.PROJECT_ALREADY_EXISTS);
+ mavenProjectExists = mavenProjectExists ||
m2FacetModel.getBooleanProperty(IJBossMavenConstants.MAVEN_PROJECT_EXISTS);
+ //System.err.println("Configuration using m2eFacetModel of "+
m2FacetModel.getStringProperty(IJBossMavenConstants.ARTIFACT_ID));
if (!mavenProjectExists) {
MavenSeamActivator.getDefault().configureSeamProject(seamFacetModel,m2FacetModel);
- }
- configured=true;
+ }
+ mavenModels.remove(facetedProject);
+ seamModels.remove(facetedProject);
}
}
+
}
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.classpath
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.classpath
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.classpath 2012-04-04
10:42:32 UTC (rev 40024)
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
+ <attributes>
+ <attribute name="owner.project.facets" value="java"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con"
path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="output" path="build/classes"/>
+</classpath>
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.project
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.project
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.project 2012-04-04
10:42:32 UTC (rev 40024)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>dynamic-web</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.common.project.facet.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
+ <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
+ <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
+ </natures>
+</projectDescription>
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/.jsdtscope
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/.jsdtscope
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/.jsdtscope 2012-04-04
10:42:32 UTC (rev 40024)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="WebContent"/>
+ <classpathentry kind="con"
path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con"
path="org.eclipse.wst.jsdt.launching.WebProject">
+ <attributes>
+ <attribute name="hide" value="true"/>
+ </attributes>
+ </classpathentry>
+ <classpathentry kind="con"
path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
+ <classpathentry kind="output" path=""/>
+</classpath>
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.jdt.core.prefs
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.jdt.core.prefs
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.jdt.core.prefs 2012-04-04
10:42:32 UTC (rev 40024)
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.common.component
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.common.component
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.common.component 2012-04-04
10:42:32 UTC (rev 40024)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project-modules id="moduleCoreId" project-version="1.5.0">
+ <wb-module deploy-name="dynamic-web">
+ <wb-resource deploy-path="/" source-path="/WebContent"
tag="defaultRootSource"/>
+ <wb-resource deploy-path="/WEB-INF/classes"
source-path="/src"/>
+ <property name="context-root" value="dynamic-web"/>
+ <property name="java-output-path"
value="/dynamic-web/build/classes"/>
+ </wb-module>
+</project-modules>
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.common.project.facet.core.xml
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.common.project.facet.core.xml
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.common.project.facet.core.xml 2012-04-04
10:42:32 UTC (rev 40024)
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<faceted-project>
+ <fixed facet="wst.jsdt.web"/>
+ <fixed facet="jst.web"/>
+ <fixed facet="java"/>
+ <installed facet="java" version="1.6"/>
+ <installed facet="jst.web" version="3.0"/>
+ <installed facet="jboss.m2" version="1.0"/>
+ <installed facet="wst.jsdt.web" version="1.0"/>
+</faceted-project>
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.jsdt.ui.superType.container
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.jsdt.ui.superType.container
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.jsdt.ui.superType.container 2012-04-04
10:42:32 UTC (rev 40024)
@@ -0,0 +1 @@
+org.eclipse.wst.jsdt.launching.baseBrowserLibrary
\ No newline at end of file
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.jsdt.ui.superType.name
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.jsdt.ui.superType.name
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/.settings/org.eclipse.wst.jsdt.ui.superType.name 2012-04-04
10:42:32 UTC (rev 40024)
@@ -0,0 +1 @@
+Window
\ No newline at end of file
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/WebContent/META-INF/MANIFEST.MF
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/WebContent/META-INF/MANIFEST.MF
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/WebContent/META-INF/MANIFEST.MF 2012-04-04
10:42:32 UTC (rev 40024)
@@ -0,0 +1,3 @@
+Manifest-Version: 1.0
+Class-Path:
+
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/pom.xml
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/pom.xml
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/pom.xml 2012-04-04
10:42:32 UTC (rev 40024)
@@ -0,0 +1,37 @@
+<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.tools</groupId>
+ <artifactId>dynamic-web</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <packaging>war</packaging>
+ <name>dynamic-web</name>
+ <build>
+ <sourceDirectory>${basedir}/src</sourceDirectory>
+ <resources>
+ <resource>
+ <directory>${basedir}/src</directory>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <warSourceDirectory>${basedir}/WebContent</warSourceDirectory>
+ <failOnMissingWebXml>false</failOnMissingWebXml>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.3.2</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
\ No newline at end of file
Added:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/seam-dependency.pom
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/seam-dependency.pom
(rev 0)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/projects/conversion/dynamic-web/seam-dependency.pom 2012-04-04
10:42:32 UTC (rev 40024)
@@ -0,0 +1,63 @@
+<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.tools</groupId>
+ <artifactId>dynamic-web</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <packaging>war</packaging>
+ <name>dynamic-web</name>
+ <build>
+ <sourceDirectory>${basedir}/src</sourceDirectory>
+ <resources>
+ <resource>
+ <directory>${basedir}/src</directory>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>2.2</version>
+ <configuration>
+ <warSourceDirectory>${basedir}/WebContent</warSourceDirectory>
+ <failOnMissingWebXml>false</failOnMissingWebXml>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <version>2.3.2</version>
+ <configuration>
+ <source>1.6</source>
+ <target>1.6</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.seam</groupId>
+ <artifactId>jboss-seam</artifactId>
+ <version>2.3.0.Beta1</version>
+ <type>ejb</type>
+ </dependency>
+ </dependencies>
+ <repositories>
+ <!-- You should seriously consider using a repository manager or declare
+ repositories in your settings.xml. See
http://www.sonatype.com/people/2009/02/why-putting-repositories-in-your-p...
-->
+ <repository>
+ <!-- The JBoss Public repository is a composite repository of several
+ major repositories. See
http://community.jboss.org/wiki/MavenGettingStarted-Users
-->
+ <id>jboss-public-repository</id>
+ <
url>http://repository.jboss.org/nexus/content/groups/public</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <!-- You can disable snapshot resolution to speed up your builds -->
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+</project>
\ No newline at end of file
Modified:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/src/org/jboss/tools/maven/configurators/tests/SeamConfiguratorTest.java
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/src/org/jboss/tools/maven/configurators/tests/SeamConfiguratorTest.java 2012-04-04
05:04:46 UTC (rev 40023)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/src/org/jboss/tools/maven/configurators/tests/SeamConfiguratorTest.java 2012-04-04
10:42:32 UTC (rev 40024)
@@ -2,14 +2,18 @@
import java.io.File;
+import org.apache.maven.model.Model;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.m2e.core.embedder.MavenModelManager;
import org.eclipse.m2e.core.project.ResolverConfiguration;
import org.eclipse.wst.common.project.facet.core.IFacetedProject;
import org.eclipse.wst.common.project.facet.core.IProjectFacet;
import org.eclipse.wst.common.project.facet.core.ProjectFacetsManager;
import org.jboss.tools.jst.web.kb.IKbProject;
+import org.jboss.tools.maven.core.MavenUtil;
import org.jboss.tools.maven.jsf.configurators.JSFProjectConfigurator;
import org.jboss.tools.seam.core.ISeamProject;
import org.jboss.tools.seam.core.SeamCorePlugin;
@@ -85,4 +89,24 @@
IEclipsePreferences prefs = SeamCorePlugin.getSeamPreferences(web);
assertEquals(ISeamFacetDataModelProperties.DEPLOY_AS_EAR,
prefs.get(ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS, null));
}
+
+
+ @Test
+ public void testJBIDE11176_addSeamDependencyToExistingMavenizedProject() throws
Exception {
+ IProject project = createExisting("dynamic-web",
"projects/conversion/dynamic-web");
+ project.build(IncrementalProjectBuilder.FULL_BUILD, monitor);
+ waitForJobsToComplete();
+ updateProject(project, "seam-dependency.pom");
+ assertNoErrors(project);
+
+ Model model = MavenUtil.getModel(project);
+ assertNotNull("Model is null", model);
+
+ assertEquals("Unexpected dependencies found :"+ model.getDependencies(), 1,
model.getDependencies().size());
+ assertNull("Found unxepected parent "+ model.getParent(),
model.getParent());
+
+ }
+
+
+
}
Modified:
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/src/org/jboss/tools/maven/core/ProjectUtilTest.java
===================================================================
---
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/src/org/jboss/tools/maven/core/ProjectUtilTest.java 2012-04-04
05:04:46 UTC (rev 40023)
+++
trunk/maven/tests/org.jboss.tools.maven.configurators.tests/src/org/jboss/tools/maven/core/ProjectUtilTest.java 2012-04-04
10:42:32 UTC (rev 40024)
@@ -1,3 +1,13 @@
+/*************************************************************************************
+ * Copyright (c) 2012 Red Hat, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ *
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * JBoss by Red Hat - Initial implementation.
+ ************************************************************************************/
package org.jboss.tools.maven.core;
import java.io.File;
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/ISeamFacetDataModelProperties.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/ISeamFacetDataModelProperties.java 2012-04-04
05:04:46 UTC (rev 40023)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/ISeamFacetDataModelProperties.java 2012-04-04
10:42:32 UTC (rev 40024)
@@ -346,5 +346,11 @@
String SEAM_TEMPLATES_AND_LIBRARIES_COPYING = "seam.templates.copying";
//$NON-NLS-1$
String SEAM_LIBRARY_PROVIDER = "seam.runtime.library.provider"; //$NON-NLS-1$
+
+ /**
+ * This flag indicates a project already exists in the workspace.
+ * This is used to distinguish Facet installation from a Wizard vs from a Maven
configurator.
+ */
+ String PROJECT_ALREADY_EXISTS = "seam.project.already.exists";
}
\ No newline at end of file
Modified:
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDataModelProvider.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDataModelProvider.java 2012-04-04
05:04:46 UTC (rev 40023)
+++
trunk/seam/plugins/org.jboss.tools.seam.core/src/org/jboss/tools/seam/internal/core/project/facet/SeamFacetInstallDataModelProvider.java 2012-04-04
10:42:32 UTC (rev 40024)
@@ -98,6 +98,9 @@
names.add(ISeamFacetDataModelProperties.SEAM_TEMPLATES_AND_LIBRARIES_COPYING);
names.add(ISeamFacetDataModelProperties.SEAM_LIBRARY_PROVIDER);
+ //JBIDE-11176 We need to be able to distinguish facet installation between wizard and
maven configurator
+ names.add(ISeamFacetDataModelProperties.PROJECT_ALREADY_EXISTS);
+
return names;
}