cvs commit: maven/src/plugins-build/war/xdocs changes.xml

2003-07-01 Thread michal
michal  2003/07/01 01:43:52

  Modified:src/plugins-build/war plugin.jelly project.xml
   src/plugins-build/war/xdocs changes.xml
  Log:
  Iterating over artifacts not deps
  
  Revision  ChangesPath
  1.20  +4 -2  maven/src/plugins-build/war/plugin.jelly
  
  Index: plugin.jelly
  ===
  RCS file: /home/cvs/maven/src/plugins-build/war/plugin.jelly,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- plugin.jelly  19 Jun 2003 14:01:51 -  1.19
  +++ plugin.jelly  1 Jul 2003 08:43:51 -   1.20
  @@ -125,8 +125,10 @@
 /ant:copy
   /j:if
   
  -j:forEach var=dep items=${pom.dependencies}
  -
  +
  +   
  +j:forEach var=lib items=${pom.artifacts}
  +  j:set var=dep value=${lib.dependency}/ 
 j:if test=${dep.getProperty('war.bundle')=='true' and dep.type =='jar' }
 ant:copy todir=${webapp.build.lib}

file=${maven.repo.local}/${dep.artifactDirectory}/jars/${dep.artifact}/  
  
  
  
  1.12  +10 -1 maven/src/plugins-build/war/project.xml
  
  Index: project.xml
  ===
  RCS file: /home/cvs/maven/src/plugins-build/war/project.xml,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- project.xml   13 Apr 2003 02:32:15 -  1.11
  +++ project.xml   1 Jul 2003 08:43:51 -   1.12
  @@ -28,6 +28,15 @@
 /roles
   /developer
   developer
  +  nameMichal Maczka/name
  +  idmichal/id
  +  email[EMAIL PROTECTED]/email
  +  organizationDimatics/organization
  +  roles
  +roleJava Developer/role
  +  /roles
  +/developer
  +developer
 nameVincent Massol/name
 idvmassol/id
 email[EMAIL PROTECTED]/email
  @@ -35,7 +44,7 @@
 roles
   roleJava Developer/role
 /roles
  -/developer
  +/developer
 /developers
 dependencies/
   /project
  
  
  
  1.5   +6 -0  maven/src/plugins-build/war/xdocs/changes.xml
  
  Index: changes.xml
  ===
  RCS file: /home/cvs/maven/src/plugins-build/war/xdocs/changes.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- changes.xml   13 Apr 2003 02:35:12 -  1.4
  +++ changes.xml   1 Jul 2003 08:43:51 -   1.5
  @@ -11,6 +11,12 @@
 action dev=dion type=fix due-to=Ben Hogan
   Allow war file to be updated
 /action
  +  action dev=michal type=fix
  +Iterating artifacts not depedencies
  +  /action
  +  action dev=michal type=add
  +Added deploy, deploy-snapshot and install-snapshot goals
  +  /action
   /release
   
   release version=1.3 date=2002-04-08
  
  
  

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



cvs commit: maven/src/plugins-build/ear/xdocs changes.xml

2003-07-01 Thread michal
michal  2003/07/01 01:45:14

  Modified:src/plugins-build/ear plugin.jelly
   src/plugins-build/ear/xdocs changes.xml
  Log:
  o Iterating over artifacts not deps
  o Added deploy, deploy-snapshot and install-shapshot goals
  
  Revision  ChangesPath
  1.9   +77 -21maven/src/plugins-build/ear/plugin.jelly
  
  Index: plugin.jelly
  ===
  RCS file: /home/cvs/maven/src/plugins-build/ear/plugin.jelly,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- plugin.jelly  17 Jun 2003 17:57:47 -  1.8
  +++ plugin.jelly  1 Jul 2003 08:45:13 -   1.9
  @@ -6,6 +6,7 @@
 xmlns:license=license
 xmlns:util=jelly:util
 xmlns:x=jelly:xml
  +  xmlns:artifact=artifact
 
   
 !--==--
  @@ -48,7 +49,8 @@
   excludes=**/META-INF/application.xml/
   
 !-- include marked dependencies --
  -  j:forEach var=dep items=${pom.dependencies}
  +  j:forEach var=lib items=${pom.artifacts}
  +j:set var=dep value=${lib.dependency}/  
   j:if test=${dep.getProperty('ear.bundle')=='true'}
 ant:echoBundling: ${dep.type}/ant:echo
 j:choose
  @@ -57,8 +59,8 @@
  ant:include name=${dep.artifact}/
 /ant:fileset
   /j:when
  -j:when test=${dep.type == 'war' }
  -  ant:fileset dir=${maven.repo.local}/${dep.artifactDirectory}/wars/
  +j:when test=${dep.type == 'ear' }
  +  ant:fileset dir=${maven.repo.local}/${dep.artifactDirectory}/ears/
   ant:include name=${dep.artifact}/
 /ant:fileset
   /j:when
  @@ -103,20 +105,7 @@
   
 /goal
   
  -  !--==--
  -  !-- Install the ear in the local repository  --
  -  !--==--
  -  goal name=ear:install
  -prereqs=ear:ear
  -description=Install the ear in the local repository
  -
  -ant:property name=maven.ear.install.dir
  -  value=${maven.repo.local}/${pom.artifactDirectory}/ears/
  -ant:mkdir dir=${maven.ear.install.dir}/
  -ant:copy file=${maven.build.dir}/${maven.final.name}.ear
  -  tofile=${maven.ear.install.dir}/${maven.final.name}.ear/
  -  
  -  /goal
  +  
 
 !--==--
 !-- Creates ear descriptor - application.xml file--
  @@ -132,14 +121,15 @@

   x:element name=application
   x:element name=display-name${maven.ear.displayname}/x:element
  -j:forEach var=dep items=${pom.dependencies} 
  +j:forEach var=lib items=${pom.artifacts}
  +   j:set var=dep value=${lib.dependency}/
 j:if test=${dep.getProperty('ear.bundle')=='true'}
   j:choose
  -  j:when test=${dep.type=='war'}
  +  j:when test=${dep.type=='ear'}
   x:element name=module
 x:element name=web
   x:element name=web-uri${dep.getArtifact()}/x:element
  -x:element 
name=context-root${dep.getProperty('ear.appxml.war.context-root')}/x:element
  +x:element 
name=context-root${dep.getProperty('ear.appxml.ear.context-root')}/x:element
/x:element
   /x:element
 /j:when
  @@ -158,8 +148,74 @@
   /j:forEach
  /x:element 
/j:file  
  - 
  +  
  /goal
  +   
  +
  +  
  +  !--==--
  +  !-- Install the ear in the local repository  --
  +  !--==--
  +  goal name=ear:install
  +prereqs=ear:ear
  +description=Install the ear in the local repository
  + 
  + artifact:install
  +artifact=${maven.build.dir}/${maven.final.name}.ear
  +type=ear
  +project=${pom}/ 
  +  
  +  /goal
  +  
  +  !--==--
  +  !-- Install the snapshot version of the ear in the local repository  --
  +  !--==--  
  +  goal name=ear:install-snapshot
  +prereqs=ear:ear 
  +description=Install the snapshot version of the ear in the local 
repository
  +
  +  artifact:install-snapshot
  +artifact=${maven.build.dir}/${maven.final.name}.ear
  +type=ear
  +project=${pom}/ 
  +
  +  /goal
  +
  +  !--==--
  +  !-- Deploys the ear

RE: cvs commit: maven/src/plugins-build/war/xdocs changes.xml

2003-07-01 Thread Michal Maczka
Sorry! I'll try to be clearer next time. 
I will also fix/improve those comments

It was a fix for Issue#518

regards
Michal

 -Original Message-
 From: Vincent Massol [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, July 01, 2003 11:52 AM
 To: 'Maven Developers List'
 Subject: RE: cvs commit: maven/src/plugins-build/war/xdocs changes.xml
 
 Hi Michal,
 
  -Original Message-
  From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
  Sent: 01 July 2003 10:44
  To: [EMAIL PROTECTED]
  Subject: cvs commit: maven/src/plugins-build/war/xdocs changes.xml
 
 [snip]
 
Index: changes.xml
===
RCS file: /home/cvs/maven/src/plugins-build/war/xdocs/changes.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- changes.xml   13 Apr 2003 02:35:12 -  1.4
+++ changes.xml   1 Jul 2003 08:43:51 -   1.5
@@ -11,6 +11,12 @@
   action dev=dion type=fix due-to=Ben Hogan
 Allow war file to be updated
   /action
+  action dev=michal type=fix
+Iterating artifacts not depedencies
+  /action
 
 Can you please explain better in changes.xml why you did that (the
 reason for it)? There are also some typos: Iterating over artifacts
 and dependencies.
 
 Also, I think the rule is to have new changes added first in the list so
 that the list always contains the latest changes first.
 
 Thanks
 -Vincent
 
 
 -
 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: cvs commit: maven/src/plugins-build/war/xdocs changes.xml

2003-07-01 Thread Michal Maczka
I am working on other problems with war plugin to completely fix Issue 518
... so don't worry Vincent!

mm

 -Original Message-
 From: Michal Maczka [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, July 01, 2003 12:47 PM
 To: 'Maven Developers List'
 Subject: RE: cvs commit: maven/src/plugins-build/war/xdocs changes.xml
 
 Sorry! I'll try to be clearer next time.
 I will also fix/improve those comments
 
 It was a fix for Issue#518
 
 regards
 Michal
 
  -Original Message-
  From: Vincent Massol [mailto:[EMAIL PROTECTED]
  Sent: Tuesday, July 01, 2003 11:52 AM
  To: 'Maven Developers List'
  Subject: RE: cvs commit: maven/src/plugins-build/war/xdocs changes.xml
 
  Hi Michal,
 
   -Original Message-
   From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
   Sent: 01 July 2003 10:44
   To: [EMAIL PROTECTED]
   Subject: cvs commit: maven/src/plugins-build/war/xdocs changes.xml
 
  [snip]
 
 Index: changes.xml
 ===
 RCS file: /home/cvs/maven/src/plugins-build/war/xdocs/changes.xml,v
 retrieving revision 1.4
 retrieving revision 1.5
 diff -u -r1.4 -r1.5
 --- changes.xml 13 Apr 2003 02:35:12 -  1.4
 +++ changes.xml 1 Jul 2003 08:43:51 -   1.5
 @@ -11,6 +11,12 @@
action dev=dion type=fix due-to=Ben Hogan
  Allow war file to be updated
/action
 +  action dev=michal type=fix
 +Iterating artifacts not depedencies
 +  /action
 
  Can you please explain better in changes.xml why you did that (the
  reason for it)? There are also some typos: Iterating over artifacts
  and dependencies.
 
  Also, I think the rule is to have new changes added first in the list so
  that the list always contains the latest changes first.
 
  Thanks
  -Vincent
 
 
  -
  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]



cvs commit: maven/src/plugins-build/ear plugin.jelly

2003-07-01 Thread michal
michal  2003/07/01 07:57:57

  Modified:src/plugins-build/ear/xdocs goals.xml changes.xml
   src/plugins-build/ear plugin.jelly
  Log:
  Fixes for MAVEN-518.
   Artifact processing in the plugin was slightly changed and now it supports jar 
overriding mechanism
  
  Revision  ChangesPath
  1.3   +14 -3 maven/src/plugins-build/ear/xdocs/goals.xml
  
  Index: goals.xml
  ===
  RCS file: /home/cvs/maven/src/plugins-build/ear/xdocs/goals.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- goals.xml 8 May 2003 20:53:55 -   1.2
  +++ goals.xml 1 Jul 2003 14:57:56 -   1.3
  @@ -26,15 +26,26 @@
   description
   Installs the generated ear file into the local repository
   /description
  +  /goal
  +  goal
  +nameear:install-snapshot/name
  +descriptionInstall the snapshot version of the ear in the local 
repository/description
  +  /goal  
  +  goal
  +nameear:deploy/name
  +descriptionDeploy the ear to the remote repository(ies)/description
 /goal
  -/goals
  -
  -goal
  +  goal
  +nameear:deploy-snapshot/name
  +descriptionDeploy the snapshot version of the ear to the remote 
repository(ies)/description
  +  /goal
  +  goal
   nameear:generate-ear-descriptor/name
   description
   Generates application.xml 
   file based on information from POM
   /description
 /goal
  +/goals  
/body
   /document
  
  
  
  1.5   +8 -6  maven/src/plugins-build/ear/xdocs/changes.xml
  
  Index: changes.xml
  ===
  RCS file: /home/cvs/maven/src/plugins-build/ear/xdocs/changes.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- changes.xml   1 Jul 2003 08:45:14 -   1.4
  +++ changes.xml   1 Jul 2003 14:57:56 -   1.5
  @@ -6,16 +6,18 @@
 /properties
 body
   release version=1.2 date=in CVS
  -  action dev=vmassol type=fix
  -Removed warning about application.xml being added twice to the
  -EAR.
  -  /action
 action dev=michal type=fix
  -Iterating artifacts not depedencies
  +Fixes for MAVEN-518.
  +Artifact processing in the plugin 
  +was slightly changed and now it supports jar overriding mechanism   
 /action
 action dev=michal type=add
  -Added deploy, deploy-snapshot and install-snapshot goals
  +Added 'deploy', 'deploy-snapshot' and 'install-snapshot' goals
 /action
  +  action dev=vmassol type=fix
  +Removed warning about application.xml being added twice to the
  +EAR.
  +  /action  
   /release
   release version=1.1 date=2003-05-08
 action dev=michal type=add
  
  
  
  1.10  +35 -20maven/src/plugins-build/ear/plugin.jelly
  
  Index: plugin.jelly
  ===
  RCS file: /home/cvs/maven/src/plugins-build/ear/plugin.jelly,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- plugin.jelly  1 Jul 2003 08:45:13 -   1.9
  +++ plugin.jelly  1 Jul 2003 14:57:57 -   1.10
  @@ -52,25 +52,40 @@
 j:forEach var=lib items=${pom.artifacts}
   j:set var=dep value=${lib.dependency}/  
   j:if test=${dep.getProperty('ear.bundle')=='true'}
  -  ant:echoBundling: ${dep.type}/ant:echo
  -  j:choose
  -j:when test=${dep.type == 'jar'}
  -  ant:fileset dir=${maven.repo.local}/${dep.artifactDirectory}/jars/
  -   ant:include name=${dep.artifact}/
  -  /ant:fileset
  -/j:when
  -j:when test=${dep.type == 'ear' }
  -  ant:fileset dir=${maven.repo.local}/${dep.artifactDirectory}/ears/
  -ant:include name=${dep.artifact}/
  -  /ant:fileset
  -/j:when
  -j:when test=${dep.type == 'ejb' }
  -  ant:fileset dir=${maven.repo.local}/${dep.artifactDirectory}/ejbs/
  -ant:include name=${dep.artifact}/
  -  /ant:fileset
  -/j:when
  -  /j:choose
  -/j:if 
  +  
  +  !-- 
  +  
  +   We know that this dep wants to be bundled.
  +   We should bundle only jars, wars and ejbs 
  +
  +  --
  +
  +  !-- I want to have
  +  j:if test=${dep.type == 'jar' or dep.type == 'war' or dep.type == 
'ejb'}
  +   but jexl sucks so I have to write extra 10 lines...
  +  --
  +  
  +  j:set var=bundle value=false/
  +  j:if test

cvs commit: maven/src/plugins-build/war/xdocs changes.xml goals.xml

2003-07-01 Thread michal
michal  2003/07/01 07:58:52

  Modified:src/plugins-build/war plugin.jelly
   src/plugins-build/war/xdocs changes.xml goals.xml
  Log:
  Fixes for MAVEN-518.
  Artifact processing in the plugin was slightly changed and now it supports jar 
overriding mechanism
  
  Revision  ChangesPath
  1.21  +14 -11maven/src/plugins-build/war/plugin.jelly
  
  Index: plugin.jelly
  ===
  RCS file: /home/cvs/maven/src/plugins-build/war/plugin.jelly,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- plugin.jelly  1 Jul 2003 08:43:51 -   1.20
  +++ plugin.jelly  1 Jul 2003 14:58:52 -   1.21
  @@ -49,21 +49,24 @@
   /ant:fileset
 /j:if
 
  -  j:forEach var=dep items=${pom.dependencies}
  +  j:forEach var=lib items=${pom.artifacts}
  +j:set var=dep value=${lib.dependency}/   
  +j:set var=bundle value=false/
   j:if test=${dep.getProperty('war.bundle.jar')=='true'}
 ant:echo 
   DEPRECATION WARNING:
  -Use : war.bundle instead of war.bundle.jar
  +Use : war.bundle instead of war.bundle.jar
 /ant:echo
  -  ant:lib dir=${maven.repo.local}/${dep.artifactDirectory}/jars/
  -ant:include name=${dep.artifact}/
  -  /ant:lib
  +  j:set var=bundle value=true/
   /j:if  
  -j:if test=${dep.getProperty('war.bundle')=='true' and dep.type =='jar' }
  -  ant:lib dir=${maven.repo.local}/${dep.artifactDirectory}/jars/
  -ant:include name=${dep.artifact}/
  +j:if test=${dep.getProperty('war.bundle')=='true' and dep.type =='jar'} 
   
  +  j:set var=bundle value=true/
  +/j:if
  +j:if test=${bundle == 'true'}  
  +  ant:lib dir=${lib.file.parent}
  +ant:include name=${lib.file.name}/
 /ant:lib
  -/j:if  
  +/j:if
 /j:forEach
   
 j:if test=${sourcesPresent == 'true'}
  @@ -131,7 +134,7 @@
 j:set var=dep value=${lib.dependency}/ 
 j:if test=${dep.getProperty('war.bundle')=='true' and dep.type =='jar' }
 ant:copy todir=${webapp.build.lib}
  - 
file=${maven.repo.local}/${dep.artifactDirectory}/jars/${dep.artifact}/  
  + file=${lib.path}/  
 /j:if  
 j:if test=${dep.getProperty('war.bundle.jar')=='true'}
ant:echo 
  @@ -139,7 +142,7 @@
   Use : war.bundle instead of war.bundle.jar
 /ant:echo
   ant:copy todir=${webapp.build.lib}
  -  file=${maven.repo.local}/${dep.artifactDirectory}/jars/${dep.artifact}/
  +  file=${lib.path}/
 /j:if  
   /j:forEach
   
  
  
  
  1.6   +7 -4  maven/src/plugins-build/war/xdocs/changes.xml
  
  Index: changes.xml
  ===
  RCS file: /home/cvs/maven/src/plugins-build/war/xdocs/changes.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- changes.xml   1 Jul 2003 08:43:51 -   1.5
  +++ changes.xml   1 Jul 2003 14:58:52 -   1.6
  @@ -8,15 +8,18 @@
 body
   
   release version=1.4 date=in CVS
  -  action dev=dion type=fix due-to=Ben Hogan
  -Allow war file to be updated
  -  /action
 action dev=michal type=fix
  -Iterating artifacts not depedencies
  +Fixes for MAVEN-518.
  +Artifact processing in the plugin 
  +was slightly changed and now 
  +it supports jar overriding mechanism
 /action
 action dev=michal type=add
   Added deploy, deploy-snapshot and install-snapshot goals
 /action
  +  action dev=dion type=fix due-to=Ben Hogan
  +Allow war file to be updated
  +  /action  
   /release
   
   release version=1.3 date=2002-04-08
  
  
  
  1.2   +12 -0 maven/src/plugins-build/war/xdocs/goals.xml
  
  Index: goals.xml
  ===
  RCS file: /home/cvs/maven/src/plugins-build/war/xdocs/goals.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- goals.xml 24 Jan 2003 03:46:24 -  1.1
  +++ goals.xml 1 Jul 2003 14:58:52 -   1.2
  @@ -20,6 +20,18 @@
   descriptionInstall the war in the local repository/description
 /goal
 goal
  +namewar:install-snapshot/name
  +descriptionInstall the snapshot version of  the war in the local 
repository/description
  +  /goal  
  +  goal
  +namewar:deploy/name
  +descriptionDeploy the war to the remote repository(ies)/description
  +  /goal
  +  goal
  +namewar:deploy

cvs commit: maven/src/plugins-build/artifact/xdocs - New directory

2003-06-29 Thread michal
michal  2003/06/29 04:57:08

  maven/src/plugins-build/artifact/xdocs - New directory

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



cvs commit: maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy DeployRequest.java DeployTool.java

2003-06-29 Thread michal
michal  2003/06/29 04:57:40

  Modified:src/plugins-build/artifact/src/main/org/apache/maven/deploy/exceptions
DeployException.java
   src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer
DefaultArtifactDeployer.java DeployBean.java
DeployRequestBuilder.java ArtifactDeployer.java
   src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers
HttpDeployer.java FtpDeployer.java
SFtpDeployer.java ScpDeployer.java
FileDeployer.java Deployer.java
GenericSshDeployer.java
   src/plugins-build/artifact/src/main/org/apache/maven/deploy
DeployRequest.java DeployTool.java
  Added:   src/plugins-build/artifact/src/main/org/apache/maven/deploy/exceptions
UnsupportedProtocolException.java
TransferFailedException.java
WrongParameterException.java
   src/plugins-build/artifact/xdocs protocols.xml examples.xml
index.xml tags.xml navigation.xml
authentification.xml properties.xml changes.xml
security.xml .cvsignore
  Removed: src/plugins-build/artifact/src/main/org/apache/maven/deploy/exceptions
UnsupportedProtocolDeployException.java
  Log:
  Code clean-up and docs provided
  
  Revision  ChangesPath
  1.2   +3 -3  
maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/exceptions/DeployException.java
  
  Index: DeployException.java
  ===
  RCS file: 
/home/cvs/maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/exceptions/DeployException.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- DeployException.java  17 Jun 2003 22:06:00 -  1.1
  +++ DeployException.java  29 Jun 2003 11:57:39 -  1.2
  @@ -58,11 +58,11 @@
   
   
   /**
  - * 
  + * Root class for all exception thrown by Deployers
* @author a href=[EMAIL PROTECTED]Michal Maczka/a 
* @version $Id$
*/
  -public class DeployException extends Exception
  +public abstract class DeployException extends Exception
   {
   private final String message;
   private final Throwable cause;
  
  
  
  1.1  
maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/exceptions/UnsupportedProtocolException.java
  
  Index: UnsupportedProtocolException.java
  ===
  package org.apache.maven.deploy.exceptions;
  
  /* 
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *if any, must include the following acknowledgment:
   *   This product includes software developed by the
   *Apache Software Foundation (http://www.apache.org/).
   *Alternately, this acknowledgment may appear in the software itself,
   *if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names Apache and Apache Software Foundation and
   *Apache Maven must not be used to endorse or promote products
   *derived from this software without prior written permission. For
   *written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called Apache,
   *Apache Maven, nor may Apache appear in their name, without
   *prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED

RE: Deploy API (artifact plugin)

2003-06-27 Thread Michal Maczka


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
 Sent: Friday, June 27, 2003 6:16 AM
 To: Maven Developers List
 Subject: RE: Deploy API (artifact plugin)
 
 I think I've asked this before, but AFAIK,
 
 distributionSiteare not related AT ALL to
 maven.repo.central.
 


Last time you asked:


   siteAddressmaven.apache.org/siteAddress
   siteDirectory/www/maven.apache.org//siteDirectory
This is the web site address and directory, not a repo???

:)

I was sure that you just wanted to get sure that I use distributionSite and
distributionDirectory.



distributionSite is not described in
http://maven.apache.org/reference/project-descriptor.html


While
distributionDirectory:

Optional. The directory on the web server where the final distributions will
be published. This is used when the distributions are deployed  

(the word deployed is a hyper link which points to site plugin)


I though that final distributions are the distribution of artifacts
delivered by projects: jars, javadoc, project src zipped, 

Now I see I finaly understand that you might want e.g to publish
distribution of 
entire project at sourceforge... and not to deploy to any repository.



If I am still wrong: can you then explain briefly the difference?

I want to centralized the code which does remote copying of the files
And I see now that distribution requires special handling ...  I will/want
to change my code to support it. 

BTW:

For the moment I have tested my API with username, user password 
kept in properties file. I think such approach is not acceptable.

You can use command line to pass properties to maven: 

maven  war:deloy -Dmaven.repo.ibiblio.password = **


This is already better ... but still not perfect.

I will try to implement/use(if I find one) simple Prompter which will ask
to type your password (eventually to enter other required parameters which
are missing)

regards


Michal

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



RE: New 'reactor' plugin

2003-06-27 Thread Michal Maczka
 I also need it!

Just in case you find it useful/worthed to put to this plugin:


I often use such generic goal (bit modified here, hope that it still
works)

goal 
name=reactor:for-all

maven:reactor
  basedir=${basedir}/..
  includes=${includes}
  excludes=${excludes}
  goals=${goals}
  banner=Building
  ignoreFailures=false
/
  /goal

Then from command line 

maven reactor:for-all  -Dgoals=jar:install-snapshot 


I find it very useful.

Michal


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
 Sent: Friday, June 27, 2003 9:19 AM
 To: [EMAIL PROTECTED]
 Subject: New 'reactor' plugin
 
 I've just added this plugin as it has come in handy when working with
 multiple projects in my day job.
 
 I haven't yet add the site aggregation I was hoping to have done by now.
 
 The plan is to allow for multiple strategies for implementing site
 aggregation:
 1) independent sites, ala db.apache.org and subprojects with templated
 navigation
 2) aggregated site where site docs are copied to
 masterProject/target/docs/subprojectName at completion
 3) custom aggregation
 
 If anyone wants to help, let me know
 --
 dIon Gillard, Multitask Consulting
 Blog:  http://blogs.codehaus.org/people/dion/
 Work:  http://www.multitask.com.au

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



RE: Aligning plugin artifacts with normal projects

2003-06-27 Thread Michal Maczka

  We also need it for documentation. Its quite common for people to ask
  'what property do I set to do' because there are so many
  undocumented properties. If there was a metadata file that described
  plugin properties, it could be used to generate the xdocs.
 There is one. It's called plugin.properties, and it can be used to
 generate the xdocs :-)
 
 The reason the documentation is lacking is noone has been willing to do
 it.
 --


I think we soon will need more flexibility with documentation of properties.

Sorry for being ridiculous (I know even English documentation su..)
I suppose that we might need also localized documentation of the properties
(translation) and possibly also definition of some constrains for those
properties. If we have it: we can finally imagine that somebody will
write a GUI front-end to maven which will dynamically create user interface.
I really would prefer to use maven integrated with my Eclipse :)


Michal

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



RE: Plugin Summary

2003-06-27 Thread Michal Maczka


 -Original Message-
 From: Jason van Zyl [mailto:[EMAIL PROTECTED]
 Sent: Friday, June 27, 2003 3:08 PM
 To: Maven Developers List
 Subject: Plugin Summary
 
 Hi,
 
 I'll do the Plugin Summary again as a few people missed it and I
 probably didn't explain myself clearly.
 
 As far as plugin property access I am proposing:
 
 ${plugins.short-plugin-id.property}
 
 Across the board in all plugins for values even for values that belong
 to a particular plugin. So something like:
 
 ${plugins.antlr.srcDir}
 
 Inside and outside the Antlr plugin.
 
 Users would then override the properties using the same exact notation
 where:
 
 plugins.antlr.srcDir = /path
 

+1 

 As far as the structure of the plugin, I propose what Mark H. Wilkinson
 suggested where we use different directories to distinguish between
 build time and runtime. So the structure would look something like:
 
 plugin
src/
  plugin-resources/
  plugin-runtime/
project.properties | run time
maven.xml  |
 
  project.properties   |
  maven.xml| build time
 
 After the 1.0 release these things will never change. 

Never say never ;)

But with the
 separation now in place and for clarity and uniformity and ease of
 documentation I think would be a good thing.
 


I propose:

plugin
src/
  main/
resources/
java/ 
runtime/
   project.properties | run time 
   maven.xml  |
   test/
 resources/
 java/
project.properties   |
maven.xml| build time
xdocs/




Michal

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



RE: New 'reactor' plugin

2003-06-27 Thread Michal Maczka
Dion!

I just looked at your description ... you already did it!
Great!

Michal

 -Original Message-
 From: Michal Maczka [mailto:[EMAIL PROTECTED]
 Sent: Friday, June 27, 2003 10:18 AM
 To: 'Maven Developers List'
 Subject: RE: New 'reactor' plugin
 
  I also need it!
 
 Just in case you find it useful/worthed to put to this plugin:
 
 
 I often use such generic goal (bit modified here, hope that it still
 works)
 
 goal
 name=reactor:for-all
 
 maven:reactor
   basedir=${basedir}/..
   includes=${includes}
   excludes=${excludes}
   goals=${goals}
   banner=Building
   ignoreFailures=false
 /
   /goal
 
 Then from command line
 
 maven reactor:for-all  -Dgoals=jar:install-snapshot
 
 
 I find it very useful.
 
 Michal
 
 
  -Original Message-
  From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
  Sent: Friday, June 27, 2003 9:19 AM
  To: [EMAIL PROTECTED]
  Subject: New 'reactor' plugin
 
  I've just added this plugin as it has come in handy when working with
  multiple projects in my day job.
 
  I haven't yet add the site aggregation I was hoping to have done by now.
 
  The plan is to allow for multiple strategies for implementing site
  aggregation:
  1) independent sites, ala db.apache.org and subprojects with templated
  navigation
  2) aggregated site where site docs are copied to
  masterProject/target/docs/subprojectName at completion
  3) custom aggregation
 
  If anyone wants to help, let me know
  --
  dIon Gillard, Multitask Consulting
  Blog:  http://blogs.codehaus.org/people/dion/
  Work:  http://www.multitask.com.au
 
 -
 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: New 'reactor' plugin

2003-06-27 Thread Michal Maczka
 aggregate:build, aggregate:site [3]


aggregator?


mm

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



RE: Deploy API (artifact plugin)

2003-06-27 Thread Michal Maczka




 I would avoid the command line passed password. It is much less secure
 on unix than the password kept in a file. Command line can be seen by
 simple ps commands, or e.g. linux systems store the in the /proc
 filesystem.
 It should be used only from command files.

 incze


I want to support all 3 possiblites:

a)files
b)command line parameters
c) ask the user to enter the  password (this is just plan at the moment)

In fact I would need to make tricks to support a) and not to support b) as
this is build-in in Maven  so I am not going to block this possibility

It will be nice to explain in documentaion all security risks.
They cleary are platform depended (e..g files containing passwords are bad
idea under MS Windows)

mm




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



RE: Deploy API (artifact plugin)

2003-06-26 Thread Michal Maczka


 -Original Message-
 From: Martin Skopp [mailto:[EMAIL PROTECTED]
 Sent: Thursday, June 26, 2003 8:40 AM
 To: Maven Developers List
 Subject: Re: Deploy API (artifact plugin)
 
 On Wed, 2003-06-25 at 15:20, Michal Maczka wrote:
  I have progressed with Deployer API.
 
 Wow, that *really* looks good...
 
  #list of repositories to which we will deploy
  maven.repo.repos= R1, R2, R3, R4, ibiblio
 
 Is there really need for this property?
 I am just afraid of users forgetting to add to this property which will
 raise question on the mailinglist
 
 Possible reaons from my point of view:
 
 a) convenience for Michal :-)
 He does not need to loop over all properties check for a maven.repo.*
 match...
 

I think that looping over project properties is quite dangerous.
If you use project inheritance, sometimes you might be interested
in overriding some properties of parent project. 

In this case you cannot switch off any repository defined in parent project,

And you should not be aware of them.

But you are 100% right that it should be simpler.
That's why I asked for comments, hoping that somebody will have
an idea how to simplify.

BTW: It's even more complicated then I have described last time.

Silently I assume existence of default (central repository).
Some setting of this repository are matching

/distributionDirectory
/distributionSite

Tags in POM

This repository is silently named central.

It's clear that in POM there is no place for some properties of this
repository (like username, password, passpharse of private key, proxy host
etc).

Other settings used this repository are currently described in 
(BTW: why they are there? It's very hard to find them!)

http://maven.apache.org/reference/plugins/jar/properties.html

Namely:

maven.repo.central  
maven.repo.central.directory  
maven.username  
maven.remote.group  


I will try to hack my code to make it backward compatible ... but among
those settings you won't find e.g.  user's password. I need to know it.
:(



For the moment using my (poor!!) naming convention you can use:

#(don't have to use it if tag /distributionSite was used in POM
maven.repo.central=www.apache.org  

#(don't have to use it if tag /distributionSite was used)
maven.repo.central.directory=  


maven.repo.central.username  
maven.repo.central.group  
maven.repo.central.password  
maven.repo.central.passphrase
maven.repo.central.privatekey
maven.repo.central.port
maven.repo.central.proxy.host
maven.repo.central.proxy.port
maven.repo.central.proxy.username
maven.repo.central.proxy.password

I think that it is more consistent...but way too complicated.

Michal

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



RE: cvs commit: maven/src/plugins-build/artifact project.xml

2003-06-25 Thread Michal Maczka
 SCP has really pure functionality comparing to SFTP.

I wanted to write poor. (Spell checkers:) )

mm

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



cvs commit: maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy DeployRequest.java

2003-06-25 Thread michal
michal  2003/06/25 08:25:19

  Modified:src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers
FtpDeployer.java SFtpDeployer.java ScpDeployer.java
FileDeployer.java HttpDeployer.java
GenericSshDeployer.java
   src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer
DefaultArtifactDeployer.java DeployBean.java
   src/plugins-build/artifact/src/main/org/apache/maven/deploy
DeployRequest.java
  Added:   src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer
DeployRequestBuilder.java
  Removed: src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer
MavenDeployRequest.java
  Log:
  Code cleanup
  
  Revision  ChangesPath
  1.4   +5 -5  
maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/FtpDeployer.java
  
  Index: FtpDeployer.java
  ===
  RCS file: 
/home/cvs/maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/FtpDeployer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- FtpDeployer.java  24 Jun 2003 22:22:54 -  1.3
  +++ FtpDeployer.java  25 Jun 2003 15:25:18 -  1.4
  @@ -95,7 +95,7 @@
   public void deploy(DeployRequest request) throws DeployException
   {
   String username = request.getUser();
  -String password = request.getPass();
  +String password = request.getPassword();
   String host = request.getHost();  
   
   FTPClient ftp = new FTPClient();
  @@ -159,13 +159,13 @@
   // Use passive mode as default because most of us are
   // behind firewalls these days.
   ftp.enterLocalPassiveMode();
  -String workingDir = request.getOutputDir();
  -String filename = request.getOutputFile();
  +String workingDir = request.getDestDir();
  +String filename = request.getDestFile();
   System.out.println(Working directory  + workingDir);
   System.out.println(Filename:  + filename);   
   ftp.makeDirectory(workingDir);
   ftp.changeWorkingDirectory( workingDir);
  -ftp.storeFile(filename, new FileInputStream(request.getInputFile()));   
 
  +ftp.storeFile(filename, new FileInputStream(request.getSrcFile())); 
   
   ftp.logout();
   }
   catch (FTPConnectionClosedException e)
  
  
  
  1.3   +21 -35
maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/SFtpDeployer.java
  
  Index: SFtpDeployer.java
  ===
  RCS file: 
/home/cvs/maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/SFtpDeployer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SFtpDeployer.java 25 Jun 2003 12:33:11 -  1.2
  +++ SFtpDeployer.java 25 Jun 2003 15:25:18 -  1.3
  @@ -67,7 +67,7 @@
   import com.jcraft.jsch.SftpException;
   
   /**
  - * An SSH2 SFTP deployer 
  + * An SSH2/SFTP deployer 
* 
* @author Michal Maczka
* @version $Revision$ $Date$
  @@ -76,8 +76,8 @@
   {
   
   public final static String PROTOCOL = sftp://;;
  -public final static String SFTP_CHANNEL = sftp;
  -   
  +private final static String SFTP_CHANNEL = sftp;
  +private static final int S_IFDIR = 0x4000;
   
   /**
* @see Deployer#project
  @@ -96,7 +96,7 @@
   }
   catch (NumberFormatException e)
   {
  -throw new DeployException(For sftp protocol remote group should be an 
integer);
  +throw new DeployException(SFTP deployer: remote group should be an 
integer);
   }
   
   Session session = getSession(request);
  @@ -107,10 +107,9 @@
   channel.connect();
   // iterate over all directories in the path. try to create
   // directory 
  -String[] dirs = StringUtils.split(request.getOutputDir(), /);
  +String[] dirs = StringUtils.split(request.getDestDir(), /);
   for (int i = 0; i  dirs.length; i++)
  -{
  -System.out.println(processing:  + dirs[i]);
  +{
   try
   {
   SftpATTRS attrs = channel.stat(dirs[i]);
  @@ -122,9 +121,7 @@
   else
   {
   throw new DeployException(
  -Remote path:
  -+ request.getOutputDir()
  -+ is not correct

cvs commit: maven/src/plugins-build/artifact project.xml

2003-06-24 Thread michal
michal  2003/06/24 15:22:55

  Modified:src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers
FtpDeployer.java FileDeployer.java
HttpDeployer.java
   src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer
DefaultArtifactDeployer.java
MavenDeployRequest.java
   src/plugins-build/artifact/src/main/org/apache/maven/deploy
DeployRequest.java DeployTool.java
   src/plugins-build/artifact project.xml
  Added:   src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers
SFtpDeployer.java
  Removed: src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers
SshDeployer.java
  Log:
  Changed SCP Deployer to SFTP deployer. I am done with functionality
  (except of Http Deployer) 
  Now I will test it deeper and assure that everything works.
  
  
  Revision  ChangesPath
  1.3   +11 -7 
maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/FtpDeployer.java
  
  Index: FtpDeployer.java
  ===
  RCS file: 
/home/cvs/maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/FtpDeployer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FtpDeployer.java  19 Jun 2003 22:02:36 -  1.2
  +++ FtpDeployer.java  24 Jun 2003 22:22:54 -  1.3
  @@ -75,15 +75,20 @@
   /**
* An FTP deployer based on the FTPClient in the Commons Net package.
*
  + * Proxy server for FTPClient is not supported:
  + * [EMAIL PROTECTED] http://nagoya.apache.org/bugzilla/show_bug.cgi?id=18039}
  + * 
* @author a href=mailto:[EMAIL PROTECTED]Jason van Zyl/a
  - *
  + * @author a href=[EMAIL PROTECTED]Michal Maczka/a
* @version $Id$
  - *
  - * @todo account for username and password.
  + * 
  + * 
*/
   public class FtpDeployer extends AbstractDeployer
   {
  -
  +
  +public final static String PROTOCOL = ftp://;;
  +
   /**
* Description of the Method
*/
  @@ -140,8 +145,7 @@
   }
   
   __main : try
  -{
  -System.out.println(username: ' + username +' password: '+  
password+');
  +{
   if (ftp.login(username.trim(), password.trim()) == false)
   {
   ftp.logout();
  
  
  
  1.4   +3 -1  
maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/FileDeployer.java
  
  Index: FileDeployer.java
  ===
  RCS file: 
/home/cvs/maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/FileDeployer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- FileDeployer.java 20 Jun 2003 15:24:52 -  1.3
  +++ FileDeployer.java 24 Jun 2003 22:22:54 -  1.4
  @@ -71,6 +71,8 @@
   public class FileDeployer implements Deployer
   {
   
  +public final static String PROTOCOL = file://;
  +
   /**
* @see org.apache.maven.fetch.fetchers.Fetcher#fetchUrl(java.lang.String, 
java.io.OutputStream)
*/
  
  
  
  1.2   +2 -1  
maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/HttpDeployer.java
  
  Index: HttpDeployer.java
  ===
  RCS file: 
/home/cvs/maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/HttpDeployer.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- HttpDeployer.java 17 Jun 2003 22:05:59 -  1.1
  +++ HttpDeployer.java 24 Jun 2003 22:22:54 -  1.2
  @@ -87,6 +87,7 @@
   public class HttpDeployer extends AbstractDeployer
   {
   
  +public final static String PROTOCOL = http://;;
   /**
* Description of the Method
*/
  
  
  
  1.1  
maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/SFtpDeployer.java
  
  Index: SFtpDeployer.java
  ===
  package org.apache.maven.deploy.deployers;
  
  /* 
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2001 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list

RE: private jar dependencies

2003-06-23 Thread Michal Maczka


 -Original Message-
 From: dion gillard [mailto:[EMAIL PROTECTED]
 Sent: Monday, June 23, 2003 5:35 AM
 To: [EMAIL PROTECTED]
 Subject: Re: private jar dependencies
 
 Michal Maczka wrote:
 
 
  There is one more mean for realizing such scenario which was not
 mentioned
  here:
  jar overriding mechanism (or more generally artifact overriding
 mechanism).
 
  I am personally for dropping the jar overriding mechanism.
  and for replacing them with such fake remote repository  as Aslak has
  described.
 Big, big -1 on this. I have a real need for the jar override facility.
 We have maven users who run common sql through db2. they each have their
 own db2 release, and MUST use the jar file that corresponds to their db2
   install.

So they just override version? Not paths?
I am surly +1 for allowing overriding version. 
This is also a must from the perspective of transitive dependencies
There must be some way of setting the preferred version or artifacts
Even if they are not listed as dependencies in project.xml

But we have two kinds of overrides:

maven.jar.artifactId = [path]

maven.jar.artifactId = [version]


First of all it's just heuristic guessing if user has overridden version or
path. And sometimes this guessing can fail (even ofen).
Secondly the version with [path] overriding is against maven philosophy of
forcing users to keep artifact in repositories.

Say that users have unversion  artifacts inside his project (e.g in the
${basedir}/lib directory). They want to quickly switch to maven.
Maven should help them, but such help can be also resolved outside of maven
core using special fetchers.
Say you use fetcher which will during download convert paths like

/groupId/jars/artifactId-version.jar to ${basedir}/lib/artifactId.jar.

So after first run of such fetcher the local repository will be populated
with those jars. After some time when this operation was performed by all
team members the lib directory can be erased.


So -1 on first kind of overriding but +1 on second.
I also think that we should support per project repositories (they are in
practice threaten as another remote repository). This will allow easier
transition for project using e.g. ant to maven. 


 
  This will make the implementation cleaner.
 And less functional.
 
  There is a lot of places in maven where the fact that artifact was
 overriden
  is simply ignored.
 This is a bug and should be fixed. Before 1.0
 
  This feature probably is not used so often but surly plugins like
  war, ear, eclipse are not aware of the fact that artifact can be
 overriden!
 
  and what they do is something like:
 
 
 j:if test=${dep.getProperty('war.bundle')=='true' and dep.type
  =='jar' }
ant:lib
 dir=${maven.repo.local}/${dep.artifactDirectory}/jars/
  ant:include name=${dep.artifact}/
/ant:lib
  /j:if
 
  So basiclly they require that artifact must be in local repository.
 Any artifact thats listed as a dependency MUST be available in the local
 repository.

Not really. If we use jar overriding with

maven.jar.artifactId = [path]

it can be anywhere.



[...]


mm

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



cvs commit: maven/src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer DefaultArtifactDeployer.java

2003-06-23 Thread michal
michal  2003/06/23 02:49:38

  Modified:src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer
DefaultArtifactDeployer.java
  Log:
  Implemented 5 file method.
  
  Revision  ChangesPath
  1.6   +119 -99   
maven/src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
  
  Index: DefaultArtifactDeployer.java
  ===
  RCS file: 
/home/cvs/maven/src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DefaultArtifactDeployer.java  20 Jun 2003 15:24:52 -  1.5
  +++ DefaultArtifactDeployer.java  23 Jun 2003 09:49:38 -  1.6
  @@ -56,9 +56,7 @@
   */
   
   import java.io.File;
  -import java.io.FileWriter;
   import java.io.IOException;
  -import java.io.Writer;
   import java.text.DateFormat;
   import java.text.SimpleDateFormat;
   import java.util.Date;
  @@ -89,6 +87,15 @@
   
   /**
* @see ArtifactDeployer#deploy(String, String, Project)
  + * This is 5 files version.
  + * It deploys (example):
  + *   foo-20030620.124616.jar, 
  + *   foo-20030620.124616.jar.md5 , 
  + *   foo-SNAPSHOT.jar
  + *   foo-SNAPSHOT.jar.md5
  + *   foo-snapshot-version 
  + *
  + *
*/
   public void deploy(String artifact, String type, Project project)
   throws MavenException
  @@ -100,7 +107,13 @@
   getRepositoryPath(type, project, project.getCurrentVersion());
   String repositoryFile =
   getRepositoryFile(type, project, project.getCurrentVersion());
  -doDeploy(file, md5File, project, repositoryPath, repositoryFile);
  +
  +String[] inputFilenames =
  +{ file.getAbsolutePath(), md5File.getAbsolutePath()};
  +
  +String[] outputFilenames = { repositoryFile, repositoryFile + .md5 };
  +
  +doDeploy(inputFilenames, outputFilenames, repositoryPath, project);
   }
   
   /**
  @@ -109,16 +122,35 @@
   public void deploySnapshot(String artifact, String type, Project project)
   throws MavenException
   {
  +
  +String snapshotVersion = getSnapshotVersion();
   File file = getFileForArtifact(artifact);
   File md5File = createMD5Checksum(file);
  +File snapshotVersionFile =
  +createSnapshotVersionFile(file, snapshotVersion, project, type);
   String repositoryPath =
   getRepositoryPath(type, project, MavenConstants.SNAPSHOT_SIGNIFIER);
  -String repositoryFile =
  +
  +String[] inputFilenames = new String[5];
  +inputFilenames[0] = file.getAbsolutePath();
  +inputFilenames[1] = file.getAbsolutePath();
  +inputFilenames[2] = md5File.getAbsolutePath();
  +inputFilenames[3] = md5File.getAbsolutePath();
  +inputFilenames[4] = snapshotVersionFile.getAbsolutePath();
  +
  +String out1 =
   getRepositoryFile(type, project, MavenConstants.SNAPSHOT_SIGNIFIER);
  -doDeploy(file, md5File, project, repositoryPath, repositoryFile);
  -doDeploy(file, md5File, project, repositoryPath, repositoryFile);
  +String out2 = getRepositoryFile(type, project, snapshotVersion);
   
  -}
  +String[] outputFilenames = new String[5];
  +outputFilenames[0] = out1;
  +outputFilenames[1] = out2;
  +outputFilenames[2] = out1 + .md5;
  +outputFilenames[3] = out2 + .md5;
  +outputFilenames[4] = project.getArtifactId() + -snapshot-version;
  +doDeploy(inputFilenames, outputFilenames, repositoryPath, project);
  +
  +};
   
   /**
* @see ArtifactDeployer#install(String, String, Project)
  @@ -207,11 +239,10 @@
* @param snapshot
*/
   private void doDeploy(
  -File file,
  -File md5File,
  -Project project,
  -String repositoryPath,
  -String repositoryFile)
  +String[] inputFilenames,
  +String[] outputFilenames,
  +String outputPath,
  +Project project)
   throws MavenException
   {
   
  @@ -247,60 +278,45 @@
   System.out.println(
   Will deploy to  + repoArray.length +  repo(s):  + repos);
   
  -
  -
   for (int i = 0; i  repoArray.length; i++)
   {
   
   String repo = repoArray[i].trim();
   System.out.println(Deploying to repo:  + repo);
   
  -MavenDeployRequest deployRequest =
  -new MavenDeployRequest(
  -repo,
  -project,
  -repo,
  -file.getAbsolutePath(),
  -repositoryPath,
  -repositoryFile

War plugin

2003-06-23 Thread Michal Maczka
I am bit busy at the moment but hope to have time to work a bit on war
plugin soon (hope to have it done before rc1 is out)


There was a request to support bundling of TLD files in war archive.
I am going to implement it.

I am planning to set default directory for TLDS files accordingly to:

http://developer.java.sun.com/developer/technicalArticles/javaserverpages/co
de_convention/


so it will be 

context root/WEB-INF/tld/


and have property:

maven.war.build.tld.dir which will allow to customize it


I personally use following layout:

context root/WEB-INF/tld/jstl/
context root/WEB-INF/tld/struts/
context root/WEB-INF/tld/foo/


for grouping certain taglibs.  Such layout can be easily supported using 
groupId property of the dependency.


Somebody else likes it?


Maybe somebody knows better strategies?


Any other types of artifact should be supported?
Should we go down to the level of css, JavaScript files or even images
(gifs, jpegs).
I personally don't think so. I like the concept of web component dissussed
some time ago.


We can also think if we are going to have extra features like: 
appending  tag libs dynamically to web.xml file. From the point of view
of XML manipulation it is very simple. But then some extra metadata should
be provided along with tlds dependency (like uri).


Michal

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



RE: War plugin

2003-06-23 Thread Michal Maczka

 The location you've suggested is sensible, but personally I'd prefer if
 the tlds were delivered inside their jars. It seems more of a 'best
 practice' thing to do (eg it avoids problems with jars mismatching tlds)

How nice! So you are suggesting that best practice is to use tag libs
only inside jars and not to bother at all!



mm

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



RE: War plugin

2003-06-23 Thread Michal Maczka


 -Original Message-
 From: Vincent Massol [mailto:[EMAIL PROTECTED]
 Sent: Monday, June 23, 2003 2:18 PM
 To: 'Maven Developers List'
 Subject: RE: War plugin
 
 Tld bundling is supported right now by the war plugin. You can even put
 them wherever you want provided it's under the webapp/ source directory.
 

I meant the bundling of tag descriptor files (tlds) defined as project
dependencies 

dependency
groupIdstruts/groupId
artifactIdstruts-tiles/artifactId
version1.1-rc2/type
typetld/type
/dependency



In war plugin we have:

j:if test=${dep.getProperty('war.bundle')=='true' and dep.type =='jar' }
  ant:copy todir=${webapp.build.lib}
 
file=${maven.repo.local}/${dep.artifactDirectory}/jars/${dep.artifact}/  
  /j:if


Such bundling is not supported for tlds.


But after reading Brian's post I suppose that it should not be supported at
all. 
The JSP spec defines clean and more natural way of making it. 

 I'm not sure adding a tld property helps a lot. I personally think it
 makes this simple plugin more complex. 

For the moment war plugin is indeed almost a wrapper around Ant war task.
But I don't see anything wrong in making this plugin (or any other) more
powerful or highly customizable. 
For example we can add validation of web.xml file to this plugin.

But I admit that this particular idea was __stupid__ 
Please forget about it!


[...]


regards

Michal




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



RE: private jar dependencies

2003-06-21 Thread Michal Maczka


 -Original Message-
 From: Aslak Hellesøy [mailto:[EMAIL PROTECTED]
 Sent: Saturday, June 21, 2003 12:33 PM
 To: Maven Developers List
 Subject: Re: private jar dependencies



 
  We're doing this in the http://www.nanocontainer.org/ project. Have a
  look at:

 Oops, this example is from xdoclet2 and not nanocontainer. Oh well.

 
  http://tinyurl.com/ew5l (look at the end of the 1st property)
  http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/xdoclet/xdoclet2/lib/
  (this is our own local repo treated as a remote one)
 
  Of course, if you're in a corporate environment, you should be able to
  set up a real remote repository on an internal webserver, whihch is an
  even cleaner solution.
 
  Aslak
 

There is one more mean for realizing such scenario which was not mentioned
here:
jar overriding mechanism (or more generally artifact overriding mechanism).

I am personally for dropping the jar overriding mechanism.
and for replacing them with such fake remote repository  as Aslak has
described.


This will make the implementation cleaner.
There is a lot of places in maven where the fact that artifact was overriden
is simply ignored.
This feature probably is not used so often but surly plugins like
war, ear, eclipse are not aware of the fact that artifact can be overriden!

and what they do is something like:


   j:if test=${dep.getProperty('war.bundle')=='true' and dep.type
=='jar' }
  ant:lib dir=${maven.repo.local}/${dep.artifactDirectory}/jars/
ant:include name=${dep.artifact}/
  /ant:lib
/j:if

So basiclly they require that artifact must be in local repository.
I think that this assumption is correct and it is the idea of jar overriding
which is wrong.
Moreover there is no easy way of determining if artifact was overriden or
not (it is in maven-new, but that's different story)

So I am really +1 on scenario described by Aslak.
First time you start you maven -- artifact from fake remote repository
will appear in local repository.
And this forces you to __always__ keep repository layout which adheres to
maven standards. Even if this repository
is kept in CVS.


Michal



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



RE: RFC: Deployer properties

2003-06-20 Thread Michal Maczka


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
 Sent: Friday, June 20, 2003 6:12 AM
 To: Maven Developers List
 Subject: Re: RFC: Deployer properties
 
 Michal Maczka [EMAIL PROTECTED] wrote on 19/06/2003 10:48:48 PM:
 
  Please comment this:
 
 
  With new deployer API I am going to support deployment to many remote
  repositories.
  In reality many = 2 in most of the cases. But 21 ..
 
  I am proposing to use following properties:
 
  #the list of repositories. repo1, repo2 are aliases or nicknames of
  repositories
  maven.deploy.repos = repo1, repo2, ibiblio
 What's the difference between deploy.repos and remote.repos. Shouldn't we
 stick with remote as it's already being used?

I want to distinguish read-only repositories (like ibiblio for most for the
users) from repositories to which we will deploy artifacts.

I guess those lists can be different.

But maybe we can unify those things?



I mean having somethinh like



maven.remote.repos = repo1, repo2


maven.remote.repo1= http://www.ibiblio.org



maven.remote.repo2= ftp://frp.mycomany.com
maven.remote.repo2.writable = true



But this makes it more complicated. I don't want that!
I want that this is as simple as possible



 
  (I think individual settings for each repository can be shared between
  deployer and fetch)
 
 
  maven.repo.repo1= ftp://www.foo.com
  maven.repo.repo1.dir = /repository
  maven.repo.repo1.username= foo
  maven.repo.repo1.password= baa
  maven.repo.repo1.remote.group= goo
 
  maven.repo.repo2 = file:///c:/temp
  maven.repo.repo2.directory = /repository
 
  maven.deploy.repo.ibiblio = http://www.ibiblio.org
  maven.deploy.repo.ibiblio.directory = /maven
 Ditto.
 
  For each repository following properties can be set ( I hope that names
 are
  selfexplaing):
 
 
  maven.repo.${repo alias}.dir = /repository
  maven.repo.${repo alias}.username= foo
  maven.repo.${repo alias}.password= baa
  maven.repo.${repo alias}.remote.group= goo
  maven.repo.${repo alias}.port= 23
  maven.repo.${repo alias}.privatekey= ./ssh/keys/somefile
  maven.repo.${repo alias}.passphrase= baa
  maven.repo.proxy=192.168.2.15
  maven.repo.proxy.username= foo
  maven.repo.proxy.password= foo
  maven.repo.proxy.port= 81
 Arent the set of properties that can be set deployer-specific, e.g. ssh
 deployer needs stuff that filesystem deployer doesn't?


I hope that we can find common set of properties.
If not the configuration schema will get more complicated.

Thing is that this information is highly hierarchical. 

I already see that we will need things like http proxy, socks proxy etc.




 
 
 
 
  There is one special case:
 
  In POM (project.xml) we have
   ...
siteAddressmaven.apache.org/siteAddress
siteDirectory/www/maven.apache.org//siteDirectory
 This is the web site address and directory, not a repo???
 

Sure! Sorry it was mistake! I mean pom.distributionSite
pom.distributionDirectory



Note what deploy plugin does:

j:set var=distributionSiteX value=${pom.distributionSite}X/
  j:choose
j:when test=${distributionSiteX != 'X'}
  j:set var=siteAddress value=${pom.distributionSite}/
  j:set var=siteDirectory value=${pom.distributionDirectory}/
/j:when
j:otherwise
  j:set var=siteAddress
value='${context.getVariable(maven.repo.central)}'/
  j:set var=siteDirectory
value='${context.getVariable(maven.repo.central.directory)}'/
/j:otherwise
  /j:choose



 
  In this case properties for this repository can be set
 
  using alias central
 
  so e.g.
 
  maven.repo.central.username= foo
  maven.repo.central.privatekey= ./ssh/keys/somefile
 Isn't the central repo the 'main' remote one?

Nope. 

This corresponds to properties described in

http://maven.apache.org/reference/plugins/jar/properties.html


See also example above.


Michal

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



cvs commit: maven/src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer DefaultArtifactDeployer.java MavenDeployRequest.java

2003-06-19 Thread michal
michal  2003/06/19 03:52:25

  Modified:src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer
DefaultArtifactDeployer.java
MavenDeployRequest.java
  Log:
  Install goal fixed
  
  Revision  ChangesPath
  1.3   +22 -12
maven/src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
  
  Index: DefaultArtifactDeployer.java
  ===
  RCS file: 
/home/cvs/maven/src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DefaultArtifactDeployer.java  17 Jun 2003 22:06:00 -  1.2
  +++ DefaultArtifactDeployer.java  19 Jun 2003 10:52:25 -  1.3
  @@ -142,7 +142,7 @@
   }
   
   /**
  - * Istall given file in repsoitory 
  + * Install given file in local repsoitory 
* @param artifact the artifact file to insatall 
* @param type The type of the artiafct
* @param project 
  @@ -156,22 +156,32 @@
   String version)
   throws MavenException
   {
  -String repositoryPath = getRepositoryPath(type, project, version);
  +
   try
  -{
  -String dest = getLocalRepository(project) + / + repositoryPath;
  +{
  +File file =
  +new File(
  +getLocalRepository(project),
  +getRepositoryPath(type, project, version));
  +
  +if (!file.exists())
  +{
  +file.mkdirs();
  +}
  +file = new File(file, getRepositoryFile(type, project, version));
   System.out.println(
  -Copying: from ' + artifact + ' to: ' + dest + ');
  -FileUtils.copyFile(new File(artifact), new File(dest));
  +Copying: from ' + artifact + ' to: ' + file + ');
  +FileUtils.copyFile(new File(artifact), file);
  +
   }
   catch (IOException e)
   {
   String msg =
   Cannot install file: '
  -+ repositoryPath
  ++ artifact
   + '. Reason: 
   + e.getMessage();
  -throw new MavenException(msg);
  +throw new MavenException(msg, e);
   }
   
   }
  @@ -201,13 +211,13 @@
   if (distSite != null  distSite.length()  0)
   {
   project.getContext().setVariable(
  -maven.deploy.default.url,
  +maven.deploy.repo.central,
   project.getDistributionSite());
   project.getContext().setVariable(
  -maven.deploy.default.dir,
  +maven.deploy.repo.central.directory,
   project.getDistributionDirectory());
   
  -repos = default,  + repos;
  +repos = central,  + repos;
   }
   
   String repositoryPath = getRepositoryPath(type, project, version);
  
  
  
  1.2   +17 -11
maven/src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer/MavenDeployRequest.java
  
  Index: MavenDeployRequest.java
  ===
  RCS file: 
/home/cvs/maven/src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer/MavenDeployRequest.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- MavenDeployRequest.java   17 Jun 2003 22:06:00 -  1.1
  +++ MavenDeployRequest.java   19 Jun 2003 10:52:25 -  1.2
  @@ -88,44 +88,49 @@
   super();
   String username =
   (String) project.getContext().getVariable(
  -maven.deploy. + repository + .username);
  +maven.deploy.repo. + repository + .username);
   
   System.out.println(repository +  username: + username);
   String password =
   (String) project.getContext().getVariable(
  -maven.deploy. + repository + .password);
  +maven.deploy.repo. + repository + .password);
   
   System.out.println(repository +  password: ' + password + ');
   
   String passphrase =
   (String) project.getContext().getVariable(
  -maven.deploy. + repository + .passphrase);
  +maven.deploy.repo. + repository + .passphrase);
   
   String privateKey =
   (String) project.getContext().getVariable(
  -maven.deploy. + repository + .privatekey);
  +maven.deploy.repo. + repository + .privatekey);
   
   String url =
   (String) project.getContext().getVariable(
  -maven.deploy. + repository + .url

RE: new Artifact plugin and WAR plugin war:install goal

2003-06-19 Thread Michal Maczka
I quickly committed latest version which has install goal fixed.
Install snapshot should also work.
So I guess functionality is matching the old code.

But no problem fell free to use old install goal if you still have a
problems.

Michal

P.S

Note that war plugin haven't got deploy and deploy-snapshot install-snapshot
goals before





 -Original Message-
 From: Vincent Massol [mailto:[EMAIL PROTECTED]
 Sent: Thursday, June 19, 2003 12:33 PM
 To: 'Maven Developers List'
 Subject: new Artifact plugin and WAR plugin war:install goal


 Hi Michal,

 I've had a look at the source code for the new artifact plugin... and it
 is really proof-of-concept code at this stage and I'm totally sure there
 are lots of bugs (it is really far from production quality right now). I
 don't mind that but I do mind using it in our WAR plugin at this point
 in time. Especially as we're so close from a release.

 I'd like to restore the old war:install goal for the time being. Once
 the artifact plugin works we will then be able to swap for it.

 What do you think?

 Thanks
 -Vincent


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


 --
 Klikaj!!! I skorzystaj!!!  http://link.interia.pl/f1739






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



RFC: Deployer properties

2003-06-19 Thread Michal Maczka


With new deployer API I am going to support deployment to many remote
repsoitories.
In reality many = 2 in most of the cases. But 21 ..

I am proposiing to use follwoing properties:

#the list of repositories. repo1, repo2 are aliases or nicknames of
repositories
maven.repo.deploy = repo1, repo2, ibiblio


maven.repo.repo1= ftp://www.foo.com
maven.repo.repo1.dir = /repository
maven.repo.repo1.username= foo
maven.repo.repo1.password= baa
maven.repo.repo1.remote.group= goo

maven.repo.repo2 = file:///c:/temp
maven.repo.repo2.directory = /repository

maven.repo.ibiblio = http://www.ibiblio.org
maven.repo.ibiblio.directory = /maven


etc.

For each repository following properties can be set ( I hope that names are
selfexplaing):


maven.repo.${repo alias}.dir = /repository
maven.deploy.repo.${repo alias}.username= foo
maven.repo.${repo alias}.password= baa
maven.repo.${repo alias}.remote.group= goo
maven.repo.${repo alias}.port= 23
maven.repo.${repo alias}.privatekey= ./ssh/keys/somefile
maven.repo.${repo alias}.passphrase= baa
maven.repo.proxy=192.168.2.15
maven.repo.proxy.username= foo
maven.repo.proxy.password= foo
maven.repo.proxy.port= 81



There is one special case:

In POM (project.xml) we have
 ...
  siteAddressmaven.apache.org/siteAddress
  siteDirectory/www/maven.apache.org//siteDirectory
 ...


In this case properties for this repository can be set

using alias central

so e.g.

maven.deploy.repo.central.dir = /repository
maven.deploy.repo.central.username= foo
maven.deploy.repo.central.privatekey= ./ssh/keys/somefile


Michal

P.S.

Am I right that we need just one proxy server?
I think repos setting and proxy server settings can be shared beween
deployer and fetch.




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



RFC: Deployer properties

2003-06-19 Thread Michal Maczka
Please comment this:


With new deployer API I am going to support deployment to many remote
repositories.
In reality many = 2 in most of the cases. But 21 ..

I am proposing to use following properties:

#the list of repositories. repo1, repo2 are aliases or nicknames of
repositories
maven.deploy.repos = repo1, repo2, ibiblio

(I think individual settings for each repository can be shared between
deployer and fetch)


maven.repo.repo1= ftp://www.foo.com
maven.repo.repo1.dir = /repository
maven.repo.repo1.username= foo
maven.repo.repo1.password= baa
maven.repo.repo1.remote.group= goo

maven.repo.repo2 = file:///c:/temp
maven.repo.repo2.directory = /repository

maven.deploy.repo.ibiblio = http://www.ibiblio.org
maven.deploy.repo.ibiblio.directory = /maven


etc.

For each repository following properties can be set ( I hope that names are
selfexplaing):


maven.repo.${repo alias}.dir = /repository
maven.repo.${repo alias}.username= foo
maven.repo.${repo alias}.password= baa
maven.repo.${repo alias}.remote.group= goo
maven.repo.${repo alias}.port= 23
maven.repo.${repo alias}.privatekey= ./ssh/keys/somefile
maven.repo.${repo alias}.passphrase= baa
maven.repo.proxy=192.168.2.15
maven.repo.proxy.username= foo
maven.repo.proxy.password= foo
maven.repo.proxy.port= 81



There is one special case:

In POM (project.xml) we have
 ...
  siteAddressmaven.apache.org/siteAddress
  siteDirectory/www/maven.apache.org//siteDirectory
 ...


In this case properties for this repository can be set

using alias central

so e.g.

maven.repo.central.username= foo
maven.repo.central.privatekey= ./ssh/keys/somefile


Michal

P.S.

Am I right that we need just one proxy server?




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



RE: Why is the java source directory named main for plugins?

2003-06-19 Thread Michal Maczka
I also think it is bit inconsistent.

But think that the most consistent approach is

/ basedir
 main
 java
 resources
 aspects
 conf
 test
java
test-resources
...


Michal

P.S.

I am not saying we should change anything ...
  

 -Original Message-
 From: Vincent Massol [mailto:[EMAIL PROTECTED]
 Sent: Thursday, June 19, 2003 3:23 PM
 To: 'Maven Developers List'
 Subject: RE: Why is the java source directory named main for plugins?
 
 
 
 
  -Original Message-
  From: Jason van Zyl [mailto:[EMAIL PROTECTED]
  Sent: 19 June 2003 15:02
  To: Maven Developers List
  Subject: Re: Why is the java source directory named main for
 plugins?
  
  On Thu, 2003-06-19 at 06:32, Vincent Massol wrote:
   Hi,
  
   Why is the java source directory named main for plugins (instead
 of
   java)?
  
  /src/test
  /src/main
  
  Seem to make more sense as a pattern as the testing code is also
 'java'
  code.
 
 Ok, my comment wasn't about whether the name made more sense or not
 about consistency. At present we use src/java everywhere else and
 everyone I know who uses maven also uses this convention. 
 
 In cvs we also src/java for Maven...
 
 -Vincent
 
  
   Thanks
   -Vincent
  
  
  
 -
   To unsubscribe, e-mail: [EMAIL PROTECTED]
   For additional commands, e-mail: [EMAIL PROTECTED]
  --
  jvz.
  
  Jason van Zyl
  [EMAIL PROTECTED]
  http://tambora.zenplex.org
  
  In short, man creates for himself a new religion of a rational
  and technical order to justify his work and to be justified in it.
  
-- Jacques Ellul, The Technological Society
  
  
  -
  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]
 
 
 -
 Limit kredytowy nawet o 20% wyzszy, niz masz teraz.
 Sprawdz TSL+: http://link.interia.pl/f173e
 
 
 


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



cvs commit: maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy DeployRequest.java DeployTool.java

2003-06-19 Thread michal
michal  2003/06/19 15:02:37

  Modified:src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers
FtpDeployer.java FileDeployer.java
   src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer
DefaultArtifactDeployer.java
MavenDeployRequest.java
   src/plugins-build/artifact/src/main/org/apache/maven/deploy
DeployRequest.java DeployTool.java
  Log:
  FTP, FILE deployers work. ssh(scp) on the way
  
  Revision  ChangesPath
  1.2   +4 -4  
maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/FtpDeployer.java
  
  Index: FtpDeployer.java
  ===
  RCS file: 
/home/cvs/maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/FtpDeployer.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FtpDeployer.java  17 Jun 2003 22:05:59 -  1.1
  +++ FtpDeployer.java  19 Jun 2003 22:02:36 -  1.2
  @@ -91,8 +91,7 @@
   {
   String username = request.getUser();
   String password = request.getPass();
  -String host = request.getHost();
  -
  +String host = request.getHost();  
   
   FTPClient ftp = new FTPClient();
   
  @@ -142,7 +141,8 @@
   
   __main : try
   {
  -if (ftp.login(username, password) == false)
  +System.out.println(username: ' + username +' password: '+  
password+');
  +if (ftp.login(username.trim(), password.trim()) == false)
   {
   ftp.logout();
   break __main;
  
  
  
  1.2   +18 -8 
maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/FileDeployer.java
  
  Index: FileDeployer.java
  ===
  RCS file: 
/home/cvs/maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers/FileDeployer.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FileDeployer.java 17 Jun 2003 22:05:59 -  1.1
  +++ FileDeployer.java 19 Jun 2003 22:02:36 -  1.2
  @@ -63,7 +63,6 @@
   import org.apache.maven.deploy.DeployRequest;
   import org.apache.maven.deploy.exceptions.DeployException;
   
  -
   /**
* 
* @author a href=[EMAIL PROTECTED]Michal Maczka/a 
  @@ -76,16 +75,27 @@
* @see org.apache.maven.fetch.fetchers.Fetcher#fetchUrl(java.lang.String, 
java.io.OutputStream)
*/
   public void deploy(DeployRequest request) throws DeployException
  -{
  +{
   try
   {
  -File inputFile = new File( request.getInputFile() );
  -File outputFile = new File( request.getOutputDir(), 
request.getOutputFile());
  +File inputFile = new File(request.getInputFile());
  +
  +File outputFile =
  +new File(request.getHost(), request.getOutputDir());
  +
  +if (! outputFile.exists())
  +{
  +   outputFile.mkdirs();
  +}
  +outputFile = new File(  outputFile, request.getOutputFile());
  +System.out.println(Copining from:  + inputFile +  to:  + 
outputFile);
  +
  +
   FileUtils.copyFile(inputFile, outputFile);
   }
   catch (IOException e)
   {
  -   throw new DeployException(Cannot copy file:  + e.getMessage());
  -}   
  -}
  +throw new DeployException(Cannot copy file:  + e.getMessage());
  +}
  +}
   }
  
  
  
  1.4   +20 -9 
maven/src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
  
  Index: DefaultArtifactDeployer.java
  ===
  RCS file: 
/home/cvs/maven/src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DefaultArtifactDeployer.java  19 Jun 2003 10:52:25 -  1.3
  +++ DefaultArtifactDeployer.java  19 Jun 2003 22:02:37 -  1.4
  @@ -205,35 +205,45 @@
   // trick add special values to context for default repository;
   
   String repos =
  -(String) project.getContext().getVariable(maven.deploy.repos);
  +(String) project.getContext().getVariable(maven.repo.repos);
  +
  +System.out.println( repos: + repos );
   
   String distSite = project.getDistributionSite();
   if (distSite != null  distSite.length()  0)
   {
   project.getContext().setVariable(
  -maven.deploy.repo.central

RE: Recent changes in war plugin

2003-06-18 Thread Michal Maczka
Yes. 
I am still working on deployer.
That's the art which I want to use in this plugin to add missing
functionality.

Once I am readay with this for war plugin, I am planning to change also 
other plugins.


Last time I am asking:

Does anybody has something against building war ___always__ in two distinct
steps?

a) copying to build area (somewhere in target/ )
b) making a jar archive


For this release I want to add inclusion of tld files. 
This (as any other such changes) requires  the duplication of the code
between 

war:war
war:webapp

goals

The other probles is that
war:war goal is not extendible in simple way.
I myself almost always are writing the preGoal for war:war which does: 

preGoal name=war:war
ant:mkdir dir=${maven.war.src}/
ant:copy todir=${maven.war.src} 
  ant:fileset dir=${basedir}/src/webapp/
/ant:copy
/preGoal


The change which I am proposing means simpler and shorted plugin's code
but also minor performance increase. I think that there is more
advantages...


Michal



 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, June 18, 2003 1:32 AM
 To: Maven Developers List
 Subject: RE: Recent changes in war plugin
 
 By this do you mean the war plugin??
 --
 dIon Gillard, Multitask Consulting
 Blog:  http://blogs.codehaus.org/people/dion/
 Work:  http://www.multitask.com.au
 
 
 Michal Maczka [EMAIL PROTECTED] wrote on 17/06/2003 08:21:41 PM:
 
  Thanks for pointing that!
  I also realized that I did this change (bit unintentionally)
  Not sure either if it should stay for release.
 
 
  Any other problems with the plugin?
 
 
  BTW:
 
  This plugin has not yet reached release quality.
   I still need to work on it before beta-10 is out..
 
  mm
 
   -Original Message-
   From: Konstantin Priblouda [mailto:[EMAIL PROTECTED]
   Sent: Tuesday, June 17, 2003 11:58 AM
   To: [EMAIL PROTECTED]
   Subject: Recent changes in war plugin
  
   Hi Michal,
  
   Last changes in war plugin seem suboptimal for
   me.
  
   I'm not sure that war artifact always needs version
   name on it. Well, from one point of view it would be
   nice to have versioned one if we are assembling ear.
  
   But from other point of view if we just assemble web
   app
   versioned war is not cool...
  
   =
   [ Konstantin Pribluda ( ko5tik ) ]
   Zu Verstärkung meines Teams suche ich ab Sofort einen
   Softwareentwickler[In] für die Festanstellung.
   Arbeitsort: Mainz
   Skills:  Programieren, Kentnisse in OpenSource-Bereich
   [ http://www.pribluda.de ]
  
   __
   Do you Yahoo!?
   SBC Yahoo! DSL - Now only $29.95 per month!
   http://sbc.yahoo.com
  
   -
   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]



RE: Recent changes in war plugin

2003-06-18 Thread Michal Maczka


 -Original Message-
 From: Vincent Massol [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, June 18, 2003 10:33 AM
 To: 'Maven Developers List'
 Subject: RE: Recent changes in war plugin
 
 
 
  -Original Message-
  From: Michal Maczka [mailto:[EMAIL PROTECTED]
  Sent: 18 June 2003 10:01
  To: 'Maven Developers List'
  Subject: RE: Recent changes in war plugin
 
  Yes.
  I am still working on deployer.
  That's the art which I want to use in this plugin to add missing
  functionality.
 
  Once I am readay with this for war plugin, I am planning to change
 also
  other plugins.
 
 
  Last time I am asking:
 
  Does anybody has something against building war ___always__ in two
  distinct
  steps?
 
 I don't think I like it. At least I would like to keep using the Ant war
 task which does a lot of things your implementation will not be doing
 right away. And we will benefit from any improvement to Ant war task.
 

What's so magical in ant war task?

As I get it it's just simple extension of jar task
which often prints stupid warning messages like:

 Taken from ANT code -
if (deploymentDescriptor == null
|| !fu.fileNameEquals(deploymentDescriptor, file)
|| descriptorAdded) {
log(Warning: selected  + archiveType
+  files include a WEB-INF/web.xml which will be
ignored 
+ (please use webxml attribute to 
+ archiveType +  task), Project.MSG_WARN);
} else

--

Why web.xml should not be kept in src/webapp/WEB-INF?
What's so wrong in it? Why Ant dislikes this?


I don't see any benefits which we gain using this ant target.

And personally I think that as much as possible of the code should be done
in pure java - not in jelly with help of ant. I think that that's the
direction Maven should take.

This will increase quality of the code, speed and code reuse.
So from my point of view less dependencies on ant - better code.



 So I'm -1 to drop usage of the Ant war task.
 
 I'm -0 (maybe even -1) to always build in 2 steps
 
 I'm +1 to add a goal or any other property to support building in 2
 steps. For example:
 
 - Define the following properties in war's plugin.properties file:
 
 maven.war.src.extra = ${maven.build.dir}/war
 
 - Modify plugin.jelly to:
 
 war warfile=${maven.war.build.dir}/${maven.war.final.name}
  webxml=${maven.war.webxml} update=true
 [...]
   j:if test=${SrcExtraDirExists == 'true'}
 fileset dir=${maven.war.src.extra}/
   /j:if
 

That's some idea...

Michal


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



RE: Recent changes in war plugin

2003-06-18 Thread Michal Maczka

  
 
  What's so magical in ant war task?
 
 It's written, fully supports the war model and has gone through lots of
 testing.


OK  I agree. But if we all have all files in given folder and we just want
to archive it why we should care? It's just fairly simple thing.
Do we need realy war target for this? It's adds nothing

 
 [snip]
 
 
  Why web.xml should not be kept in src/webapp/WEB-INF?
  What's so wrong in it? Why Ant dislikes this?
 
 Nothing wrong. That works BTW. This is where I put my web.xml file...
 

I know it works... but prints this annoying warning message.

 
 
  I don't see any benefits which we gain using this ant target.
 
 Are you going to say the same with the Ant Jar task? Or do you plan to
 extend it in the same way the War task does it?
 


Preferably I would not use Ant at all as it is. Just simple Beans. Bean can
be easily used as in jelly, java code or wrapped in Ant Task. We don't need 
real Ant task with their addition, but we do sometimes need their
functionality.  I mean I am for something conceptually close  to Ant2 tasks
then Ant1.

This will solve a lot of problems (e.g. classloaders)  

But I am too extreme with this subject ... so please ignore me :)


  And personally I think that as much as possible of the code should be
 done
  in pure java - not in jelly with help of ant. I think that that's the
  direction Maven should take.
 
  This will increase quality of the code, speed and code reuse.
  So from my point of view less dependencies on ant - better code.
 
 
 I'm completely +1 with this. Why do you say that War.java is not java?
 

It is java. But is has a lot of unnecessary stuff which makes plugins
which are using ant more heavy. This price is worthed to pay as we can reuse
a lot of nice ant's features. But if we are able in simple way to replace it
with our own code which does the same but in better way - I think we should
go for it.

[...]


 BTW, I think identifying the web.xml file is a good idea as it allows
 you perform any kind of thing like validation, etc.

Sure it is. 

We can even add a goal like war:validate-web-xml 


Note that in Ant you don't have standard properties which e.g. are pointing
to location of your web.xml file. So Ant knows nothing about web.xml. 
In Maven we already have it.  So we are already ahead with some conceptions
and formalisms. I am sure this advantage will grow and we will be able to
use it. You already do this with maven cactus plugin ... a lot of things is
happening automatically. But if you have common set of classes
which does a thing you can use it in maven-plugin, eclipse-plugin and in
ant.
You do not necessarily need to write code for ant and then try to reuse it.
This was (as for me) one of the biggest problems with XDoclet1. 
But the lesson was learnt and Xdoclet2 will not have this limitation.



BTW:

Other thing I am trying to achieve is to centralize the generation of
manifest file from POM. 

I am almost done with that. Will see how it overlaps with subject of this
discussion.

I don't know if I should always create a manifest file (physical file) or
just an object in memory (String).
Then manifest (file, object) can be used by jar, war and other plugins.


Michal

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



RE: New WAR changes problems

2003-06-18 Thread Michal Maczka


 -Original Message-
 From: Vincent Massol [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, June 18, 2003 5:45 PM
 To: 'Maven Developers List'
 Subject: New WAR changes problems


 Hi,

 I have 2 problems with the new changes brought to the war plugin WRT
 artifact deployment:

 1/ When I run maven, I get:


Install deploy component is under development. I hope to have it finished
for tommorow.
Anomalies are expected. Sorry for that!


 2/ The war:install goal fails to add the version to the artifact and no
 artifact should go in the Maven repository without having a version in
 its name.

 With the previous implementation it was easy to add the version. However
 with the new one:

  artifact:install
 artifact=${maven.war.build.dir}/${maven.war.final.name}
 type=war
 project=${pom}
 /

 there is no way to rename the war... One solution (not nice) would to
 perform a copy prior to calling artifact:install.



It's different story here:

artifact:install is taking care to create repository root relative path,
file name (with version) using information taken from
POM and the artifact type (we will be able here to use RepositoryLayout
service from maven-new).

 artifact:install
 artifact=foo
  type=war
 project=${pom}

 artifact:install
 artifact=lkjlkjlkjlkjlklk
  type=war
  project=${pom}

will do the same. The original file name is simply ignored.



Michal



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



RE: Problems of EJB plugin and Dependencies download

2003-06-18 Thread Michal Maczka
This is partially fixed in maven-new (Repository Layout Service)
So you can assign different layouts for different types.

E.g. for ejb it is (see layout-properties in maven-new/core/src/conf)
# EJB
ejb=${groupId}/ejbs/${artifactId}-${version}.jar

There is one more problem with ejbs.

There are not added to build class path.


This will be also fixed in maven-new (ArtifactHandlers)
but I would propose a temporary hack in maven-old and to hard code more
artifact type
which should be added to class path.


see org.apache.maven.DependencyClasspathBuilder.

Michal

P.S.


A workaround for 1st problem for ejbs is:

dependency
typeejbtype
jaractual file name /jar
/dependency

AFAIK There is no workaround for 2nd problem,


 -Original Message-
 From: Vincent Massol [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, June 18, 2003 6:01 PM
 To: 'Maven Developers List'
 Subject: Problems of EJB plugin and Dependencies download


 Hi,

 The EJB plugin ejb:install goal installs its artifacts in
 groupId/ejbs/artifactId-version.jar (note the jar extension).

 However, the maven dependency resolver looks for a file named:
 groupId/ejbs/artifactId-version.ejb (not the ejb extension)

 Thus it fails to find the artifact...

 Several solutions:

 1/ All jar files (.ear, .jar, .war are considered of the jar type)

 2/ The dependency resolver supports .jar extensions when using the ejb
 type. In other words there is mapping between artifact type and
 artifact extension instead of assuming extension = artifact type.

 Currently the EJB, WAR and EAR plugins put their artifacts in
 **/ejbs/**, **/wars/** and **/ears/**.

 What do we do?

 Thanks
 -Vincent


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


 --
 Newsowy portal INTERIA.PL  http://link.interia.pl/f1735






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



RE: Recent changes in war plugin

2003-06-18 Thread Michal Maczka

 This already exists in Ant: it's called manifest
 (http://ant.apache.org/manual/CoreTasks/manifest.html). And you can use
 it from java too... :-) It weights 37K and contains lots of useful code.
 Why start reimplementing it again?


It's about different thing. There is no central place in maven which maps
POM to manifest attributes.

We have duplicated code  in JAR,  EJB and WAR plugins.


Michal




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



RE: Recent changes in war plugin

2003-06-18 Thread Michal Maczka


 -Original Message-
 From: Vincent Massol [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, June 18, 2003 8:46 PM
 To: 'Maven Developers List'
 Subject: RE: Recent changes in war plugin




  -Original Message-
  From: Michal Maczka [mailto:[EMAIL PROTECTED]
  Sent: 18 June 2003 12:44
  To: 'Maven Developers List'
  Subject: RE: Recent changes in war plugin
 
 

   
What's so magical in ant war task?
  
   It's written, fully supports the war model and has gone through lots
 of
   testing.
  
 
  OK  I agree. But if we all have all files in given folder and we just
 want
  to archive it why we should care? It's just fairly simple thing.
  Do we need realy war target for this? It's adds nothing

 If you keep using the Ant jar task and do not write a single line of
 java, then I'm 0. BTW, why would you need to write some java code?

 

Nope. No Java code.

 
   [snip]
  
   
Why web.xml should not be kept in src/webapp/WEB-INF?
What's so wrong in it? Why Ant dislikes this?
  
   Nothing wrong. That works BTW. This is where I put my web.xml
 file...
  
 
  I know it works... but prints this annoying warning message.

 That's easy to fix by excluding it (same as what is done for the ear
 plugin).

 
   
   
I don't see any benefits which we gain using this ant target.
  
   Are you going to say the same with the Ant Jar task? Or do you plan
 to
   extend it in the same way the War task does it?
  
  
 
  Preferably I would not use Ant at all as it is. Just simple Beans.
 Bean
  can
  be easily used as in jelly, java code or wrapped in Ant Task. We don't
  need
  real Ant task with their addition, but we do sometimes need their
  functionality.  I mean I am for something conceptually close  to Ant2
  tasks
  then Ant1.

 Oh ok, so you're also saying that the Ant Jar/Zip tasks do nothing...
 I'm definitely -10 to reimplement the Jar task from Ant.


I not going to reemployment them :)
Don't worry.

[...]


 No. I would continue to be -1 for a reimplementation of the Zip/Jar/War
 tasks in java.

 You seem to be missing that for every line of code you write instead of
 reusing:
 - you have to test it
 - you have to document it
 - you are upping the bar for any newcomer to participate to development
 (the more code the less easy it is usually)
 - you must maintain it
   - fix bugs
   - add new features that you had forgotten to add initially


No!

I am trying to say that development in Java is:

a)  simpler (tools, tools tools)
b) faster (tools, tools, tools)
c) simulates code reuse (much more than in jelly)
d) the code is easier to test
e) you can debug
d) you know when any API changes breaks the code (compiler tells you)
f) is simpler for newcomers (so bar is definitely not raised, as much more
people knows java then jelly)
d) resulting code is faster

Surly jelly is nice for some things, but maintain the project of maven size
developed in jelly is a nightmare..

I am definitely not going to change anything in Maven because of that.  But
I am sure that if more things were done in Java
it will be better. Even/Because in Java we can use reuse code from ANT.
And when Maven will have more java code (libraries like Bob's fetch ) it
will be possible to reuse output of maven in
other worlds. Ant can will profit. Nobody can ever reuse our jelly scripts.

regards

Michal



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



RE: Recent changes in war plugin

2003-06-18 Thread Michal Maczka
  -Original Message-
  From: Michal Maczka [mailto:[EMAIL PROTECTED]
  Sent: 18 June 2003 21:13
  To: Maven Developers List
  Subject: RE: Recent changes in war plugin
  
  
   This already exists in Ant: it's called manifest
   (http://ant.apache.org/manual/CoreTasks/manifest.html). And you can
 use
   it from java too... :-) It weights 37K and contains lots of useful
 code.
   Why start reimplementing it again?
  
  
  It's about different thing. There is no central place in maven which
 maps
  POM to manifest attributes.
  
  We have duplicated code  in JAR,  EJB and WAR plugins.
 
 I think we're talking about the same thing. You can have a jelly taglib
 that wraps the Ant manifest task.
 

Hmm. Haven't thought of that...

I think that jelly or velocity were born for that!
I am using velocity at the moment. And want to give to user
a chance to provide his own template. 

Can you take a look at

\plugins-build\artifact\src\plugin-resources\templates\manifest.vm?

Do you think it is possible to make the same with ant manifest task?

Michal
It's a pity that we have communicate via emails.

Normalment on porrait aller au cafeteria pour disscuter :) 








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



RE: Problems of EJB plugin and Dependencies download

2003-06-18 Thread Michal Maczka
 I see 2 solutions:

 1/ Add a property called classpathfalse/classpath and if found the
 said dependency is not added to the Classpath?

 or

 2/ Define a list of well known artifact types. That would server 2
 purposes:
 a- to know if the said dependency type should be added to the classpath
 b- to know what extension this type has

 I prefer 2.

 -Vincent

Jason was saying that it will be possible to reuse some components of
maven-new.

If we are not going to make I can also propose two other options:

1) Add all artifacts to class path. I don't think people are using too many
non jar like artifacts. Too many things in classspath makes no harm.


Regarding your propositions:
ad 1) -1 :  I think that option with marking deps in POM..is bad.  -1
ad 2) +1   I did it already with XML based configuration files sometimes
ago. But think XML or even java properties are too heavy there.
 Why just not put it to Java code?

Michal

P.S.

I would not rush with those changes for rc1.





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



RE: cvs commit: maven/src/plugins-build/artifact/src/plugin-resources/templates manifest.vm

2003-06-17 Thread Michal Maczka


 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, June 17, 2003 6:18 AM
 To: [EMAIL PROTECTED]
 Subject: Re: cvs commit: maven/src/plugins-build/artifact/src/plugin-
 resources/templates manifest.vm
 
Generic code for:
 
 -  deployment of artifact to remote repositry
 
  - installaton of artifact to local repository
 
 This seems like code that is duplicating the repository and deploy
 plugins. Why do we want a third way of doing this
 

This one is developed in pure Java + supports deployment to various types
of repositories. Soon it will support deployment to multiple repositories.

And I think it is easier to use it then other ones + the code is more
centralized. I hope to test it with junit. This was rather hard in case of 
old plugins.

 Can you please change the others to use this code if it works?

It is not yet fully finished. Once I will be sure that it works I am
planning to change other plugins. 
For the moment I use war plugin as demonstration how this is supposed
to work from the point of other plugins, so if any body has some remarks...
let me know.

FYI:

package org.apache.maven.artifact.deployer.deploy;

is meant to be refactored. I think the best will be to make a sister
component of fetch in maven-new.

This code is not depending on any maven apis, and can be possibly reused
like does fetch component.


Package org.apache.maven.artifact.deployer;

Contains higher level API, which uses maven API and it is supposed to be
used in plugins.



[OT]

I am thinking about deploying java sources and javadocs to repository.

Any idea about naming convention of those artifacts? With maven-new it 
will be easy to control, with maven-old it is not so easy.

I am thinking about:

/${groupId}/apis/${artitifactId}_api-${version}.jar  (for javadocs)
/${groupId}/srcs/${artitifactId}_src-${version}.jar  (for sources).



Any better ideas? 

Other question is where is the best place for such functionality?
I think for javadoc it is javadoc plugin. But for sources?


Any hints what else can we deploy?


Other idea:

We have;

jar:jar
war:war
ear:ear

etc..

Wouldn't it be more consistent to have:


jar:archive
war:archive
ear:archive
javadoc:archive
java:src-archive

etc?


regards

Michal

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



RE: Recent changes in war plugin

2003-06-17 Thread Michal Maczka
Thanks for pointing that!
I also realized that I did this change (bit unintentionally)
Not sure either if it should stay for release.


Any other problems with the plugin?


BTW:

This plugin has not yet reached release quality.
 I still need to work on it before beta-10 is out..

mm

 -Original Message-
 From: Konstantin Priblouda [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, June 17, 2003 11:58 AM
 To: [EMAIL PROTECTED]
 Subject: Recent changes in war plugin
 
 Hi Michal,
 
 Last changes in war plugin seem suboptimal for
 me.
 
 I'm not sure that war artifact always needs version
 name on it. Well, from one point of view it would be
 nice to have versioned one if we are assembling ear.
 
 But from other point of view if we just assemble web
 app
 versioned war is not cool...
 
 =
 [ Konstantin Pribluda ( ko5tik ) ]
 Zu Verstärkung meines Teams suche ich ab Sofort einen
 Softwareentwickler[In] für die Festanstellung.
 Arbeitsort: Mainz
 Skills:  Programieren, Kentnisse in OpenSource-Bereich
 [ http://www.pribluda.de ]
 
 __
 Do you Yahoo!?
 SBC Yahoo! DSL - Now only $29.95 per month!
 http://sbc.yahoo.com
 
 -
 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: Recent changes in war plugin

2003-06-17 Thread Michal Maczka
It was mistake!


will fix that

Michal

 -Original Message-
 From: Kurt Schrader [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, June 17, 2003 6:36 PM
 To: Maven Developers List
 Subject: Re: Recent changes in war plugin


 I thought that we voted on this and decided that a war qould remained
 unversioned for easy deployment, but there would be a property to switch
 it to a versioned war.
 I am still -1 on making a versioned war the default behavior.

 -Kurt

 On Tue, 17 Jun 2003, Konstantin Priblouda wrote:

  I'm not sure that war artifact always needs version
  name on it. Well, from one point of view it would be
  nice to have versioned one if we are assembling ear.

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


 --
 Glosuj na NIE!
 NIE dla oplat za otwarcie i prowadzenie rachunku!
  http://link.interia.pl/f173b






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



cvs commit: maven/src/plugins-build/war plugin.jelly

2003-06-17 Thread michal
michal  2003/06/17 10:50:16

  Modified:src/plugins-build/war plugin.jelly
  Log:
  war archive creted in target directory is unversioned
  
  Revision  ChangesPath
  1.18  +2 -5  maven/src/plugins-build/war/plugin.jelly
  
  Index: plugin.jelly
  ===
  RCS file: /home/cvs/maven/src/plugins-build/war/plugin.jelly,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- plugin.jelly  16 Jun 2003 14:40:25 -  1.17
  +++ plugin.jelly  17 Jun 2003 17:50:16 -  1.18
  @@ -27,11 +27,8 @@
   /j:if
   
   ant:property name=maven.war.final.name 
  -  value=${maven.final.name}.war/
  -  
  -ant:echofinal:${maven.final.name}/ant:echo
  -
  -ant:echoWAR final:${maven.war.final.name}/ant:echo
  +  value=${pom.artifactId}.war/
  + 
 /goal
 
 !--==--
  
  
  

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



cvs commit: maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy - New directory

2003-06-17 Thread michal
michal  2003/06/17 15:05:36

  maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy - New directory

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



cvs commit: maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers - New directory

2003-06-17 Thread michal
michal  2003/06/17 15:05:37

  maven/src/plugins-build/artifact/src/main/org/apache/maven/deploy/deployers - New 
directory

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



RE: Strange behavior of war plugin

2003-06-16 Thread Michal Maczka
My teammate has also strange problems with war plugin.
For him just java files are included in war. 

FYI:

I am working on generic java code for installing and deploying artifacts and
generating manifest file. I am almost done with that

I am rewriting also WAR plugin to use this code.

I plan to build a war archive always in two steps:
1) copy web sources to assembly directory
2) jar this directory 

I think that this will be cleaner and will simplify some things. 

I hope that my changes will fix those strange bugs.

Michal


 -Original Message-
 From: Konstantin Priblouda [mailto:[EMAIL PROTECTED]
 Sent: Monday, June 16, 2003 10:15 AM
 To: [EMAIL PROTECTED]
 Subject: Strange behavior of war plugin
 
 Hi all,
 
 I'm experiencing strange behaviour of war plugin.
 
 It just stopped to include classes into war.
 
 I' just using war:war, and here is maven -X output
 ---%
 [war] [DEBUG] ZipFileSet: Setup scanner in dir
 /home/konstantin/.maven/repository/odmg/jars with
 patternSet{ includes: [odmg-3.0.jar] excludes: [] }
 [war] [DEBUG] ZipFileSet: Setup scanner in dir
 /home/konstantin/.maven/repository/cglib/jars with
 patternSet{ includes: [cglib-rc2-1.0.jar] excludes: []
 }
 [war] [DEBUG] ZipFileSet: Setup scanner in dir
 /home/konstantin/.maven/repository/dom4j/jars with
 patternSet{ includes: [dom4j-1.4-dev-8.jar] excludes:
 [] }
 [war] [DEBUG] ZipFileSet: Setup scanner in dir
 /home/konstantin/.maven/repository/commons-lang/jars
 with patternSet{ includes: [commons-lang-1.0.1.jar]
 excludes: [] }
 [war] [DEBUG] ZipFileSet: Setup scanner in dir
 /home/konstantin/.maven/repository/hibernate/jars with
 patternSet{ includes: [hibernate-2.0-final.jar]
 excludes: [] }
 [war] [DEBUG] ZipFileSet: Setup scanner in dir
 /home/konstantin/webgui/target/classes with
 patternSet{ includes: [**/*.properties, **/*.class]
 excludes: [**/package.html] }
 [war] [DEBUG] ZipFileSet: Setup scanner in dir
 /home/konstantin/webgui with patternSet{ includes:
 [LICENSE.txt] excludes: [] }
 [war] [DEBUG] ZipFileSet: Setup scanner in dir
 /home/konstantin/webgui/src/web/WEB-INF with
 patternSet{ includes: [web.xml] excludes: [] }
 [war] Building war:
 /home/konstantin/webgui/target/webgui.war
 [war] [VERBOSE] adding directory META-INF/
 [war] [VERBOSE] adding entry META-INF/MANIFEST.MF
 [war] [VERBOSE] adding directory noframeapp/
 
 %
 
 I'm living off CVS, with today clear checkout.
 
 Anybody seen this?
 
 regards,
 
 =
 [ Konstantin Pribluda ( ko5tik ) ]
 Zu Verstärkung meines Teams suche ich ab Sofort einen
 Softwareentwickler[In] für die Festanstellung.
 Arbeitsort: Mainz
 Skills:  Programieren, Kentnisse in OpenSource-Bereich
 [ http://www.pribluda.de ]
 
 __
 Do you Yahoo!?
 SBC Yahoo! DSL - Now only $29.95 per month!
 http://sbc.yahoo.com
 
 -
 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]



cvs commit: maven/src/plugins-build/artifact - New directory

2003-06-16 Thread michal
michal  2003/06/16 07:25:47

  maven/src/plugins-build/artifact - New directory

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



cvs commit: maven/src/plugins-build/artifact/src/main/org/apache - New directory

2003-06-16 Thread michal
michal  2003/06/16 07:25:47

  maven/src/plugins-build/artifact/src/main/org/apache - New directory

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



cvs commit: maven/src/plugins-build/artifact/src/main/org - New directory

2003-06-16 Thread michal
michal  2003/06/16 07:25:47

  maven/src/plugins-build/artifact/src/main/org - New directory

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



cvs commit: maven/src/plugins-build/artifact/src/plugin-resources - New directory

2003-06-16 Thread michal
michal  2003/06/16 07:25:48

  maven/src/plugins-build/artifact/src/plugin-resources - New directory

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



cvs commit: maven/src/plugins-build/artifact/src/main - New directory

2003-06-16 Thread michal
michal  2003/06/16 07:25:47

  maven/src/plugins-build/artifact/src/main - New directory

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



cvs commit: maven/src/plugins-build/artifact/src/plugin-resources/templates - New directory

2003-06-16 Thread michal
michal  2003/06/16 07:25:48

  maven/src/plugins-build/artifact/src/plugin-resources/templates - New directory

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



cvs commit: maven/src/plugins-build/artifact/src/plugin-resources/templates manifest.vm

2003-06-16 Thread michal
michal  2003/06/16 07:26:02

  Added:   src/plugins-build/artifact project.properties
plugin.properties .cvsignore project.xml
plugin.jelly
   src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer
MavenAuthenticationInfo.java
DefaultArtifactDeployer.java DeployBean.java
ArtifactDeployer.java
   
src/plugins-build/artifact/src/main/org/apache/maven/artifact/deployer/deploy
SshDeployer.java HttpDeployer.java
AbstractDeployer.java Deployer.java
GenericAuthenticationInfo.java
AuthenticationInfo.java FtpDeployer.java
   src/plugins-build/artifact/src/plugin-resources/templates
manifest.vm
  Log:
  Generic code for:
   -  deployment of artifact to remote repositry 
- installaton of artifact to local repository 
- manifest generation
  
  Revision  ChangesPath
  1.1  maven/src/plugins-build/artifact/project.properties
  
  Index: project.properties
  ===
  # ---
  # P R O J E C T  P R O P E R T I E S
  # ---
  
  
  
  1.1  maven/src/plugins-build/artifact/plugin.properties
  
  Index: plugin.properties
  ===
  # ---
  # P L U G I N P R O P E R T I E S
  # ---
  maven.artifact.manifest.extensions.add=false
  
  maven.artifact.manifest.basedir=${plugin.dir}/plugin-resources/templates
  maven.artifact.manifest.template=manifest.vm
  
  
  
  1.1  maven/src/plugins-build/artifact/.cvsignore
  
  Index: .cvsignore
  ===
  target
  velocity.log
  maven.log
  
  
  
  1.1  maven/src/plugins-build/artifact/project.xml
  
  Index: project.xml
  ===
  ?xml version=1.0 encoding=UTF-8?
  
  project
extend${basedir}/../project.xml/extend
pomVersion3/pomVersion
idmaven-artifact-plugin/id
nameMaven Artifact Plug-in/name
currentVersion1.0/currentVersion
description/
shortDescriptionJava Project Management Tools/shortDescription
urlhttp://maven.apache.org/reference/plugins/artifact//url
siteDirectory/www/maven.apache.org/reference/plugins/artifact//siteDirectory
repository
  connectionscm:cvs:pserver:[EMAIL 
PROTECTED]:/home/cvspublic:maven/src/plugins-build/artifact//connection
  urlhttp://cvs.apache.org/viewcvs/maven/src/plugins-build/artifact//url
/repository
developers/

dependencies
  
  dependency
groupIdmaven/groupId
artifactIdmaven/artifactId
versionSNAPSHOT/version
typejar/type
  /dependency
  
  dependency
groupIdcommons-io/groupId
artifactIdcommons-io/artifactId
version20030203.000550/version
typejar/type
  /dependency
  
  dependency
groupIdcommons-net/groupId
artifactIdcommons-net/artifactId
version1.0.0/version
typejar/type
  /dependency
  
  
  dependency
groupIdcommons-httpclient/groupId
artifactIdcommons-httpclient/artifactId
version2.0-beta1/version
typejar/type
  /dependency
  
  
  dependency
groupIdjsch/groupId
artifactIdjsch/artifactId
version0.0.9/version
typejar/type
  /dependency
  
  
 
 dependency
groupIdcommons-jelly/groupId
artifactIdcommons-jelly/artifactId
version20030310.073407/version
urlhttp://jakarta.apache.org/commons/jelly//url
typejar/type
  /dependency
  
  dependency
groupIdcommons-jelly/groupId
artifactIdcommons-jelly-tags-velocity/artifactId
version20030303.205659/version
typejar/type
  /dependency
  
  dependency
groupIdvelocity/groupId
artifactIdvelocity/artifactId  
version1.3/version
typejar/type
  /dependency
  
/dependencies
  /project
  
  
  
  1.1  maven/src/plugins-build/artifact/plugin.jelly
  
  Index: plugin.jelly
  ===
  ?xml version=1.0?
  
  project 
xmlns:j=jelly:core
xmlns:define=jelly:define
xmlns:ant=jelly:ant
xmlns:velocity=jelly:velocity

  

define:taglib uri=artifact  
  
  
  !-- For times the same bean is used

RE: JBoss plugin - new modifications

2003-06-16 Thread Michal Maczka


 -Original Message-
 From: Vincent Massol [mailto:[EMAIL PROTECTED]
 Sent: Monday, June 16, 2003 6:33 PM
 To: 'Maven Developers List'
 Subject: JBoss plugin - new modifications
 
 
 Hi,
 
 I don't like the way the jboss plugin works. ATM, it assumes the EAR and
 the jboss packaging is done in the same project. I think they are 2
 separate activities that should be done in 2 separate projects. Why?
 
 Because packaging something in JBoss can mean packaging several modules:
 An EAR module, an EJB-JAR one, a WAR one, etc. and this won't work in a
 single project.
 
 Proposal:
 
 * Add a jboss.bundle property for dependencies. Example:
 
 dependencies
   dependency
 groupIdeverest/groupId
 artifactIdregistration/artifactId
 version1.0-SNAPSHOT/version
 typeear/type
 properties
   jboss.bundletrue/jboss.bundle
 /properties
   /dependency
 /dependencies
 
 * Keep only a jboss:package goal (remove the jboss:package-ear, etc) as
 they are no longer needed. The modules to package are now listed in the
 dependencies list
 
 If no one has any objection, I'll implement this in the coming 1-2 days.
 
 Thanks
 -Vincent
 
 

Question:
In this project for jboss all dependecies will be bundled, right?
Why to mark them in special way?

BTW: Are you going to make jboss plugin compatible with jboss 3.2x series?

Michal




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



cvs commit: maven/src/plugins-build/jar/src/plugin-resources - New directory

2003-06-11 Thread michal
michal  2003/06/11 14:51:29

  maven/src/plugins-build/jar/src/plugin-resources - New directory

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



cvs commit: maven/src/plugins-build/jar/src/plugin-resources/templates - New directory

2003-06-11 Thread michal
michal  2003/06/11 14:51:30

  maven/src/plugins-build/jar/src/plugin-resources/templates - New directory

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



cvs commit: maven/src/plugins-build/jar/src/plugin-resources/templates manifest.vm

2003-06-11 Thread michal
michal  2003/06/11 14:51:38

  Modified:src/plugins-build/jar project.xml plugin.jelly
  Added:   src/plugins-build/jar/src/plugin-resources/templates
manifest.vm
  Log:
  Added dynamic tag library for generation of manifest file
  
  Revision  ChangesPath
  1.3   +17 -0 maven/src/plugins-build/jar/project.xml
  
  Index: project.xml
  ===
  RCS file: /home/cvs/maven/src/plugins-build/jar/project.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- project.xml   9 Apr 2003 01:06:46 -   1.2
  +++ project.xml   11 Jun 2003 21:51:37 -  1.3
  @@ -15,4 +15,21 @@
   urlhttp://cvs.apache.org/viewcvs/maven/src/plugins-build/jar//url
 /repository
 developers/
  +  
  +  dependencies
  +dependency
  +  groupIdcommons-jelly/groupId
  +  artifactIdcommons-jelly-tags-velocity/artifactId
  +  version20030303.205659/version
  +  properties
  +classloaderroot.maven/classloader
  +  /properties
  +/dependency
  +
  +dependency
  +  idvelocity/id
  +  version1.3/version
  +/dependency
  +
  +  /dependencies
   /project
  
  
  
  1.10  +41 -1 maven/src/plugins-build/jar/plugin.jelly
  
  Index: plugin.jelly
  ===
  RCS file: /home/cvs/maven/src/plugins-build/jar/plugin.jelly,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- plugin.jelly  10 Apr 2003 10:21:23 -  1.9
  +++ plugin.jelly  11 Jun 2003 21:51:37 -  1.10
  @@ -9,7 +9,47 @@
 xmlns:resources=resources
 xmlns:util=jelly:util
 xmlns:doc=doc
  -  xmlns:m=maven
  +  xmlns:m=maven
  +  xmlns:define=jelly:define
  +  xmlns:velocity=jelly:velocity
  +  
  +
  +
  + 
  +  
  +  define:taglib uri=manifest
  +  
  +  !--
  + |
  + | @destFile
  + |
  + --
  +define:tag name=create-file  
  +
  +j:set 
  +var=templatePath 
  +
value=${pom.getPluginContext('maven-jar-plugin').getVariable('plugin.dir')}/plugin-resources/templates/
  +  
  +j:set 
  +var=mainclass 
  +
value=${$pom.getPluginContext('maven-java-plugin').getVariable('maven.jar.mainclass')}/
  +
  +j:set 
  +var=addExtension 
  +
value=${pom.getPluginContext('maven-jar-plugin').getVariable('${maven.jar.manifest.extensions.add')}/
  +
  +   
  +
  +  ant:echoCreating MANIFEST file:${destFile}/ant:echo
  +
  +  velocity:merge
  +name=${destFile}
  +basedir=${templatePath}
  +template=manifest.vm/
  +/define:tag 
  +
  +  /define:taglib
  + 
   
 !-- == --
 !-- J A R  --
  
  
  
  1.1  
maven/src/plugins-build/jar/src/plugin-resources/templates/manifest.vm
  
  Index: manifest.vm
  ===
  Built-By=${user.name}
  Created-By=Apache Jakarta Maven
  Package=${pom.package}
  Build-Jdk=${java.version}
  Extension-Name=${pom.artifactId}
  Specification-Version=${pom.specificationVersion}
  Specification-Vendor=${pom.organization.name}
  Specification-Title=${pom.shortDescription}
  Implementation-Version=${pom.currentVersion}
  Implementation-Vendor=${pom.organization.name}
  Implementation-Vendor-Id=${pom.organization.identifier}
  
  #if(${mainclass})
  Main-Class=${mainclass}
  #end
  
  #if( ${addExtension})
#foreach($artifact in $project.artifacts)
  #set($extensionList =  $artifact.artifactId)
#end
  Extension-List  ${extensionList}
#foreach($artifact in $project.artifacts)
  ${dep.artifactId}-Extension-Name${dep.artifactId}
  ${dep.artifactId}-Implementation-Version${dep.version}
  ${dep.artifactId}-Implementation-URLhttp://www.ibiblio.org/maven${artifact.urlPath}
#end
  #end
  
  
  

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



RE: Sun JARs

2003-06-10 Thread Michal Maczka
Is there a chance for:
JAXB
JAX-RPC

JAXB is distributed in Java Web Services Developer Pack

http://java.sun.com/webservices/downloads/webservicespack.html

which contains ... a lot of Jakarta products (tomcat, ant).

Michal

P.S.

Is this list going to be approved as a whole or each item will be considered
separately.
If it is the second option...well at least it is nice to try.

Michal



 -Original Message-
 From: Jason van Zyl [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, June 10, 2003 4:42 PM
 To: Maven Developers List
 Subject: Sun JARs


 Hi,

 I have updated the sun-licensing-journey.xml file in the xdocs/
 directory. I have started an initial list of JARs that we would like
 permission to scrape off their sites. If anyone can add to this list
 that would be appreciated. Once the list is complete, I will send the
 list off to Tom Kincaid and await official approval to use the scraper.

 --
 jvz.

 Jason van Zyl
 [EMAIL PROTECTED]
 http://tambora.zenplex.org

 In short, man creates for himself a new religion of a rational
 and technical order to justify his work and to be justified in it.

   -- Jacques Ellul, The Technological Society


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


 --
 Sportowy portal INTERIA.PL  http://link.interia.pl/f1730






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



RE: [PROPOSAL] Maven POM re-org to address deps + test issues

2003-06-06 Thread Michal Maczka
Hi Brett!

I would rather prefer to make it differently.

a) junit tests should be left as they are. (still no way to skip them!)
b) For other types of tests (integration tests, stress tests etc.) 
   we can make it similarly as it was done with Reports (plugable API):

   iuTests
  iuTestcactus/iuTest
  iuTesthttpUnit/iuTest
  iuTestdbunit/iuTest
  iuTestsurefire/iuTest (once Jason will finish it ;) )
   /iuTests


Each of those tests types will keep its own configuration settings etc
and course the possibility of running e.g.just cactus tests will still
remain.


Then integration test can be even integrated with of reports.

  reports
 ...
 reportiutest/report

  /reports

There is a lot of details which I skipped (for example resource processing
for tests), but this is just a fresh idea.


what you think?


regards

Michal


-Original Message-
From: Brett Porter [mailto:[EMAIL PROTECTED]
Sent: Friday, June 06, 2003 2:34 AM
To: Maven Developers List
Subject: [PROPOSAL] Maven POM re-org to address deps + test issues


Hi,

Based on the discussions about test levels and about isolating test, 
runtime and compile time dependencies, I thought about some changes to 
the POM that might help, and got a bit carried away ;)
This is a work in progress with a few limitations discussed later, but I 
thought it might be a good starting point for a discussion to address 
some of the issues. Bear in mind I wrote this on the train at 7am this 
morning ;)

What I propose is remove build/ and everything in it. Move 
nagEmailAddress/ to that level, and then add the following elements:

sets
   set
 namerequired-name/name
 extends
   extendset-name/extend
   extendother-set-name/extend
 /extends
 src
   directory.../directory
   includes
 include.../include
   /includes
   excludes
 exclude.../exclude
   /excludes
 /src
 dependencies
   !-- as before --
 /dependencies
 resources
   !-- as before --
 /resources
 plugins
   !-- Default is include all --
   includes
 include.../include
   /includes
   excludes
 exclude.../exclude
   /excludes
 /plugins
 properties
   !-- Actually put these into Jelly context (or Ant?) during 
processing of plugin --
   property.namevalue/property.name
 /properties
   /set
   !-- repeat for test set, java set, JAXB set, cactus test set, 
performance test set, ... --
/sets

Finally, you can includes/exclude sets from the command line to avoid 
processing certain sets:
maven -Dexclude.sets=perf-test,integ-test
or
maven -Dinclude.sets=gen-jaxb,default

Now the problems I see with it:
* Not that comfortable with the extends syntax - bit too similar to POM 
inheritance. Could be used to fold subprojects. However, need a way to 
include deps and classpath built sources of other sets without 
duplication. Any thoughts on this?
* This pattern allows multiple source trees. It does takes care of 
generated source (antlr, jaxb) more cleanly (source would be the 
descriptor files, then plugin uses addPath for java sources). However, 
could be used to have multiple java source trees for a real project. 
Maybe this is ok - let those who've demanded it have it, but perhaps 
display a warning every run that it is a bad practice :)
* The specification of plugins does worry me a bit, but I don't see 
alternatives. Certain things should make use of new plugins 
automatically (some site related plugin should apply to all source 
trees), but others must be blocked out.

Also, how does this fit with maven-new's structure?

Cheers,
Brett

-- 
Web Developer
f2 network ~ everything essential
02 8596 4437


-
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: Setting up Maven-New

2003-06-03 Thread Michal Maczka



 -Original Message-
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, June 03, 2003 12:26 PM
 To: [EMAIL PROTECTED]
 Subject: RE: Setting up Maven-New


 I know that Maven new is not really usable yet,

I would say: it is really unusable ;)

but the
 committers have got
 a setup that they can use to test their changes, right?  I want
 to have this
 kind of setup, enabling me to evaluate Maven new.

There is ongoing development in maven-new/core maven-new/fetcher etc...
But as a whole it is still a puzzle box in 100 pieces, which needs to
be assembled.


If I have to create my
 own plugins, I want to make sure I use Maven new instead of Maven.

Maven-new should be backward compatible (not sure if in 100% but close).
So you can still write your plugins without looking at what is going on with
maven-new

In
 particular because I have seen better decomposition allowing me to e.g.
 extend the Project class and parse the project.xml myself.

Certainly there are side effects of the decomposition made in maven-new
which might result in such temptation to personalize your instance
of maven.
But if something is technicaly possible it does not necessarily mean that it
should be
applied/used.


Michal


 Regards,
 Gino.

 -Original Message-
 From: Michal Maczka [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, June 03, 2003 12:15 PM
 To: Maven Developers List
 Subject: RE: Setting up Maven-New


 AFAIK: maven-new is not yet usable.

 Michal

  -Original Message-
  From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
  Sent: Tuesday, June 03, 2003 12:09 PM
  To: [EMAIL PROTECTED]
  Subject: Setting up Maven-New
 
 
  Can someone guide me through the process of setting up and using
  Maven New?
  I always seem to get an XMLRPC exception upon execution of
  run-client -g,
  so I must be doing something wrong...
 
  On the client
  Exception in thread main java.lang.reflect.InvocationTargetException
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at
  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorIm
  pl.java:39
  )
  at
  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
  cessorImpl
  .java:25)
  at java.lang.reflect.Method.invoke(Method.java:324)
  at
  com.werken.classworlds.Launcher.launchStandard(Launcher.java:408)
  at com.werken.classworlds.Launcher.launch(Launcher.java:342)
  at com.werken.classworlds.Launcher.main(Launcher.java:470)
  Caused by: org.apache.xmlrpc.XmlRpcException:
  java.lang.NullPointerException
  at
  org.apache.xmlrpc.XmlRpcClientResponseProcessor.decodeException(Xm
  lRpcClient
  ResponseProcessor.java:133)
  at
  org.apache.xmlrpc.XmlRpcClientResponseProcessor.decodeResponse(Xml
  RpcClientR
  esponseProcessor.java:101)
  at
 
 org.apache.xmlrpc.XmlRpcClientWorker.execute(XmlRpcClientWorker.java:102)
  at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:187)
  at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:178)
  at org.apache.xmlrpc.XmlRpcClient.execute(XmlRpcClient.java:172)
  at org.apache.maven.cli.CLI.doMain(CLI.java:116)
  at org.apache.maven.cli.CLI.main(CLI.java:83)
  ... 7 more
 
  On the server
  [DEBUG] Found a service descriptor for key: org.apache.maven.Maven
  [ERROR] Cannot start component lifecycle with role :
  org.apache.maven.Maven
  java.lang.NullPointerException
  at
  org.apache.maven.DefaultMaven.service(DefaultMaven.java;org/apache
  /maven/Pom
  InheritanceAspect.java[1k]:207)
  at
  org.apache.plexus.lifecycle.phase.ServicePhase.execute(ServicePhas
  e.java:24)
  at
  org.apache.plexus.lifecycle.AbstractLifecycleHandler.startLifecycl
  e(Abstract
  LifecycleHandler.java:145)
  at
  org.apache.plexus.service.repository.DefaultComponentRepository.st
  artCompone
  ntLifecycle(DefaultComponentRepository.java:426)
  at
  org.apache.plexus.service.repository.DefaultComponentRepository.lo
  okup(Defau
  ltComponentRepository.java:316)
  at org.apache.maven.server.XMLThing.execute(XMLThing.java:80)
  at
  org.apache.xmlrpc.XmlRpcWorker.invokeHandler(XmlRpcWorker.java:128)
  at org.apache.xmlrpc.XmlRpcWorker.execute(XmlRpcWorker.java:185)
  at org.apache.xmlrpc.XmlRpcServer.execute(XmlRpcServer.java:151)
  at org.apache.xmlrpc.XmlRpcServer.execute(XmlRpcServer.java:139)
  at
 org.apache.xmlrpc.WebServer$Connection.run(WebServer.java:773)
  at org.apache.xmlrpc.WebServer$Runner.run(WebServer.java:656)
  at java.lang.Thread.run(Thread.java:536)
  basedir is set to Maven
 
  Many thanks,
  Gino.
 
  -
  To unsubscribe, e-mail: [EMAIL PROTECTED]
  For additional commands, e-mail: [EMAIL PROTECTED

cvs commit: maven-new/core/src/test/org/apache/maven/artifact/handlers JarHandlerTest.java

2003-05-31 Thread michal
michal  2003/05/30 08:13:43

  Modified:core/src/test/org/apache/maven/artifact/handlers
JarHandlerTest.java
  Log:
  Small typo fixed
  
  Revision  ChangesPath
  1.3   +2 -2  
maven-new/core/src/test/org/apache/maven/artifact/handlers/JarHandlerTest.java
  
  Index: JarHandlerTest.java
  ===
  RCS file: 
/home/cvs/maven-new/core/src/test/org/apache/maven/artifact/handlers/JarHandlerTest.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JarHandlerTest.java   30 May 2003 15:12:34 -  1.2
  +++ JarHandlerTest.java   30 May 2003 15:13:43 -  1.3
  @@ -159,7 +159,7 @@
   Classpath does not contain entry for: + testA,
   hasEntryForA);
   assertTrue(
  -Classpath does not contain entry for: + testA,
  +Classpath does not contain entry for: + testB,
   hasEntryForB);
   
   }
  
  
  

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



cvs commit: maven-new/core/src/java/org/apache/maven/artifact/satisfy DefaultDependencySatisfier.java

2003-05-30 Thread michal
michal  2003/05/30 03:13:26

  Modified:core/src/java/org/apache/maven/artifact/satisfy
DefaultDependencySatisfier.java
  Log:
  added special threatment for unsatisfied overriden deps
  
  Revision  ChangesPath
  1.8   +12 -5 
maven-new/core/src/java/org/apache/maven/artifact/satisfy/DefaultDependencySatisfier.java
  
  Index: DefaultDependencySatisfier.java
  ===
  RCS file: 
/home/cvs/maven-new/core/src/java/org/apache/maven/artifact/satisfy/DefaultDependencySatisfier.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DefaultDependencySatisfier.java   29 May 2003 20:26:22 -  1.7
  +++ DefaultDependencySatisfier.java   30 May 2003 10:13:26 -  1.8
  @@ -129,6 +129,7 @@
   I18NUtils.getMessage( remote.repository.disabled.warning ) );
   }
   
  +List failedOverridenDependencies = new ArrayList();
   for ( Iterator i = project.getArtifacts().iterator(); i.hasNext(); )
   {
   Artifact artifact = (Artifact) i.next();
  @@ -137,12 +138,10 @@
   if ( artifact.exists() == false )
   {
   
  -// I think that we should stop here as this means
  -// the user has made an error and build cannot continue
  +
   if (artifact.isFileOverridden())
   {
  -   String msg = ;
  -   throw new UnsatisfiedDependencyException( msg );
  +   failedOverridenDependencies.add( artifact );   
  
   }
   failedDependencies.add( artifact );
  @@ -171,6 +170,14 @@
   }
   }
   
  +// If we have ovveriden dependicies which failed
  +// we will not make any attempt to downaloed them
  +if ( failedOverridenDependencies.isEmpty() == false )
  +{
  +throw new UnsatisfiedDependencyException(
  +  createUnsatisfiedDependenciesMessage( failedDependencies 
) );
  +
  +}
   // If we have any failed dependencies then we will attempt to download
   // them for the user if the remote repository is enabled.
   if ( failedDependencies.isEmpty() == false  remoteRepoEnabled  online )
  
  
  

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



cvs commit: maven-new/core/src/test-input project.xml

2003-05-30 Thread michal
michal  2003/05/30 03:27:42

  Modified:core/src/test-input project.xml
  Log:
  Added code for testing experimental way of declaring properties
  
  Revision  ChangesPath
  1.2   +4 -0  maven-new/core/src/test-input/project.xml
  
  Index: project.xml
  ===
  RCS file: /home/cvs/maven-new/core/src/test-input/project.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- project.xml   26 Apr 2003 16:52:17 -  1.1
  +++ project.xml   30 May 2003 10:27:42 -  1.2
  @@ -80,6 +80,10 @@
 artifactIdd2/artifactId
 version2.0/version
 urld2-url/url
  +  properties
  +a.key=a.value
  +b.key=b.value
  +  /properties
   /dependency
   
 /dependencies
  
  
  

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



cvs commit: maven-new/core/src/java/org/apache/maven/artifact/handlers JarHandler.java

2003-05-30 Thread michal
michal  2003/05/30 04:26:53

  Modified:core/src/java/org/apache/maven/project Dependency.java
Project.java
   core/src/java/org/apache/maven MavenConstants.java
   core/src/java/org/apache/maven/artifact/handlers
JarHandler.java
  Added:   core/src/test/org/apache/maven/artifact/handlers
JarHandlerTest.xml JarHandlerTest.java
  Log:
  Added experimental code for dependecy.kind
  
  Revision  ChangesPath
  1.5   +31 -1 maven-new/core/src/java/org/apache/maven/project/Dependency.java
  
  Index: Dependency.java
  ===
  RCS file: 
/home/cvs/maven-new/core/src/java/org/apache/maven/project/Dependency.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Dependency.java   29 May 2003 20:26:22 -  1.4
  +++ Dependency.java   30 May 2003 11:26:52 -  1.5
  @@ -80,6 +80,9 @@
   
   /** The dependency type */
   private String type;
  +
  +/** EXPERIMENTAL The dependecy kind (like global, runtime, compile )*/
  +private String kind;
   
   /** Flag to indicate the artifact is poorly named. */
   //private boolean isPoorlyNamed = false;
  @@ -287,6 +290,33 @@
   this.type = type;
   }
   
  +/**
  + * Get the type of the dependency. If no type was set it is
  + * assumed that is of type codejar/code
  + *
  + * @return dependency type such as codejar/code or codewar/code
  + */
  +public String getKind()
  +{
  +if ( kind  == null || kind.trim().length() == 0 )
  +{
  +   return global;
  +}
  +return type;
  +}
  +
  +/**
  + * Sets the dependency type such as compile or test
  + *
  + * @param type The type of dependency.
  + */
  +public void setKind( String kind )
  +{
  +this.kind = kind;
  +}
  +
  +
  +
   /**
* Debug string.
*
  
  
  
  1.8   +53 -6 maven-new/core/src/java/org/apache/maven/project/Project.java
  
  Index: Project.java
  ===
  RCS file: /home/cvs/maven-new/core/src/java/org/apache/maven/project/Project.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Project.java  24 May 2003 18:30:26 -  1.7
  +++ Project.java  30 May 2003 11:26:52 -  1.8
  @@ -56,10 +56,6 @@
* 
*/
   
  -import org.apache.maven.Maven;
  -import org.apache.maven.MavenConstants;
  -import org.apache.plexus.util.StringUtils;
  -
   import java.io.File;
   import java.util.ArrayList;
   import java.util.HashMap;
  @@ -70,12 +66,17 @@
   import java.util.StringTokenizer;
   import java.util.TreeSet;
   
  +import org.apache.commons.lang.SystemUtils;
  +import org.apache.maven.Maven;
  +import org.apache.maven.MavenConstants;
  +import org.apache.plexus.util.StringUtils;
  +
   /**
* @author a href=mailto:[EMAIL PROTECTED]Jason van Zyl/a
* @author a href=mailto:[EMAIL PROTECTED]Vincent Massol/a
* @author a href=mailto:[EMAIL PROTECTED]dIon Gillard/a
* @author a href=mailto:[EMAIL PROTECTED]Glenn McAllister/a
  - *
  + * @author a href=mailto:[EMAIL PROTECTED]Michal Maczka/a
* @version $Id$
*
* @todo Change the file reference for the source POM to an URL.
  @@ -87,6 +88,7 @@
   private List dependencies;
   
   public static final String CONTEXT_KEY = Project.class.getName();
  +
   
   /** Repository where this project is stored. */
   private Repository repository;
  @@ -188,6 +190,22 @@
* be retrieved by id.
*/
   private Map dependencyMap;
  +
  +
  +/**
  + * E X P E R I M E N T A L
  + * Classpath Map. There is one classpath for each of supported
  + * kinds of dependencies
  + *
  + *  dependency
  + *...
  + * kindruntime | compile | test | global /kind
  + *  dependency
  + *
  + */
  +private Map classpathMap;
  +
  +
   
   /** Artifact list. */
   private List artifactList;
  @@ -629,6 +647,35 @@
   {
   dependencyPaths.put( id, path );
   }
  +
  +
  +
  +/**
  + * Add entry to given named classpath
  + *
  + * @param id Classpath id (like global, test, runtime, compile).
  + * @param path Classpath for the given dependency.
  + */
  +public void addToClassPath( String id, String path )
  +{
  +String classpath = getClassPath( id );   
  +classpath = path + SystemUtils.PATH_SEPARATOR + classpath;
  +classpathMap.put( id, classpath);
  +}
  +
  +
  +public String getClassPath( String id )
  +{
  +String classpath

RE: maven-new tests failing

2003-05-28 Thread Michal Maczka
My repository path does not start with ${maven.home}...so this problem did
not show up.

I have something like:

/repository
/maven

It seems like interpolation problem.

Michal

 -Original Message-
 From: Rafal Krzewski [mailto:[EMAIL PROTECTED]
 Sent: Wednesday, May 28, 2003 12:05 PM
 To: Maven Developers List
 Subject: Re: maven-new tests failing


 Ben Walding wrote:
  This stuff is in so much flux that I'd expect tests to fail on a regular
  basis.  That being said, attaching the output of test results would be a
  good start.
  target/test-reports/whichever ones failed

 Ha! Didn't know about that one... (I'm not using Junit in my project
 yet, tests are cool when you have them already :-()

 Here you go...

 R.




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



cvs commit: maven-new/core/src/java/org/apache/maven/util IOUtility.java

2003-05-27 Thread michal
michal  2003/05/27 11:38:29

  Added:   core/src/java/org/apache/maven/util IOUtility.java
  Log:
  Added what Ben has forgotten
  
  Revision  ChangesPath
  1.1  maven-new/core/src/java/org/apache/maven/util/IOUtility.java
  
  Index: IOUtility.java
  ===
  package org.apache.maven.util;
  
  /* 
   * The Apache Software License, Version 1.1
   *
   * Copyright (c) 2003 The Apache Software Foundation.  All rights
   * reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer.
   *
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
   *the documentation and/or other materials provided with the
   *distribution.
   *
   * 3. The end-user documentation included with the redistribution,
   *if any, must include the following acknowledgment:
   *   This product includes software developed by the
   *Apache Software Foundation (http://www.apache.org/).
   *Alternately, this acknowledgment may appear in the software itself,
   *if and wherever such third-party acknowledgments normally appear.
   *
   * 4. The names Apache and Apache Software Foundation and
   *Apache Maven must not be used to endorse or promote products
   *derived from this software without prior written permission. For
   *written permission, please contact [EMAIL PROTECTED]
   *
   * 5. Products derived from this software may not be called Apache,
   *Apache Maven, nor may Apache appear in their name, without
   *prior written permission of the Apache Software Foundation.
   *
   * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
   * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   * 
   *
   * This software consists of voluntary contributions made by many
   * individuals on behalf of the Apache Software Foundation.  For more
   * information on the Apache Software Foundation, please see
   * http://www.apache.org/.
   *
   * 
   */
  
  import java.io.IOException;
  import java.io.InputStream;
  import java.io.OutputStream;
  
  /**
   * @author  Ben Walding
   * @version $Id: IOUtility.java,v 1.1 2003/05/27 18:38:29 michal Exp $
   */
  public class IOUtility
  {
  protected static final int BUFFER_SIZE = 16384;
  
  /**
   * Transfers all remaining data in the input stream to the output stream
   * 
   * Neither stream will be closed at completion.
   **/
  public static void transferStream(InputStream is, OutputStream os) throws 
IOException
  {
  final byte[] buffer = new byte[BUFFER_SIZE];
  while (true)
  {
  int bytesRead = is.read(buffer, 0, buffer.length);
  if (bytesRead == -1)
  {
  break;
  }
  os.write(buffer, 0, bytesRead);
  }
  }
  
  /**
   * Closes an InputStream without throwing an IOException.
   * The IOException is swallowed.
   * @param in the input stream to close. If null, nothing is closed.
   */
  public static final void close(InputStream in)
  {
  try
  {
  if (in != null)
  {
  in.close();
  }
  }
  catch (IOException ioex)
  {
  //Do nothing
  }
  }
  
  /**
   * Closes an OutputStream without throwing an IOException.
   * The IOException is swallowed.
   * @param in the OutputStream to close. If null, nothing is closed.
   */
  public static final void close(OutputStream out)
  {
  try
  {
  if (out != null)
  {
  out.close();
  }
  }
  catch

<    1   2   3   4