[m2] run a bat file from within a custom plugin

2005-11-22 Thread Wim Deblauwe
Hi,

I would like to run a bat file from my plugin. I know that this will make my
plugin very unportable to other platforms, but I only need to run on
windows. What would be the best way to do this? Since running a bat file
from within a jar is not supported, I guess the best way is to extract that
bat file from the plugin jar to some temp directory and run it from there.
Any other ideas?

regards,

Wim


Re: [m2] run a bat file from within a custom plugin

2005-11-22 Thread Emmanuel Venisse

look at release:perform goal.

Emmanuel

Wim Deblauwe a écrit :

Hi,

I would like to run a bat file from my plugin. I know that this will make my
plugin very unportable to other platforms, but I only need to run on
windows. What would be the best way to do this? Since running a bat file
from within a jar is not supported, I guess the best way is to extract that
bat file from the plugin jar to some temp directory and run it from there.
Any other ideas?

regards,

Wim




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



Re: [m2] run a bat file from within a custom plugin

2005-11-22 Thread Wim Deblauwe
What do you mean? I see the use of the Commanline class, but it calls an
executable that is on the PATH. I'm talking about running a bat file that is
delivered with my plugin (in the plugin jar).


2005/11/22, Emmanuel Venisse [EMAIL PROTECTED]:

 look at release:perform goal.

 Emmanuel

 Wim Deblauwe a écrit :
  Hi,
 
  I would like to run a bat file from my plugin. I know that this will
 make my
  plugin very unportable to other platforms, but I only need to run on
  windows. What would be the best way to do this? Since running a bat file
  from within a jar is not supported, I guess the best way is to extract
 that
  bat file from the plugin jar to some temp directory and run it from
 there.
  Any other ideas?
 
  regards,
 
  Wim
 


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




Re: [m2] run a bat file from within a custom plugin

2005-11-22 Thread Emmanuel Venisse
you need to extract your file first (perhaps with plexus-archiver) and then run your script with 
Commandline



Wim Deblauwe a écrit :

What do you mean? I see the use of the Commanline class, but it calls an
executable that is on the PATH. I'm talking about running a bat file that is
delivered with my plugin (in the plugin jar).


2005/11/22, Emmanuel Venisse [EMAIL PROTECTED]:


look at release:perform goal.

Emmanuel

Wim Deblauwe a écrit :


Hi,

I would like to run a bat file from my plugin. I know that this will


make my


plugin very unportable to other platforms, but I only need to run on
windows. What would be the best way to do this? Since running a bat file
from within a jar is not supported, I guess the best way is to extract


that


bat file from the plugin jar to some temp directory and run it from


there.


Any other ideas?

regards,

Wim




-
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]



Re: [m2] run a bat file from within a custom plugin

2005-11-22 Thread Chris Berry
Hi Wim,
I had to do something like this as well w/ the antrun Plugin. Ant expects to
find a real File for build.xml, and won't extract it from JAR. So I simply
used Ant to do all the work. You can ignore the part where I build the ant
task. The pertinent part is shown below. BTW. you could even use Ant to
exec to run your BAT file. It has all the features you'd eventually
need...

 //-
 protected void executeTasks( Target target, MavenProject mproject, String
msgLevel )
 throws MojoExecutionException
 {
 verifySetup();
 String antFileName = getAntFileName();
 String antTargetName = getAntTargetName();

 //-
 // Create the unzip Task
 //-
 Task unzipTask = createUnzipTask( antFileName );
 addTask( target, unzipTask );

 //-
 // Create the ant Task
 //-
 Task antTask = createAntTask( antFileName, antTargetName );
 addTask( target, antTask );

 //-
 // Set Ant project properties
 //-
 setCommonAntProperties( target );
 setAntProperties( target );

 //-
 // Execute the Tasks
 //-
 getLog().info( *** target=  + target.getTasks().length );

 super.executeTasks( target, mproject, msgLevel );
 }

 //-
 private Task createUnzipTask( String antFileName )
 {
 String pluginGroupId = getPluginGroupId();
 String pluginArtifactId = getPluginArtifactId();
 String pluginVersion = getPluginVersion() ;
 ArtifactRepository localRepository = getLocalRepository();
 String targetDirectory = getTargetDirectory();

 getLog().info( pluginGroupId=  + pluginGroupId );
 getLog().info( pluginArtifactId=  + pluginArtifactId );
 getLog().info( pluginVersion=  + pluginVersion );
 getLog().info( localRepository=  + localRepository.getUrl() );
 getLog().info( targetDirectory =  + targetDirectory );

 // First, get build the source JAR file
 // convert groupId to path (. == /)
 // FIXME: this is probably possible in maven somewhere??
 String groupIdPath = pluginGroupId.replace( '.', '/' );
 String slocalRepo = localRepository.getUrl();

 // Strip off the file:/ -- there's probably a better way to do this
 // but converting to a File and pulling the Path was giving incorrect
results (on windoze)
 slocalRepo = slocalRepo.replaceAll( file://,  );
 getLog().info( \n*** slocalRepo=  + slocalRepo );

 // build full path to plugin jar -- src=${plugin.artifact}
 // FIXME: this is probably possible in maven somewhere??
 String src = slocalRepo + / + groupIdPath + / + pluginArtifactId + /
+
 pluginVersion + / + pluginArtifactId + - + pluginVersion + .jar ;
 getLog().info( *** src=  + src );

 File srcFile = new File( src );
 getLog().info( *** srcFile=  + srcFile );

 //..
 // Get the destination dir -- dest=${targetdir}
 File destFile = new File( targetDirectory );
 getLog().info( \n== targetDirectory=  + targetDirectory );
 getLog().info( \n== destFile=  + targetDirectory );

 //..
 // build the unzip Task
 //
 // unzip src=${plugin.artifact}
 // dest=${targetdir}
 // patternset
 // include name=ant/axis-build.xml/
 // /patternset
 // /unzip
 Expand unzipTask = new Expand();

 unzipTask.setTaskName( unzip );

 unzipTask.setSrc( srcFile );
 unzipTask.setDest( destFile );
 unzipTask.setOverwrite( true );

 PatternSet pset = new PatternSet();
 pset.setIncludes( antFileName );
 unzipTask.addPatternset( pset );

 return unzipTask;
 }






On 11/22/05, Emmanuel Venisse [EMAIL PROTECTED] wrote:

 you need to extract your file first (perhaps with plexus-archiver) and
 then run your script with
 Commandline


 Wim Deblauwe a écrit :
  What do you mean? I see the use of the Commanline class, but it calls an
  executable that is on the PATH. I'm talking about running a bat file
 that is
  delivered with my plugin (in the plugin jar).
 
 
  2005/11/22, Emmanuel Venisse [EMAIL PROTECTED]:
 
 look at release:perform goal.
 
 Emmanuel
 
 Wim Deblauwe a écrit :
 
 Hi,
 
 I would like to run a bat file from my plugin. I know that this will
 
 make my
 
 plugin very unportable to other platforms, but I only need to run on
 windows. What would be the best way to do this? Since running a bat
 file
 from within a jar is not supported, I guess the best way is to extract
 
 that
 
 bat file from the plugin jar to some temp directory and run it from
 
 there.
 
 Any other ideas?
 
 regards,
 
 Wim
 
 
 
 -
 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]