Index: pom.xml
===================================================================
--- pom.xml	(revision 441863)
+++ pom.xml	(working copy)
@@ -2,7 +2,7 @@
   <parent>
     <artifactId>maven-plugins</artifactId>
     <groupId>org.apache.maven.plugins</groupId>
-    <version>2-SNAPSHOT</version>
+    <version>2</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-idea-plugin</artifactId>
Index: src/main/java/org/apache/maven/plugin/idea/IdeaModuleMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/idea/IdeaModuleMojo.java	(revision 441863)
+++ src/main/java/org/apache/maven/plugin/idea/IdeaModuleMojo.java	(working copy)
@@ -78,6 +78,15 @@
     private boolean linkModules;
 
     /**
+     * Whether to exclude certain reactor projects from inclusion as dependency modules.
+     *
+     * Default is empty, comma-seperated list of modules which should be excluded.
+     *
+     * @parameter expression="${neverLinkModules}" default-value=""
+     */
+    private String neverLinkModules;
+
+    /**
      * Specify the location of the deployment descriptor file, if one is provided
      *
      * @parameter expression="${deploymentDescriptorFile}"
@@ -177,7 +186,7 @@
     public void initParam( MavenProject project, ArtifactFactory artifactFactory, ArtifactRepository localRepo,
                            ArtifactResolver artifactResolver, ArtifactMetadataSource artifactMetadataSource, Log log,
                            boolean overwrite, MavenProject executedProject, List reactorProjects,
-                           WagonManager wagonManager, boolean linkModules, boolean useFullNames,
+                           WagonManager wagonManager, boolean linkModules, String neverLinkModules, boolean useFullNames,
                            boolean downloadSources, String sourceClassifier, boolean downloadJavadocs,
                            String javadocClassifier, Library[] libraries, Set macros, String exclude,
                            boolean useShortDependencyNames, String deploymentDescriptorFile, boolean ideaPlugin )
@@ -191,6 +200,8 @@
 
         this.linkModules = linkModules;
 
+        this.neverLinkModules = neverLinkModules;
+
         this.useFullNames = useFullNames;
 
         this.downloadSources = downloadSources;
@@ -474,7 +485,11 @@
             }
 
             boolean isIdeaModule = false;
-            if ( linkModules )
+
+            System.out.println(moduleName);
+            System.out.println(neverLinkModules);
+            
+            if ( linkModules && linkingAllowed(moduleName))
             {
                 isIdeaModule = isReactorProject( a.getGroupId(), a.getArtifactId() );
 
@@ -595,7 +610,8 @@
 
             Element containerElement = createElement( component, "containerElement" );
 
-            if ( linkModules && isReactorProject( artifact.getGroupId(), artifact.getArtifactId() ) )
+            if ( linkModules && isReactorProject( artifact.getGroupId(), artifact.getArtifactId() )
+                    && linkingAllowed(artifact.getArtifactId()))
             {
                 containerElement.addAttribute( "type", "module" );
                 containerElement.addAttribute( "name", artifact.getArtifactId() );
@@ -621,6 +637,23 @@
         }
     }
 
+    private boolean linkingAllowed(String name)
+    {
+        if(neverLinkModules == null)
+            return true;
+
+        String[] moduleNames = neverLinkModules.split(",");
+
+        for (int i = 0; i < moduleNames.length; i++)
+        {
+            String moduleName = moduleNames[i];
+            if(moduleName.trim().equals(name))
+                return false;
+        }
+
+        return true;
+    }
+
     private void extractMacro( String path )
     {
         if ( macros != null )
@@ -745,7 +778,7 @@
 
             Element containerElement = createElement( component, "containerElement" );
 
-            if ( linkModules && isReactorProject( artifact.getGroupId(), artifact.getArtifactId() ) )
+            if ( linkModules && isReactorProject( artifact.getGroupId(), artifact.getArtifactId() ) && linkingAllowed(artifact.getArtifactId()))
             {
                 containerElement.addAttribute( "type", "module" );
                 containerElement.addAttribute( "name", artifact.getArtifactId() );
Index: src/main/java/org/apache/maven/plugin/idea/IdeaMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/idea/IdeaMojo.java	(revision 441863)
+++ src/main/java/org/apache/maven/plugin/idea/IdeaMojo.java	(working copy)
@@ -56,6 +56,15 @@
     private boolean linkModules;
 
     /**
+     * Whether to exclude certain reactor projects from inclusion as dependency modules.
+     *
+     * Default is empty, comma-seperated list of modules which should be excluded.
+     *
+     * @parameter expression="${neverLinkModules}" default-value=""
+     */
+    private String neverLinkModules;    
+
+    /**
      * Specify the location of the deployment descriptor file, if one is provided
      *
      * @parameter expression="${deploymentDescriptorFile}"
@@ -210,7 +219,7 @@
         IdeaModuleMojo mojo = new IdeaModuleMojo();
 
         mojo.initParam( executedProject, artifactFactory, localRepo, artifactResolver, artifactMetadataSource, getLog(),
-                        overwrite, executedProject, reactorProjects, wagonManager, linkModules, useFullNames,
+                        overwrite, executedProject, reactorProjects, wagonManager, linkModules, neverLinkModules, useFullNames,
                         downloadSources, sourceClassifier, downloadJavadocs, javadocClassifier, libraries, macros,
                         exclude, dependenciesAsLibraries, deploymentDescriptorFile, ideaPlugin );
 
