Giter Site home page Giter Site logo

eliver's Introduction

Eliver

CircleCI Hex.pm

Interactive semantic versioning for Elixir packages.

Eliver is an Elixir clone of semvergen

Eliver...

  • bumps the version in mix.exs
  • prompts the user for changelog entries and updates CHANGELOG.md
  • commits these changes
  • creates a tag
  • pushes to origin

Installation

  1. Add eliver to your list of dependencies in mix.exs:
def deps do
  [{:eliver, "~> 2.0.0", only: :dev}]
end
  1. Create a VERSION file with the initial version in the root of the project
  2. In mix.exs, read the version from VERSION
version: String.trim(File.read!("VERSION")),

Usage

$ mix eliver.bump

Contributing

Please do.

eliver's People

Contributors

glasnoster avatar pmarreck avatar sashman 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

eliver's Issues

Does this tool provide anything that needs to be in `prod`?

The README.md suggests to put this as a prod-dependency, but it does not seem to suggest to use any function or macro defined in this package, but instead solely relies on the standard library in the suggested changes to mix.exs.

The only thing (it seems) that is userfacing is the mix task to bump the version. This bump is usually done by a developer of any kind in an interactive entvironment.

Therefore I wanted to ask, if this is actually necessary as a prod dependency or if it can be safely used in dev, and if the README could be changed accordingly.

Enquirer version referenced in mix.lock breaks with Elixir 1.15.0

Hi, firstly, thanks for the great library!

I updated to use Elixir 1.15.0 and discovered that my project cannot compile.
I traced the issue to this change in the changelog:

[Kernel] Raise instead of warning on undefined variables. Previously, an undefined variable would attempt to invoke a function of the same name, which led to confusing error messages, especially to newcomers. To enable the previous behaviour, invoke Code.compiler_options(on_undefined_variable: :warn) at the top of your mix.exs

The problem is in the version of enquirer that was pushed up to hex and that is referenced by Eliver.
The compile errors are shown below.

~/code/eliver master !1 ?1 ❯ mix compile                                                                                                              х INT elixir 1.15.0-otp-25
warning: use Mix.Config is deprecated. Use the Config module instead
  config/config.exs:3

==> enquirer
Compiling 1 file (.ex)
error: undefined variable "red"
  lib/enquirer.ex:14: Enquirer.say/2

error: undefined variable "green"
  lib/enquirer.ex:15: Enquirer.say/2

error: undefined variable "yellow"
  lib/enquirer.ex:16: Enquirer.say/2

error: undefined variable "default_color"
  lib/enquirer.ex:19: Enquirer.say/2

error: undefined variable "do_get_list"
  lib/enquirer.ex:109: Enquirer.get_list/1

error: undefined variable "do_get_list"
  lib/enquirer.ex:114: Enquirer.do_get_list/0

warning: function do_get_list/0 is unused
  lib/enquirer.ex:112: Enquirer (module)


== Compilation error in file lib/enquirer.ex ==
** (CompileError) lib/enquirer.ex: cannot compile module Enquirer (errors have been logged)

It is possible to get around this problem by adding
Code.compiler_options(on_undefined_variable: :warn)
to the top of a project's mix file.

I had a look at the enquirer repo and saw that the latest commit does compile fine with the parenthesis for red, green etc having been added. It seems that the latest commit simply has not been pushed up to hex and so eliver is still referencing the older version.

I have verified that using this in my mix file solves the problem:

{:enquirer, ref: "22ad2a8a91f896d2ae197d4fab1bd8ef84ebd6bc", github: "glasnoster/enquirer", only: local_envs(), override: true},

I suspect publishing the latest commit for Enquirer will solve this problem.
Thanks!

Publishing to Hex

Hey, was just glancing at your TODO, am I correct in thinking you're looking for an automated way to publish to hex after a release?

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.