Sounds like a nice work-around.

--
James Mitchell
678.910.8017




On Oct 23, 2006, at 5:01 AM, Lewis, Eric wrote:

Hi James

Thanks for your help!
Theoretically, recreating the .project would be a possibility, but of course I don't know what other external tools and builders and whatnot will be in the project files. So overwriting them with a hardcoded setting isn't really an option IMHO.

I guess I'll have to do it with a backup copy then. Do you think there's a chance that the plugin authors would change its behavior, adding something like eclipse:classpath?

In the meantime, since I'm calling Maven with eclipse:eclipse as an External Tool in Eclipse, I created a batch file which does the copying:

echo Making a backup of .project file
copy .project .project_backup

echo Starting Maven
call mvn %*

echo Restoring .project file
copy .project_backup .project

echo Deleting .project backup
del .project_backup

Best regards,
Eric

-----Ursprüngliche Nachricht-----
Von: James Mitchell [mailto:[EMAIL PROTECTED]
Gesendet: Samstag, 21. Oktober 2006 08:42
An: Maven Users List
Betreff: Re: AW: Create only .classpath with eclipse:eclipse?

I see.  Well, I suppose you could keep a backup copy and just
overwrite the incorrectly gen'd one every time, but that would be
frustrating I'm sure.

I don't know if the current plugin supports this sort of specialized
build configuration or some way to inject fragments into the output
files, but I did find one interesting work-around.  By adding a
little configuration to your pom.xml, you can tell Maven to just
overwrite the gen'd one with one specify in your pom.

Here's how I did it:

In the plugins section I added the following...

...
...
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-eclipse-plugin</artifactId>
         <configuration>
           <additionalConfig>
             <file>
               <name>.project</name>
               <content>
                 <![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
        <name>ejbtest</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
                <buildCommand>
                        
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
                        <triggers>full,incremental,</triggers>
                        <arguments>
                                <dictionary>
                                        <key>LaunchConfigHandle</key>
                                        
<value>&lt;project&gt;/.externalToolBuilders/
org.eclipse.jst.j2ee.ejb.annotations.xdoclet.xdocletbuilder.launch</
value>
                                </dictionary>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
                        <triggers>full,incremental,</triggers>
                        <arguments>
                                <dictionary>
                                        <key>LaunchConfigHandle</key>
                                        
<value>&lt;project&gt;/.externalToolBuilders/
GenerateSources.launch</value>
                                </dictionary>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        <name>org.eclipse.jdt.core.javabuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        
<name>org.eclipse.wst.common.project.facet.core.builder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        
<name>org.eclipse.wst.validation.validationbuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
        </buildSpec>
        <natures>
                
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
                <nature>org.eclipse.jdt.core.javanature</nature>
                
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
                <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
        </natures>
</projectDescription>
]]>
               </content>
             </file>
           </additionalConfig>
         </configuration>
       </plugin>
...
...

And Maven will happily write that file (conveniently) after the
wrong .project gets written.

I doubt that this is the correct way to do it, but it works for now
and seems easier than recopying your .project config over the gen'd one.

Let me know if there's a better way.

Thanks

--
James Mitchell
678.910.8017




On Oct 20, 2006, at 3:33 AM, Lewis, Eric wrote:

Well, I'm running Callisto (3.2.1) with WTP and I have a very
simple EJB Project, which uses Maven as a Builder to generate
artefacts with XDoclet.
Now, when I run eclipse:eclipse (within Eclipse, as an External
Tool, refreshing the project afterwards), I get the error

Errors during build.
Errors running builder "Integrated External Tool Builder" on
project ...
The builder launch configuration could not be found.

This is the .project before

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
        <name>ejbtest</name>
        <comment></comment>
        <projects>
        </projects>
        <buildSpec>
                <buildCommand>
                        
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
                        <triggers>full,incremental,</triggers>
                        <arguments>
                                <dictionary>
                                        <key>LaunchConfigHandle</key>
                                        
<value>&lt;project&gt;/.externalToolBuilders/
org.eclipse.jst.j2ee.ejb.annotations.xdoclet.xdocletbuilder.launch</
value>
                                </dictionary>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
                        <triggers>full,incremental,</triggers>
                        <arguments>
                                <dictionary>
                                        <key>LaunchConfigHandle</key>
                                        
<value>&lt;project&gt;/.externalToolBuilders/
GenerateSources.launch</value>
                                </dictionary>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        <name>org.eclipse.jdt.core.javabuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        
<name>org.eclipse.wst.common.project.facet.core.builder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
                <buildCommand>
                        
<name>org.eclipse.wst.validation.validationbuilder</name>
                        <arguments>
                        </arguments>
                </buildCommand>
        </buildSpec>
        <natures>
                
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
                <nature>org.eclipse.jdt.core.javanature</nature>
                
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
                <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
        </natures>
</projectDescription>

and after

<projectDescription>
  <name>daytrader-ejb</name>
  <comment>DayTrader EJBs</comment>
  <projects/>
  <buildSpec>
    <buildCommand>
      <name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
      <arguments/>
    </buildCommand>
    <buildCommand>
      <name>org.eclipse.jdt.core.javabuilder</name>
      <arguments/>
    </buildCommand>
    <buildCommand>
      <name>org.eclipse.wst.common.project.facet.core.builder</name>
      <arguments/>
    </buildCommand>
    <buildCommand>
      <name>org.eclipse.wst.validation.validationbuilder</name>
      <arguments/>
    </buildCommand>
  </buildSpec>
  <natures>
    <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
    <nature>org.eclipse.jdt.core.javanature</nature>
    <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</
nature>
    <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
  </natures>
</projectDescription>

Looks to me like Eclipse kicks out my External Builder.

Maven's output is
[INFO] Executed tasks
[INFO] [eclipse:eclipse]
[INFO] File C:\jp\ejbtest\.project already exists.
       Additional settings will be preserved, run mvn eclipse:clean
if you want old settings to be removed.
[INFO] Not writing settings - defaults suffice
[INFO] Wrote Eclipse project for "daytrader-ejb" to C:\jp\ejbtest.

Frankly, from the documentation I'm not quite sure whether I should
define the parameters 'wtpversion' or 'additionalBuildcommands' if
I already have a fully working project.

Best regards,
Eric
-----Ursprüngliche Nachricht-----
Von: James Mitchell [mailto:[EMAIL PROTECTED]
Gesendet: Freitag, 20. Oktober 2006 00:56
An: Maven Users List
Betreff: Re: Create only .classpath with eclipse:eclipse?

The eclipse plugin can handle most anything you throw at it.  What
specifically is wrong with the output .project file?

What type of project is it?  Web Tools?  MyEclipse?  RAD?


--
James Mitchell
678.910.8017




On Oct 19, 2006, at 11:59 AM, Lewis, Eric wrote:

Hi

I'm new to this list, so.. hi!  :-)
We're changing our build to Maven, and since the POMs are the
masters of
the build, we'd like to execute eclipse:eclipse whenever the POM has
chagned.
However, this messes up the .project file. Is there any way to tell
the
eclipse plugin to only generate the class path?

Best regards,
Eric

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



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


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



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


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



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

Reply via email to