Author: snjeza
Date: 2009-07-13 16:31:25 -0400 (Mon, 13 Jul 2009)
New Revision: 16558
Modified:
trunk/maven/plugins/org.jboss.tools.maven.core/plugin.xml
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/internal/project/facet/MavenFacetInstallDelegate.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4604 JBoss Maven Integration facet doesn't
work for projects that don't contain Web Module facet
Modified: trunk/maven/plugins/org.jboss.tools.maven.core/plugin.xml
===================================================================
--- trunk/maven/plugins/org.jboss.tools.maven.core/plugin.xml 2009-07-13 20:27:31 UTC (rev
16557)
+++ trunk/maven/plugins/org.jboss.tools.maven.core/plugin.xml 2009-07-13 20:31:25 UTC (rev
16558)
@@ -14,11 +14,15 @@
<project-facet-version facet="jboss.m2" version="1.0">
<constraint>
- <and>
- <requires facet="jst.java" version="[5.0"/>
- <requires facet="jst.web" version="[2.3"/>
- </and>
- </constraint>
+ <or>
+ <requires facet="jst.ear" version="[5.0"/>
+ <requires facet="jst.ejb" version="[3.0"/>
+ <requires facet="jst.web" version="[2.5"/>
+ <requires facet="jst.utility" version="[1.0"/>
+ <requires facet="jst.appclient" version="[1.2"/>
+ <requires facet="jst.connector" version="[1.0"/>
+ </or>
+ </constraint>
</project-facet-version>
<action id="jboss.m2.install" facet="jboss.m2"
type="INSTALL" version="1.0">
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 2009-07-13
20:27:31 UTC (rev 16557)
+++
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/MavenCoreActivator.java 2009-07-13
20:31:25 UTC (rev 16558)
@@ -29,6 +29,7 @@
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.jdt.core.IClasspathAttribute;
+import org.eclipse.jdt.core.IClasspathContainer;
import org.eclipse.jdt.core.IClasspathEntry;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
@@ -219,8 +220,11 @@
project.setDescription(description, monitor);
}
IJavaProject javaProject = JavaCore.create(project);
- IPath path = new Path(BuildPathManager.CONTAINER_ID);
- setContainerPath(monitor, javaProject, path);
+ IClasspathContainer mavenContainer =
BuildPathManager.getMaven2ClasspathContainer(javaProject);
+ if (mavenContainer == null) {
+ IPath path = new Path(BuildPathManager.CONTAINER_ID);
+ setContainerPath(monitor, javaProject, path);
+ }
return hasMavenNature;
}
Modified:
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/internal/project/facet/MavenFacetInstallDelegate.java
===================================================================
---
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/internal/project/facet/MavenFacetInstallDelegate.java 2009-07-13
20:27:31 UTC (rev 16557)
+++
trunk/maven/plugins/org.jboss.tools.maven.core/src/org/jboss/tools/maven/core/internal/project/facet/MavenFacetInstallDelegate.java 2009-07-13
20:31:25 UTC (rev 16558)
@@ -15,6 +15,7 @@
import org.eclipse.jdt.core.IClasspathAttribute;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jst.common.project.facet.core.JavaFacet;
import org.eclipse.jst.common.project.facet.core.libprov.LibraryProviderOperationConfig;
import org.eclipse.jst.j2ee.classpathdep.ClasspathDependencyUtil;
import org.eclipse.jst.j2ee.classpathdep.IClasspathDependencyConstants;
@@ -65,14 +66,19 @@
.getStringProperty(IJBossMavenConstants.PACKAGING));
model.setDescription(config
.getStringProperty(IJBossMavenConstants.DESCRIPTION));
+ Build build = new Build();
+ model.setBuild(build);
- Build build = new Build();
- //build.setFinalName(artifactId);
- String outputDirectory = MavenCoreActivator.getOutputDirectory(javaProject);
- build.setOutputDirectory(outputDirectory);
- String sourceDirectory = MavenCoreActivator.getSourceDirectory(javaProject);
- if (sourceDirectory != null) {
- build.setSourceDirectory(sourceDirectory);
+ // build.setFinalName(artifactId);
+ if (fpwc.hasProjectFacet(JavaFacet.FACET)) {
+ String outputDirectory = MavenCoreActivator
+ .getOutputDirectory(javaProject);
+ build.setOutputDirectory(outputDirectory);
+ String sourceDirectory = MavenCoreActivator
+ .getSourceDirectory(javaProject);
+ if (sourceDirectory != null) {
+ build.setSourceDirectory(sourceDirectory);
+ }
}
if (fpwc.hasProjectFacet(WebFacetUtils.WEB_FACET)) {
@@ -84,13 +90,14 @@
MavenCoreActivator.addMavenEjbPlugin(build, project);
}
if (fpwc.hasProjectFacet(IJ2EEFacetConstants.ENTERPRISE_APPLICATION_FACET)) {
-
MavenCoreActivator.addMavenEarPlugin(build, project, config, false);
+ MavenCoreActivator.createMavenProject(project.getName(), monitor, model, true);
}
- model.setBuild(build);
- MavenModelManager modelManager = MavenPlugin.getDefault().getMavenModelManager();
- modelManager.createMavenModel(pom, model);
+ if (!pom.exists()) {
+ MavenModelManager modelManager = MavenPlugin.getDefault().getMavenModelManager();
+ modelManager.createMavenModel(pom, model);
+ }
}
boolean hasMavenNature = MavenCoreActivator.addMavenNature(project, monitor);
@@ -116,8 +123,9 @@
for (LibraryProviderOperationConfig libraryProviderOperationConfig:configs) {
operation.execute(libraryProviderOperationConfig, monitor);
}
+ configs.clear();
}
- configs.clear();
+
}
}