Giter Site home page Giter Site logo

build.edn's Issues

Add clean task

First off, this lib is awesome.

My request is to add a clean task, which deletes the target folder and all ephemeral folders/files created by the build.

[readme] Clojure CLI tools install not used

The readme instructions for Clojure CLI show installing the tool using a :build alias. However the deploy command also uses the :build alias, -T:build rather than calling the installed tool, -Tbuild

Is the deploy command incorrect, or does the tool not need to be installed (I assume the former)

Thank you

bump minor and major don't set the other versions to 0

I noticed that clojure -T:build bump-minor-version and clojure -T:build bump-major-version don't reset the other version to 0 as per sem-ver.

So if the current version is 1.2.1 and you do clojure -T:build bump-minor-version it sets the version to 1.3.1 instead of 1.3.0 as it should. Similarly, if you you do clojure -T:build bump-major-version it sets the version to 2.3.1 instead of 2.0.0 as it should.

Credential management

The current implementation of build.edn relies on environment variables for clojars credentials. One thing I found pretty useful in lein is the gpg encrypted credential.clj, with which I can avoid to expose my password in plain text in environment variables. It would be nice to have similar support in build.edn to smooth deployment workflow at local.

Schema maintenance

  • :jar-file -> :jar {:file ...}
  • :uber-file -> :uberjar {:file ...}
  • :main -> :uberjar {:main ...}
  • :deploy-repository -> :deploy {:repository ...}

lint missed something that errored later

I ran clojure -T:build lint and got OK.

But when I ran clojure -T:build java-compile I got:

Execution error (ExceptionInfo) at build-edn.core/validate-config! (core.clj:40).
Invalid config: {:java-paths ["missing required key"]}

Full report:

{:clojure.main/message
 "Execution error (ExceptionInfo) at build-edn.core/validate-config! (core.clj:40).\nInvalid config: {:java-paths [\"missing required key\"]}\n",
 :clojure.main/triage
 {:clojure.error/class clojure.lang.ExceptionInfo,
  :clojure.error/line 40,
  :clojure.error/cause
  "Invalid config: {:java-paths [\"missing required key\"]}",
  :clojure.error/symbol build-edn.core/validate-config!,
  :clojure.error/source "core.clj",
  :clojure.error/phase :execution},
 :clojure.main/trace
 {:via
  [{:type clojure.lang.ExceptionInfo,
    :message
    "Invalid config: {:java-paths [\"missing required key\"]}",
    :data {:java-paths ["missing required key"]},
    :at
    [build_edn.core$validate_config_BANG_
     invokeStatic
     "core.clj"
     40]}],
  :trace
  [[build_edn.core$validate_config_BANG_ invokeStatic "core.clj" 40]
   [build_edn.core$validate_config_BANG_ invoke "core.clj" 34]
   [build_edn.core$java_compile invokeStatic "core.clj" 136]
   [build_edn.core$java_compile invoke "core.clj" 131]
   [build_edn.main$java_compile invokeStatic "main.clj" 36]
   [build_edn.main$java_compile invoke "main.clj" 31]
   [clojure.lang.Var invoke "Var.java" 384]
   [clojure.run.exec$exec invokeStatic "exec.clj" 89]
   [clojure.run.exec$exec invoke "exec.clj" 78]
   [clojure.run.exec$_main$fn__220 invoke "exec.clj" 228]
   [clojure.run.exec$_main invokeStatic "exec.clj" 224]
   [clojure.run.exec$_main doInvoke "exec.clj" 192]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.lang.Var applyTo "Var.java" 705]
   [clojure.core$apply invokeStatic "core.clj" 667]
   [clojure.main$main_opt invokeStatic "main.clj" 514]
   [clojure.main$main_opt invoke "main.clj" 510]
   [clojure.main$main invokeStatic "main.clj" 664]
   [clojure.main$main doInvoke "main.clj" 616]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.lang.Var applyTo "Var.java" 705]
   [clojure.main main "main.java" 40]],
  :cause "Invalid config: {:java-paths [\"missing required key\"]}",
  :data {:java-paths ["missing required key"]}}}

Specify license in build.edn

If I understand correctly there is no way at the moment to specify license information in build.edn, which will be in generated pom.

As clojars requires license in pom in 2024, it would be nice to be able to do that with build.edn

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.