You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2007/11/19 10:47:37 UTC

svn commit: r596237 - in /myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main: java/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/ resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/10.1.3.0.4/ resources/org/apache/myfaces/trinidadbu...

Author: matzew
Date: Mon Nov 19 01:47:36 2007
New Revision: 596237

URL: http://svn.apache.org/viewvc?rev=596237&view=rev
Log:
Trinidad-808. Thx to Gary Kind

Added:
    myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/11.1.1.0.0/
    myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/11.1.1.0.0/project.xml
    myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/11.1.1.0.0/workspace.xml
Modified:
    myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/JDeveloperMojo.java
    myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/10.1.3.0.4/project.xml
    myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/10.1.3.0.4/workspace.xml

Modified: myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/JDeveloperMojo.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/JDeveloperMojo.java?rev=596237&r1=596236&r2=596237&view=diff
==============================================================================
--- myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/JDeveloperMojo.java (original)
+++ myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/java/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/JDeveloperMojo.java Mon Nov 19 01:47:36 2007
@@ -6,9 +6,9 @@
  *  to you under the Apache License, Version 2.0 (the
  *  "License"); you may not use this file except in compliance
  *  with the License.  You may obtain a copy of the License at
- * 
+ *
  *  http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  *  Unless required by applicable law or agreed to in writing,
  *  software distributed under the License is distributed on an
  *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -16,6 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
+
 package org.apache.myfaces.trinidadbuild.plugin.jdeveloper;
 
 import java.io.File;
@@ -24,7 +25,9 @@
 import java.io.IOException;
 import java.io.InputStreamReader;
 import java.io.Reader;
+
 import java.net.URL;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
@@ -34,17 +37,21 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Properties;
 import java.util.Set;
 import java.util.TreeMap;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
 
+import javax.xml.parsers.ParserConfigurationException;
+
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.project.MavenProject;
+
 import org.codehaus.plexus.util.DirectoryScanner;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
@@ -53,6 +60,86 @@
 import org.codehaus.plexus.util.xml.Xpp3DomWriter;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
+import org.xml.sax.SAXException;
+
+  /*
+   * Important informational note:
+   * 
+   * The following XML code is similar to what would be seen in a pom file 
+   * under the maven-jdev-plugin tag if Libraries (e.g. JSP Runtime
+   * and JSF 1.2) and Distributed Tag Libraries wanted to be added to the .jpr
+   * project.
+   * 
+   * What you see below are the defaults that are put in a project's .jpr
+   * automatically without specifying anything.  See replaceLibraries(),
+   * replaceTagLibraries() and replaceDefaultTagLibraries().
+   * 
+   * Also note that by setting the property "jdev.plugin.add.libraries" to 
+   * false in a project's pom.xml file, no libraries will be added, default
+   * or otherwise.  In kind, setting the property "jdev.plugin.add.taglibs" 
+   * to false will result in no tag libraries of any kind being added.
+   * 
+   * As you would expect, the default for both of these properties is "true".
+   * 
+   *   <plugin>
+        <groupId>org.apache.myfaces.trinidadbuild</groupId>
+        <artifactId>maven-jdev-plugin</artifactId>
+        <version>1.2.4-SNAPSHOT</version>
+        <inherited>true</inherited>
+        <configuration>
+          <libraries>
+            <library>JSP Runtime</library>
+            <library>JSF 1.2</library>
+          </libraries>
+          <distributedTagLibraries>
+            <distributedTagLibrary>
+              <property>
+                <name>name</name>
+                <value>JSF HTML</value>
+              </property>
+              <property>
+                <name>version</name>
+                <value>1.2</value>
+              </property>
+              <property>
+                <name>jspVersion</name>
+                <value>2.1</value>
+              </property>
+              <property>
+                <name>tld</name>
+                <value>html_basic.tld</value>
+              </property>
+              <property>
+                <name>URI</name>
+                <value>http://java.sun.com/jsf/html</value>
+              </property>
+            </distributedTagLibrary>
+            <distributedTagLibrary>
+              <property>
+                <name>name</name>
+                <value>JSF Core</value>
+              </property>
+              <property>
+                <name>version</name>
+                <value>1.2</value>
+              </property>
+              <property>
+                <name>jspVersion</name>
+                <value>2.1</value>
+              </property>
+              <property>
+                <name>tld</name>
+                <value>jsf_core.tld</value>
+              </property>
+              <property>
+                <name>URI</name>
+                <value>http://java.sun.com/jsf/core</value>
+              </property>
+            </distributedTagLibrary>
+          </distributedTagLibraries>
+        </configuration>
+      </plugin>
+ */
 
 /**
  * @version $Id$
@@ -61,7 +148,8 @@
  * @requiresDependencyResolution test
  * @description Goal which generates the JDeveloper Workspace
  */
-public class JDeveloperMojo extends AbstractMojo
+public class JDeveloperMojo
+  extends AbstractMojo
 {
   /**
    * @parameter
@@ -94,9 +182,7 @@
   private boolean force;
 
   /**
-   * @parameter expression="10.1.3.0.4"
-   * @required
-   * @readonly
+   * @parameter expression="${jdev.release}" default-value="10.1.3.0.4"
    */
   private String release;
 
@@ -115,10 +201,26 @@
   private List reactorProjects;
 
   /**
+   * Tag library Directory
+   *
+   * @parameter expression="${jdev.tag.lib.dir}" default-value="@oracle.home@lib/java/shared/oracle.jsf/1.2/jsf-ri.jar!/META-INF"
+   */
+  private String tagLibDirectory;
+
+  /**
+   * Tag Libraries and their properties
+   *
+   * @parameter
+   */
+  private Properties[] distributedTagLibraries;
+
+  /**
    * Execute the Mojo.
    */
-  public void execute() throws MojoExecutionException
+  public void execute()
+    throws MojoExecutionException
   {
+    _parseRelease();
     try
     {
       generateWorkspace();
@@ -131,12 +233,13 @@
     }
   }
 
-  private void generateWorkspace() throws MojoExecutionException, IOException
+  private void generateWorkspace()
+    throws MojoExecutionException, IOException
   {
     if (!project.getCollectedProjects().isEmpty())
     {
-      getLog().info("Generating JDeveloper " + release +
-                    " workspace: " + project.getArtifactId());
+      getLog().info("Generating JDeveloper " + release + " workspace: " + 
+                    project.getArtifactId());
 
       File workspaceFile = getJWorkspaceFile(project);
 
@@ -148,26 +251,39 @@
       }
       catch (XmlPullParserException e)
       {
-        throw new MojoExecutionException("Error generating project", e);
+        throw new MojoExecutionException("Error generating workspace", e);
       }
     }
   }
 
-  private void generateProject() throws IOException, MojoExecutionException
+  private void generateProject()
+    throws IOException, MojoExecutionException
   {
     if (!"pom".equals(project.getPackaging()))
     {
       File projectFile = getJProjectFile(project);
+      
+      // Get Project Properties to tell Mojo whether or not to add
+      // library refs and taglibs to the project.
+      Properties props = project.getProperties();
+      String addLibs = (String)props.get(_PROPERTY_ADD_LIBRARY);
+      String addTagLibs = (String)props.get(_PROPERTY_ADD_TAGLIBS);
+      _addLibraries = (addLibs == null) 
+        ? true : (new Boolean(addLibs)).booleanValue();
+      _addTagLibs   = (addTagLibs == null)
+        ? true : (new Boolean(addTagLibs)).booleanValue();
+      
       // TODO: read configuration for war:war goal
       File webappDir = new File(project.getBasedir(), "src/main/webapp");
       // TODO: read configuration for compiler:complie goal
-      File outputDir = new File(project.getBuild().getDirectory(), "classes");
+      File outputDir = 
+        new File(project.getBuild().getDirectory(), "classes");
 
       MavenProject executionProject = project.getExecutionProject();
       List compileSourceRoots = executionProject.getCompileSourceRoots();
       if (sourceRoots != null)
       {
-        for (int i=0; i < sourceRoots.length; i++)
+        for (int i = 0; i < sourceRoots.length; i++)
         {
           compileSourceRoots.add(sourceRoots[i].getAbsolutePath());
         }
@@ -176,7 +292,7 @@
       List compileResourceRoots = executionProject.getResources();
       if (resourceRoots != null)
       {
-        for (int i=0; i < resourceRoots.length; i++)
+        for (int i = 0; i < resourceRoots.length; i++)
         {
           Resource resource = new Resource();
           resource.setDirectory(resourceRoots[i].getAbsolutePath());
@@ -184,8 +300,11 @@
         }
       }
 
-      getLog().info("Generating JDeveloper " + release +
-                    " Project " + project.getArtifactId());
+      getLog().info("Generating JDeveloper " + release + " Project " + 
+                    project.getArtifactId());
+
+      Set pluginArtifacts = new LinkedHashSet();
+      pluginArtifacts.addAll(project.getPluginArtifacts());
 
       // Note: include "compile", "provided", "system" and "runtime" scopes
       Set compileArtifacts = new LinkedHashSet();
@@ -193,26 +312,25 @@
       compileArtifacts.addAll(project.getRuntimeArtifacts());
 
       // Note: separate "runtime" vs. "compile" dependencies in JDeveloper?
-      generateProject(projectFile,
-                      project.getArtifactId(),
-                      project.getPackaging(),
-                      project.getDependencies(),
-                      new ArrayList(compileArtifacts),
-                      compileSourceRoots,
-                      compileResourceRoots,
-                      Collections.singletonList(webappDir.getPath()),
+      generateProject(projectFile, project.getArtifactId(), 
+                      project.getPackaging(), project.getDependencies(), 
+                      new ArrayList(compileArtifacts), compileSourceRoots, 
+                      compileResourceRoots, 
+                      Collections.singletonList(webappDir.getPath()), 
                       outputDir);
     }
   }
 
-  private void generateTestProject() throws IOException, MojoExecutionException
+  private void generateTestProject()
+    throws IOException, MojoExecutionException
   {
     if (!"pom".equals(project.getPackaging()))
     {
       File projectFile = getJProjectTestFile(project);
       File webappDir = new File(project.getBasedir(), "src/test/webapp");
       // TODO: read configuration for compiler:testCompile goal
-      File outputDir = new File(project.getBuild().getDirectory(), "test-classes");
+      File outputDir = 
+        new File(project.getBuild().getDirectory(), "test-classes");
 
       // self dependency needed for test project
       List testDependencies = new ArrayList(project.getTestDependencies());
@@ -223,10 +341,12 @@
       testDependencies.add(selfDependency);
 
       MavenProject executionProject = project.getExecutionProject();
-      List compileSourceRoots = executionProject.getTestCompileSourceRoots();
+      List compileSourceRoots = 
+        executionProject.getTestCompileSourceRoots();
+
       if (testSourceRoots != null)
       {
-        for (int i=0; i < testSourceRoots.length; i++)
+        for (int i = 0; i < testSourceRoots.length; i++)
         {
           compileSourceRoots.add(testSourceRoots[i].getAbsolutePath());
         }
@@ -235,7 +355,7 @@
       List compileResourceRoots = executionProject.getTestResources();
       if (testResourceRoots != null)
       {
-        for (int i=0; i < testResourceRoots.length; i++)
+        for (int i = 0; i < testResourceRoots.length; i++)
         {
           Resource resource = new Resource();
           resource.setDirectory(testSourceRoots[i].getAbsolutePath());
@@ -243,43 +363,39 @@
         }
       }
 
-      getLog().info("Generating JDeveloper " + release +
-                    " Project " + project.getArtifactId() + "-test");
+      getLog().info("Generating JDeveloper " + release + " Project " + 
+                    project.getArtifactId() + "-test");
 
       // Note: all artifacts implicitly included in "test" scope
-      generateProject(projectFile,
-                      project.getArtifactId() + "-test",
-                      project.getPackaging(),
-                      testDependencies,
-                      project.getTestArtifacts(),
-                      compileSourceRoots,
-                      compileResourceRoots,
-                      Collections.singletonList(webappDir.getPath()),
+      generateProject(projectFile, project.getArtifactId() + "-test", 
+                      project.getPackaging(), testDependencies, 
+                      project.getTestArtifacts(), compileSourceRoots, 
+                      compileResourceRoots, 
+                      Collections.singletonList(webappDir.getPath()), 
                       outputDir);
     }
   }
 
-  private void generateProject(
-    File   projectFile,
-    String projectName,
-    String packaging,
-    List   dependencies,
-    List   artifacts,
-    List   sourceRoots,
-    List   resourceRoots,
-    List   webSourceRoots,
-    File   outputDir) throws IOException, MojoExecutionException
+  private void generateProject(File projectFile, String projectName, 
+                               String packaging, List dependencies, 
+                               List artifacts, List sourceRoots, 
+                               List resourceRoots, List webSourceRoots, 
+                               File outputDir)
+    throws IOException, MojoExecutionException
   {
     try
     {
       File projectDir = projectFile.getParentFile();
       Xpp3Dom projectDOM = readProjectDOM(projectFile);
       replaceWebappInfo(projectName, projectDOM);
-      replaceSourcePaths(projectDir, sourceRoots, resourceRoots, projectDOM);
+      replaceDemoConfiguration(projectName, projectDOM);
+      replaceSourcePaths(projectDir, sourceRoots, resourceRoots, 
+                         projectDOM);
       //replaceResourcePaths(projectDir, resourceRoots, projectDOM);
       replaceWebSourcePaths(projectDir, webSourceRoots, projectDOM);
       replaceDependencies(projectDir, dependencies, projectDOM);
       replaceLibraries(projectDir, artifacts, projectDOM);
+      replaceTagLibraries(projectDOM);
       replaceOutputDirectory(projectDir, outputDir, projectDOM);
       writeDOM(projectFile, projectDOM);
 
@@ -292,9 +408,8 @@
     }
   }
 
-  private void replaceProjects(
-    File    workspaceDir,
-    Xpp3Dom workspaceDOM) throws XmlPullParserException
+  private void replaceProjects(File workspaceDir, Xpp3Dom workspaceDOM)
+    throws XmlPullParserException
   {
     // /jws:workspace
     //   /list[@n="listOfChildren"]
@@ -306,15 +421,18 @@
     // </hash>
     Xpp3Dom targetDOM = new Xpp3Dom("list");
 
-    for (Iterator i = project.getCollectedProjects().iterator(); i.hasNext();)
+    for (Iterator i = project.getCollectedProjects().iterator(); 
+         i.hasNext(); )
     {
-      MavenProject collectedProject = (MavenProject)i.next();
+      MavenProject collectedProject = (MavenProject) i.next();
 
       File projectFile = getJProjectFile(collectedProject);
-      targetDOM.addChild(createProjectReferenceDOM(workspaceDir, projectFile));
+      targetDOM.addChild(createProjectReferenceDOM(workspaceDir, 
+                                                   projectFile));
 
       File testProjectFile = getJProjectTestFile(collectedProject);
-      targetDOM.addChild(createProjectReferenceDOM(workspaceDir, testProjectFile));
+      targetDOM.addChild(createProjectReferenceDOM(workspaceDir, 
+                                                   testProjectFile));
     }
 
     // TODO: use a better merge algorithm
@@ -325,29 +443,27 @@
     Xpp3Dom.mergeXpp3Dom(sourceDOM, targetDOM, Boolean.FALSE);
   }
 
-  private void replaceWebSourcePaths(
-    File    projectDir,
-    List    sourceRoots,
-    Xpp3Dom projectDOM) throws XmlPullParserException
+  private void replaceWebSourcePaths(File projectDir, List sourceRoots, 
+                                     Xpp3Dom projectDOM)
+    throws XmlPullParserException
   {
     // /jpr:project
     //   /hash[@n="oracle.jdeveloper.model.J2eeSettings"]
     //     /hash[@n="webContentSet"]
     //       /list[@n="url-path"]
-    Xpp3Dom pathsDOM =
+    Xpp3Dom pathsDOM = 
       findNamedChild(projectDOM, "hash", "oracle.jdeveloper.model.J2eeSettings");
-    Xpp3Dom contentSetDOM =
+    Xpp3Dom contentSetDOM = 
       findNamedChild(pathsDOM, "hash", "webContentSet");
-    Xpp3Dom sourceDOM =
-      findNamedChild(contentSetDOM, "list", "url-path");
+    Xpp3Dom sourceDOM = findNamedChild(contentSetDOM, "list", "url-path");
 
     //
     // <url path="[relative-path-to-source-root]" />
     //
     Xpp3Dom targetDOM = new Xpp3Dom("list");
-    for (Iterator i = sourceRoots.iterator(); i.hasNext();)
+    for (Iterator i = sourceRoots.iterator(); i.hasNext(); )
     {
-      File sourceRoot = new File((String)i.next());
+      File sourceRoot = new File((String) i.next());
       String relativeRoot = getRelativeDir(projectDir, sourceRoot);
       Xpp3Dom urlDOM = new Xpp3Dom("url");
       urlDOM.setAttribute("path", relativeRoot);
@@ -362,19 +478,51 @@
     Xpp3Dom.mergeXpp3Dom(sourceDOM, targetDOM, Boolean.FALSE);
   }
 
-  private void replaceWebappInfo(
-    String  projectName,
-    Xpp3Dom projectDOM) throws XmlPullParserException
+  private void replaceDemoConfiguration(String projectName, 
+                                        Xpp3Dom projectDOM)
+    throws XmlPullParserException
+  {
+    if ((_releaseMajor >= 11) && (projectName != null) && 
+        projectName.endsWith("demo"))
+    {
+      // /jpr:project
+      //   /hash[@n="oracle.jdeveloper.runner.RunConfigurations"]
+      //     /hash[@n="runConfigurationDefinitions"]
+      //       /hash[@n="Default"]
+      //         /value[@n="compileBeforeRun" v="false"]
+      //         /url[@n="targetURL" path="src/main/webapp/index.jspx"]
+      Xpp3Dom configDOM = 
+        findNamedChild(projectDOM, "hash", "oracle.jdeveloper.runner.RunConfigurations");
+      Xpp3Dom defsDOM = 
+        findNamedChild(configDOM, "hash", "runConfigurationDefinitions");
+      Xpp3Dom defaultDOM = findNamedChild(defsDOM, "hash", "Default");
+
+      Xpp3Dom valueDOM = new Xpp3Dom("value");
+      valueDOM.setAttribute("n", "compileBeforeRun");
+      valueDOM.setAttribute("v", "false");
+
+      Xpp3Dom targetDOM = new Xpp3Dom("url");
+      targetDOM.setAttribute("n", "targetURL");
+      targetDOM.setAttribute("path", "src/main/webapp/index.jspx");
+
+      defaultDOM.addChild(valueDOM);
+      defaultDOM.addChild(targetDOM);
+    }
+    return;
+  }
+
+  private void replaceWebappInfo(String projectName, Xpp3Dom projectDOM)
+    throws XmlPullParserException
   {
     // /jpr:project
     //   /hash[@n="oracle.jdeveloper.model.J2eeSettings"]
     //     /value[@n="j2eeWebAppName" v="maven-generated-webapp"]
     //     /value[@n="j2eeWebContextRoot" v="maven-generated-context-root"]
-     Xpp3Dom settingsDOM =
-       findNamedChild(projectDOM, "hash", "oracle.jdeveloper.model.J2eeSettings");
-    Xpp3Dom webappNameDOM =
+    Xpp3Dom settingsDOM = 
+      findNamedChild(projectDOM, "hash", "oracle.jdeveloper.model.J2eeSettings");
+    Xpp3Dom webappNameDOM = 
       findNamedChild(settingsDOM, "value", "j2eeWebAppName");
-    Xpp3Dom webappContextDOM =
+    Xpp3Dom webappContextDOM = 
       findNamedChild(settingsDOM, "value", "j2eeWebContextRoot");
 
     // update the webapp name
@@ -384,56 +532,100 @@
     webappContextDOM.setAttribute("v", projectName + "-context-root");
   }
 
-  private void replaceSourcePaths(
-    File    projectDir,
-    List    sourceRoots,
-    List    resourceRoots,
-    Xpp3Dom projectDOM) throws XmlPullParserException
+  private void replaceSourcePaths(File projectDir, List sourceRoots, 
+                                  List resourceRoots, Xpp3Dom projectDOM)
+    throws XmlPullParserException
   {
     // /jpr:project
     //   /hash[@n="oracle.jdeveloper.model.PathsConfiguration"]
     //     /hash[@n="javaContentSet"]
     //       /list[@n="url-path"]
-    Xpp3Dom pathsDOM =
+    Xpp3Dom pathsDOM = 
       findNamedChild(projectDOM, "hash", "oracle.jdeveloper.model.PathsConfiguration");
-    Xpp3Dom contentSetDOM =
+    Xpp3Dom contentSetDOM = 
       findNamedChild(pathsDOM, "hash", "javaContentSet");
-    Xpp3Dom sourceDOM =
-      findNamedChild(contentSetDOM, "list", "url-path");
+    Xpp3Dom sourceDOM = findNamedChild(contentSetDOM, "list", "constituent-sets");
 
     //
     // <url path="[relative-path-to-source-root]" />
     //
     Xpp3Dom targetDOM = new Xpp3Dom("list");
+    
     Collections.sort(sourceRoots);
-    for (Iterator i = sourceRoots.iterator(); i.hasNext();)
+    for (Iterator i = sourceRoots.iterator(); i.hasNext(); )
     {
-      File sourceRoot = new File((String)i.next());
+      File sourceRoot = new File((String) i.next());
+      Xpp3Dom hashDOM = new Xpp3Dom("hash");
+      
+      Xpp3Dom listDOM = new Xpp3Dom("list");
+      listDOM.setAttribute("n", "pattern-filters");
+      hashDOM.addChild(listDOM);
+
+      Xpp3Dom stringDOM = new Xpp3Dom("string");
+      stringDOM.setAttribute("v", "+**");
+      listDOM.addChild(stringDOM);
+      
+      listDOM = new Xpp3Dom("list");
+      listDOM.setAttribute("n", "url-path");
+      hashDOM.addChild(listDOM);
+      
       String relativeRoot = getRelativeDir(projectDir, sourceRoot);
       Xpp3Dom urlDOM = new Xpp3Dom("url");
       urlDOM.setAttribute("path", relativeRoot);
-      targetDOM.addChild(urlDOM);
+      listDOM.addChild(urlDOM);
+      
+      targetDOM.addChild(hashDOM);
     }
 
     // TODO: get bug fixed in 10.1.3 for copying resources
     Collections.sort(resourceRoots, new Comparator()
-    {
-      public int compare(Object a, Object b)
-      {
-        Resource ra = (Resource)a;
-        Resource rb = (Resource)b;
-        return ra.getDirectory().compareTo(rb.getDirectory());
-      }
+        {
+          public int compare(Object a, Object b)
+          {
+            Resource ra = (Resource) a;
+            Resource rb = (Resource) b;
+            return ra.getDirectory().compareTo(rb.getDirectory());
+          }
+
+        });
 
-    });
-    for (Iterator i = resourceRoots.iterator(); i.hasNext();)
+    for (Iterator i = resourceRoots.iterator(); i.hasNext(); )
     {
-      Resource resource = (Resource)i.next();
+      Resource resource = (Resource) i.next();
       File resourceRoot = new File(resource.getDirectory());
       String relativeRoot = getRelativeDir(projectDir, resourceRoot);
+
+      Xpp3Dom hashDOM = new Xpp3Dom("hash");
+      
+      Xpp3Dom listDOM = new Xpp3Dom("list");
+      listDOM.setAttribute("n", "pattern-filters");
+      hashDOM.addChild(listDOM);
+
+      Xpp3Dom stringDOM = null;
+      // TODO: This is a Hack for excluding the golden files,
+      // which are not really xml files.  We need a way, in
+      // the pom file to specify excludes.
+      if (relativeRoot.startsWith("src/test/resources"))
+      {
+        stringDOM = new Xpp3Dom("string");
+        stringDOM.setAttribute("v", 
+                            "-oracle/adfinternal/view/faces/renderkit/golden/");
+        listDOM.addChild(stringDOM);
+      }
+
+      stringDOM = new Xpp3Dom("string");     
+      stringDOM.setAttribute("v", "+**");
+      listDOM.addChild(stringDOM);
+      
+      listDOM = new Xpp3Dom("list");
+      listDOM.setAttribute("n", "url-path");
+      hashDOM.addChild(listDOM);
+      
       Xpp3Dom urlDOM = new Xpp3Dom("url");
       urlDOM.setAttribute("path", relativeRoot);
-      targetDOM.addChild(urlDOM);
+      listDOM.addChild(urlDOM);
+      
+      targetDOM.addChild(hashDOM);
     }
 
     // TODO: use a better merge algorithm
@@ -444,30 +636,28 @@
     Xpp3Dom.mergeXpp3Dom(sourceDOM, targetDOM, Boolean.FALSE);
   }
 
-  private void replaceResourcePaths(
-    File    projectDir,
-    List    resourceRoots,
-    Xpp3Dom projectDOM) throws XmlPullParserException
+  private void replaceResourcePaths(File projectDir, List resourceRoots, 
+                                    Xpp3Dom projectDOM)
+    throws XmlPullParserException
   {
     // /jpr:project
     //   /hash[@n="oracle.ide.model.ResourcePaths"]
     //     /hash[@n="resourcesContentSet"]
     //       /list[@n="url-path"]
 
-    Xpp3Dom pathsDOM =
+    Xpp3Dom pathsDOM = 
       findNamedChild(projectDOM, "hash", "oracle.ide.model.ResourcePaths");
-    Xpp3Dom contentSetDOM =
+    Xpp3Dom contentSetDOM = 
       findNamedChild(pathsDOM, "hash", "resourcesContentSet");
-    Xpp3Dom sourceDOM =
-      findNamedChild(contentSetDOM, "list", "url-path");
+    Xpp3Dom sourceDOM = findNamedChild(contentSetDOM, "list", "url-path");
 
     //
     // <url path="[relative-path-to-source-root]" />
     //
     Xpp3Dom targetDOM = new Xpp3Dom("list");
-    for (Iterator i = resourceRoots.iterator(); i.hasNext();)
+    for (Iterator i = resourceRoots.iterator(); i.hasNext(); )
     {
-      Resource resource = (Resource)i.next();
+      Resource resource = (Resource) i.next();
       File resourceRoot = new File(resource.getDirectory());
       String relativeRoot = getRelativeDir(projectDir, resourceRoot);
       Xpp3Dom urlDOM = new Xpp3Dom("url");
@@ -483,37 +673,42 @@
     Xpp3Dom.mergeXpp3Dom(sourceDOM, targetDOM, Boolean.FALSE);
   }
 
-  private void replaceDependencies(
-    File    projectDir,
-    List    dependencies,
-    Xpp3Dom projectDOM) throws XmlPullParserException
+  private void replaceDependencies(File projectDir, List dependencies, 
+                                   Xpp3Dom projectDOM)
+    throws XmlPullParserException
   {
     // /jpr:project
     //   /hash[@n="oracle.ide.model.DependencyConfiguration"]
     //     /list[@n="dependencyList"]
-    Xpp3Dom configDOM =
+    Xpp3Dom configDOM = 
       findNamedChild(projectDOM, "hash", "oracle.ide.model.DependencyConfiguration");
-    Xpp3Dom sourceDOM =
+    Xpp3Dom sourceDOM = 
       findNamedChild(configDOM, "list", "dependencyList");
 
     Xpp3Dom targetDOM = new Xpp3Dom("list");
-    for (Iterator i = dependencies.iterator(); i.hasNext();)
+    for (Iterator i = dependencies.iterator(); i.hasNext(); )
     {
-      Dependency dependency = (Dependency)i.next();
-      MavenProject dependentProject = findDependentProject(dependency.getManagementKey());
+      Dependency dependency = (Dependency) i.next();
+      MavenProject dependentProject = 
+        findDependentProject(dependency.getManagementKey());
       if (dependentProject != null)
       {
         File dependentProjectFile = getJProjectFile(dependentProject);
-        String relativePath = getRelativeFile(projectDir, dependentProjectFile);
+        String relativePath = 
+          getRelativeFile(projectDir, dependentProjectFile);
 
         Xpp3Dom hashDOM = new Xpp3Dom("hash");
         Xpp3Dom valueDOM = new Xpp3Dom("value");
         valueDOM.setAttribute("n", "class");
-        valueDOM.setAttribute("v", "oracle.jdeveloper.library.ProjectLibrary");
+        valueDOM.setAttribute("v", 
+                              "oracle.jdeveloper.library.ProjectLibrary");
+        Xpp3Dom srcOwnValDOM = new Xpp3Dom("value");
+        srcOwnValDOM.setAttribute("n", "sourceOwnerURL");
         Xpp3Dom urlDOM = new Xpp3Dom("url");
         urlDOM.setAttribute("n", "sourceURL");
         urlDOM.setAttribute("path", relativePath);
         hashDOM.addChild(valueDOM);
+        hashDOM.addChild(srcOwnValDOM);
         hashDOM.addChild(urlDOM);
         targetDOM.addChild(hashDOM);
       }
@@ -527,26 +722,25 @@
     Xpp3Dom.mergeXpp3Dom(sourceDOM, targetDOM, Boolean.FALSE);
   }
 
-  private void replaceLibraries(
-    File    projectDir,
-    List    artifacts,
-    Xpp3Dom projectDOM) throws XmlPullParserException
+  private void replaceLibraries(File projectDir, List artifacts, 
+                                Xpp3Dom projectDOM)
+    throws XmlPullParserException
   {
     // /jpr:project
     //   /hash[@n="oracle.jdevimpl.config.JProjectLibraries"]
     //     /hash[@n="internalDefinitions"]
     //       /list[@n="libraryDefinitions"]
-    Xpp3Dom projectLibsDOM =
+    Xpp3Dom projectLibsDOM = 
       findNamedChild(projectDOM, "hash", "oracle.jdevimpl.config.JProjectLibraries");
-    Xpp3Dom internalDefsDOM =
+    Xpp3Dom internalDefsDOM = 
       findNamedChild(projectLibsDOM, "hash", "internalDefinitions");
-    Xpp3Dom sourceDefsDOM =
+    Xpp3Dom sourceDefsDOM = 
       findNamedChild(internalDefsDOM, "list", "libraryDefinitions");
 
     // /jpr:project
     //   /hash[@n="oracle.jdevimpl.config.JProjectLibraries"]
     //     /list[@n="libraryReferences"]
-    Xpp3Dom sourceRefsDOM =
+    Xpp3Dom sourceRefsDOM = 
       findNamedChild(projectLibsDOM, "list", "libraryReferences");
 
     Xpp3Dom targetDefsDOM = new Xpp3Dom("list");
@@ -565,27 +759,29 @@
     // </hash>
     //
 
-     // sort the artifacts
-     Collections.sort(artifacts, new Comparator() {
-       public int compare(Object a, Object b)
-       {
-         Artifact arta = (Artifact)a;
-         Artifact artb = (Artifact)b;
-         return arta.getId().compareTo(artb.getId());
-       }
+    // sort the artifacts
+    Collections.sort(artifacts, new Comparator()
+        {
+          public int compare(Object a, Object b)
+          {
+            Artifact arta = (Artifact) a;
+            Artifact artb = (Artifact) b;
+            return arta.getId().compareTo(artb.getId());
+          }
 
-     });
+        });
 
     List libraryRefs = new LinkedList();
-    for (Iterator i = artifacts.iterator(); i.hasNext();)
+    for (Iterator i = artifacts.iterator(); i.hasNext(); )
     {
-      Artifact artifact = (Artifact)i.next();
+      Artifact artifact = (Artifact) i.next();
+
       if (!isDependentProject(artifact.getDependencyConflictId()))
       {
         String id = artifact.getId();
         String path = getRelativeFile(projectDir, artifact.getFile());
 
-        // libraryReferences entry
+        // libraryDefinitions entry
         Xpp3Dom hashDOM = new Xpp3Dom("hash");
         Xpp3Dom listDOM = new Xpp3Dom("list");
         listDOM.setAttribute("n", "classPath");
@@ -616,12 +812,36 @@
       }
     }
 
-    // add manually defined libraries
-    if (libraries != null)
-    {
-      for (int i=0; i < libraries.length; i++)
+    // This boolean is set by specifying the jdev.plugin.add.libraries
+    // property at the top of a project's pom file.  There are projects
+    // that don't need these libraries in their .jpr files to compile and this
+    // property allows them to be excluded.
+    //
+    // IMPORTANT NOTE: if this property is set in a project,
+    // then libraries will NOT be added, even though they
+    // may be specified under the maven-jdev-plugin.
+    if (_addLibraries)
+    {
+      // add libraries.  The default libraries can be 
+      // overridden in the trunk or toplevel pom file.
+      // If user wants to also include the default 
+      // libraries, he/she will have to also add them 
+      // there.  There is no facility to merge them.
+      if (libraries == null)
       {
-        libraryRefs.add(0, libraries[i]);
+        if (_releaseMajor >= 11)
+        {
+          // Add the default libraries
+          libraryRefs.add(0,"JSF 1.2");
+          libraryRefs.add(0,"JSP Runtime");
+        }
+      }
+      else
+      {
+        for (int i = 0; i < libraries.length; i++)
+        {
+          libraryRefs.add(0, libraries[i]);
+        }
       }
     }
 
@@ -634,13 +854,13 @@
     // </hash>
     //
     Collections.sort(libraryRefs);
-    for (Iterator i = libraryRefs.iterator(); i.hasNext();)
+
+    for (Iterator i = libraryRefs.iterator(); i.hasNext(); )
     {
-      String id = (String)i.next();
+      String id = (String) i.next();
 
-      // libraryDefinitions entry
+      // libraryReferences entry
       Xpp3Dom hashDOM = new Xpp3Dom("hash");
-
       Xpp3Dom valueDOM = new Xpp3Dom("value");
       valueDOM.setAttribute("n", "id");
       valueDOM.setAttribute("v", id);
@@ -664,23 +884,388 @@
     Xpp3Dom.mergeXpp3Dom(sourceRefsDOM, targetRefsDOM, Boolean.FALSE);
   }
 
-  private void copyTagLibraries(
-    File projectDir,
-    List dependencies,
-    List artifacts) throws IOException
+  private void replaceLocalTagLibraries(Xpp3Dom targetLibsDOM)
+    throws XmlPullParserException
+  {
+    TldContentHandler tldHandler = new TldContentHandler();
+    String path = null;
+
+    // Loop through all the .tld files in the WEB-INF dir
+    // Parse each and get the values needed for the TagLibraries
+    // hash in the .jpr file.
+    try
+    {
+      File webInfDir = 
+        new File(project.getBasedir(), "src/main/webapp/WEB-INF");
+      File[] files = webInfDir.listFiles();
+
+      Xpp3Dom hashDOM = null;
+      Xpp3Dom valueDOM = null;
+      for (int i = 0; i < files.length; i++)
+      {
+        path = files[i].getPath();
+        if (path.endsWith(".tld"))
+        {
+          hashDOM = new Xpp3Dom("hash");
+          // we have a tag library.  Parse it and
+          // get the values needed for the .jpr file
+
+          // Parse
+          tldHandler.parseTld(files[i]);
+          // call gettors to get the values
+          valueDOM = new Xpp3Dom("value");
+          valueDOM.setAttribute("n", "jspVersion");
+          valueDOM.setAttribute("v", tldHandler.getJspVersion());
+          hashDOM.addChild(valueDOM);
+
+          valueDOM = new Xpp3Dom("value");
+          valueDOM.setAttribute("n", "name");
+          valueDOM.setAttribute("v", tldHandler.getName());
+          hashDOM.addChild(valueDOM);
+
+          valueDOM = new Xpp3Dom("value");
+          valueDOM.setAttribute("n", "prefix");
+          valueDOM.setAttribute("v", tldHandler.getPrefix());
+          hashDOM.addChild(valueDOM);
+
+          valueDOM = new Xpp3Dom("value");
+          valueDOM.setAttribute("n", "tldURL");
+          valueDOM.setAttribute("v", 
+            "WEB-INF/" + path.substring(path.indexOf("WEB-INF") +  8));
+          hashDOM.addChild(valueDOM);
+
+          valueDOM = new Xpp3Dom("value");
+          valueDOM.setAttribute("n", "URI");
+          valueDOM.setAttribute("v", tldHandler.getURI());
+          hashDOM.addChild(valueDOM);
+
+          valueDOM = new Xpp3Dom("value");
+          valueDOM.setAttribute("n", "version");
+          valueDOM.setAttribute("v", tldHandler.getVersion());
+          hashDOM.addChild(valueDOM);
+
+          // Add each file's hash to the tag-libraries "list"
+          targetLibsDOM.addChild(hashDOM);
+        } // endif
+      } // endfor
+      return;
+    }
+    catch (SAXException saxex)
+    {
+      getLog().info("SAX Parse Exception parsing " + path + ": " + 
+                    saxex.getMessage(), saxex);
+    }
+    catch (IOException ioe)
+    {
+      getLog().info("Unable to open an InputStream to " + path, ioe);
+    }
+    catch (ParserConfigurationException pce)
+    {
+      getLog().info("Unable to create SAX parser for " + path, pce);
+    }
+  }
+
+
+  private void replaceTagLibraries(Xpp3Dom projectDOM)
+    throws XmlPullParserException
+  {
+    // This boolean is set by specifying the jdev.plugin.add.taglibs
+    // property at the top of a project's pom file.  There are projects
+    // that don't need taglibs in their .jpr files to compile and this
+    // allows them to be excluded.
+    if (!_addTagLibs)
+      return;
+    
+    // /jpr:project
+    //   /hash[@n="oracle.jdevimpl.webapp.jsp.libraries.model.ProjectTagLibraries"]
+    //       /list[@n="tag-libaries"]
+    Xpp3Dom projectTagsDOM = 
+      findNamedChild(projectDOM, "hash", "oracle.jdevimpl.webapp.jsp.libraries.model.ProjectTagLibraries");
+    Xpp3Dom tagLibsDOM = 
+      findNamedChild(projectTagsDOM, "list", "tag-libraries");
+
+    Xpp3Dom targetLibsDOM = new Xpp3Dom("list");
+
+    //
+    // tagLibraryDefinitions
+    //
+    //<hash>
+    //  <hash n="baseLibrary">
+    //    <value n="name" v="JSF HTML"></value>
+    //    <value n="version" v="1.2"></value>
+    //  </hash>
+    //  <value n="jspVersion" v="2.1"></value>
+    //  <value n="name" v="JSF HTML"></value>
+    //
+    //  <value n="tldURL" v="@oracle.home@lib/java/shared/oracle.jsf/1.2/jsf-ri.jar!/META-INF/html_basic.tld"></value>
+    //  <value n="URI" v="http://java.sun.com/jsf/html"></value>
+    //  <value n="version" v="1.2"></value>
+    //</hash>
+    //
+
+    // Parent "hash"
+    Xpp3Dom hashDOM = null;
+
+    // <value...
+    Xpp3Dom valueDOM = null;
+
+    if (distributedTagLibraries != null && 
+        distributedTagLibraries.length > 0)
+    {
+      // Process each distributed Tag Library
+      for (int i = 0; i < distributedTagLibraries.length; i++)
+      {
+        Properties disTagLib = distributedTagLibraries[i];
+        String nameName = null;
+        String nameValue = null;
+        String versionName = null;
+        String versionValue = null;
+
+        // Create parent hash for each taglib
+        hashDOM = new Xpp3Dom("hash");
+
+        // baseLibrary "hash" for each taglib
+        Xpp3Dom hashBaseDOM = new Xpp3Dom("hash");
+        hashBaseDOM.setAttribute("n", "baseLibrary");
+        // Add baseLibrary hash to parent hash
+        hashDOM.addChild(hashBaseDOM);
+
+        // Process each property of the taglib             
+        for (Enumeration keys = disTagLib.propertyNames(); 
+             keys.hasMoreElements(); )
+        {
+          // Get the name value pair
+          String name = (String) keys.nextElement();
+          String value = (String) disTagLib.get(name);
+
+          // Put the name and version values
+          // inside the baseLibrary hash.
+          // This only happens once per taglib
+          if ("name".equals(name))
+          {
+            nameName = name;
+            nameValue = value;
+
+            // n="name, v=<name of taglib> in baseLibrary    
+            valueDOM = new Xpp3Dom("value");
+            valueDOM.setAttribute("n", name);
+            valueDOM.setAttribute("v", value);
+            hashBaseDOM.addChild(valueDOM);
+
+            // Duplicate the "name"  <value...
+            // outside of the baseLibrary
+            // n="name, v=<name of taglib> in parent hash    
+            valueDOM = new Xpp3Dom("value");
+            valueDOM.setAttribute("n", nameName);
+            valueDOM.setAttribute("v", nameValue);
+            hashDOM.addChild(valueDOM);
+          }
+          else if ("version".equals(name))
+          {
+            versionName = name;
+            versionValue = value;
+
+            // n="version" v=<taglib version> in baseLibrary
+            valueDOM = new Xpp3Dom("value");
+            valueDOM.setAttribute("n", name);
+            valueDOM.setAttribute("v", value);
+            hashBaseDOM.addChild(valueDOM);
+
+            // Duplicate the "version" <value...
+            // outside of the baseLibrary
+            // n="version" v=<taglib version> in parent hash
+            valueDOM = new Xpp3Dom("value");
+            valueDOM.setAttribute("n", versionName);
+            valueDOM.setAttribute("v", versionValue);
+            hashDOM.addChild(valueDOM);
+          }
+          else
+          {
+            if ("tld".equals(name))
+            {
+              // Did not want to have a URL in the pom file.
+              // I just wanted the user to specify the name
+              // of the tld file.  So we fix it for JDev
+              // here.
+              name += "URL";
+              value = tagLibDirectory + "/" + value;
+            }
+            valueDOM = new Xpp3Dom("value");
+            valueDOM.setAttribute("n", name);
+            valueDOM.setAttribute("v", value);
+            hashDOM.addChild(valueDOM);
+          }
+        } //endfor processing each property
+
+        // We are done with this disTagLib
+        // Add it to the targetLibsDOM
+        if (hashDOM != null)
+          targetLibsDOM.addChild(hashDOM);
+      } // endfor processing each distributed tag lib
+    } //endif
+    else
+    {
+      // Use Default tag library configuration.  See comment before
+      // replaceTagLibraries.
+      replaceDefaultTagLibraries(projectDOM, targetLibsDOM);
+    }
+
+    replaceLocalTagLibraries(targetLibsDOM);
+
+    // First, add JSP Runtime dependency if src/main/webapp exists
+    // TODO: use a better merge algorithm
+    removeChildren(tagLibsDOM);
+
+    // make sure to pass Boolean.FALSE to allow
+    // multiple child elements with the same name
+    Xpp3Dom.mergeXpp3Dom(tagLibsDOM, targetLibsDOM, Boolean.FALSE);
+  }
+
+  private void replaceDefaultTagLibraries(Xpp3Dom projectDOM, 
+                                          Xpp3Dom targetLibsDOM)
+    throws XmlPullParserException
+  {
+    // Begin JSF HTML Tag lib
+    Xpp3Dom hashDOM     = new Xpp3Dom("hash");
+    Xpp3Dom hashBaseDOM = new Xpp3Dom("hash");
+    Xpp3Dom valueDOM    = null;
+
+    hashBaseDOM.setAttribute("n", "baseLibrary");
+
+    // Add baseLibrary hash to parent hash
+    hashDOM.addChild(hashBaseDOM);
+
+    // Create parent hash for each taglib
+    //        hashDOM = new Xpp3Dom("hash");
+
+    // baseLibrary "hash" for each taglib
+    // Xpp3Dom hashBaseDOM = new Xpp3Dom("hash");
+    //        hashBaseDOM.setAttribute("n", "baseLibrary");
+
+    // n="name, v=<name of taglib> in baseLibrary    
+    valueDOM = new Xpp3Dom("value");
+    valueDOM.setAttribute("n", "name");
+    valueDOM.setAttribute("v", "JSF HTML");
+    hashBaseDOM.addChild(valueDOM);
+
+    // Duplicate the "name"  <value...
+    // outside of the baseLibrary
+    // n="name, v=<name of taglib> in parent hash    
+    valueDOM = new Xpp3Dom("value");
+    valueDOM.setAttribute("n", "name");
+    valueDOM.setAttribute("v", "JSF HTML");
+    hashDOM.addChild(valueDOM);
+
+    // n="version" v=<taglib version> in baseLibrary
+    valueDOM = new Xpp3Dom("value");
+    valueDOM.setAttribute("n", "version");
+    valueDOM.setAttribute("v", "1.2");
+    hashBaseDOM.addChild(valueDOM);
+
+    // Duplicate the "version" <value...
+    // outside of the baseLibrary
+    // n="name, v=<name of taglib> in parent hash    
+    valueDOM = new Xpp3Dom("value");
+    valueDOM.setAttribute("n", "version");
+    valueDOM.setAttribute("v", "1.2");
+    hashDOM.addChild(valueDOM);
+
+    valueDOM = new Xpp3Dom("value");
+    valueDOM.setAttribute("n", "jspVersion");
+    valueDOM.setAttribute("v", "2.1");
+    hashDOM.addChild(valueDOM);
+
+    valueDOM = new Xpp3Dom("value");
+    valueDOM.setAttribute("n", "tldURL");
+    valueDOM.setAttribute("v", tagLibDirectory + "/html_basic.tld");
+    hashDOM.addChild(valueDOM);
+
+    valueDOM = new Xpp3Dom("value");
+    valueDOM.setAttribute("n", "URI");
+    valueDOM.setAttribute("v", "http://java.sun.com/jsf/html");
+    hashDOM.addChild(valueDOM);
+
+    // We are done with this disTagLib
+    // Add it to the targetLibsDOM
+    if (hashDOM != null)
+      targetLibsDOM.addChild(hashDOM);
+    
+    // Begin JSF Core Taglib
+    hashDOM     = new Xpp3Dom("hash");
+    hashBaseDOM = new Xpp3Dom("hash");
+
+    hashBaseDOM.setAttribute("n", "baseLibrary");
+
+    // Add baseLibrary hash to parent hash
+    hashDOM.addChild(hashBaseDOM);
+
+    // n="name, v=<name of taglib> in baseLibrary    
+    valueDOM = new Xpp3Dom("value");
+    valueDOM.setAttribute("n", "name");
+    valueDOM.setAttribute("v", "JSF Core");
+    hashBaseDOM.addChild(valueDOM);
+
+    // Duplicate the "name"  <value...
+    // outside of the baseLibrary
+    // n="name, v=<name of taglib> in parent hash    
+    valueDOM = new Xpp3Dom("value");
+    valueDOM.setAttribute("n", "name");
+    valueDOM.setAttribute("v", "JSF Core");
+    hashDOM.addChild(valueDOM);
+
+    // n="version" v=<taglib version> in baseLibrary
+    valueDOM = new Xpp3Dom("value");
+    valueDOM.setAttribute("n", "version");
+    valueDOM.setAttribute("v", "1.2");
+    hashBaseDOM.addChild(valueDOM);
+
+    // Duplicate the "version" <value...
+    // outside of the baseLibrary
+    // n="name, v=<name of taglib> in parent hash    
+    valueDOM = new Xpp3Dom("value");
+    valueDOM.setAttribute("n", "version");
+    valueDOM.setAttribute("v", "1.2");
+    hashDOM.addChild(valueDOM);
+
+    valueDOM = new Xpp3Dom("value");
+    valueDOM.setAttribute("n", "jspVersion");
+    valueDOM.setAttribute("v", "2.1");
+    hashDOM.addChild(valueDOM);
+
+    valueDOM = new Xpp3Dom("value");
+    valueDOM.setAttribute("n", "tldURL");
+    valueDOM.setAttribute("v", tagLibDirectory + "/jsf_core.tld");
+    hashDOM.addChild(valueDOM);
+
+    valueDOM = new Xpp3Dom("value");
+    valueDOM.setAttribute("n", "URI");
+    valueDOM.setAttribute("v", "http://java.sun.com/jsf/core");
+    hashDOM.addChild(valueDOM);
+
+    // We are done with this disTagLib
+    // Add it to the targetLibsDOM
+    if (hashDOM != null)
+      targetLibsDOM.addChild(hashDOM);
+  }
+
+
+  private void copyTagLibraries(File projectDir, List dependencies, 
+                                List artifacts)
+    throws IOException
   {
     File targetDir = new File(projectDir, "src/main/webapp/WEB-INF");
 
-    for (Iterator i = dependencies.iterator(); i.hasNext();)
+    for (Iterator i = dependencies.iterator(); i.hasNext(); )
     {
-      Dependency dependency = (Dependency)i.next();
-      MavenProject dependentProject = findDependentProject(dependency.getManagementKey());
+      Dependency dependency = (Dependency) i.next();
+      MavenProject dependentProject = 
+        findDependentProject(dependency.getManagementKey());
       if (dependentProject != null)
       {
         List resourceRoots = dependentProject.getResources();
-        for (Iterator j = resourceRoots.iterator(); j.hasNext();)
+        for (Iterator j = resourceRoots.iterator(); j.hasNext(); )
         {
-          Resource resource = (Resource)j.next();
+          Resource resource = (Resource) j.next();
           String resourceRoot = resource.getDirectory();
           File resourceDirectory = new File(resourceRoot);
           if (resourceDirectory.exists())
@@ -688,11 +1273,12 @@
             DirectoryScanner scanner = new DirectoryScanner();
             scanner.setBasedir(resourceRoot);
             scanner.addDefaultExcludes();
-            scanner.setIncludes(new String[] { "META-INF/*.tld" });
+            scanner.setIncludes(new String[]
+                { "META-INF/*.tld" });
             scanner.scan();
 
             String[] tldFiles = scanner.getIncludedFiles();
-            for (int k=0; k < tldFiles.length; k++)
+            for (int k = 0; k < tldFiles.length; k++)
             {
               File sourceFile = new File(resourceDirectory, tldFiles[k]);
               File targetFile = new File(targetDir, sourceFile.getName());
@@ -709,10 +1295,10 @@
 
     Map sourceMap = new TreeMap();
 
-    for (Iterator i = artifacts.iterator(); i.hasNext();)
+    for (Iterator i = artifacts.iterator(); i.hasNext(); )
     {
-      Artifact artifact = (Artifact)i.next();
-      if (!isDependentProject(artifact.getDependencyConflictId()) &&
+      Artifact artifact = (Artifact) i.next();
+      if (!isDependentProject(artifact.getDependencyConflictId()) && 
           "jar".equals(artifact.getType()))
       {
         File file = artifact.getFile();
@@ -720,42 +1306,45 @@
         Enumeration jarEntries = jarFile.entries();
         while (jarEntries.hasMoreElements())
         {
-          JarEntry jarEntry = (JarEntry)jarEntries.nextElement();
+          JarEntry jarEntry = (JarEntry) jarEntries.nextElement();
           String name = jarEntry.getName();
           if (name.startsWith("META-INF/") && name.endsWith(".tld"))
           {
-             List taglibs = (List) sourceMap.get(name);
-             if (taglibs == null)
-             {
-                taglibs = new ArrayList();
-                sourceMap.put(name, taglibs);
-             }
+            List taglibs = (List) sourceMap.get(name);
+            if (taglibs == null)
+            {
+              taglibs = new ArrayList();
+              sourceMap.put(name, taglibs);
+            }
 
-             taglibs.add(file);
+            taglibs.add(file);
           }
         }
       }
     }
 
-    for (Iterator i = sourceMap.entrySet().iterator(); i.hasNext();)
+    for (Iterator i = sourceMap.entrySet().iterator(); i.hasNext(); )
     {
       Map.Entry e = (Map.Entry) i.next();
       List taglibs = (List) e.getValue();
       String name = (String) e.getKey();
-      
-      for (Iterator ti = taglibs.iterator(); ti.hasNext();)
+
+      for (Iterator ti = taglibs.iterator(); ti.hasNext(); )
       {
         File file = (File) ti.next();
         File sourceFile = new File(name);
         StringBuffer buff = new StringBuffer(sourceFile.getName());
         if (taglibs.size() > 1)
         {
-          String jarName = file.getName().substring(0, file.getName().length() - ".jar".length());
+          String jarName = 
+            file.getName().substring(0, file.getName().length() - 
+                                     ".jar".length());
           buff.insert(buff.length() - ".tld".length(), "-" + jarName);
         }
 
         URL jarURL = file.toURL();
-        URL sourceURL = new URL("jar:" + jarURL.toExternalForm() + "!/" + name);
+        URL sourceURL = 
+          new URL("jar:" + jarURL.toExternalForm() + "!/" + name);
         File targetFile = new File(targetDir, buff.toString());
         if (targetFile.exists())
           targetFile.delete();
@@ -764,19 +1353,18 @@
       }
     }
   }
-  
-  private void replaceOutputDirectory(
-    File    projectDir,
-    File    outputDir,
-    Xpp3Dom projectDOM) throws XmlPullParserException
+
+  private void replaceOutputDirectory(File projectDir, File outputDir, 
+                                      Xpp3Dom projectDOM)
+    throws XmlPullParserException
   {
     // /jpr:project
     //   /hash[@n="oracle.jdevimpl.config.JProjectPaths"]
     //       /url[@n="outputDirectory"]
 
-    Xpp3Dom projectPathsDOM =
+    Xpp3Dom projectPathsDOM = 
       findNamedChild(projectDOM, "hash", "oracle.jdevimpl.config.JProjectPaths");
-    Xpp3Dom sourceDOM =
+    Xpp3Dom sourceDOM = 
       findNamedChild(projectPathsDOM, "url", "outputDirectory");
 
     //
@@ -792,8 +1380,7 @@
    *
    * @return  the JDeveloper project file
    */
-  private File getJProjectFile(
-    MavenProject project)
+  private File getJProjectFile(MavenProject project)
   {
     String jprName = project.getArtifactId() + ".jpr";
     return new File(project.getBasedir(), jprName);
@@ -806,8 +1393,7 @@
    *
    * @return  the JDeveloper test project file
    */
-  private File getJProjectTestFile(
-    MavenProject project)
+  private File getJProjectTestFile(MavenProject project)
   {
     String jprName = project.getArtifactId() + "-test.jpr";
     return new File(project.getBasedir(), jprName);
@@ -820,8 +1406,7 @@
    *
    * @return  the JDeveloper workspace file
    */
-  private File getJWorkspaceFile(
-    MavenProject project)
+  private File getJWorkspaceFile(MavenProject project)
   {
     String jwsName = project.getArtifactId() + ".jws";
     return new File(project.getBasedir(), jwsName);
@@ -834,8 +1419,8 @@
    *
    * @return the parsed DOM
    */
-  private Xpp3Dom readWorkspaceDOM(
-    File workspaceFile) throws IOException, XmlPullParserException
+  private Xpp3Dom readWorkspaceDOM(File workspaceFile)
+    throws IOException, XmlPullParserException
   {
     return readDOM(workspaceFile, release + "/workspace.xml");
   }
@@ -847,8 +1432,8 @@
    *
    * @return the parsed DOM
    */
-  private Xpp3Dom readProjectDOM(
-    File projectFile) throws IOException, XmlPullParserException
+  private Xpp3Dom readProjectDOM(File projectFile)
+    throws IOException, XmlPullParserException
   {
     return readDOM(projectFile, release + "/project.xml");
   }
@@ -862,9 +1447,8 @@
    *
    * @return the parsed DOM
    */
-  private Xpp3Dom readDOM(
-    File   sourceFile,
-    String resourcePath) throws IOException, XmlPullParserException
+  private Xpp3Dom readDOM(File sourceFile, String resourcePath)
+    throws IOException, XmlPullParserException
   {
     Reader reader = null;
     try
@@ -881,7 +1465,8 @@
 
         // ensure that the resourcePath can be found
         if (resource == null)
-          throw new IOException("Unable to read resource: " + resourcePath);
+          throw new IOException("Unable to read resource: " + 
+                                resourcePath);
 
         reader = new InputStreamReader(resource.openStream());
       }
@@ -899,9 +1484,8 @@
    * @param targetFile  the target file
    * @param sourceDOM   the source DOM
    */
-  private void writeDOM(
-    File    targetFile,
-    Xpp3Dom sourceDOM) throws IOException, XmlPullParserException
+  private void writeDOM(File targetFile, Xpp3Dom sourceDOM)
+    throws IOException, XmlPullParserException
   {
     FileWriter writer = null;
     try
@@ -915,16 +1499,12 @@
     }
   }
 
-  private String getRelativeDir(
-    File source,
-    File target)
+  private String getRelativeDir(File source, File target)
   {
     return getRelativePath(source, target, true);
   }
 
-  private String getRelativeFile(
-    File source,
-    File target)
+  private String getRelativeFile(File source, File target)
   {
     return getRelativePath(source, target, false);
   }
@@ -937,10 +1517,8 @@
    *
    * @return  the relative path between two files
    */
-  private String getRelativePath(
-    File    source,
-    File    target,
-    boolean isDirectory)
+  private String getRelativePath(File source, File target, 
+                                 boolean isDirectory)
   {
     String sourcePath = source.getAbsolutePath();
     String targetPath = target.getAbsolutePath();
@@ -959,7 +1537,7 @@
       String[] targetPaths = targetPath.split("\\" + File.separator);
 
       // On Windows, the first element in the absolute path is a drive letter
-      if(System.getProperty("os.name").startsWith("Windows"))
+      if (System.getProperty("os.name").startsWith("Windows"))
       {
         // uppercase the drive letter because Cygwin sometimes delivers
         // a lowercase drive letter
@@ -972,7 +1550,7 @@
       int commonPathCount = 0;
 
       int minPathCount = Math.min(sourcePathCount, targetPathCount);
-      for (int i=0; i < minPathCount; i++)
+      for (int i = 0; i < minPathCount; i++)
       {
         if (sourcePaths[i].equals(targetPaths[i]))
           commonPathCount++;
@@ -983,22 +1561,24 @@
         int sourceRelativePathCount = sourcePathCount - commonPathCount;
         int targetRelativePathCount = targetPathCount - commonPathCount;
 
-        int relativePathCount = sourceRelativePathCount + targetRelativePathCount;
+        int relativePathCount = 
+          sourceRelativePathCount + targetRelativePathCount;
         String[] relativePaths = new String[relativePathCount];
 
-        for (int i=0; i < sourceRelativePathCount; i++)
+        for (int i = 0; i < sourceRelativePathCount; i++)
         {
           relativePaths[i] = "..";
         }
 
-        for (int i=0; i < targetRelativePathCount; i++)
+        for (int i = 0; i < targetRelativePathCount; i++)
         {
-          relativePaths[sourceRelativePathCount + i] = targetPaths[commonPathCount + i];
+          relativePaths[sourceRelativePathCount + i] = 
+              targetPaths[commonPathCount + i];
         }
 
         // join
         StringBuffer relativePath = new StringBuffer();
-        for (int i=0; i < relativePathCount; i++)
+        for (int i = 0; i < relativePathCount; i++)
         {
           if (i > 0)
             relativePath.append("/");
@@ -1013,13 +1593,11 @@
     }
   }
 
-  private Xpp3Dom findNamedChild(
-    Xpp3Dom parent,
-    String  childName,
-    String  attrValue)
+  private Xpp3Dom findNamedChild(Xpp3Dom parent, String childName, 
+                                 String attrValue)
   {
     Xpp3Dom[] hash = parent.getChildren(childName);
-    for (int i=0; i < hash.length; i++)
+    for (int i = 0; i < hash.length; i++)
     {
       if (attrValue.equals(hash[i].getAttribute("n")))
         return hash[i];
@@ -1032,13 +1610,13 @@
     return child;
   }
 
-  private MavenProject findDependentProject(
-    String dependencyManagementKey)
+  private MavenProject findDependentProject(String dependencyManagementKey)
   {
-    for (Iterator i=reactorProjects.iterator(); i.hasNext(); )
+    for (Iterator i = reactorProjects.iterator(); i.hasNext(); )
     {
-      MavenProject reactorProject = (MavenProject)i.next();
-      String ident = reactorProject.getArtifact().getDependencyConflictId();
+      MavenProject reactorProject = (MavenProject) i.next();
+      String ident = 
+        reactorProject.getArtifact().getDependencyConflictId();
       if (ident.equals(dependencyManagementKey))
         return reactorProject.getExecutionProject();
     }
@@ -1046,33 +1624,55 @@
     return null;
   }
 
-  private boolean isDependentProject(
-    String dependencyManagementKey)
+  private boolean isDependentProject(String dependencyManagementKey)
   {
     return (findDependentProject(dependencyManagementKey) != null);
   }
 
-  private void removeChildren(
-    Xpp3Dom parent)
+  private void removeChildren(Xpp3Dom parent)
   {
     while (parent.getChildCount() != 0)
       parent.removeChild(0);
   }
 
-  private Xpp3Dom createProjectReferenceDOM(
-    File workspaceDir,
-    File projectFile)
+  private Xpp3Dom createProjectReferenceDOM(File workspaceDir, 
+                                            File projectFile)
   {
     Xpp3Dom hashDOM = new Xpp3Dom("hash");
-    Xpp3Dom valueDOM = new Xpp3Dom("value");
-    valueDOM.setAttribute("n", "nodeClass");
-    valueDOM.setAttribute("v", "oracle.jdeveloper.model.JProject");
     Xpp3Dom urlDOM = new Xpp3Dom("url");
     urlDOM.setAttribute("n", "URL");
-    urlDOM.setAttribute("path", getRelativeFile(workspaceDir, projectFile));
-    hashDOM.addChild(valueDOM);
+    urlDOM.setAttribute("path", 
+                        getRelativeFile(workspaceDir, projectFile));
+    if (_releaseMajor < 11)
+    {
+      Xpp3Dom valueDOM = new Xpp3Dom("value");
+      valueDOM.setAttribute("n", "nodeClass");
+      valueDOM.setAttribute("v", "oracle.jdeveloper.model.JProject");
+      hashDOM.addChild(valueDOM);
+    }
     hashDOM.addChild(urlDOM);
     return hashDOM;
   }
 
+  private void _parseRelease()
+  {
+    String nums[] = release.split("\\.");
+    try
+    {
+      _releaseMajor = Integer.parseInt(nums[0]);
+    }
+    catch (NumberFormatException e)
+    {
+      // Default release is currently 10.x
+      _releaseMajor = 10;
+    }
+  }
+
+  private int     _releaseMajor = 0;
+  private boolean _addLibraries = true;
+  private boolean _addTagLibs   = true;
+  
+  private static final String _PROPERTY_ADD_LIBRARY = "jdev.plugin.add.libraries";
+  private static final String _PROPERTY_ADD_TAGLIBS = "jdev.plugin.add.taglibs";
+  
 }

Modified: myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/10.1.3.0.4/project.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/10.1.3.0.4/project.xml?rev=596237&r1=596236&r2=596237&view=diff
==============================================================================
--- myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/10.1.3.0.4/project.xml (original)
+++ myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/10.1.3.0.4/project.xml Mon Nov 19 01:47:36 2007
@@ -133,4 +133,4 @@
       </list>
     </hash>
   </hash>
-</jpr:project>
\ No newline at end of file
+</jpr:project>

Modified: myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/10.1.3.0.4/workspace.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/10.1.3.0.4/workspace.xml?rev=596237&r1=596236&r2=596237&view=diff
==============================================================================
--- myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/10.1.3.0.4/workspace.xml (original)
+++ myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/10.1.3.0.4/workspace.xml Mon Nov 19 01:47:36 2007
@@ -16,7 +16,8 @@
 -->
 <jws:workspace xmlns:jws="http://xmlns.oracle.com/ide/project">
    <hash n="component-versions">
-      <value n="oracle.ide.model.Project" v="10.1.3.0.2;10.1.3.0.3;10.1.3.0.4"/>
+      <value n="oracle.ide.model.Project" v="10.1.3.0.4"/>
+      <value n="oracle.jdevimpl.xml.oc4j.ds.DataSourcesMigratorHelper" v="10.1.3.0.4"/>
    </hash>
    <list n="listOfChildren" />
-</jws:workspace>
\ No newline at end of file
+</jws:workspace>

Added: myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/11.1.1.0.0/project.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/11.1.1.0.0/project.xml?rev=596237&view=auto
==============================================================================
--- myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/11.1.1.0.0/project.xml (added)
+++ myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/11.1.1.0.0/project.xml Mon Nov 19 01:47:36 2007
@@ -0,0 +1,203 @@
+<?xml version = '1.0' encoding = 'UTF-8'?>
+<!--
+  Copyright 2006 The Apache Software Foundation.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<jpr:project xmlns:jpr="http://xmlns.oracle.com/ide/project">
+   <hash n="component-versions">
+    <value n="oracle.adfdt.controller.adfc.source.migration.MoveMetadataResourcesAgainMigrator" v="11.1.1.0.0"/>
+    <value n="oracle.adfdt.controller.jsf2.diagram.migrate.JsfNodeMigratorHelper" v="11.1.1.0.0"/>
+    <value n="oracle.adfdt.controller.struts.addin.db.ADFStrutsProjectMigrator" v="10.1.3.0.3;10.1.3.0.4;11.1.1.0.0"/>
+    <value n="oracle.adfdt.controller.struts.addin.StrutsProjectMigrator" v="10.1.3.0.2;10.1.3.0.3;10.1.3.0.4;11.1.1.0.0"/>
+    <value n="oracle.adfdtinternal.dvt.datapresdt.migration.JspProjectMigrator" v="11.1.1.0.0"/>
+    <value n="oracle.adfdtinternal.model.ide.migration.ProjectMigrator" v="11.1.1.0.0.1"/>
+    <value n="oracle.adfdtinternal.model.ide.xmled.migration.ADFNodeMigrator" v="11.1.1.47.57"/>
+    <value n="oracle.adfdtinternal.view.common.migration.wizards.MigrationHelper" v="11.1.1.0.0.3"/>
+    <value n="oracle.adfdtinternal.view.rich.binding.migration.JarResourceMigrator" v="11.1.1.0.0"/>
+    <value n="oracle.bm.commonIde.ProjectUpgrader" v="10.1.3.0.3;10.1.3.0.4;11.1.1.0.0"/>
+    <value n="oracle.bm.migration.project.MigratorRegistryProjectUpgradeAdapter" v="11.1.1.0.0"/>
+    <value n="oracle.ide.model.Project" v="10.1.3.0.2;10.1.3.0.3;10.1.3.0.4;11.1.1.0.0"/>
+    <value n="oracle.ide.model.ResourcePathsMigrator" v="10.1.3.0.3;10.1.3.0.4;11.1.1.0.0"/>
+    <value n="oracle.jbo.dt.jclient.migrator.JCProjectMigrator" v="10.1.3.0.3;10.1.3.0.4;11.1.1.0.0"/>
+    <value n="oracle.jbo.dt.jdevx.ui.appnav.APProjectMigrator" v="10.1.3.0.3;10.1.3.0.4;11.1.1.47.57"/>
+    <value n="oracle.jdeveloper.ejb.EjbMigrator" v="10.1.3.4.0;11.1.1.0.0"/>
+    <value n="oracle.jdeveloper.library.ProjectLibraryMigrator" v="11.1.1.0.0"/>
+    <value n="oracle.jdeveloper.model.OutputDirectoryMigrator" v="11.1.1.0.0"/>
+    <value n="oracle.jdevimpl.deploy.DeploymentProfilesMigrator" v="11.1.1.0.0.1"/>
+    <value n="oracle.jdevimpl.jsp.JspMigrator" v="10.1.3.0.2;10.1.3.0.3;10.1.3.0.4;11.1.1.0.0"/>
+    <value n="oracle.jdevimpl.junit.JUnitMigrator" v="11.1.1.0.0.1"/>
+    <value n="oracle.jdevimpl.offlinedb.migration.OfflineDBProjectMigrator" v="11.1.1.0.0"/>
+    <value n="oracle.jdevimpl.offlinedb.migration.OfflineTransferMigrator" v="11.1.1.0.0"/>
+    <value n="oracle.jdevimpl.resourcebundle.XliffAddin$XliffMigratorHelper" v="11.1.1.0.0"/>
+    <value n="oracle.jdevimpl.runner.RunConfigurationsMigrator" v="10.1.3.0.3;10.1.3.0.4;11.1.1.0.0"/>
+    <value n="oracle.jdevimpl.webapp.jsp.libraries.JspLibraryMigrator" v="11.1.1.0.0"/>
+    <value n="oracle.jdevimpl.webapp.WebAppNodeMigratorHelper" v="11.1.1.0.0"/>
+    <value n="oracle.jdevimpl.webservices.WebServicesMigratorHelper" v="10.1.3.0.2;10.1.3.0.3;10.1.3.0.4;11.1.1.0.0"/>
+    <value n="oracle.modeler.bmmigrate.dif.MigrateToDIF" v="11.1.1.0.0"/>
+    <value n="oracle.tip.tools.ide.pm.addin.migrator.PMProjectMigrator" v="11.1.1.0.0"/>
+    <value n="oracle.toplink.addin.migration.TopLinkProjectMigrator" v="10.1.3.0.3;10.1.3.0.4;11.1.1.0.0"/>
+    <value n="oracle.toplink.workbench.addin.migration.TopLinkProjectMigrator" v="11.1.1.0.0"/>
+    <value n="oracle.webcenter.internal.dt.migration.WebCenterProjectMigrator" v="11.1.1.0.0"/>
+   </hash>
+   <list n="contentSets">
+      <string v="oracle.jdeveloper.model.PathsConfiguration/javaContentSet"/>
+      <string v="oracle.jdeveloper.model.J2eeSettings/webContentSet"/>
+      <string v="oracle.ide.model.ResourcePaths/resourcesContentSet"/>
+      <string v="oracle.jdeveloper.offlinedb.model.OfflineDBProjectSettings/offlineDBContentSet"/>
+      <string v="oracle.tip.tools.ide.pm.addin.PMProjectSettings/Integration_Content"/>
+      <string v="oracle.bm.commonIde.data.project.ModelerProjectSettings/modelersContentSet"/>
+      <string v="oracle.toplink.workbench.addin/toplinkContentSet"/>
+      <string v="oracle.tip.tools.ide.fabric.addin.SCAContentSetProvider/sca-content"/>
+      <string v="oracle.adfdtinternal.model.ide.settings.ADFMSettings/adfmContentSet"/>
+   </list>
+      <hash n="oracle.adfdtinternal.model.ide.settings.ADFMSettings">
+      <hash n="adfmContentSet">
+         <list n="pattern-filters">
+            <string v="+**"/>
+         </list>
+         <list n="url-path">
+            <url path="adfmsrc/"/>
+         </list>
+      </hash>
+   </hash>
+   <hash n="oracle.bm.commonIde.data.project.ModelerProjectSettings">
+      <hash n="modelersContentSet">
+         <list n="url-path">
+            <url path="model/"/>
+         </list>
+      </hash>
+      <value n="modelersVersion" v="10.13"/>
+   </hash>
+   <hash n="oracle.ide.model.DependencyConfiguration">
+      <list n="dependencyList"/>
+   </hash>
+   <hash n="oracle.ide.model.ResourcePaths">
+      <hash n="resourcesContentSet">
+         <list n="pattern-filters">
+            <string v="+**"/>
+         </list>
+         <list n="url-path"/>
+      </hash>
+   </hash>
+   <hash n="oracle.jdeveloper.compiler.OjcConfiguration">
+      <value n="assertionsEnabled" v="true"/>
+      <value n="compiler.name" v="Ojc"/>
+      <list n="copyRes">
+         <string v=".java"/>
+      </list>
+      <value n="internalEncoding" v="Default"/>
+      <list n="Javac.commandline.optionlist">
+         <string v="-g"/>
+         <string v="-Xlint:all"/>
+         <string v="-Xlint:-cast"/>
+         <string v="-Xlint:-empty"/>
+         <string v="-Xlint:-fallthrough"/>
+         <string v="-Xlint:-path"/>
+         <string v="-Xlint:-serial"/>
+         <string v="-Xlint:-unchecked"/>
+      </list>
+      <list n="Ojc.commandline.optionlist">
+         <string v="-g"/>
+         <string v="-warn"/>
+         <string v="-nowarn:320"/>
+         <string v="-nowarn:372"/>
+         <string v="-nowarn:412"/>
+         <string v="-nowarn:413"/>
+         <string v="-nowarn:415"/>
+         <string v="-nowarn:486"/>
+         <string v="-nowarn:487"/>
+         <string v="-nowarn:489"/>
+         <string v="-nowarn:556"/>
+         <string v="-nowarn:558"/>
+         <string v="-nowarn:560"/>
+         <string v="-nowarn:561"/>
+         <string v="-nowarn:705"/>
+         <string v="-Xlint:-fallthrough"/>
+         <string v="-Xlint:-serial"/>
+         <string v="-Xlint:-unchecked"/>
+      </list>
+      <value n="reverseCopyRes" v="true"/>
+      <value n="showObjectDotStaticWarnings" v="true"/>
+      <value n="showPartialImportWarnings" v="true"/>
+      <value n="showUnusedImportWarnings" v="true"/>
+   </hash>
+   <hash n="oracle.jdeveloper.model.J2eeSettings">
+      <value n="j2eeWebAppName" v="maven-generated-webapp"/>
+      <value n="j2eeWebContextRoot" v="maven-generated-context-root"/>
+      <hash n="webContentSet">
+         <list n="url-path" />
+      </hash>
+   </hash>
+   <hash n="oracle.jdeveloper.model.PathsConfiguration">
+      <hash n="javaContentSet">
+        <list n="constituent-sets" />
+      </hash>
+   </hash>
+   <hash n="oracle.jdeveloper.offlinedb.model.OfflineDBProjectSettings">
+      <hash n="offlineDBContentSet">
+         <list n="pattern-filters">
+            <string v="+**"/>
+         </list>
+         <list n="url-path">
+            <url path="database/"/>
+         </list>
+      </hash>
+   </hash>
+   <hash n="oracle.jdeveloper.runner.RunConfigurations">
+      <hash n="runConfigurationDefinitions">
+         <hash n="Default">
+            <value n="compileBeforeRun" v="false"/>
+            <value n="custom" v="false"/>
+            <value n="name" v="Default"/>
+         </hash>
+      </hash>
+      <list n="runConfigurationList">
+         <string v="Default"/>
+      </list>
+   </hash>
+   <hash n="oracle.jdevimpl.config.JProjectLibraries">
+      <list n="exportedReferences"/>
+      <hash n="internalDefinitions">
+         <list n="libraryDefinitions" />
+      </hash>
+      <list n="libraryReferences"/>
+   </hash>
+   <hash n="oracle.jdevimpl.config.JProjectPaths">
+      <url n="outputDirectory" />
+   </hash>
+   <hash n="oracle.jdevimpl.webapp.jsp.libraries.model.ProjectTagLibraries">
+      <list n="tag-libraries"/>
+   </hash>
+   <hash n="oracle.tip.tools.ide.fabric.addin.SCAContentSetProvider">
+      <hash n="sca-content"/>
+   </hash>
+   <hash n="oracle.tip.tools.ide.pm.addin.PMProjectSettings">
+     <hash n="Integration_Content">
+       <list n="pattern-filters">
+         <string v="+**"/>
+       </list>
+     </hash>
+   </hash>
+   <hash n="oracle.toplink.workbench.addin">
+      <hash n="toplinkContentSet">
+         <list n="pattern-filters">
+            <string v="+**"/>
+         </list>
+         <list n="url-path">
+            <url path="toplink/"/>
+         </list>
+      </hash>
+   </hash>
+</jpr:project>
+

Added: myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/11.1.1.0.0/workspace.xml
URL: http://svn.apache.org/viewvc/myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/11.1.1.0.0/workspace.xml?rev=596237&view=auto
==============================================================================
--- myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/11.1.1.0.0/workspace.xml (added)
+++ myfaces/trinidad-maven/trunk/maven-jdev-plugin/src/main/resources/org/apache/myfaces/trinidadbuild/plugin/jdeveloper/11.1.1.0.0/workspace.xml Mon Nov 19 01:47:36 2007
@@ -0,0 +1,30 @@
+<?xml version = '1.0' encoding = 'UTF-8'?>
+<!--
+  Copyright 2006 The Apache Software Foundation.
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<jws:workspace xmlns:jws="http://xmlns.oracle.com/ide/project">
+   <hash n="component-versions">
+      <value n="oracle.adf.share.dt.migration.jps.JaznCredStoreMigratorHelper" v="11.1.1.0.0"/>
+      <value n="oracle.adfdtinternal.model.ide.security.wizard.AdfSecurityMigrator" v="11.1.1.0.0"/>
+      <value n="oracle.ide.model.Project" v="10.1.3.0.4;11.1.1.0.0"/>
+      <value n="oracle.jdevimpl.runner.oc4j.EmbeddedServerMigratorHelper" v="11.1.1.0.0"/>
+      <value n="oracle.jdevimpl.webservices.WebServicesMigratorHelper" v="11.1.1.0.0"/>
+      <value n="oracle.jdevimpl.xml.oc4j.ds.DataSourcesMigratorHelper" v="11.1.1.0.0"/>
+      <value n="oracle.jdevimpl.xml.oc4j.jps.JpsConfigMigratorHelper" v="11.1.1.0.0"/>
+      <value n="oracle.mds.internal.dt.ide.migrator.MDSConfigMigratorHelper" v="11.1.1.0.0"/>
+      <value n="oracle.webcenter.internal.dt.migration.WebCenterWorkspaceMigrator" v="11.1.1.0.0"/>
+   </hash>
+   <list n="listOfChildren" />
+</jws:workspace>