Replace dots with slashes in ~/.m2 path. Fixes #104.
This commit is contained in:
parent
e24acd49cd
commit
0ebf1bd773
6 changed files with 25 additions and 4 deletions
|
@ -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
|
||||
|
|
|
@ -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]
|
||||
|
|
|
@ -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
4
test_projects/tricky-name/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
pom.xml
|
||||
*jar
|
||||
lib
|
||||
classes
|
5
test_projects/tricky-name/project.clj
Normal file
5
test_projects/tricky-name/project.clj
Normal 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)
|
|
@ -0,0 +1 @@
|
|||
(ns org.domain.tricky-name.core)
|
Loading…
Reference in a new issue