Giter VIP home page Giter VIP logo

alembic's Introduction

This is the unstable development branch. See the stable branch for production code.

Pallet is used to provision and maintain servers on cloud and virtual machine infrastructure, and aims to solve the problem of providing a consistently configured running image across a range of clouds. It is designed for use from the Clojure REPL, from clojure code, and from the command line.

  • reuse configuration in development, testing and production.
  • store all your configuration in a source code management system (eg. git), including role assignments.
  • configuration is re-used by composition; just create new functions that call existing crates with new arguments. No copy and modify required.
  • enable use of configuration crates (recipes) from versioned jar files.

It uses jclouds to gain portable access to different cloud providers.

Documentation is available.

Crates

Pallet installation and configuration for various software packages is provided via crates. For pallet 0.4.x through 0.6.x, the crates are in the pallet-crates repo. For 0.7.x and on, each crate is in its own repository.

Support

On the mailing list, or #pallet on freenode irc.

Usage

The main documentation is on the PalletOps site.

Installation

Pallet is distributed as a jar, and is available in the sonatype repository.

Installation is with maven or your favourite maven repository aware build tool.

lein project.clj

:dependencies [[com.palletops/pallet "0.8.12"]]

maven pom.xml

<dependencies>
  <dependency>
    <groupId>com.palletops</groupId>
    <artifactId>pallet</artifactId>
    <version>0.8.12</version>
  </dependency>
<dependencies>

<repositories>
  <repository>
    <id>clojars</id>
    <url>http://clojars.org/repo</url>
  </repository>
</repositories>

See also

chef, and puppet are other infrastructure automation tools.

License

Licensed under EPL

Contributors

Copyright 2010, 2011, 2012 Hugo Duncan.

alembic's People

Contributors

behrica avatar hugoduncan avatar laurentpetit avatar pbors avatar tbatchelli 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  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

alembic's Issues

use leiningen.core.project/default-repositories if no project.clj is present

using alembic in just a lein repl without a project.clj is a little bit cumbersome, as i have to add repositories or alembic fails due to not finding project.clj

(alembic.still/distill 
  '[awesome-lib "9000"] 
  :repositories [
    ["central" {:url "https://repo1.maven.org/maven2/" :snapshots false}]
    ["clojars" {:url "https://clojars.org/repo/"]])

could alembic not fall back to use leiningen.core.project/default-repositories

or is it possible to define some defaults in a user profile?

load-project fails when using :env in the authentication credentials for a repository

Invoking load-project fails for me with this exception:

java.lang.IllegalArgumentException: No matching ctor found for class org.sonatype.aether.repository.Authentication
               Reflector.java:183 clojure.lang.Reflector.invokeConstructor
                   aether.clj:165 cemerick.pomegranate.aether/set-authentication
                   aether.clj:185 cemerick.pomegranate.aether/make-repository
                   aether.clj:712 cemerick.pomegranate.aether/resolve-dependencies*[fn]
                    core.clj:2559 clojure.core/map[fn]
                  LazySeq.java:40 clojure.lang.LazySeq.sval
                  LazySeq.java:49 clojure.lang.LazySeq.seq
                     Cons.java:39 clojure.lang.Cons.next
         PersistentVector.java:51 clojure.lang.PersistentVector.create
   LazilyPersistentVector.java:31 clojure.lang.LazilyPersistentVector.create
                     core.clj:354 clojure.core/vec
                   aether.clj:712 cemerick.pomegranate.aether/resolve-dependencies*
                  RestFn.java:137 clojure.lang.RestFn.applyTo
                     core.clj:624 clojure.core/apply
                   aether.clj:729 cemerick.pomegranate.aether/resolve-dependencies
                  RestFn.java:512 clojure.lang.RestFn.invoke
                 (Unknown Source) clojure.core/eval1726
               Compiler.java:6703 clojure.lang.Compiler.eval
               Compiler.java:6693 clojure.lang.Compiler.eval
               Compiler.java:6666 clojure.lang.Compiler.eval
                    core.clj:2927 clojure.core/eval
                 (Unknown Source) clojure.core/eval1722
               Compiler.java:6703 clojure.lang.Compiler.eval
               Compiler.java:6666 clojure.lang.Compiler.eval
                 (Unknown Source) sun.reflect.NativeMethodAccessorImpl.invoke0
 NativeMethodAccessorImpl.java:62 sun.reflect.NativeMethodAccessorImpl.invoke
DelegatingMethodAccessorImpl.java:43 sun.reflect.DelegatingMethodAccessorImpl.invoke
                  Method.java:497 java.lang.reflect.Method.invoke
                      core.clj:54 classlojure.core/invoke-in*
                  RestFn.java:494 clojure.lang.RestFn.invoke
                      core.clj:72 classlojure.core/eval-in*[fn]
                      core.clj:74 classlojure.core/eval-in*
                  RestFn.java:425 clojure.lang.RestFn.invoke
                     AFn.java:156 clojure.lang.AFn.applyToHelper
                  RestFn.java:132 clojure.lang.RestFn.applyTo
                     core.clj:634 clojure.core/apply
                      core.clj:93 classlojure.core/eval-in
                  RestFn.java:425 clojure.lang.RestFn.invoke
                     still.clj:93 alembic.still/resolve-dependencies
                    still.clj:178 alembic.still/add-dependencies
                    still.clj:297 alembic.still/load-project*
                    still.clj:319 alembic.still/load-project
                  RestFn.java:439 clojure.lang.RestFn.invoke
                    still.clj:330 alembic.still/load-project
                    still.clj:332 alembic.still/load-project

Inside my project.clj I have this:

:repositories {"my.datomic.com" {:url "https://my.datomic.com/repo"
                                   :username [:env/datomic_user]
                                   :password [:env/datomic_password]}}

From my quick debug session it seems that the culprit is alembic.still/load-project*

the username and password is correctly substituted inside the classlojure invocation:

(classlojure/eval-in
         (:alembic-classloader @still)
         `(do
            (require '[leiningen.core.project :as ~'project])
            (let [project# (leiningen.core.project/read ~project-file)]
              [(:dependencies project#)
               (:repositories project#)])))

But in the subsequent call to (add-dependencies still dependencies (into {} repositories) options) the username and password are still the vector containing the keyword.

Cheers,
Gerrit

Distill not working

I'm getting this error when I try to use alembic.still/distill to load a library from repl:

3. Unhandled java.lang.reflect.InvocationTargetException
   (No message)

NativeMethodAccessorImpl.java:   -2  sun.reflect.NativeMethodAccessorImpl/invoke0
NativeMethodAccessorImpl.java:   62  sun.reflect.NativeMethodAccessorImpl/invoke
DelegatingMethodAccessorImpl.java:   43  sun.reflect.DelegatingMethodAccessorImpl/invoke
               Method.java:  498  java.lang.reflect.Method/invoke
                  core.clj:   54  classlojure.core/invoke-in*
               RestFn.java:  494  clojure.lang.RestFn/invoke
                  core.clj:   72  classlojure.core/eval-in*/print-read-eval
                  core.clj:   74  classlojure.core/eval-in*
               RestFn.java:  425  clojure.lang.RestFn/invoke
                  AFn.java:  156  clojure.lang.AFn/applyToHelper
               RestFn.java:  132  clojure.lang.RestFn/applyTo
                  core.clj:  634  clojure.core/apply
                  core.clj:   93  classlojure.core/eval-in
               RestFn.java:  425  clojure.lang.RestFn/invoke
                 still.clj:   81  alembic.still/project-repositories
                 still.clj:   87  alembic.still/project-repositories
                 still.clj:  231  alembic.still/distill*
                 still.clj:  273  alembic.still/distill
               RestFn.java:  410  clojure.lang.RestFn/invoke
                      REPL:   45  user/eval16113
             Compiler.java: 6782  clojure.lang.Compiler/eval
             Compiler.java: 6745  clojure.lang.Compiler/eval
                  core.clj: 3081  clojure.core/eval
                  main.clj:  240  clojure.main/repl/read-eval-print/fn
                  main.clj:  240  clojure.main/repl/read-eval-print
                  main.clj:  258  clojure.main/repl/fn
                  main.clj:  258  clojure.main/repl
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   87  clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
                  AFn.java:  152  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  630  clojure.core/apply
                  core.clj: 1868  clojure.core/with-bindings*
               RestFn.java:  425  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   85  clojure.tools.nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  222  clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
    interruptible_eval.clj:  190  clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
                  AFn.java:   22  clojure.lang.AFn/run
   ThreadPoolExecutor.java: 1142  java.util.concurrent.ThreadPoolExecutor/runWorker
   ThreadPoolExecutor.java:  617  java.util.concurrent.ThreadPoolExecutor$Worker/run
               Thread.java:  745  java.lang.Thread/run

2. Caused by clojure.lang.Compiler$CompilerException
   Error compiling puget/printer.clj at (1:1)

             Compiler.java: 7142  clojure.lang.Compiler/load
                   RT.java:  370  clojure.lang.RT/loadResourceScript
                   RT.java:  361  clojure.lang.RT/loadResourceScript
                   RT.java:  440  clojure.lang.RT/load
                   RT.java:  411  clojure.lang.RT/load
                  core.clj: 5641  clojure.core/load/fn
                  core.clj: 5640  clojure.core/load
               RestFn.java:  408  clojure.lang.RestFn/invoke
                  core.clj: 5446  clojure.core/load-one
                  core.clj: 5486  clojure.core/load-lib/fn
                  core.clj: 5485  clojure.core/load-lib
               RestFn.java:  142  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5524  clojure.core/load-libs
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5607  clojure.core/require
               RestFn.java:  457  clojure.lang.RestFn/invoke
                  repl.clj:    1  whidbey.repl/eval3297/loading--auto--
                  repl.clj:    1  whidbey.repl/eval3297
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6692  clojure.lang.Compiler/eval
             Compiler.java: 7130  clojure.lang.Compiler/load
                   RT.java:  370  clojure.lang.RT/loadResourceScript
                   RT.java:  361  clojure.lang.RT/loadResourceScript
                   RT.java:  440  clojure.lang.RT/load
                   RT.java:  411  clojure.lang.RT/load
                  core.clj: 5641  clojure.core/load/fn
                  core.clj: 5640  clojure.core/load
               RestFn.java:  408  clojure.lang.RestFn/invoke
                  core.clj: 5446  clojure.core/load-one
                  core.clj: 5486  clojure.core/load-lib/fn
                  core.clj: 5485  clojure.core/load-lib
               RestFn.java:  142  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5524  clojure.core/load-libs
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5607  clojure.core/require
               RestFn.java:  482  clojure.lang.RestFn/invoke
           colorscheme.clj:    1  ultra.colorscheme/eval2908/loading--auto--
           colorscheme.clj:    1  ultra.colorscheme/eval2908
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6692  clojure.lang.Compiler/eval
             Compiler.java: 7130  clojure.lang.Compiler/load
                   RT.java:  370  clojure.lang.RT/loadResourceScript
                   RT.java:  361  clojure.lang.RT/loadResourceScript
                   RT.java:  440  clojure.lang.RT/load
                   RT.java:  411  clojure.lang.RT/load
                  core.clj: 5641  clojure.core/load/fn
                  core.clj: 5640  clojure.core/load
               RestFn.java:  408  clojure.lang.RestFn/invoke
                  core.clj: 5446  clojure.core/load-one
                  core.clj: 5486  clojure.core/load-lib/fn
                  core.clj: 5485  clojure.core/load-lib
               RestFn.java:  142  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5524  clojure.core/load-libs
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5607  clojure.core/require
               RestFn.java:  436  clojure.lang.RestFn/invoke
              hardcore.clj:    1  ultra.hardcore/eval2077/loading--auto--
              hardcore.clj:    1  ultra.hardcore/eval2077
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6692  clojure.lang.Compiler/eval
             Compiler.java: 7130  clojure.lang.Compiler/load
                   RT.java:  370  clojure.lang.RT/loadResourceScript
                   RT.java:  361  clojure.lang.RT/loadResourceScript
                   RT.java:  440  clojure.lang.RT/load
                   RT.java:  411  clojure.lang.RT/load
                  core.clj: 5641  clojure.core/load/fn
                  core.clj: 5640  clojure.core/load
               RestFn.java:  408  clojure.lang.RestFn/invoke
                  core.clj: 5446  clojure.core/load-one
                  core.clj: 5486  clojure.core/load-lib/fn
                  core.clj: 5485  clojure.core/load-lib
               RestFn.java:  142  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5524  clojure.core/load-libs
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5607  clojure.core/require
               RestFn.java:  512  clojure.lang.RestFn/invoke
                plugin.clj:    1  ultra.plugin/eval1345/loading--auto--
                plugin.clj:    1  ultra.plugin/eval1345
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6692  clojure.lang.Compiler/eval
             Compiler.java: 7130  clojure.lang.Compiler/load
                   RT.java:  370  clojure.lang.RT/loadResourceScript
                   RT.java:  361  clojure.lang.RT/loadResourceScript
                   RT.java:  440  clojure.lang.RT/load
                   RT.java:  411  clojure.lang.RT/load
                  core.clj: 5641  clojure.core/load/fn
                  core.clj: 5640  clojure.core/load
               RestFn.java:  408  clojure.lang.RestFn/invoke
                  core.clj: 5446  clojure.core/load-one
                  core.clj: 5486  clojure.core/load-lib/fn
                  core.clj: 5485  clojure.core/load-lib
               RestFn.java:  142  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5524  clojure.core/load-libs
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5607  clojure.core/require
               RestFn.java:  408  clojure.lang.RestFn/invoke
                 utils.clj:   68  leiningen.core.utils/require-resolve
               project.clj:  741  leiningen.core.project/apply-middleware
             protocols.clj:  143  clojure.core.protocols/fn
             protocols.clj:   19  clojure.core.protocols/fn/G
             protocols.clj:   31  clojure.core.protocols/seq-reduce
             protocols.clj:   54  clojure.core.protocols/fn
             protocols.clj:   13  clojure.core.protocols/fn/G
                  core.clj: 6289  clojure.core/reduce
               project.clj:  738  leiningen.core.project/apply-middleware
               project.clj:  769  leiningen.core.project/activate-middleware
               project.clj:  876  leiningen.core.project/init-project
               project.clj:  942  leiningen.core.project/read
               project.clj:  943  leiningen.core.project/read
                      REPL:    0  clojure.core/eval1337
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6693  clojure.lang.Compiler/eval
             Compiler.java: 6666  clojure.lang.Compiler/eval
                  core.clj: 2927  clojure.core/eval
                      REPL:    0  clojure.core/eval256
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6666  clojure.lang.Compiler/eval
NativeMethodAccessorImpl.java:   -2  sun.reflect.NativeMethodAccessorImpl/invoke0
NativeMethodAccessorImpl.java:   62  sun.reflect.NativeMethodAccessorImpl/invoke
DelegatingMethodAccessorImpl.java:   43  sun.reflect.DelegatingMethodAccessorImpl/invoke
               Method.java:  498  java.lang.reflect.Method/invoke
                  core.clj:   54  classlojure.core/invoke-in*
               RestFn.java:  494  clojure.lang.RestFn/invoke
                  core.clj:   72  classlojure.core/eval-in*/print-read-eval
                  core.clj:   74  classlojure.core/eval-in*
               RestFn.java:  425  clojure.lang.RestFn/invoke
                  AFn.java:  156  clojure.lang.AFn/applyToHelper
               RestFn.java:  132  clojure.lang.RestFn/applyTo
                  core.clj:  634  clojure.core/apply
                  core.clj:   93  classlojure.core/eval-in
               RestFn.java:  425  clojure.lang.RestFn/invoke
                 still.clj:   81  alembic.still/project-repositories
                 still.clj:   87  alembic.still/project-repositories
                 still.clj:  231  alembic.still/distill*
                 still.clj:  273  alembic.still/distill
               RestFn.java:  410  clojure.lang.RestFn/invoke
                      REPL:   45  user/eval16113
             Compiler.java: 6782  clojure.lang.Compiler/eval
             Compiler.java: 6745  clojure.lang.Compiler/eval
                  core.clj: 3081  clojure.core/eval
                  main.clj:  240  clojure.main/repl/read-eval-print/fn
                  main.clj:  240  clojure.main/repl/read-eval-print
                  main.clj:  258  clojure.main/repl/fn
                  main.clj:  258  clojure.main/repl
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   87  clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
                  AFn.java:  152  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  630  clojure.core/apply
                  core.clj: 1868  clojure.core/with-bindings*
               RestFn.java:  425  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   85  clojure.tools.nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  222  clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
    interruptible_eval.clj:  190  clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
                  AFn.java:   22  clojure.lang.AFn/run
   ThreadPoolExecutor.java: 1142  java.util.concurrent.ThreadPoolExecutor/runWorker
   ThreadPoolExecutor.java:  617  java.util.concurrent.ThreadPoolExecutor$Worker/run
               Thread.java:  745  java.lang.Thread/run

1. Caused by java.io.FileNotFoundException
   Could not locate fipp/engine__init.class or fipp/engine.clj on classpath:

                   RT.java:  443  clojure.lang.RT/load
                   RT.java:  411  clojure.lang.RT/load
                  core.clj: 5641  clojure.core/load/fn
                  core.clj: 5640  clojure.core/load
               RestFn.java:  408  clojure.lang.RestFn/invoke
                  core.clj: 5446  clojure.core/load-one
                  core.clj: 5486  clojure.core/load-lib/fn
                  core.clj: 5485  clojure.core/load-lib
               RestFn.java:  142  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5524  clojure.core/load-libs
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5607  clojure.core/require
               RestFn.java:  551  clojure.lang.RestFn/invoke
               printer.clj:    1  puget.printer/eval3342/loading--auto--
               printer.clj:    1  puget.printer/eval3342
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6692  clojure.lang.Compiler/eval
             Compiler.java: 7130  clojure.lang.Compiler/load
                   RT.java:  370  clojure.lang.RT/loadResourceScript
                   RT.java:  361  clojure.lang.RT/loadResourceScript
                   RT.java:  440  clojure.lang.RT/load
                   RT.java:  411  clojure.lang.RT/load
                  core.clj: 5641  clojure.core/load/fn
                  core.clj: 5640  clojure.core/load
               RestFn.java:  408  clojure.lang.RestFn/invoke
                  core.clj: 5446  clojure.core/load-one
                  core.clj: 5486  clojure.core/load-lib/fn
                  core.clj: 5485  clojure.core/load-lib
               RestFn.java:  142  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5524  clojure.core/load-libs
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5607  clojure.core/require
               RestFn.java:  457  clojure.lang.RestFn/invoke
                  repl.clj:    1  whidbey.repl/eval3297/loading--auto--
                  repl.clj:    1  whidbey.repl/eval3297
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6692  clojure.lang.Compiler/eval
             Compiler.java: 7130  clojure.lang.Compiler/load
                   RT.java:  370  clojure.lang.RT/loadResourceScript
                   RT.java:  361  clojure.lang.RT/loadResourceScript
                   RT.java:  440  clojure.lang.RT/load
                   RT.java:  411  clojure.lang.RT/load
                  core.clj: 5641  clojure.core/load/fn
                  core.clj: 5640  clojure.core/load
               RestFn.java:  408  clojure.lang.RestFn/invoke
                  core.clj: 5446  clojure.core/load-one
                  core.clj: 5486  clojure.core/load-lib/fn
                  core.clj: 5485  clojure.core/load-lib
               RestFn.java:  142  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5524  clojure.core/load-libs
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5607  clojure.core/require
               RestFn.java:  482  clojure.lang.RestFn/invoke
           colorscheme.clj:    1  ultra.colorscheme/eval2908/loading--auto--
           colorscheme.clj:    1  ultra.colorscheme/eval2908
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6692  clojure.lang.Compiler/eval
             Compiler.java: 7130  clojure.lang.Compiler/load
                   RT.java:  370  clojure.lang.RT/loadResourceScript
                   RT.java:  361  clojure.lang.RT/loadResourceScript
                   RT.java:  440  clojure.lang.RT/load
                   RT.java:  411  clojure.lang.RT/load
                  core.clj: 5641  clojure.core/load/fn
                  core.clj: 5640  clojure.core/load
               RestFn.java:  408  clojure.lang.RestFn/invoke
                  core.clj: 5446  clojure.core/load-one
                  core.clj: 5486  clojure.core/load-lib/fn
                  core.clj: 5485  clojure.core/load-lib
               RestFn.java:  142  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5524  clojure.core/load-libs
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5607  clojure.core/require
               RestFn.java:  436  clojure.lang.RestFn/invoke
              hardcore.clj:    1  ultra.hardcore/eval2077/loading--auto--
              hardcore.clj:    1  ultra.hardcore/eval2077
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6692  clojure.lang.Compiler/eval
             Compiler.java: 7130  clojure.lang.Compiler/load
                   RT.java:  370  clojure.lang.RT/loadResourceScript
                   RT.java:  361  clojure.lang.RT/loadResourceScript
                   RT.java:  440  clojure.lang.RT/load
                   RT.java:  411  clojure.lang.RT/load
                  core.clj: 5641  clojure.core/load/fn
                  core.clj: 5640  clojure.core/load
               RestFn.java:  408  clojure.lang.RestFn/invoke
                  core.clj: 5446  clojure.core/load-one
                  core.clj: 5486  clojure.core/load-lib/fn
                  core.clj: 5485  clojure.core/load-lib
               RestFn.java:  142  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5524  clojure.core/load-libs
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5607  clojure.core/require
               RestFn.java:  512  clojure.lang.RestFn/invoke
                plugin.clj:    1  ultra.plugin/eval1345/loading--auto--
                plugin.clj:    1  ultra.plugin/eval1345
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6692  clojure.lang.Compiler/eval
             Compiler.java: 7130  clojure.lang.Compiler/load
                   RT.java:  370  clojure.lang.RT/loadResourceScript
                   RT.java:  361  clojure.lang.RT/loadResourceScript
                   RT.java:  440  clojure.lang.RT/load
                   RT.java:  411  clojure.lang.RT/load
                  core.clj: 5641  clojure.core/load/fn
                  core.clj: 5640  clojure.core/load
               RestFn.java:  408  clojure.lang.RestFn/invoke
                  core.clj: 5446  clojure.core/load-one
                  core.clj: 5486  clojure.core/load-lib/fn
                  core.clj: 5485  clojure.core/load-lib
               RestFn.java:  142  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5524  clojure.core/load-libs
               RestFn.java:  137  clojure.lang.RestFn/applyTo
                  core.clj:  626  clojure.core/apply
                  core.clj: 5607  clojure.core/require
               RestFn.java:  408  clojure.lang.RestFn/invoke
                 utils.clj:   68  leiningen.core.utils/require-resolve
               project.clj:  741  leiningen.core.project/apply-middleware
             protocols.clj:  143  clojure.core.protocols/fn
             protocols.clj:   19  clojure.core.protocols/fn/G
             protocols.clj:   31  clojure.core.protocols/seq-reduce
             protocols.clj:   54  clojure.core.protocols/fn
             protocols.clj:   13  clojure.core.protocols/fn/G
                  core.clj: 6289  clojure.core/reduce
               project.clj:  738  leiningen.core.project/apply-middleware
               project.clj:  769  leiningen.core.project/activate-middleware
               project.clj:  876  leiningen.core.project/init-project
               project.clj:  942  leiningen.core.project/read
               project.clj:  943  leiningen.core.project/read
                      REPL:    0  clojure.core/eval1337
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6693  clojure.lang.Compiler/eval
             Compiler.java: 6666  clojure.lang.Compiler/eval
                  core.clj: 2927  clojure.core/eval
                      REPL:    0  clojure.core/eval256
             Compiler.java: 6703  clojure.lang.Compiler/eval
             Compiler.java: 6666  clojure.lang.Compiler/eval
NativeMethodAccessorImpl.java:   -2  sun.reflect.NativeMethodAccessorImpl/invoke0
NativeMethodAccessorImpl.java:   62  sun.reflect.NativeMethodAccessorImpl/invoke
DelegatingMethodAccessorImpl.java:   43  sun.reflect.DelegatingMethodAccessorImpl/invoke
               Method.java:  498  java.lang.reflect.Method/invoke
                  core.clj:   54  classlojure.core/invoke-in*
               RestFn.java:  494  clojure.lang.RestFn/invoke
                  core.clj:   72  classlojure.core/eval-in*/print-read-eval
                  core.clj:   74  classlojure.core/eval-in*
               RestFn.java:  425  clojure.lang.RestFn/invoke
                  AFn.java:  156  clojure.lang.AFn/applyToHelper
               RestFn.java:  132  clojure.lang.RestFn/applyTo
                  core.clj:  634  clojure.core/apply
                  core.clj:   93  classlojure.core/eval-in
               RestFn.java:  425  clojure.lang.RestFn/invoke
                 still.clj:   81  alembic.still/project-repositories
                 still.clj:   87  alembic.still/project-repositories
                 still.clj:  231  alembic.still/distill*
                 still.clj:  273  alembic.still/distill
               RestFn.java:  410  clojure.lang.RestFn/invoke
                      REPL:   45  user/eval16113
             Compiler.java: 6782  clojure.lang.Compiler/eval
             Compiler.java: 6745  clojure.lang.Compiler/eval
                  core.clj: 3081  clojure.core/eval
                  main.clj:  240  clojure.main/repl/read-eval-print/fn
                  main.clj:  240  clojure.main/repl/read-eval-print
                  main.clj:  258  clojure.main/repl/fn
                  main.clj:  258  clojure.main/repl
               RestFn.java: 1523  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   87  clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
                  AFn.java:  152  clojure.lang.AFn/applyToHelper
                  AFn.java:  144  clojure.lang.AFn/applyTo
                  core.clj:  630  clojure.core/apply
                  core.clj: 1868  clojure.core/with-bindings*
               RestFn.java:  425  clojure.lang.RestFn/invoke
    interruptible_eval.clj:   85  clojure.tools.nrepl.middleware.interruptible-eval/evaluate
    interruptible_eval.clj:  222  clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
    interruptible_eval.clj:  190  clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
                  AFn.java:   22  clojure.lang.AFn/run
   ThreadPoolExecutor.java: 1142  java.util.concurrent.ThreadPoolExecutor/runWorker
   ThreadPoolExecutor.java:  617  java.util.concurrent.ThreadPoolExecutor$Worker/run
               Thread.java:  745  java.lang.Thread/run

add proxy support

I am behind a corporate proxy, so the "distill" method does not manage to download dependencies.

I looked at the code, the aether/resolve-dependencies you use allows to specify a proxy.
So it just need to be passds through.

If I find some time I will fix it and send you a pull request

creates a tmp file without ensuring the tmp directory exists

if you were to, in your project.clj set the java tmp directory to point to a directory that doesn't exist, alembic throws a filenotfound exception. because alembic is used deep in the depths of various bits of tooling figuring out this error can take some doing. it is very easy to end up in this situation, if say you have a large test suite that does a lot of temp file munging, and to facilitate easy clean up you set the tmp dir to something like /tmp/foo and your os helpfully deletes the contents of /tmp on reboot.

it is crazy to me that File doesn't ensure the tmp exists, but I have no idea how to go about getting that fixed.

Don't you need to quote the symbol?

Shouldn't you quote the symbol? Like this :-

(alembic.still/distill ['org.clojure/tools.logging "0.2.0"])

otherwise :-

CompilerException java.lang.RuntimeException: Unable to resolve symbol: org.clojure/tools.logging in this context, compiling:(NO_SOURCE_PATH:1:1) 

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.