Re: [DISCUCSS] Make ToolchainManagerPrivate session-aware

2009-08-09 Thread Benjamin Bentmann

Benjamin Bentmann wrote:

The maven-toolchain-plugin is the only client of the 
ToolchainManagerPrivate interface and was not released yet. However, 
changing the interface means the next plugin version can only be used 
with a new Maven version, say 2.3+.


I updated the plugin to reflectively access the core component, not 
beautiful but works with all Maven versions.



Benjamin

-
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org



Re: [DISCUCSS] Make ToolchainManagerPrivate session-aware

2009-08-04 Thread Milos Kleint
unless the MavenSession can be somehow computed (how?) there's no other way
I can see.

Milos

On Tue, Aug 4, 2009 at 10:49 AM, Benjamin Bentmann 
benjamin.bentm...@udo.edu wrote:

 Hi,

 in the interface ToolchainManagerPrivate, i.e. the one used by the
 maven-toolchain-plugin to setup the toolchains for a build, we currently
 have the method

ToolchainPrivate[] getToolchainsForType( String type )

 The impl of this method processes the toolchains.xml. Given the above
 method signature, there is currently no way to configure the path to the
 toolchains.xml without using global state in the component. This is
 troublesome for multi-threaded Maven executions, say during embedded usage.

 Hence I suggest to extend the method to

ToolchainPrivate[] getToolchainsForType( String type, MavenSession
 session )

 i.e. additionally passing in the session. This is one way to allow the impl
 to query per-session config like the path to the toolchains.xml.

 The maven-toolchain-plugin is the only client of the
 ToolchainManagerPrivate interface and was not released yet. However,
 changing the interface means the next plugin version can only be used with a
 new Maven version, say 2.3+.

 Any other ideas?


 Benjamin

 -
 To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
 For additional commands, e-mail: dev-h...@maven.apache.org




Re: [DISCUCSS] Make ToolchainManagerPrivate session-aware

2009-08-04 Thread Stephen Connolly
Add an interface

public interface MavenSessionAware {
  public void setMavenSession(MavenSession session);
  public MavenSession getMavenSession();
}

and make the impl additionally implement the MavenSessionAware interface?

2009/8/4 Milos Kleint mkle...@gmail.com

 unless the MavenSession can be somehow computed (how?) there's no other way
 I can see.

 Milos

 On Tue, Aug 4, 2009 at 10:49 AM, Benjamin Bentmann 
 benjamin.bentm...@udo.edu wrote:

  Hi,
 
  in the interface ToolchainManagerPrivate, i.e. the one used by the
  maven-toolchain-plugin to setup the toolchains for a build, we currently
  have the method
 
 ToolchainPrivate[] getToolchainsForType( String type )
 
  The impl of this method processes the toolchains.xml. Given the above
  method signature, there is currently no way to configure the path to the
  toolchains.xml without using global state in the component. This is
  troublesome for multi-threaded Maven executions, say during embedded
 usage.
 
  Hence I suggest to extend the method to
 
 ToolchainPrivate[] getToolchainsForType( String type, MavenSession
  session )
 
  i.e. additionally passing in the session. This is one way to allow the
 impl
  to query per-session config like the path to the toolchains.xml.
 
  The maven-toolchain-plugin is the only client of the
  ToolchainManagerPrivate interface and was not released yet. However,
  changing the interface means the next plugin version can only be used
 with a
  new Maven version, say 2.3+.
 
  Any other ideas?
 
 
  Benjamin
 
  -
  To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
  For additional commands, e-mail: dev-h...@maven.apache.org
 
 



Re: [DISCUCSS] Make ToolchainManagerPrivate session-aware

2009-08-04 Thread Stephen Connolly
If the session has not been injected, then legacy behaviour... if it has,
use that one instead

2009/8/4 Stephen Connolly stephen.alan.conno...@gmail.com

 Add an interface

 public interface MavenSessionAware {
   public void setMavenSession(MavenSession session);
   public MavenSession getMavenSession();
 }

 and make the impl additionally implement the MavenSessionAware interface?

 2009/8/4 Milos Kleint mkle...@gmail.com

 unless the MavenSession can be somehow computed (how?) there's no other way
 I can see.

 Milos

 On Tue, Aug 4, 2009 at 10:49 AM, Benjamin Bentmann 
 benjamin.bentm...@udo.edu wrote:

  Hi,
 
  in the interface ToolchainManagerPrivate, i.e. the one used by the
  maven-toolchain-plugin to setup the toolchains for a build, we currently
  have the method
 
 ToolchainPrivate[] getToolchainsForType( String type )
 
  The impl of this method processes the toolchains.xml. Given the above
  method signature, there is currently no way to configure the path to the
  toolchains.xml without using global state in the component. This is
  troublesome for multi-threaded Maven executions, say during embedded
 usage.
 
  Hence I suggest to extend the method to
 
 ToolchainPrivate[] getToolchainsForType( String type, MavenSession
  session )
 
  i.e. additionally passing in the session. This is one way to allow the
 impl
  to query per-session config like the path to the toolchains.xml.
 
  The maven-toolchain-plugin is the only client of the
  ToolchainManagerPrivate interface and was not released yet. However,
  changing the interface means the next plugin version can only be used
 with a
  new Maven version, say 2.3+.
 
  Any other ideas?
 
 
  Benjamin
 
  -
  To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
  For additional commands, e-mail: dev-h...@maven.apache.org
 
 





Re: [DISCUCSS] Make ToolchainManagerPrivate session-aware

2009-08-04 Thread Benjamin Bentmann

Stephen Connolly wrote:


Add an interface

public interface MavenSessionAware {
  public void setMavenSession(MavenSession session);
  public MavenSession getMavenSession();
}

and make the impl additionally implement the MavenSessionAware interface?


If you refer to the impl of ToolchainManagerPrivate, this doesn't solve 
the problem. The aim is to make this component stateless.



Benjamin

-
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org



Re: [DISCUCSS] Make ToolchainManagerPrivate session-aware

2009-08-04 Thread Stephen Connolly
Ahh ok hmmm that won't work so

2009/8/4 Benjamin Bentmann benjamin.bentm...@udo.edu

 Stephen Connolly wrote:

  Add an interface

 public interface MavenSessionAware {
  public void setMavenSession(MavenSession session);
  public MavenSession getMavenSession();
 }

 and make the impl additionally implement the MavenSessionAware interface?


 If you refer to the impl of ToolchainManagerPrivate, this doesn't solve the
 problem. The aim is to make this component stateless.



 Benjamin

 -
 To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
 For additional commands, e-mail: dev-h...@maven.apache.org