Fork me on GitHub
#cursive
<
2017-03-15
>
timgilbert14:03:18

I'm getting errors about being "unable to index remote maven repositories" since upgrading; the repos in question are private S3 repos that we deploy our own jars to via lein-essthree

favila14:03:55

Same issue with s3wagon private

favila14:03:00

I think those simple wagons don't build global indexes of their contents like the real maven repo servers do

favila14:03:11

They also have locking problems

timgilbert14:03:27

Yeah, was trying to follow these instructions to index manually, but it didn't make a difference: http://stackoverflow.com/questions/5349261/how-to-index-a-maven-repo-without-nexus-artifactory-etc

timgilbert14:03:36

...those are pretty old though

favila14:03:11

Gonna try that on our repos later

timgilbert15:03:01

...but I still see an error in IntelliJ under the "repositories" tab

timgilbert15:03:33

"Wagon exception connecting to" my repo

timgilbert15:03:39

I'll open a ticket for it

favila15:03:47

I don't have this issue, I use s3-wagon-private and cursive can download those deps just fine

timgilbert15:03:36

Hmm, yeah, I can download them OK but not index them, seemingly

timgilbert15:03:58

...though maybe intellij is just getting them from my local repo, now that I think about it

favila15:03:28

@timgilbert how did you mount the s3 as a drive so the indexer could run on it?

timgilbert15:03:42

I didn't. What I'm doing is deploying datomic-pro jars out to S3, so I've got a little shell script that installs it to a local directory via maven and then syncs that to S3

timgilbert15:03:24

Most of it is this little block:

tmp=$(mktemp -d -t 'datomic-jar-deploy')
mvn deploy:deploy-file \
    -Dfile=${jar} \
    -DgroupId=com.datomic \
    -Dversion=${version} \
    -DartifactId=datomic-pro \
    -Dpackaging=jar \
    -Dmaven.repo.local=${tmp} \
    -DpomFile=pom.xml \
    -DcreateChecksum \
    -Durl=file:${tmp}

runMavenIndex $tmp

aws s3 sync ${tmp} ${S3_MAVEN_ROOT} \
    || die "aws s3 sync ${tmp} ${S3_MAVEN_ROOT} failed: $?"

timgilbert15:03:18

...plus this to do the indexing:

function runMavenIndex() {
  local repo=$1
  java -jar ${INDEXER_JAR} -r ${repo} -i ${repo}.index -n "my-repo-name"
}

favila15:03:57

don't you need to run the index against the entire contents of s3, not just the particular artifact you are uploading?

favila15:03:13

although I would still expect an index to work, just only have one entry in it

timgilbert15:03:30

Well, yeah in theory, but I've only got a few other jars I care about so I wanted to get this working first

timgilbert15:03:03

I could see it also working as a "download full s3 repo; index locally; sync back to s3" sequence, not super efficient but presumably workable

timgilbert15:03:09

But without IntelliJ getting the index file to start with that seems moot

souenzzo19:03:29

Is there any integration with eastwood? Some like "eastwood this ns"?