I have progressed with Deployer API.

To make it clear - we have actually 3 types of repositories: 
   local (single instance)
   remote-readonly 
   remote-writable

Maven can now deploy to many remote repositories.

Deployers are just simple one shoot file copiers - See:
org.apache.maven.deploy.deployers.Deployer.

I have implemented deployers for following protocols
SSH (both: SCP and SFTP)
FTP
FILE

There is also HTTP deployer which comes from Jason original code 
but I haven't tested it all.

I think that code is already at least as functional as what we have in
maven-deploy-plugin

Higher level functionality is implemented in
org.apache.maven.artifact.deployer.DefaultArtifactDeployer


This class does support such operations:

o   install
o   install-snapshot
o   deploy (which upload to set of repositories  artifact and its .md5 file)
o   deploy-snapsnapshot 
    which upload to repositories 5 files:
         foo-20030620.124616.jar 
         foo-20030620.124616.jar.md5
         foo-SNAPSHOT.jar
         foo-SNAPSHOT.jar.md5
         foo-snapshot-version

(see http://nagoya.apache.org/wiki/apachewiki.cgi?Maven/DeployDependCycle)


So basically I am deploying every file which maven needs and I am not
requiring that any intelligence is present in remote repository.


How to use this API:



#list of repositories to which we will deploy
maven.repo.repos= R1, R2, R3, R4, ibiblio


#setting for repository 'R1' 
maven.repo.R1=ftp://ftp.boo.com 
maven.repo.R1.username=michal
maven.repo.R1.password=********
maven.repo.R1.directory=/web/repository


maven.repo.R2=sftp://host2.com
maven.repo.R2.username=michal
maven.repo.R2.password=*********
maven.repo.R2.port=22 (default can be skipped)
maven.repo.R2.directory=maven/repoistory
maven.repo.R2.group=Michal
maven.repo.R2.proxy=proxy.com
maven.repo.R2.proxy.port=54
maven.repo.R2.proxy.usernam=michal
maven.repo.R2.proxy.password=*********

maven.repo.R3=scp://host3.com
maven.repo.R3.username=michal
maven.repo.R3.directory=repo
maven.repo.R3.group=remote_grup
maven.repo.R3.privatekey=/home/.ssh/id_dsa

maven.repo.R4=file://c:\\temp
maven.repo.R4.directory=repository


maven.repo.ibiblio....
...


Anybody has a better idea regarding configuration settings of this API (set
of properties).

I haven't tested following things (sometimes simply because of lack of
technical possibilities)

o   Certificate based authethification ( have problem to generate right
    keys, but ssh is using user-provided private key, so I bet it works)
 
o   if proxy server setting works.


I will spend some time today and hope to test it deeper.

Then until weekend I am busy ... and cannot do much.
But I believe that the code is already in that state that can be used. 
Are there any planes when rc1 will be out? During weekend I can plug this
code in the places where it should be used. Then it will be nice to have few
days of internal testing to get sure everything works as it should.

Other option is to wait with those changes for rc2.



Michal

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

Reply via email to