bwalding    2003/07/28 02:27:16

  Modified:    src/plugins-build/eclipse plugin.jelly
  Added:       src/plugins-build/eclipse/src/plugin-resources/templates
                        project.jelly classpath.jelly
  Log:
  Extract jelly from plugin.jelly into classpath.jelly and project.jelly
  PR:MAVEN-628
  
  Revision  Changes    Path
  1.1                  
maven/src/plugins-build/eclipse/src/plugin-resources/templates/project.jelly
  
  Index: project.jelly
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <j:whitespace
    xmlns:j="jelly:core"
    xmlns:util="jelly:util"
    xmlns:ant="jelly:ant"
    xmlns="dummy"
    trim="true">
    
  <projectDescription>
    <name>${pom.artifactId}</name>
    <comment>${pom.description}</comment>
    <projects>
      <j:forEach var="lib" items="${pom.artifacts}">
          <j:set var="eclipseDependency"
                 value="${lib.dependency.getProperty('eclipse.dependency')}"/>
          <j:if test="${eclipseDependency == 'true'}">
          <project>${lib.dependency.artifactId}</project>
          </j:if>
      </j:forEach>
    </projects>
    <buildSpec>
      <buildCommand>
        <name>org.eclipse.jdt.core.javabuilder</name>
        <arguments>
        </arguments>
      </buildCommand>
    </buildSpec>
    <natures>
      <nature>org.eclipse.jdt.core.javanature</nature>
    </natures>
  </projectDescription>
  
  </j:whitespace>
  
  
  1.1                  
maven/src/plugins-build/eclipse/src/plugin-resources/templates/classpath.jelly
  
  Index: classpath.jelly
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <j:whitespace
    xmlns:j="jelly:core"
    xmlns:util="jelly:util"
    xmlns:ant="jelly:ant"
    xmlns="dummy"
    trim="true">
  
  <classpath>            
    <j:if test="${sourcesPresent}">
      <j:set var="srcDir" value="${pom.build.sourceDirectory}"/>
      <j:if test="${ srcDir.startsWith( basedir ) }">
         <!--ant:echo>Cutting off basedir from sourceDirectory</ant:echo-->
         <j:set var="srcDir" value="${srcDir.substring(basedir.length())}"/>           
  
         <!-- 
           cut off also slash or backslash from basedir. 
           Is there a way to make it in one step in Jelly?
          -->
         <j:set var="srcDir" value="${srcDir.substring(1)}"/>             
      </j:if>
      <classpathentry kind="src" path="${srcDir}"/>
    </j:if>
    
      <j:if test="${unitTestSourcesPresent}">
        <ant:echo>Contains JUnit tests</ant:echo>
        <j:set var="testSrcDir" value="${pom.build.unitTestSourceDirectory}"/>
        <j:if test="${ testSrcDir.startsWith( basedir ) }">
           <!--ant:echo>Cutting off basedir from testSourceDirectory</ant:echo-->
           <j:set var="testSrcDir" value="${testSrcDir.substring(basedir.length())}"/> 
            
           <!-- cut off also slash or backslash -->
           <j:set var="testSrcDir" value="${testSrcDir.substring(1)}"/>             
        </j:if>
        
        <!-- Eclipse supports an output directory per input directory -->
        <j:set var="testOutputDir" value="${maven.eclipse.test.output.dir}"/>
        <j:if test="${empty testOutputDir}">
          <j:set var="testOutputDir" 
                 
value="${pom.getPluginContext('maven-test-plugin').getVariable('maven.test.dest')}"/>  
    
        </j:if>
        <j:if test="${ testOutputDir.startsWith( basedir ) }">
          <!--ant:echo>Cutting off basedir from testOutputDir</ant:echo-->
          <j:set var="testOutputDir" 
value="${testOutputDir.substring(basedir.length())}"/>             
          <!-- 
            cut off also slash or backslash from basedir. 
            Is there a way to make it in one step in Jelly?
            -->
          <j:set var="testOutputDir" value="${testOutputDir.substring(1)}"/>           
  
        </j:if>  
        
        <ant:echo>Setting compile of ${testSrcDir} to ${testOutputDir}</ant:echo>
        <classpathentry kind="src" path="${testSrcDir}" output="${testOutputDir}"/>
        
       <!-- Here are the rules:
            If the project has maven.eclipse.junit property, add that ver of junit
            If the project has maven.eclipse.junit property and it is empty, don't add 
junit
            If the project has junit dep, use that.
            Use the test plugin version
         -->
       <j:set var="verX" value="${maven.eclipse.junit}X"/>
  
       <j:set 
var="depVersion">${pom.getPluginContext('maven-test-plugin').getVariable('plugin').getDependency('junit').getVersion()}</j:set>
    
       <j:if test="${pom.getDependency('junit') != null}">
         <j:set var="depVersion" value="${pom.getDependency('junit').getVersion()}"/>
       </j:if>
    
       <j:if test="${verX != 'X'}">
         <j:set var="depVersion">${maven.eclipse.junit}</j:set>
       </j:if>
    
       <j:if test="${verX == 'noneX'}">
         <j:set var="depVersion" value="none"/>  
       </j:if>
        
       <j:if test="${depVersion != 'none'}">
         <classpathentry kind="var" 
path="MAVEN_REPO/junit/jars/junit-${depVersion}.jar"/>
       </j:if>
      </j:if>
  
    <j:set var="cactusSrcDir"
        
value="${pom.getPluginContext('maven-cactus-plugin').getVariable('cactus.src.dir')}"/>
      <util:available file="${cactusSrcDir}">
        <j:set var="cactusSourcePresent" value="true"/>
      </util:available>
  
      <j:if test="${cactusSourcePresent == 'true'}">
        <ant:echo>Contains Cactus Tests!</ant:echo>
        <j:set var="testSrcDir" value="${cactusSrcDir}"/>
        <j:if test="${ testSrcDir.startsWith( basedir ) }">
           <ant:echo>Cutting off basedir from Cactus source directory</ant:echo>
           <j:set var="testSrcDir" value="${testSrcDir.substring(basedir.length())}"/> 
            
           <!-- cut off also slash or backslash -->
           <j:set var="testSrcDir" value="${testSrcDir.substring(1)}"/>             
        </j:if>
        <classpathentry kind="src" path="${testSrcDir}"/>
      
        <j:set 
var="depVersion">${pom.getPluginContext('maven-cactus-plugin').getVariable('plugin').getDependency('cactus').getVersion()}</j:set>
        <classpathentry kind="var" 
path="MAVEN_REPO/cactus/jars/cactus-${depVersion}.jar"/>
      </j:if>
  
    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" 
sourcepath="JRE_SRC"/>
      <j:forEach var="lib" items="${pom.artifacts}">
        <j:set var="eclipseDependency"
               value="${lib.dependency.getProperty('eclipse.dependency')}"/>
        <j:choose>
          <j:when test="${eclipseDependency == 'true'}">
            <classpathentry kind="src" path="/${lib.dependency.artifactId}"/>
          </j:when>
          <j:when test="${lib.dependency.groupId == 'junit'}">
            <!-- ignoring junit dependency as we've already created it -->
          </j:when>
          <j:otherwise>
            <classpathentry kind="var" path="MAVEN_REPO${lib.urlPath}"/>
          </j:otherwise>
        </j:choose>
      </j:forEach>
      
    <!-- add the unit test build directory so that any files generated via Maven are 
available -->  
    
    <j:set var="outputDir" value="${maven.eclipse.output.dir}"/>
      <j:if test="${empty outputDir}">
        <j:set var="outputDir" value="${maven.build.dest}"/>      
       </j:if>
       <j:if test="${ outputDir.startsWith( basedir ) }">
         <!--ant:echo>Cutting off basedir from outputDir</ant:echo-->
         <j:set var="outputDir" value="${outputDir.substring(basedir.length())}"/>     
        
         <!-- 
           cut off also slash or backslash from basedir. 
          Is there a way to make it in one step in Jelly?
         -->
         <j:set var="outputDir" value="${outputDir.substring(1)}"/>             
      </j:if>            
    <classpathentry kind="output" path="${outputDir}"/>
    <ant:echo>Setting default output directory to ${outputDir}</ant:echo>
        
  </classpath>
  
  </j:whitespace>
  
  
  1.24      +5 -159    maven/src/plugins-build/eclipse/plugin.jelly
  
  Index: plugin.jelly
  ===================================================================
  RCS file: /home/cvs/maven/src/plugins-build/eclipse/plugin.jelly,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- plugin.jelly      27 Jul 2003 23:38:45 -0000      1.23
  +++ plugin.jelly      28 Jul 2003 09:27:16 -0000      1.24
  @@ -23,32 +23,10 @@
       description="Generate Eclipse .project file">
       
       <ant:echo>Creating ${basedir}/.project ...</ant:echo>
  -
       <j:file name="${basedir}/.project" prettyPrint="true" xmlns="dummy">
  -<projectDescription>
  -  <name>${pom.artifactId}</name>
  -  <comment>${pom.description}</comment>
  -  <projects>
  -    <j:forEach var="lib" items="${pom.artifacts}">
  -       <j:set var="eclipseDependency"
  -              value="${lib.dependency.getProperty('eclipse.dependency')}"/>
  -       <j:if test="${eclipseDependency == 'true'}">
  -        <project>${lib.dependency.artifactId}</project>
  -       </j:if>
  -    </j:forEach>
  -  </projects>
  -  <buildSpec>
  -    <buildCommand>
  -      <name>org.eclipse.jdt.core.javabuilder</name>
  -      <arguments>
  -      </arguments>
  -    </buildCommand>
  -  </buildSpec>
  -  <natures>
  -    <nature>org.eclipse.jdt.core.javanature</nature>
  -  </natures>
  -</projectDescription>
  +      <j:import file="${plugin.resources}/templates/project.jelly" inherit="true"/> 
   
       </j:file>
  +    
     </goal>
        
   
  @@ -59,142 +37,10 @@
       description="Generate Eclipse .classpath file">
     
       <ant:echo>Creating ${basedir}/.classpath ...</ant:echo>                
  +    <j:file name="${basedir}/.classpath" prettyPrint="true" outputMode="xml" 
xmlns="dummy">
  +      <j:import file="${plugin.resources}/templates/classpath.jelly" 
inherit="true"/>    
  +    </j:file>
       
  -    <j:file name="${basedir}/.classpath" prettyPrint="true" xmlns="dummy">
  -      <classpath>            
  -        <j:if test="${sourcesPresent}">
  -          <j:set var="srcDir" value="${pom.build.sourceDirectory}"/>
  -          <j:if test="${ srcDir.startsWith( basedir ) }">
  -             <!--ant:echo>Cutting off basedir from sourceDirectory</ant:echo-->
  -             <j:set var="srcDir" value="${srcDir.substring(basedir.length())}"/>    
         
  -             <!-- 
  -               cut off also slash or backslash from basedir. 
  -               Is there a way to make it in one step in Jelly?
  -              -->
  -             <j:set var="srcDir" value="${srcDir.substring(1)}"/>             
  -          </j:if>
  -          <classpathentry kind="src" path="${srcDir}"/>
  -        </j:if>
  -      
  -        <j:if test="${unitTestSourcesPresent}">
  -          <ant:echo>Contains JUnit tests</ant:echo>
  -          <j:set var="testSrcDir" value="${pom.build.unitTestSourceDirectory}"/>
  -          <j:if test="${ testSrcDir.startsWith( basedir ) }">
  -             <!--ant:echo>Cutting off basedir from testSourceDirectory</ant:echo-->
  -             <j:set var="testSrcDir" 
value="${testSrcDir.substring(basedir.length())}"/>             
  -             <!-- cut off also slash or backslash -->
  -             <j:set var="testSrcDir" value="${testSrcDir.substring(1)}"/>           
  
  -          </j:if>
  -          
  -          <!-- Eclipse supports an output directory per input directory -->
  -          <j:set var="testOutputDir" value="${maven.eclipse.test.output.dir}"/>
  -          <j:if test="${empty testOutputDir}">
  -            <j:set var="testOutputDir" 
  -                   
value="${pom.getPluginContext('maven-test-plugin').getVariable('maven.test.dest')}"/>  
    
  -          </j:if>
  -          <j:if test="${ testOutputDir.startsWith( basedir ) }">
  -            <!--ant:echo>Cutting off basedir from testOutputDir</ant:echo-->
  -            <j:set var="testOutputDir" 
value="${testOutputDir.substring(basedir.length())}"/>             
  -            <!-- 
  -              cut off also slash or backslash from basedir. 
  -              Is there a way to make it in one step in Jelly?
  -              -->
  -            <j:set var="testOutputDir" value="${testOutputDir.substring(1)}"/>      
       
  -          </j:if>  
  -          
  -          <ant:echo>Setting compile of ${testSrcDir} to ${testOutputDir}</ant:echo>
  -          <classpathentry kind="src" path="${testSrcDir}" 
output="${testOutputDir}"/>
  -          
  -          
  -          
  -          
  -         <!-- Here are the rules:
  -              If the project has maven.eclipse.junit property, add that ver of junit
  -              If the project has maven.eclipse.junit property and it is empty, 
don't add junit
  -              If the project has junit dep, use that.
  -              Use the test plugin version
  -           -->
  -         <j:set var="verX" value="${maven.eclipse.junit}X"/>
  -
  -         <j:set 
var="depVersion">${pom.getPluginContext('maven-test-plugin').getVariable('plugin').getDependency('junit').getVersion()}</j:set>
  -      
  -         <j:if test="${pom.getDependency('junit') != null}">
  -           <j:set var="depVersion" 
value="${pom.getDependency('junit').getVersion()}"/>
  -         </j:if>
  -      
  -         <j:if test="${verX != 'X'}">
  -           <j:set var="depVersion">${maven.eclipse.junit}</j:set>
  -         </j:if>
  -      
  -         <j:if test="${verX == 'noneX'}">
  -           <j:set var="depVersion" value="none"/>  
  -         </j:if>
  -          
  -         <j:if test="${depVersion != 'none'}">
  -           <classpathentry kind="var" 
path="MAVEN_REPO/junit/jars/junit-${depVersion}.jar"/>
  -         </j:if>
  -        </j:if>
  -
  -     <j:set var="cactusSrcDir"
  -          
value="${pom.getPluginContext('maven-cactus-plugin').getVariable('cactus.src.dir')}"/>
  -        <util:available file="${cactusSrcDir}">
  -          <j:set var="cactusSourcePresent" value="true"/>
  -        </util:available>
  -    
  -        <j:if test="${cactusSourcePresent == 'true'}">
  -          <ant:echo>Contains Cactus Tests!</ant:echo>
  -          <j:set var="testSrcDir" value="${cactusSrcDir}"/>
  -          <j:if test="${ testSrcDir.startsWith( basedir ) }">
  -             <ant:echo>Cutting off basedir from Cactus source directory</ant:echo>
  -             <j:set var="testSrcDir" 
value="${testSrcDir.substring(basedir.length())}"/>             
  -             <!-- cut off also slash or backslash -->
  -             <j:set var="testSrcDir" value="${testSrcDir.substring(1)}"/>           
  
  -          </j:if>
  -          <classpathentry kind="src" path="${testSrcDir}"/>
  -        
  -          <j:set 
var="depVersion">${pom.getPluginContext('maven-cactus-plugin').getVariable('plugin').getDependency('cactus').getVersion()}</j:set>
  -          <classpathentry kind="var" 
path="MAVEN_REPO/cactus/jars/cactus-${depVersion}.jar"/>
  -        </j:if>
  -
  -      <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" 
sourcepath="JRE_SRC"/>
  -        <j:forEach var="lib" items="${pom.artifacts}">
  -          <j:set var="eclipseDependency"
  -                 value="${lib.dependency.getProperty('eclipse.dependency')}"/>
  -          <j:choose>
  -            <j:when test="${eclipseDependency == 'true'}">
  -              <classpathentry kind="src" path="/${lib.dependency.artifactId}"/>
  -            </j:when>
  -            <j:when test="${lib.dependency.groupId == 'junit'}">
  -             <!-- ignoring junit dependency as we've already created it -->
  -            </j:when>
  -            <j:otherwise>
  -              <classpathentry kind="var" path="MAVEN_REPO${lib.urlPath}"/>
  -            </j:otherwise>
  -          </j:choose>
  -        </j:forEach>
  -        
  -      <!-- add the unit test build directory so that any files generated via Maven 
are available -->  
  -      
  -      <j:set var="outputDir" value="${maven.eclipse.output.dir}"/>
  -        <j:if test="${empty outputDir}">
  -          <j:set var="outputDir" value="${maven.build.dest}"/>      
  -         </j:if>
  -         <j:if test="${ outputDir.startsWith( basedir ) }">
  -           <!--ant:echo>Cutting off basedir from outputDir</ant:echo-->
  -           <j:set var="outputDir" 
value="${outputDir.substring(basedir.length())}"/>             
  -           <!-- 
  -             cut off also slash or backslash from basedir. 
  -            Is there a way to make it in one step in Jelly?
  -           -->
  -           <j:set var="outputDir" value="${outputDir.substring(1)}"/>             
  -        </j:if>            
  -      <classpathentry kind="output" path="${outputDir}"/>
  -      <ant:echo>Setting default output directory to ${outputDir}</ant:echo>
  -      
  -    </classpath>
  -  </j:file>  
  -  
  -  
     </goal>
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to