My suspicion was well-founded. Fixed and updated http://issues.apache.org/jira/browse/BUILDR-491 with details.
alex On Wed, Aug 18, 2010 at 9:57 PM, Alex Boisvert <[email protected]>wrote: > Hi Ed, > > My suspicion is that using sftp for downloading artifacts doesn't work. I > don't know if it's ever been tested; sftp support was mostly added for > deploying artifacts. I'll investigate tomorrow; too tired now, just flew > back home. > > alex > with > On Wed, Aug 18, 2010 at 10:46 AM, Ed Smiley <[email protected]> wrote: > >> I have been running into this problem when attempting to download an >> archive >> from a remote repository in a variety of ways as I attempted to work >> around >> it. I uploaded and verified the installation of an archive on a server >> that >> I set up via sftp. When I trigger a download, it seems to want to install >> the archive in a directory on my machine that mirrors its location on the >> remote server, rather than installing it in my local .m2 (maven2) >> repository. >> >> Rather than give a long explanation, I coded up a pair of build scripts, >> one >> to create and upload the archive and another to unzip the archive. I >> tried >> to use code that is very close to documentation example code, so that any >> complexities are eliminated. Here's the details (with security sensitive >> details obscured. >> >> 1. A simple buildfile for a jar that has a single class in it. >> ...src/main/java/org/screwloose/repotest/RepoStub.java >> a. the buildfile >> VERSION_NUMBER = "1.0.0" >> # Group identifier for your projects >> GROUP = "repotest" >> COPYRIGHT = "" >> # Specify Maven 2.0 remote repositories here, like this: >> repositories.remote << "http://www.ibiblio.org/maven2/" >> # Specify Maven 2.0 remote repository to release to >> repositories.release_to = 'sftp:// >> someuser:[email protected]/usr/share/maven2/' >> desc "The Repotest project" >> define "repotest" do >> project.version = VERSION_NUMBER >> project.group = GROUP >> manifest["Implementation-Vendor"] = COPYRIGHT >> package(:jar) >> end >> b. running the buildfile >> ~/somedirectory/research/repotest $ buildr upload >> (in /somehomedirs/myusername/somedirectory/research/repotest, development) >> Building repotest >> Packaging repotest >> Running integration tests... >> Deploying packages from repotest >> Deploying repotest:repotest:pom:1.0.0 >> Deploying repotest:repotest:jar:1.0.0 >> Completed in 13.721s >> >> 2. Another stub buildfile with a compile, and hence, a build, dependency >> on >> downloading the jar from the remote. >> a. the stub >> # Generated by Buildr 1.3.5, change to your liking >> # Version number for this release >> VERSION_NUMBER = "1.0.0" >> # Group identifier for your projects >> GROUP = "repotest" >> COPYRIGHT = "" >> # Specify Maven 2.0 remote repositories here, like this: >> repositories.remote << 'sftp:// >> someuser:[email protected]/usr/share/maven2/' >> repositories.remote << "http://www.ibiblio.org/maven2/" >> desc "The Repotest Test Archive project" >> define "testarch" do >> project.version = VERSION_NUMBER >> project.group = GROUP >> manifest["Implementation-Vendor"] = COPYRIGHT >> the_jar = artifact('repotest:repotest:jar:1.0.0') >> task :unzip_jar => unzip(_("target/stuff") => the_jar) do >> compile.with Dir[_("target/stuff/WEB-INF/lib") + "/*.jar"] >> end >> task :compile => :unzip_jar >> end >> >> b. running the test script with trace >> ~/somedirectory/research/repotest $ buildr -f testsarc.rb --trace >> (in /somehomedirs/myusername/somedirectory/research/repotest, development) >> ** Invoke testarch (first_time) >> ** Execute testarch >> Defining task testarch:shell:jirb >> Defining task testarch:shell:clj >> Defining task testarch:shell:bsh >> ** Invoke >> >> /somehomedirs/myusername/.m2/repository/org/apache/ant/ant/1.7.1/ant-1.7.1.jar >> (first_time, not_needed) >> ** Invoke >> >> /somehomedirs/myusername/.m2/repository/org/apache/ant/ant-launcher/1.7.1/ant-launcher-1.7.1.jar >> (first_time, not_needed) >> ** Invoke >> >> /somehomedirs/myusername/.m2/repository/org/apache/ant/ant-trax/1.7.1/ant-trax-1.7.1.jar >> (first_time, not_needed) >> ** Invoke /somelibrarydir/Ruby/Gems/1.8/gems/buildr-1.3.5/lib/buildr/java >> (first_time, not_needed) >> Defining task shell based on shell:bsh >> ** Invoke testarch >> ** Invoke default (first_time) >> ** Invoke build (first_time) >> ** Execute build >> Building testarch >> ** Invoke testarch:build (first_time) >> ** Invoke >> /somehomedirs/myusername/somedirectory/research/repotest/target/classes >> (first_time, not_needed) >> ** Invoke testarch:compile (first_time, not_needed) >> ** Invoke testarch:resources (first_time) >> ** Execute testarch:resources >> ** Invoke testarch:unzip_jar (first_time) >> ** Invoke >> /somehomedirs/myusername/somedirectory/research/repotest/target/stuff >> (first_time) >> ** Invoke >> >> /somehomedirs/myusername/.m2/repository/repotest/repotest/1.0.0/repotest-1.0.0.jar >> (first_time) >> ** Execute >> >> /somehomedirs/myusername/.m2/repository/repotest/repotest/1.0.0/repotest-1.0.0.jar >> Downloading repotest:repotest:jar:1.0.0 >> Downloading repotest:repotest:jar:1.0.0 >> Connecting to someserver.somedomain.com >> connected >> Downloading to >> /usr/share/maven2/repotest/repotest/1.0.0/repotest-1.0.0.jar >> [hangs for an hour or moreā¦.<===========================] >> > >
