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]