Giter Club home page Giter Club logo

lein-v's People

Contributors

agento3 avatar cch1 avatar cvillecsteele avatar lverns avatar rymndhng avatar sbaxter avatar smnirven avatar thoughtmanifest avatar timgilbert avatar youhavethewrong avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lein-v's Issues

Windows support?

It seems plugin does not work on Windows, because of dependency on bash:

java.io.IOException: Cannot run program "/bin/bash": CreateProcess error=2, ═х єфрхЄё  эрщЄш єърчрээ√щ Їрщы
 at java.lang.ProcessBuilder.start (:-1)
    java.lang.Runtime.exec (:-1)
    clojure.java.shell$sh.invokeStatic (shell.clj:113)
    clojure.java.shell$sh.doInvoke (shell.clj:79)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invokeStatic (core.clj:646)
    clojure.core$apply.invoke (core.clj:641)
    leiningen.v.git$eval655$git_command__656.invoke (git.clj:15)
    leiningen.v.git$git_describe.invokeStatic (git.clj:28)
    leiningen.v.git$git_describe.invoke (git.clj:27)
    leiningen.v.git$version.invokeStatic (git.clj:44)
    leiningen.v.git$version.doInvoke (git.clj:37)
...

Why can't we run git directly, like it does similar project sbt-git for Scala language?

Document assert-anchored

I noticed that this is something lein-v has available. Is there a particular reason why this isn't advertised as a feature? (In the README and under lein v help)

Code isn't published to public Maven repo

I went to try out lein-v (it looks super handy) and added it to my plugin dependencies only to find the following error:

$ lein install
Could not find artifact com.roomkey:lein-v:jar:6.1.0 in central (https://repo1.maven.org/maven2/)
Could not find artifact com.roomkey:lein-v:jar:6.1.0 in clojars (https://clojars.org/repo/)

I know I can just clone and install it but I was wondering if there was any reason why there is no public publishing of the build for it? I would think that having such a thing would help with adoption.

Cheers,
code-ape

Use --no-sign param

I have error

error: gpg failed to sign the data
error: unable to sign the tag

I want to use something like this ["vcs" "tag" "--no-sign"]

Install from release archive throws exception

When trying to install lein-v from an archive I think the script is trying to access git data which results in the following error java.lang.ClassCastException: clojure.lang.Keyword cannot be cast to java.lang.CharSequence

To recreate run

git clone [email protected]:g1nn13/lein-v.git
cd lein-v
git archive master | tar -x -C /tmp/lein
cd /tmp/lein
lein install

Resulting Error:

java.lang.ClassCastException: clojure.lang.Keyword cannot be cast to java.lang.CharSequence
    at clojure.core$re_matcher.invoke(core.clj:4386)
    at clojure.core$re_find.invoke(core.clj:4438)
    at leiningen.pom$snapshot_QMARK_.invoke(pom.clj:348)
    at leiningen.pom$check_for_snapshot_deps.invoke(pom.clj:351)
    at leiningen.pom$make_pom.invoke(pom.clj:362)
    at leiningen.pom$make_pom.invoke(pom.clj:359)
    at leiningen.jar$filespecs.invoke(jar.clj:156)
    at leiningen.jar$jar.invoke(jar.clj:291)
    at leiningen.jar$jar.invoke(jar.clj:295)
    at leiningen.install$install.invoke(install.clj:19)
    at clojure.lang.Var.invoke(Var.java:415)
    at clojure.lang.AFn.applyToHelper(AFn.java:161)
    at clojure.lang.Var.applyTo(Var.java:532)
    at clojure.core$apply.invoke(core.clj:619)
    at leiningen.core.main$resolve_task$fn__3029.doInvoke(main.clj:189)
    at clojure.lang.RestFn.invoke(RestFn.java:410)
    at clojure.lang.AFn.applyToHelper(AFn.java:161)
    at clojure.lang.RestFn.applyTo(RestFn.java:132)
    at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:619)
    at leiningen.core.main$apply_task.invoke(main.clj:230)
    at leiningen.core.main$resolve_and_apply.invoke(main.clj:234)
    at leiningen.core.main$_main$fn__3092.invoke(main.clj:303)
    at leiningen.core.main$_main.doInvoke(main.clj:290)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.lang.Var.invoke(Var.java:415)
    at clojure.lang.AFn.applyToHelper(AFn.java:161)
    at clojure.lang.Var.applyTo(Var.java:532)
    at clojure.core$apply.invoke(core.clj:617)
    at clojure.main$main_opt.invoke(main.clj:335)
    at clojure.main$main.doInvoke(main.clj:440)
    at clojure.lang.RestFn.invoke(RestFn.java:436)
    at clojure.lang.Var.invoke(Var.java:423)
    at clojure.lang.AFn.applyToHelper(AFn.java:167)
    at clojure.lang.Var.applyTo(Var.java:532)
    at clojure.main.main(main.java:37)

Migrating over from regular leiningen version is clunky

For folks who want to migrate over, this is a bit of a stumbling block if their app is already versioned, because lein update will think you're still on version v0.0.0

I had to seed the initial state by manually creating a tag for the first version.

git tag --annotate --message "Automated lein-v release" v1.3.12

:prep-tasks gives file not found when run in Cursive

Thanks for a great plugin.

It works for me with
:prep-tasks [["v" "cache" "src" "edn"]]
but only from the command line lein repl.

When I run a plain repl in Cursive ("Run nREPL with Leiningen"), the IDE gives "src/version.edn (No such file or directory)". This happens even if I touch that file beforehand. The IDE is otherwise working normally.

I have no idea where to start looking to help fix this. Help!

Warning: The Main-Class specified does not exist

lambda-cat.local ➜  shiva-master git:(f_perftest) ✗ lein uberjar
Warning: The Main-Class specified does not exist within the jar. It may not be executable as expected. A gen-class directive may be missing in the namespace which contains the main method, or the namespace has not been AOT-compiled.
Created /Users/LambdaCat/code/yz/shiva-console/shiva-master/target/uberjar/shiva-master-3.0.0.jar
Created /Users/LambdaCat/code/yz/shiva-console/shiva-master/target/uberjar/shiva-master-3.0.0-standalone.jar

if do not use lein-v, the warning not exist ...

the jar produced not contains whole master package...

it must have some bug int your plugin

Caching Versions in File

Wondering if you'd be interested in a PR to support spitting out the version to a plain textfile. My use-case is for making it easy to shell-script against.

The idea would be to spit out two files LEIN_V_VERSION and LEIN_V_DESCRIBE which contains the two values respectively.

Building the project with Leiningen 2.8.1 fails

Leiningen has now a strict policy on using unsecure maven repository (not using https) and fails with

Tried to use insecure HTTP repository without TLS.
This is almost certainly a mistake; however in rare cases where it's
intentional please see `lein help faq` for details.

The repo "http://rk-maven-public.s3-website-us-east-1.amazonaws.com/releases/" don't have an https version, could you please see if adding a certificate is possible? and update the project.clj accordingly?

Every non-tag build should be a SNAPSHOT

First of all, thanks for this plugin, the premise of which I completely agree with. However I'm a little confused by the way SNAPSHOT builds are apparently supposed to happen. As I understand it, to get a SNAPSHOT build (as per the maven convention), I'd have to explicitly make a git version tag with the word -SNAPSHOT in it. However that's logically a contradiction to me. A snapshot by definition is simply the tip of whatever is currently in development. That's why we want to have the shorthash in the version string after all, and thank god lein-v understands this.

So what (I think) I'd like to have is the ability to have lein-v simply insert -SNAPSHOT in the version string if-and-only-if a shorthash is in the version string (seems to me these two cases are exactly equivalent).

The behavior I want to get in the end is for lein deploy to always use the correct repository, and as I understand it, the (hardcoded) convention there is the :snapshots repo if -SNAPSHOT is in the version string, and the :releases repo otherwise. This is documented slightly confusingly here: https://github.com/technomancy/leiningen/blob/stable/doc/DEPLOY.md#deploying-to-maven-central

Apologies if this is already possible somehow and I overlooked it ;-)

ns declaration in version.clj should be customizable

This plugin looks great, but I've got a feature request. I have a few different internal libraries that I'd like to use the version.clj functionality for, let's say alpha and beta, which are packaged up as jars and then used by my main application, app. If all of them declare a top-level version namespace, I won't have any way to specifically get alpha.version or app.version.

With the EDN files I can work around this since from beta I can generate the file in resources/beta/version.edn, and then from app I can slurp in beta/version.edn to get that specific version.

Anyways, what I'd like to be able to do is something like lein v cache src/beta clj beta.version and then wind up with a file src/beta/version.clj which starts with (ns beta.version).

I can probably cook up a pull request for this if it seems like a good idea, but I thought I'd raise the issue first.

:v {:prefix "foo"} value in project.clj does not affect 'lein v'

Hi, it's me again! ;)

I'm experimenting with the prefix stuff - my use case is I have a legacy branch that I'd like to manage with a series of legacy-0.3.2 tags while mainline continues along with the usual v1.2.3 tags. It seems like putting :v {:prefix "legacy-"} in my project.clj should work for this, but it doesn't have any effect when I run lein v.

I started a PR for this, thinking it would be an easy fix, but then I realized I still have no idea how midje is supposed to work and all the tests failed. Anyways, the root of the fix is this small diff:

timgilbert@829596b

I can keep hacking on the tests, just thought I would run it by you first.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.