Giter Club home page Giter Club logo

Comments (2)

seancorfield avatar seancorfield commented on July 30, 2024 2

For reference, here's the function in depstar that handles this: https://github.com/seancorfield/depstar/blob/develop/src/hf/depstar/uberjar.clj#L605-L622

The alias t is clojure.tools.deps.alpha and the read-edn-files function is: https://github.com/seancorfield/depstar/blob/develop/src/hf/depstar/uberjar.clj#L305-L312 (depstar has a second usage that can ignore the user deps.edn file so this can be simplified further if you do not care about that).

from deps-deploy.

dcj avatar dcj commented on July 30, 2024 2

I've taken a stab at this in PR #27

Here is a first draft implementation of this feature:

  • exec-args values that are keywords are resolved/replaced with matching :aliases keys (except for the values of :installer, which ARE keywords)
  • If the value of the key :repository is a string, it is resolved/replaced with matching keys from the :mvn/repos map
  • Authentication credentials are obtained from ~/.m2/settings.xml

These features combine to enable DRYer deps.edn files, i.e.

  :artifact-id       deps-deploy
  :group-id          com.dcj
  :version           "2.0.999-SNAPSHOT"
  :jar/filename      "deps-deploy.jar"

  :depstar {:replace-deps
            {com.github.seancorfield/depstar ; 2.0.next:
             {:git/url "https://github.com/seancorfield/depstar"
              :sha "5f4df9ffece4769d01559f7914bd88de024e1348"}}
            :exec-fn hf.depstar/jar
            :exec-args {:jar         :jar/filename
                        :artifact-id :artifact-id
                        :group-id    :group-id
                        :version     :version
                        :sync-pom true}}

  :deploy {:extra-deps {com.dcj/deps-deploy {:mvn/version "2.0.999-SNAPSHOT"}}
           :exec-fn deps-deploy.deps-deploy/deploy
           :exec-args {:installer :remote
                       :sign-releases? true
                       :artifact :jar/filename}}

from deps-deploy.

Related Issues (20)

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.