On 20-Mar-08, at 12:39 AM, Thomas Tardy wrote:

Hi Eugene,

I see three points why it should be possible to manage the buildpath
and runtime classpath in the standard Eclipse UI (and it shouldn't be
ignored). But first of all I have to say that if you decide to not
allow this Eclipse feature, you should "disable" the UI. Else it is
realy confusing and it took me some time to find out.

- From my point of few I can't see any imperatives to disable the
feature. It was possible to handle the maven classpath container with
additional classpath entries, why it should be forbidden en?


If it is enabled then there is no parity between headless mode and what happens in the UI and that simply is not a viable option. I see little value for a Maven-based project to not add dependencies as is normal in Maven. Additionally trying to manage both methods and reconciling them is really pointless. The intersection that is really important is making sure the classpath containers offered up by different tools cooperate and we're working on that.

What exactly is your usecase for the mixed model. It's theoretically nice to talk about this but what is your reasoning for wanting this?

- Base on the first point, why to forbid something if it's not
necessary to forbid it. And I don't like the idea that if you have an
eclipse project with maven support then you have to manage any
configuration using maven. As I understand maven so far, the idea is
to help people doing things easier and not to force the people doing
something. I get your point that you can do everything you have done
in the Eclipse UI with maven, but I don't hold, that you have to do it
with maven.


That you simply don't like it is not a persuasive argument.

- The last point is related to the practice. I joined a project and
got the task to build up the build environment. Starting from dozens
of Eclipse projects which only could be build and deployed in the
Eclipse I had the idea to use maven to define the build definition.
The Maven Eclipse Plugin is being used to have Eclipse building the
projects based on the same build definition. That was my idea from a
build managers view point. By contrast there are around 40 developers
in the project and they are not realy interested in Maven and that
it's used for integration and release builds and they don't have deep
knowledge about Maven. They know Eclipse and how to work with this
IDE. Therefore we doen't have absolutistic approach and use Maven for
everything. As long a definition is not necessary for integration and
release build we don't care if it's only defined in the IDE. A reason
why we cannot say, we use Maven for everything is the lack of
knowledge about Maven in the project. And because of a strict project
plan we don't have the time to stop the project for let us say one or
two weeks and make Maven education. We need a smooth approach with
training on the job. And this is only possible if we can use Maven in
collaboration with the techniques we already know.


Ok, that's a better explanation. This is something we're definitely trying to work out with users. But this argument is almost akin to saying for WTP projects I don't want anyone to know about WTP. But we are talking with people at EclipseCON about a couple options. One would be to use AspectJ to intercept normal Eclipse actions and funnel them into Maven. The other is simply having Maven just understand different kinds of builds, say a project with just a manifest. So we are working on those options but the Maven integration is just that, for people who want to use Maven. Using Maven in headless mode, and just completely hiding Maven in the IDE is not a place we've reached yet but is a path we want to move toward.

I realy hope it will be possible to manage the buildpath and runtime
classpath in the standard Eclipse UI. An possible idea could be to
disable it by default but it should be switchable by preferences.

If you have any questions, don't hesitate to contact me.

Regards,
Thomas

On Wed, Mar 19, 2008 at 8:42 PM, Eugene Kuleshov <[EMAIL PROTECTED]> wrote:
Thomas,

 Can you please elaborate on the use cases why you need to edit the
classpath outside of Maven? It would help us better to understand the
issues you having.

 On a good side, I just talked with JDT folks here at EclipseCon and
they have suggested few options that we might be able to use to improve
the situation, but like I said it would be great to better understand
your use cases.

 Thanks

 Eugene




Thomas Tardy wrote:
Hello Eugene,

thanks for your reply. I realy hope it will be possible to configure
the classpath of  launchers and applications as usual. I get your
point, that if you use maven managed projects, you should define the
classpath in maven. But I think you should allow exceptions. From my
point of view it should be possible to edit this classpathes.

Regards,
Thomas

On Wed, Mar 19, 2008 at 6:49 PM, Eugene Kuleshov <[EMAIL PROTECTED]> wrote:

Thomas Tardy wrote:

I updated from version 0.0.12 to 0.9.0 a few days ago and it looks to
that everything is working well. Therefore I think that the issue
described in the following is more a missunderstanding from my side
than a bug.

In eclipse you have the possibility to configure the classpath of a
launcher and this was working well with m2eclipse v0.0.12. Since I
updated the plugin to v0.9.0 the classpath of the launcher is always being restored to the default when I launch it. Can anybody tell me what I'm doing wrong respectively how to do the same thing with the
v0.9.0.

Thomas, your observations are correct, and what happens is that we
always use corresponding Maven-managed classpath for JUnit and Java app
launch configurations (test and runtime scope accordingly).

As you noticed, it is still possible to edit both buildpath and
runtime classpath using a standard Eclipse UI and it is confusing that edited configuration is not being used. We haven't decided if we should
look if we can disable such editing in JDT UI if Maven dependency
management is enabled, or if we should use these changes at a price of
breaking command line Maven build.

Anyways, in a mean time you can add additional dependencies to the
pom.xml using test and runtime scopes, so they will be used by launch
configurations.

regards,
Eugene



---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email




---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email



Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
jason at sonatype dot com
----------------------------------------------------------

People develop abstractions by generalizing from concrete examples.
Every attempt to determine the correct abstraction on paper without
actually developing a running system is doomed to failure. No one
is that smart. A framework is a resuable design, so you develop it by
looking at the things it is supposed to be a design of. The more examples
you look at, the more general your framework will be.

-- Ralph Johnson & Don Roberts, Patterns for Evolving Frameworks



---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to