Replace dots with slashes in ~/.m2 path. Fixes #104.

This commit is contained in:
Phil Hagelberg 2010-09-05 15:10:21 -07:00
parent e24acd49cd
commit 0ebf1bd773
6 changed files with 25 additions and 4 deletions

View file

@ -21,7 +21,7 @@
(local-repo-path {:group group :name name :version version}))
([{:keys [group name version]}]
(format "$HOME/.m2/repository/%s/%s/%s/%s-%s.jar"
group name version name version)))
(.replaceAll group "\\." "/") name version name version)))
(defn- script-classpath-for [project deps-fileset]
(string/join ":" (conj (for [dep (-> deps-fileset

View file

@ -12,7 +12,7 @@ Neither group-id nor artifact-id may contain slashes."
(spit (file project-dir "project.clj")
(str "(defproject " project-name " \"1.0.0-SNAPSHOT\"\n"
" :description \"FIXME: write\"\n"
" :dependencies [[org.clojure/clojure \"1.2.0\"]\n "
" :dependencies [[org.clojure/clojure \"1.2.0\"]\n"
" [org.clojure/clojure-contrib \"1.2.0\"]])\n")))
(defn write-implementation [project-dir project-clj project-ns]

View file

@ -1,6 +1,5 @@
(ns test-jar
(:use [clojure.test]
[clojure.contrib.io :only [slurp*]]
[leiningen.core :only [defproject read-project]]
[leiningen.compile :only [*suppress-err*]]
[leiningen.jar])
@ -20,7 +19,7 @@
(deftest test-jar
(let [jar-file (JarFile. (jar sample-project))
manifest (manifest-map (.getManifest jar-file))
bin (slurp* (.getInputStream jar-file (.getEntry jar-file "bin/nom")))]
bin (slurp (.getInputStream jar-file (.getEntry jar-file "bin/nom")))]
(is (= "bin/nom" (manifest "Leiningen-shell-wrapper")))
(is (re-find #"org/clojure/clojure/1.1.0-master-SNAPSHOT/" bin))
(is (re-find #"use 'nom\.nom\.nom\)\(apply -main .command-line-args." bin))
@ -47,3 +46,15 @@
(deftest test-no-aot-jar-succeeds
(binding [*suppress-err* true]
(is (jar sample-no-aot-project))))
(def tricky-name
(binding [*ns* (the-ns 'leiningen.core)]
(read-project "test_projects/tricky-name/project.clj")))
(deftest test-tricky-name
(let [jar-file (JarFile. (jar tricky-name))
manifest (manifest-map (.getManifest jar-file))
bin (slurp (.getInputStream
jar-file (.getEntry jar-file "bin/tricky-name")))]
(is (= "bin/tricky-name" (manifest "Leiningen-shell-wrapper")))
(is (re-find #"org/domain/tricky-name/1.0/tricky-name-1\.0\.jar" bin))))

4
test_projects/tricky-name/.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
pom.xml
*jar
lib
classes

View file

@ -0,0 +1,5 @@
(defproject org.domain/tricky-name "1.0"
:description "One with a tricky group and project name"
:dev-dependencies [[clojure "1.2.0"]]
:shell-wrapper true
:main org.domain.tricky-name.core)

View file

@ -0,0 +1 @@
(ns org.domain.tricky-name.core)