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}))
|
(local-repo-path {:group group :name name :version version}))
|
||||||
([{:keys [group name version]}]
|
([{:keys [group name version]}]
|
||||||
(format "$HOME/.m2/repository/%s/%s/%s/%s-%s.jar"
|
(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]
|
(defn- script-classpath-for [project deps-fileset]
|
||||||
(string/join ":" (conj (for [dep (-> 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")
|
(spit (file project-dir "project.clj")
|
||||||
(str "(defproject " project-name " \"1.0.0-SNAPSHOT\"\n"
|
(str "(defproject " project-name " \"1.0.0-SNAPSHOT\"\n"
|
||||||
" :description \"FIXME: write\"\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")))
|
" [org.clojure/clojure-contrib \"1.2.0\"]])\n")))
|
||||||
|
|
||||||
(defn write-implementation [project-dir project-clj project-ns]
|
(defn write-implementation [project-dir project-clj project-ns]
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
(ns test-jar
|
(ns test-jar
|
||||||
(:use [clojure.test]
|
(:use [clojure.test]
|
||||||
[clojure.contrib.io :only [slurp*]]
|
|
||||||
[leiningen.core :only [defproject read-project]]
|
[leiningen.core :only [defproject read-project]]
|
||||||
[leiningen.compile :only [*suppress-err*]]
|
[leiningen.compile :only [*suppress-err*]]
|
||||||
[leiningen.jar])
|
[leiningen.jar])
|
||||||
|
@ -20,7 +19,7 @@
|
||||||
(deftest test-jar
|
(deftest test-jar
|
||||||
(let [jar-file (JarFile. (jar sample-project))
|
(let [jar-file (JarFile. (jar sample-project))
|
||||||
manifest (manifest-map (.getManifest jar-file))
|
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 (= "bin/nom" (manifest "Leiningen-shell-wrapper")))
|
||||||
(is (re-find #"org/clojure/clojure/1.1.0-master-SNAPSHOT/" bin))
|
(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))
|
(is (re-find #"use 'nom\.nom\.nom\)\(apply -main .command-line-args." bin))
|
||||||
|
@ -47,3 +46,15 @@
|
||||||
(deftest test-no-aot-jar-succeeds
|
(deftest test-no-aot-jar-succeeds
|
||||||
(binding [*suppress-err* true]
|
(binding [*suppress-err* true]
|
||||||
(is (jar sample-no-aot-project))))
|
(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