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]



Re: RFC: Deployer properties

2003-06-19 Thread Brett Porter
Looks good. A few questions:

maven.repo.repo1.remote.group= goo
Is remote.group really needed? How is this different to pom.groupId?

maven.deploy.repo.ibiblio = http://www.ibiblio.org
maven.deploy.repo.ibiblio.directory = /maven
Is the extra deploy here a typo? If it is something different, what is 
it? (looks like maven.repo.remote). If it is the same, how do you deploy 
to HTTP? PUT?



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.${repo alias}.method=(scp|rsync|ftp|put|cp)

maven.repo.proxy=192.168.2.15
maven.repo.proxy.username= foo
maven.repo.proxy.password= foo
maven.repo.proxy.port= 81
You should only need the one proxy, I'd stick with maven.proxy.* that 
already exist.


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
Maybe this special case doesn't belong in the POM?

One other thing about deploying - will an MD5 be sent as well? Will it 
only be sent to a central repository that can be trusted, or do they 
exist on mirrors as well? (ie for download integrity checks, not 
security checks).

Finally, some more thoughts although a bit of a tangent - pulling them 
back down. Can the repo aliases be re-used for pulling down artifacts? 
Although we might want to stick to just HTTP/FTP there. And would some 
projects perhaps want to identify their own repos in their POM? Does 
that pose a security problem?

Cheers,
Brett
--
Web Developer
f2 network ~ everything essential
02 8596 4437
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: RFC: Deployer properties

2003-06-19 Thread dion
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 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?

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

 
 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?

--
dIon Gillard, Multitask Consulting
Blog:  http://blogs.codehaus.org/people/dion/
Work:  http://www.multitask.com.au