printHexBinary
for Java 11 support #702nrepl/nrepl
) and a new namespace prefix (clojure.tools.nrepl.
->
nrepl.
). While the nREPL protocol is 100% compatible with that of
the 0.2.x series you'll have to make sure that any middleware you're
using has been updated to target 0.4.x. You can find more details
here and
here. #703sift
made with #680 has been reverted because it had unexpected drawbacks. We will discuss how to proceed on #704.If you happen to receive "Tried to use insecure HTTP repository without TLS",
it means your project was configured to download dependencies from a repository
that does not use TLS encryption.
This is NOT suppored anymore because it exposes you to trivially-executed
man-in-the-middle attacks.
In the rare event that you don't care about the security of the machines
running your project, you can enable support for unprotected repositories by
explicitely set a custom wagon-factory
:
;; never do this
(require 'cemerick.pomegranate.aether)
(cemerick.pomegranate.aether/register-wagon-factory!
"http "#(org.apache.maven.wagon.providers.http.HttpWagon.))
It's also possible you have a dependency which includes a reference to an
insecure repository for retrieving its own dependencies. If this happens it is
strongly recommended to add an :exclusion
and report a bug with the
dependency which does this.
Kudos to the folks working on
the related pomegranate
PR
and technomancy
for the above explanation.
sources
and javadoc
artifacts are on the fileset and :classifier
is correctly set.true
as a truthy value beside 1
and yes
#6311.0.0
. #612java.io.File
instead String
path of jar at sift-action :add-jar
method #678fileset-diff
correctly handles nested data structures #566boot.tmpdir/cp
#502(sift :move)
create resources. #680boot/worker
has been updated to fix compatibility with s3-wagon-private
#679set-env!
works even if the user has set *print-level*
or *print-length*
to non-nil in their $BOOT_HOME/profile.boot
. #587 #586tmpfile
"Commit: adding..." messages now only appear with -vv
which eases debugging tasks with -v
#557make
#567file-filter
(called by all by-*
functions) throws an error if no criteria are specified. #555:boot.util/omit-stacktrace?
,
escape %
in message to prevent errors about bad string formatting, and
ensure that message ends in a newline.transfer-listener
#565 #558load-string
, rather than read-string
#547notify
task #551socket-server
task for starting a Clojure 1.8.0+ socket server. #549call
task to execute arbitrary code as part of the pipeline, either via an existing function symbol or by providing a form. Similar to lein run, call
can be used, for example, to start a component system.bare-repl
task for starting a simple interactive REPL session (a la clojure.main/repl) without launching a nREPL server. #582boot.util/dosh-timed
. It works like boot.util/dosh
except it takes timeout-ms
as the first argument, and throws an exception when the shell command takes more than timeout-ms
milliseconds to execute. #561-m, --mode
option to the target
task — specifies the file
mode for written files — should only be used when default rw-------
is not enough. #537boot.core/add-cached-{asset,source,resource}
fns.boot.core/patch!
fn #497.:dependencies
) that is different from the implicitly loaded version
specified by BOOT_CLOJURE_VERSION
#230, #469.boot.pod/canonical-coord
.deftask
argument vector isn't a vector #487.:boot.util/omit-stracktrace?
ex-data property #486, #532.boot.util/map-as-dep
would flatten collections like
:exclusions
in the dependency vector #479.say
on OSX #476.notify
task that prevented OSX from finding the
terminal-notifier
program #478.notify
task that caused exceptions on OSX #491.add-resource
,
add-source
, etc.boot.class.path
and fake.class.path
system properties
with correct, platform-specific paths #488.boot.core/deftask
macro #490.
d- Create bootscript tmpfile with mode 0600
instead of 0664
.with-cp
task — use java -cp
style classpath strings
instead of Maven dependencies.pom
task now adds :project
metadata to the created pom.xml and
pom.properties TmpFiles in the fileset. This metadata is used by eg. the
jar
task to select the "real" pom from multiple poms that might be in the
fileset from the uber
task, etc. #451watch
task now accepts --include
and --exclude
options to restrict
the set of paths that will trigger a rebuild #312.watch
task now accepts --debounce
option to adjust how long it will
wait for all filesystem events to have fired before a rebuild is triggered.notify
task now prints an error
message instead of throwing an exception #523boot.pod/make-pod-cp
— creates a new pod from a given classpath.boot.pod/canonical-id
— returns the canonical form of a maven
dependency id symbol.boot.pod/full-id
— returns the fully-qualified form of a maven
dependency id symbol.:meta
option to boot.core/add-{asset,source,resource}
fns (and their
add-cached-{asset,source,resource}
variants — merges a map of metadata
into all TmpFiles added to the fileset.[
and ]
characters can now be used to group tasks with their options
and, more importantly, positional parameters. In the task body the positional
parameters are bound to *args*
#374.-E, --exclusions
— adds symbol to env :exclusions
#472.-f, --file
— evaluates the contents of a file just like with
the shebang script, but easier to use on platforms like Windows that don't
have great shebang support #465.-i, --init
— evaluates a form after evaluating the profile.boot
forms but before the main script or build.boot forms #465.-x, --exclude-clojure
— adds org.clojure/clojure
as a global
exclusion (useful in combination with --dependencies
when you don't have a
build.boot file, as most dependencies will depend on some random version of
clojure and you'll get a warning about it) #230, #469.-t, --target-path
and -T, --no-target
#475.-p, --project
option to the jar
task — specifies the project
id when there are multiple pom.xml files — should only be needed in the
case where the jar will contain multiple poms and either the desired pom was
not created via the pom
task or there are multiple poms created by the pom
task in the fileset #451.-C, --no-color
option to the repl
task — disables ANSI color
codes in REPL client output.:target-path
#475.speak
task, replaced by notify
.Java 9 is slated for release sometime next year. It introduces breaking changes, and Boot might need to be continually updated to ensure that we're compatible with Java 9 once it's released.
show --fileset
output.:update :always
in aether when resolving Boot's own dependencies
unless Boot is being updated.:source-paths
or :resource-paths
are set to
the empty set (#{}
).boot.pod/this-pod
— a WeakReference
to the current podboot.pod/with-invoke-in
— low-level invocation, no serializationboot.pod/with-invoke-worker
— as above but invokes in the worker podboot.pod/pod-name
— get/set the name of a podboot.pod/coord->map
— dependency vector to map helper functionboot.pod/map->coord
— map to dependency vector helper functionboot.pod/resource-last-modified
— returns last modified time of a classpath resourceboot.core/get-checkouts
— returns a map of info about loaded checkout dependenciesboot.util/dbug*
— like boot.util/dbug
but a macro (doesn't eval its
arguments unless the verbosity level is DEBUG or above)-c
, --checkouts
boot option / :checkouts
env key — deeper
integration for checkout dependencies-o
, --offline
boot option — disable downloading Maven dependencies
from remote repositories (doesn't apply to Boot's own dependencies)-U
, --update-snapshot
boot option — updates boot to latest snapshot
version-u
, --update
— sets global default boot version-v
, --verify-deps
option to show
task — verify jar signatures and
show deps tree [#375][375]:schemes
key — specify the handler
classes for the wagon when the wagon jar has no leiningen/wagons.clj
entry.BOOT_CERTIFICATES
— specify file paths for SSL certificates.BOOT_CLOJARS_REPO
— specify Maven repo url for clojars
.BOOT_CLOJARS_MIRROR
— specify Maven mirror url for clojars
.BOOT_MAVEN_CENTRAL_REPO
— specify Maven repo url for maven-central
.BOOT_MAVEN_CENTRAL_MIRROR
— specify Maven mirror url for maven-central
.checkout
task, replaced by the --checkouts
boot optiontarget
task falls back to copying when hardlinks aren't possible
#373.ByteArrayInputStream
instead of a StringBufferInputStream
when
parsing pom.xml
strings.--as-jars
option to uber
task that was accidentally removed.pom.xml
if there are none in the fileset.clifn
and throw on unknown options #346.--verbose
boot option is specified #315.--as-jars
option to uber
#290..bootignore
file #348.BOOT_EMIT_TARGET
#356.--repo-map
option for push
task #358.MANIFEST.MF
in uberjar #360.target
task would do nothing when no --dir
option given.--no-clean
option to disable cleaning of destination in target
task.deftask
argument specs are invalid; warn instead.gpg
binary is now used instead of bouncycastle for signing
jars and reading encrypted credentials files. There may be different
behavior when resolving default keys, etc.target
task and BOOT_EMIT_TARGET
env var #305.--developers
and --dependencies
options to pom
task #233.send!
function to work around issues passing large
collections to pods via with-eval-in
#339.add-cached-{asset,source,resource}
core functions.launch-nrepl
core function for starting repl servers in pods from
the repl.gpg-decrypt
core function to decrypt gpg encrypted files.configure-repositories!
core function to configure maven repos
dynamically (as a callback to add credentials, etc) #274, #311.push
task can now be provided with --repo-map
option to set the
deployment repository. This is useful for example in case a repository
needs different settings for downloading dependencies and deploying,
like additional credentials #274, #311.install
and push
tasks now accept a --pom
option which can be
used to specify which pom.xml
file to use #112, #278.repl
task now accepts a --pod
option which can be used to start
a repl in a specific pod.show
task now accepts a --list-pods
option to show the names of
all active pods.uber
task performance #94.sift
task performance.mv
source doesn't exist #325.push
task #328.*compile-path*
in nREPL server environment #294.tools.nrepl
version to support evaluating forms with reader
conditionals in the repl #343.pom.{xml,properties}
#278.--file
option that contain multiple pom.xml
files are now named project.jar instead of named for coordinates derived
from an arbitrarily selected pom #278.--pom
option that contains more
than one pom.xml
now results in an exception instead of installing to
coordinates derived from an arbitrarily selected pom #278.Stream Closed
exceptions when multiple pod pools are used #270push
task option --gpg-keyring
.Fix issues with 2.4.0 release 61c948f
Need to delete files in the fileset dirs before writing to them because the underlying blob files are immutable.
Remove BOOT_CLOJURE_NAME dependency before adding jars to the classpath--this is a workaround for a really weird issue:
clojure.lang.ExceptionInfo: loader constraint violation:
loader (instance of java/net/URLClassLoader) previously initiated
loading for a different type with name "clojure/lang/Compiler$Expr"
META-INF/services/.*
.BOOT_LOCAL_REPO
environment variable on Windows (fixes #243).BOOT_CLOJURE_NAME
environment variable, which defaults to org.clojure/clojure.Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close