New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build Boot with Boot #329
Build Boot with Boot #329
Conversation
8b825dc
to
e72dcd8
Compare
It's real! 馃帀 馃帄. Closes #329 - `make install` can still be used to install everything locally. - `boot build (--watch) (--install)` can be used during development. It will start multiple boot pipelines to build boot libraries when relevant files change. It **is required** to run `make install` before doing this*. Reason for this is that `make install` copies the aether uberjar into `boot/base/resources` where it will be picked up when building the base uberjar (`boot.jar`). If the aether uberjar is not present building the base uberjar will fail. - `make deploy` uses the regular `push-release` provided by bootlaces. I'm not sure how to test this without making a release or creating garbage on clojars, any ideas? Also #328 would be needed. - There was a `:jar-exclusions [#"^clojure/core/"]` in all `project.clj`s but I don't think that had any effect. Leiningen provides `:uberjar-exclusions` for uberjars where it would make sense but we don't use that. - Limitation: We cannot install the version of boot we're currently running. This "will pull the carpet under the feet" of the running process. In practice this isn't a big problem I think but worth mentioning. :beers:
3936cf1
to
d5d35a4
Compare
It's real! 馃帀 馃帄. Closes #329 - `make install` can still be used to install everything locally. - `boot build (--watch) (--install)` can be used during development. It will start multiple boot pipelines to build boot libraries when relevant files change. It **is required** to run `make install` before doing this*. Reason for this is that `make install` copies the aether uberjar into `boot/base/resources` where it will be picked up when building the base uberjar (`boot.jar`). If the aether uberjar is not present building the base uberjar will fail. - `make deploy` uses the regular `push-release` provided by bootlaces. I'm not sure how to test this without making a release or creating garbage on clojars, any ideas? Also #328 would be needed. - There was a `:jar-exclusions [#"^clojure/core/"]` in all `project.clj`s but I don't think that had any effect. Leiningen provides `:uberjar-exclusions` for uberjars where it would make sense but we don't use that. - Limitation: We cannot install the version of boot we're currently running. This "will pull the carpet under the feet" of the running process. In practice this isn't a big problem I think but worth mentioning. :beers:
d5d35a4
to
b208261
Compare
It's real! 馃帀 馃帄. Closes #329 - `make install` can still be used to install everything locally. - `boot build (--watch) (--install)` can be used during development. It will start multiple boot pipelines to build boot libraries when relevant files change. It **is required** to run `make install` before doing this*. Reason for this is that `make install` copies the aether uberjar into `boot/base/resources` where it will be picked up when building the base uberjar (`boot.jar`). If the aether uberjar is not present building the base uberjar will fail. - `make deploy` uses the regular `push-release` provided by bootlaces. I'm not sure how to test this without making a release or creating garbage on clojars, any ideas? Also #328 would be needed. - There was a `:jar-exclusions [#"^clojure/core/"]` in all `project.clj`s but I don't think that had any effect. Leiningen provides `:uberjar-exclusions` for uberjars where it would make sense but we don't use that. - Limitation: We cannot install the version of boot we're currently running. This "will pull the carpet under the feet" of the running process. In practice this isn't a big problem I think but worth mentioning. :beers:
dfcd286
to
74eaa7a
Compare
It's real! 馃帀 馃帄. Closes #329 - `make install` can still be used to install everything locally. - `boot build (--watch) (--install)` can be used during development. It will start multiple boot pipelines to build boot libraries when relevant files change. It **is required** to run `make install` before doing this*. Reason for this is that `make install` copies the aether uberjar into `boot/base/resources` where it will be picked up when building the base uberjar (`boot.jar`). If the aether uberjar is not present building the base uberjar will fail. - `make deploy` uses the regular `push-release` provided by bootlaces. I'm not sure how to test this without making a release or creating garbage on clojars, any ideas? Also #328 would be needed. - There was a `:jar-exclusions [#"^clojure/core/"]` in all `project.clj`s but I don't think that had any effect. Leiningen provides `:uberjar-exclusions` for uberjars where it would make sense but we don't use that. - Limitation: We cannot install the version of boot we're currently running. This "will pull the carpet under the feet" of the running process. In practice this isn't a big problem I think but worth mentioning. :beers:
Copied the implementation from Leiningen. - Deploy repository options can be set using push task option. - Deprecate gpg-keyring option
It's real! 馃帀 馃帄. Closes #329 - `make install` can still be used to install everything locally. - `boot build (--watch) (--install)` can be used during development. It will start multiple boot pipelines to build boot libraries when relevant files change. It **is required** to run `make install` before doing this*. Reason for this is that `make install` copies the aether uberjar into `boot/base/resources` where it will be picked up when building the base uberjar (`boot.jar`). If the aether uberjar is not present building the base uberjar will fail. - `make deploy` uses the regular `push-release` provided by bootlaces. I'm not sure how to test this without making a release or creating garbage on clojars, any ideas? Also #328 would be needed. - There was a `:jar-exclusions [#"^clojure/core/"]` in all `project.clj`s but I don't think that had any effect. Leiningen provides `:uberjar-exclusions` for uberjars where it would make sense but we don't use that. - Limitation: We cannot install the version of boot we're currently running. This "will pull the carpet under the feet" of the running process. In practice this isn't a big problem I think but worth mentioning. :beers:
74eaa7a
to
d339913
Compare
It's real! 馃帀 馃帄. Closes #329 - `make install` can still be used to install everything locally. - `boot build (--watch) (--install)` can be used during development. It will start multiple boot pipelines to build boot libraries when relevant files change. It **is required** to run `make install` before doing this*. Reason for this is that `make install` copies the aether uberjar into `boot/base/resources` where it will be picked up when building the base uberjar (`boot.jar`). If the aether uberjar is not present building the base uberjar will fail. - `make deploy` uses the regular `push-release` provided by bootlaces. I'm not sure how to test this without making a release or creating garbage on clojars, any ideas? Also #328 would be needed. - There was a `:jar-exclusions [#"^clojure/core/"]` in all `project.clj`s but I don't think that had any effect. Leiningen provides `:uberjar-exclusions` for uberjars where it would make sense but we don't use that. - Limitation: We cannot install the version of boot we're currently running. This "will pull the carpet under the feet" of the running process. In practice this isn't a big problem I think but worth mentioning. :beers:
Is this patch working still valid? It is really handy when you work on boot stuff... |
@arichiardi #340 has all the changes in here and is better (don't exactly remember diff anymore). Both PRs however have a the problem of not allowing you to build the version of boot you're using to build i. (E.g. Building 2.5.0 with 2.5.0) Also there was a problem with aot compilation, I'm not sure if this is related to the version issue above. Maybe @micha remembers... |
Closing this also so we can use #340 as canonical issue |
It's real! 馃帀 馃帄
make install
can still be used to install everything locally.boot build (--watch) (--install)
can be used during development. It will start multiple boot pipelines to build boot libraries when relevant files change. It is required to runmake install
before doing this*.make deploy
uses the regularpush-release
provided by bootlaces. I'm not sure how to test this without making a release or creating garbage on clojars, any ideas? Also prevent duplicate tagging of commits during push聽#328 would be needed.there was a
:jar-exclusions [#"^clojure/core/"]
in allproject.clj
s but I don't think that had any effect. Leiningen provides:uberjar-exclusions
for uberjars where it would make sense but we don't use that.Limitation: We cannot install the version of boot we're currently running. This "will pull the carpet under the feet" of the running process. In practice this isn't a big problem I think but worth mentioning.
I can squash and delete
project.clj
and some other cruft when everything seems alright. 馃嵒