RE: RFC: Deployer properties
-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
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
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