Re: Proxify many repositories under the same url
I'm doing exactly that. They key point turned out to be these settings in settings.xml; servers server idinternal/id usernamem2repo/username password**/password /server ... /servers mirrors mirror mirrorOf*/mirrorOf nameArchiva Mirror Repository/name urlhttp://m2repo/archiva/repository/internal/url idinternal/id /mirror /mirrors On Fri, 2007-11-09 at 14:47 +0100, MATHUS Baptiste wrote: Hi all, We're trying to use archiva as a simple maven proxy. We'd like to be able to provide only one url to our developer boxes that would proxify many repositories. For example, we would put http://ourCIserver/archiva/repository/all/ in every single settings.xml maven file. Behind this url, archiva would be able to be proxifying transparently public well-known repositories + corporate files. Here's what I thought I could do : 1/ define one of more remote repositories (like repo1.maven.org/maven2 for example) 2/ define a managed repo called corporate, or so 3/ define a proxy connector that would offer the union of both repositories above under only one URL. In fact, I want to put the remote repo and all this conf inside archiva only. I don't want dev configs to have to be aware that there are n repositories to declare in their settings.xml. Moreover, we really don't want to be forced to update say 30 computer configs if we decide to add another remote repo inside archiva. I hope I'm being understandable. Is there any way to achieve this with archiva or should I stop looking for this feature? Thanks a lot.
RE: Proxify many repositories under the same url
Archiva provides a rudimentary user management through the web interface. I.e., you need to create a user and assign the user roles that allow read access (Repository Observer) or write access (Repository Manager). So, you will need the servers. You didn't mention deployment originally. If you want to deploy to Archiva, you'll need to define repositories in your settings.xml. Here's what I have; In Archiva; 3 Managed repositories; internal, dev and cm. 2 users; m2repo is Global Observer, and dev Manager, cmadmin is Global Observer, and cm Manager, 6 Remote Repositories that are proxy connected to internal In settings.xml; Note that some sections get commented in/out depending on whether you are a developer or cmadmin. settings !-- server for repo deployment. -- servers server idinternal/id usernamem2repo/username passwordm2repo-public-password/password /server !-- CM users have a secret password to have read/write access in the CM repo -- !--server idcm/id usernamecmadmin/username passwordcmadmin-secret-password/password /server-- !-- developers use a group password to have read-only access in the CM repo -- server idcm/id usernamem2repo/username passwordm2repo-public-password/password /server server iddev/id usernamem2repo/username passwordm2repo-public-password/password /server /servers !-- To use the repo, we need to add it to an active profile -- profiles profile idmyProfile/id activation activeByDefaulttrue/activeByDefault /activation repositories repository idcm/id nameCM Maven2 Repo/name urlhttp://m2repo/archiva/repository/cm/url releases enabledtrue/enabled /releases snapshots enabledfalse/enabled /snapshots /repository repository iddev/id nameDevelopment Maven2 Repo/name urlhttp://m2repo/archiva/repository/dev/url releases enabledtrue/enabled /releases snapshots enabledtrue/enabled /snapshots /repository /repositories !-- CM users deploy build artifacts to the CM repo -- !--properties deploy.idcm/deploy.id deploy.urlhttp://m2repo/archiva/repository/cm/deploy.url /properties-- !-- Developers deploy build artifacts to the development repo -- properties deploy.iddev/deploy.id deploy.urlhttp://m2repo/archiva/repository/dev/deploy.url /properties /profile /profiles mirrors mirror mirrorOf*/mirrorOf nameArchiva Mirror Repository/name urlhttp://m2repo/archiva/repository/internal/url idinternal/id /mirror /mirrors /settings In individual POMs, I use this construct so, developers and cm publish to their respective repos, without twiddling with the POMS; !-- Use properties from ~/.m2/settings.xml to make sure we publish to the correct repo -- distributionManagement repository id${deploy.id}/id nameArchiva M2 Repository/name urldav:${deploy.url}/url /repository /distributionManagement --CB
Problem caching an external Maven 1 repo .jar to Archiva internal repository
Hello, Archiva Beta 3, plexus standalone, Fedora Core 5, jdk1.5.0_09 A user asked me to cache http://download.java.net/maven/1, a Maven 1 repo. I configured a proxy connector to cache it into the Archiva 'internal' maven 2 repository. The user has the following in his settings.xml; mirror mirrorOf*/mirrorOf nameArchiva Mirror Repository/name urlhttp://m2repo.atsdev.sensis.com:8280/archiva/repository/internal/url idinternal/id /mirror On doing his build, maven hit archiva and got the http://m2repo.atsdev.sensis.com:8280/archiva/repository/internal/com/sun /tools/xjc/maven2/maven-jaxb-plugin/1.1/maven-jaxb-plugin-1.1.pom However, it failed to get the associated .jar file. We twiddled a bunch of different settings, and determined that when he configures the external repo as a pluginRepository, and ignores the Archiva, he gets the .jar just fine. Finally, we manually downloaded the .jar, .jar.sha1 and .jar.md5 and dropped them into the Archive repo folder next to the pom Archiva downloaded. After that, the user could build just fine. So, is there something wrong in my archiva configuration, the maven configuration, or is it a bug that Archiva would fetch and cache the POM but not the JAR? Thanks. --CB
Re: Activating a profile from another profile
I've struggled with profiles over the last week. It seems if you have the parent/ configuration in your child pom, it inherits the profiles of the parent implicitely. See following for details. http://maven.apache.org/pom.html#Inheritance http://maven.apache.org/guides/introduction/introduction-to-profiles.html Although, it reads as if not all items in a profile might be inherited. I was only interested in the child inheriting properties set and activated in a parent's profile. Also, I found the output of 'mvn help:active-profiles' less than helpful in understanding what was really going on. Eventually, I trial and errored by way through it. On Tue, 2007-10-16 at 16:59 -0400, EJ Ciramella wrote: Is there an easy way to put a profile in a parent pom and then activate that from a child profile? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Starting from scratch
I have done exactly that - several times - usually to verify that changes I've made in Archiva haven't screwed something up - and a couple times because something I downloaded caused maven to choke and do nothing. However, I also do have problems with snapshot plugins when doing a 'mvn -U' or a 'mvn clean'. I assume I am missing a reference to a snapshot repo somewhere, or that the exclusion of snapshots on my Archiva 'internal' repo blocks them. --CB On Tue, 2007-10-16 at 11:11 +0200, Kristof Jozsa wrote: Hi, do I assume correctly that if I had a correct archiva repo set up and the correct local mirrorOf * setting in my settings.xml, after wiping out my whole ~/.m2/repository/ directory I could do a successful build with mvn? Appearently that's not the case for me, not even the resource or the clean-plugin can be downloaded after a completely removed local repository. I really wonder what's wrong but first I'd love to get a confirmation that the case above should work and my understanding of the concepts is correct.. thx, Kristof
use with m2eclipse
When I use my new settings.xml with m2eclipse plugin in eclipse, it keeps asking me for the repo username and password, even though they are in the settings.xml file. Anyone know how to make it not do that? thanks.
wagon-ssh-external causes repo to be blacklisted
Whatever happened, it seems the exception caused the conenction to close badly, causing maven to blacklist the repo. From mvn; [INFO] artifact org.apache.maven.wagon:wagon-ssh-external: checking for updates from internal [WARNING] repository metadata for: 'artifact org.apache.maven.wagon:wagon-ssh-external' could not be retrieved from repository: internal due to an error: Error transferring file [INFO] Repository 'internal' will be blacklisted From server log; 1899482 [SocketListener0-6] INFO org.apache.maven.archiva.proxy.RepositoryProxyConnectors:default - Didn't pass the [releases] policy. 1899482 [SocketListener0-6] INFO org.apache.maven.archiva.proxy.RepositoryProxyConnectors:default - Failed pre-download policies - /opt/local/archiva/data/repositories/internal/org/apache/maven/wagon/wagon-ssh-external/maven-metadata-central.xml 1899482 [SocketListener0-6] INFO org.apache.maven.archiva.proxy.RepositoryProxyConnectors:default - Successfully transfered: /opt/local/archiva/data/repositories/internal/org/apache/maven/wagon/wagon-ssh-external/maven-metadata-central.xml 1899665 [SocketListener0-6] WARN org.apache.maven.archiva.proxy.RepositoryProxyConnectors:default - Resource does not exist: Unable to locate resource in repository Oct 5, 2007 8:15:53 AM org.mortbay.jetty.servlet.ServletHandler handle WARNING: /archiva/repository/internal/org/apache/maven/wagon/wagon-ssh-external/maven-metadata.xml: org.apache.maven.archiva.proxy.ProxyException: Unsupported target repository protocol: http at org.apache.maven.archiva.proxy.DefaultRepositoryProxyConnectors.transferFile(DefaultRepositoryProxyConnectors.java:428) at org.apache.maven.archiva.proxy.DefaultRepositoryProxyConnectors.fetchFromProxies(DefaultRepositoryProxyConnectors.java:242) at org.apache.maven.archiva.web.repository.ProxiedDavServer.fetchContentFromProxies(ProxiedDavServer.java:210) at org.apache.maven.archiva.web.repository.ProxiedDavServer.process(ProxiedDavServer.java:147) at org.codehaus.plexus.webdav.servlet.multiplexed.MultiplexedWebDavServlet.service(MultiplexedWebDavServlet.java:119) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:428) at org.mortbay.jetty.servlet.WebApplicationHandler $CachedChain.doFilter(WebApplicationHandler.java:830) at com.opensymphony.webwork.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:189) at org.mortbay.jetty.servlet.WebApplicationHandler $CachedChain.doFilter(WebApplicationHandler.java:821) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39) at org.mortbay.jetty.servlet.WebApplicationHandler $CachedChain.doFilter(WebApplicationHandler.java:821) at com.opensymphony.webwork.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:88) at org.mortbay.jetty.servlet.WebApplicationHandler $CachedChain.doFilter(WebApplicationHandler.java:821) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568) at org.mortbay.http.HttpContext.handle(HttpContext.java:1530) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633) at org.mortbay.http.HttpContext.handle(HttpContext.java:1482) at org.mortbay.http.HttpServer.service(HttpServer.java:909) at org.mortbay.http.HttpConnection.service(HttpConnection.java:816) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:982) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:833) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:244) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357) at org.mortbay.util.ThreadPool $PoolThread.run(ThreadPool.java:534) Oct 5, 2007 8:15:53 AM org.mortbay.jetty.servlet.ServletHandler$Context log
Re: help on downloading through the proxy
That works, thank you. On Thu, 2007-10-04 at 17:44 -0400, Angel Sotirov wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 cbrown wrote: When i try to download component through archiva, it fails, and the archiva console shows; INFO: RepositoryServlet: Authorization Denied [ip=172.17.1.3,isWriteRequest=false,permission=archiva-read-repository,repo=internal] : no matching permissions Oct 4, 2007 1:43:46 PM org.mortbay.jetty.servlet.ServletHandler$Context log what am I missing? in settings.xml I have; settings servers server idreleases/id usernamecbrown/username password...pw snipped.../password /server /servers profiles profile idmyprofile/id activation activeByDefaulttrue/activeByDefault /activation repositories repository idinternal/id nameArchiva Mirror of Central/name urlhttp://neo.atsdev.sensis.com:8080/archiva/repository/internal/url /repository /repositories /profile /profiles /settings Yeah i had the same problem with my first installation. Resolution seem to be adding a server with the same ID as your repository in this case: server - -- idinternal/id usernameusername/username passwordpassword/password /server be sure that the username and the password are properly configured in Archiva and have all required permissions. Hope this would help. Angel. -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.7 (GNU/Linux) iD8DBQFHBV6uhgSIDFxSFd0RAvu+AKC7Tj1hyJlvg8epnsykfQ621VHFIACbBIiD qe9mzCH+OHovfwbnqFgshfM= =03OC -END PGP SIGNATURE-
Re: help on downloading through the proxy
Actually, there are instances when mvn still goes directly to Central. E.g. below it loads junit out of the archiva repo, but pulls all the surefire components from http://repo1.maven.org/maven2, without even touching the archiva site. Since I don't have central in any of my settings or poms, it must be hardcoded into surefire itself. 54) mst1::/export/home/cbrown/junk/my-app mvn clean install [INFO] Scanning for projects... WAGON_VERSION: 1.0-beta-2 [INFO] [INFO] Building my-app [INFO]task-segment: [clean, install] [INFO] [INFO] [clean:clean] [INFO] Deleting directory /export/home/cbrown/junk/my-app/target [INFO] Deleting directory /export/home/cbrown/junk/my-app/target/classes [INFO] Deleting directory /export/home/cbrown/junk/my-app/target/test-classes [INFO] Deleting directory /export/home/cbrown/junk/my-app/target/site [INFO] [resources:resources] [INFO] Using default encoding to copy filtered resources. [INFO] [compiler:compile] [INFO] Compiling 1 source file to /export/home/cbrown/junk/my-app/target/classes [INFO] [resources:testResources] [INFO] Using default encoding to copy filtered resources. Downloading: http://m2repo.atsdev.sensis.com:8080/archiva/repository/internal/junit/junit/3.8.1/junit-3.8.1.jar 118K downloaded [INFO] [compiler:testCompile] [INFO] Compiling 1 source file to /export/home/cbrown/junk/my-app/target/test-classes [INFO] [surefire:test] Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-junit/2.3/surefire-junit-2.3.pom 583b downloaded Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-providers/2.3/surefire-providers-2.3.pom 1K downloaded Downloading: http://repo1.maven.org/maven2/org/apache/maven/surefire/surefire-junit/2.3/surefire-junit-2.3.jar 10K downloaded [INFO] Surefire report directory: /export/home/cbrown/junk/my-app/target/surefire-reports --- T E S T S On Fri, 2007-10-05 at 08:47 -0400, cbrown wrote: That works, thank you. On Thu, 2007-10-04 at 17:44 -0400, Angel Sotirov wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 cbrown wrote: When i try to download component through archiva, it fails, and the archiva console shows; INFO: RepositoryServlet: Authorization Denied [ip=172.17.1.3,isWriteRequest=false,permission=archiva-read-repository,repo=internal] : no matching permissions Oct 4, 2007 1:43:46 PM org.mortbay.jetty.servlet.ServletHandler$Context log what am I missing? in settings.xml I have; settings servers server idreleases/id usernamecbrown/username password...pw snipped.../password /server /servers profiles profile idmyprofile/id activation activeByDefaulttrue/activeByDefault /activation repositories repository idinternal/id nameArchiva Mirror of Central/name urlhttp://neo.atsdev.sensis.com:8080/archiva/repository/internal/url /repository /repositories /profile /profiles /settings Yeah i had the same problem with my first installation. Resolution seem to be adding a server with the same ID as your repository in this case: server - -- idinternal/id usernameusername/username passwordpassword/password /server be sure that the username and the password are properly configured in Archiva and have all required permissions. Hope this would help. Angel. -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.7 (GNU/Linux) iD8DBQFHBV6uhgSIDFxSFd0RAvu+AKC7Tj1hyJlvg8epnsykfQ621VHFIACbBIiD qe9mzCH+OHovfwbnqFgshfM= =03OC -END PGP SIGNATURE-
Re: Can't deploy jar
I do have the dav: in the URL in the POM. It just isn't echoing in the mvn INFO printouts. Here's what I have; In settings.xml ... server idsensis.dev/id usernamecbrown/username password...snipped.../password /server ... repository idsensis.dev/id nameSensis Development Maven2 Repo/name urlhttp://m2repo.atsdev.sensis.com:8080/archiva/repository/sensis.dev/url /repository In pom.xml; ... extensions extension groupIdorg.apache.maven.wagon/groupId artifactIdwagon-webdav/artifactId version1.0-beta-2/version /extension /extensions /build distributionManagement snapshotRepository idsensis.dev/id nameArchiva M2 Repository/name urldav:http://m2repo.atsdev.sensis.com:8080/archiva/sensis.dev/url /snapshotRepository /distributionManagement ... On Thu, 2007-10-04 at 15:38 -0700, Joakim Erdfelt wrote: Looking at the URL you have below starting with http://m2repo ... I can see that you are not using the webdav format url that is required for Archiva. Your url format should start with dav:http://m2repo...; Some snippets in your pom that should prove useful for you. project ... build ... extensions extension groupIdorg.apache.maven.wagon/groupId artifactIdwagon-webdav/artifactId version1.0-beta-2/version /extension /extensions /build repositories repository idsensis.dev/id nameYour Archiva sensis.dev/name urlhttp://m2repo.atsdev.sensis.com:8080/archiva/sensis.dev//url /repository /repositories distributionManagement snapshotRepository idsensis.dev/id nameYour Archiva sensis.dev/name urldav:http://m2repo.atsdev.sensis.com:8080/archiva/sensis.dev//url /snapshotRepository /distributionManagement ... /project Notice that you don't have the dav: prefix on the repositories in the repositories section. as you are not deploying using that entry in the pom. - Joakim cbrown wrote: when i try to deploy to archiva, I see the following. Do I need to deploy the first snapshot manually? [INFO] Retrieving previous build number from sensis.dev Uploading: http://m2repo.atsdev.sensis.com:8080/archiva/sensis.dev/com/sensis/sds/genpur/1.0-SNAPSHOT/genpur-1.0-20071004.195415-1.jar [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Error deploying artifact: Resource to deploy not found: File: http://m2repo.atsdev.sensis.com:8080/archiva/sensis.dev/com/sensis/sds/genpur/1.0-SNAPSHOT/genpur-1.0-20071004.195415-1.jar does not exist
Re: Can't deploy jar
Also, I tried deploying with the archiva user granted Repo Manager, and Global Repo Manager roles. On Fri, 2007-10-05 at 09:02 -0400, cbrown wrote: I do have the dav: in the URL in the POM. It just isn't echoing in the mvn INFO printouts. Here's what I have; In settings.xml ... server idsensis.dev/id usernamecbrown/username password...snipped.../password /server ... repository idsensis.dev/id nameSensis Development Maven2 Repo/name urlhttp://m2repo.atsdev.sensis.com:8080/archiva/repository/sensis.dev/url /repository In pom.xml; ... extensions extension groupIdorg.apache.maven.wagon/groupId artifactIdwagon-webdav/artifactId version1.0-beta-2/version /extension /extensions /build distributionManagement snapshotRepository idsensis.dev/id nameArchiva M2 Repository/name urldav:http://m2repo.atsdev.sensis.com:8080/archiva/sensis.dev/url /snapshotRepository /distributionManagement ... On Thu, 2007-10-04 at 15:38 -0700, Joakim Erdfelt wrote: Looking at the URL you have below starting with http://m2repo ... I can see that you are not using the webdav format url that is required for Archiva. Your url format should start with dav:http://m2repo...; Some snippets in your pom that should prove useful for you. project ... build ... extensions extension groupIdorg.apache.maven.wagon/groupId artifactIdwagon-webdav/artifactId version1.0-beta-2/version /extension /extensions /build repositories repository idsensis.dev/id nameYour Archiva sensis.dev/name urlhttp://m2repo.atsdev.sensis.com:8080/archiva/sensis.dev//url /repository /repositories distributionManagement snapshotRepository idsensis.dev/id nameYour Archiva sensis.dev/name urldav:http://m2repo.atsdev.sensis.com:8080/archiva/sensis.dev//url /snapshotRepository /distributionManagement ... /project Notice that you don't have the dav: prefix on the repositories in the repositories section. as you are not deploying using that entry in the pom. - Joakim cbrown wrote: when i try to deploy to archiva, I see the following. Do I need to deploy the first snapshot manually? [INFO] Retrieving previous build number from sensis.dev Uploading: http://m2repo.atsdev.sensis.com:8080/archiva/sensis.dev/com/sensis/sds/genpur/1.0-SNAPSHOT/genpur-1.0-20071004.195415-1.jar [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Error deploying artifact: Resource to deploy not found: File: http://m2repo.atsdev.sensis.com:8080/archiva/sensis.dev/com/sensis/sds/genpur/1.0-SNAPSHOT/genpur-1.0-20071004.195415-1.jar does not exist
deployment with webdav succeeds but fails
I'm doing a lot of first time setup with Geronmio hosting Proximity, and using WebDAV to deploy a jar. I'm stuck at a point where 'mvn deploy' reports [INFO] Error deploying artifact: Failed to transfer file: http://...snipjar Return code is: 500 Internal Server Error When I look at the server log, I see successful creation of directories in the repository, and the 500 response to the PUT request for the .jar. When I look into the repo directories, the jar is there, and it appears uncorrupted. Any suggestions? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
problem with profile changing artifact Id and install ignoring it
I create a simple project with; mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app Then I edited the pom, and added the following profile; profiles profile activation os namesunos/name archsparc/arch /os /activation properties artifactIdmy-app-withasuffix/artifactId /properties /profile /profiles Then I did a 'mvn install'. I see something unexpected when the install:install happens. The jar built in my project workspace is correctly named, but the install:install changes it to an incorrect name. [INFO] [jar:jar] [INFO] Building jar: /export/home/cbrown/junk/my-app/target/my-app-withasuffix-1.0-SNAPSHOT.jar [INFO] [install:install] [INFO] Installing /export/home/cbrown/junk/my-app/target/my-app-withasuffix-1.0-SNAPSHOT.jar to /export/home/cbrown/.m2/repository/com/mycompany/app/my-app/1.0-SNAPSHOT/my-app-1.0-SNAPSHOT.jar Is this a maven bug, or am I missing a nuance of maven? - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Can't deploy jar
when i try to deploy to archiva, I see the following. Do I need to deploy the first snapshot manually? [INFO] Retrieving previous build number from sensis.dev Uploading: http://m2repo.atsdev.sensis.com:8080/archiva/sensis.dev/com/sensis/sds/genpur/1.0-SNAPSHOT/genpur-1.0-20071004.195415-1.jar [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Error deploying artifact: Resource to deploy not found: File: http://m2repo.atsdev.sensis.com:8080/archiva/sensis.dev/com/sensis/sds/genpur/1.0-SNAPSHOT/genpur-1.0-20071004.195415-1.jar does not exist