summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2019-07-09 03:27:45 +0800
committerLi Haoyi <haoyi.sg@gmail.com>2019-07-09 04:13:07 +0800
commit9eeabd1f1de3417e71585b11c4742e33b4a25806 (patch)
tree0c21db40fd7b8a459b50536d14a833608d23d98d
parent996b05d3ff66f7d4fdda7e110fa14818e3e225a2 (diff)
downloadmill-9eeabd1f1de3417e71585b11c4742e33b4a25806.tar.gz
mill-9eeabd1f1de3417e71585b11c4742e33b4a25806.tar.bz2
mill-9eeabd1f1de3417e71585b11c4742e33b4a25806.zip
.
update readme for 0.5.0 more jdk versions . . . . tweak readme
-rw-r--r--.travis.yml52
-rwxr-xr-xci/test-mill-bootstrap-0.sh (renamed from ci/test-mill-bootstrap.sh)2
-rwxr-xr-xci/test-mill-bootstrap-1.sh30
-rwxr-xr-xci/test-mill-dev.sh2
-rw-r--r--docs/pages/1 - Intro to Mill.md50
-rw-r--r--readme.md14
6 files changed, 105 insertions, 45 deletions
diff --git a/.travis.yml b/.travis.yml
index aa56d492..3c114849 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,49 +8,47 @@ git:
matrix:
include:
- stage: build
- name: Test Mill Release with some integration tests on Java 8
- script: ci/test-mill-release.sh
+ env: CI_SCRIPT=ci/test-mill-release.sh
jdk: oraclejdk8
- stage: build
- name: Test Mill Release with some integration tests on Java 9
- script: ci/test-mill-release.sh
- jdk: oraclejdk9
+ env: CI_SCRIPT=ci/test-mill-release.sh
+ jdk: opendk9
- stage: build
- name: Run dev.assembly and the use it to build main tests on Java 8
- script: ci/test-mill-dev.sh
- jdk: oraclejdk8
+ env: CI_SCRIPT=ci/test-mill-dev.sh
+ jdk: openjdk10
- stage: build
- name: Run dev.assembly and the use it to build main tests on Java 9
- script: ci/test-mill-dev.sh
- jdk: oraclejdk9
+ env: CI_SCRIPT=ci/test-mill-dev.sh
+ jdk: oraclejdk11
- stage: build
- script: ci/test-mill-bootstrap.sh
+ env: CI_SCRIPT=ci/test-mill-bootstrap-0.sh
+ jdk: openjdk8
+
+ - stage: build
+ env: CI_SCRIPT=ci/test-mill-bootstrap-1.sh
jdk: oraclejdk9
- stage: build
- name: Run mill tests
- script: ci/test-mill-0.sh
- jdk: oraclejdk8
+ env: CI_SCRIPT=ci/test-mill-0.sh
+ jdk: openjdk10
- stage: build
- name: Run mill integration tests (part 1)
- script: ci/test-mill-1.sh
- jdk: oraclejdk8
+ env: CI_SCRIPT=ci/test-mill-1.sh
+ jdk: openjdk11
- stage: build
- name: Run mill integration tests (part 2)
- script: ci/test-mill-2.sh
- jdk: oraclejdk9
+ env: CI_SCRIPT=ci/test-mill-2.sh
+ jdk: oraclejdk8
- stage: release
- name: Publish mill to Maven Central and Github Releases
- script: "ci/on-master.py ci/release.sh"
- jdk: oraclejdk8
+ env: CI_SCRIPT="ci/on-master.py ci/release.sh"
+ jdk: oraclejdk9
- stage: release
- name: Publish mill documentation site
- script: "ci/on-master.py ci/publish-docs.sh"
- jdk: oraclejdk8
+ env: CI_SCRIPT="ci/on-master.py ci/publish-docs.sh"
+ jdk: openjdk10
+
+script:
+ - "$CI_SCRIPT"
cache:
directories:
diff --git a/ci/test-mill-bootstrap.sh b/ci/test-mill-bootstrap-0.sh
index cb366732..93f299db 100755
--- a/ci/test-mill-bootstrap.sh
+++ b/ci/test-mill-bootstrap-0.sh
@@ -27,4 +27,4 @@ git clean -xdf
rm -rf ~/.mill
# Use second build to run tests using Mill
-~/mill-2 -i all {main,scalalib,scalajslib,contrib.twirllib,contrib.playlib,contrib.scalapblib,contrib.scoverage}.test
+~/mill-2 -i all {main,scalalib,scalajslib}.test
diff --git a/ci/test-mill-bootstrap-1.sh b/ci/test-mill-bootstrap-1.sh
new file mode 100755
index 00000000..00b4b857
--- /dev/null
+++ b/ci/test-mill-bootstrap-1.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+
+set -eux
+
+# Starting from scratch...
+git clean -xdf
+
+# First build
+./mill -i all __.publishLocal launcher
+cp out/launcher/dest/mill ~/mill-1
+
+# Clean up
+git clean -xdf
+
+rm -rf ~/.mill
+
+# Differentiate first and second builds
+echo "Build 2" > info.txt && git add info.txt && git commit -m "Add info.txt"
+
+# Second build
+~/mill-1 -i all __.publishLocal launcher
+cp out/launcher/dest/mill ~/mill-2
+
+# Clean up
+git clean -xdf
+
+rm -rf ~/.mill
+
+# Use second build to run tests using Mill
+~/mill-2 -i all contrib.{twirllib,playlib,scalapblib,scoverage}.test
diff --git a/ci/test-mill-dev.sh b/ci/test-mill-dev.sh
index d81fe0df..4cd7b724 100755
--- a/ci/test-mill-dev.sh
+++ b/ci/test-mill-dev.sh
@@ -13,5 +13,5 @@ rm -rf ~/.mill
# Second build & run tests
out/dev/assembly/dest/mill -i main.test.compile
-#out/dev/assembly/dest/mill -i all {main,scalalib,scalajslib,contrib.twirllib,contrib.scalapblib}.test
+out/dev/assembly/dest/mill -i all {main,scalalib,scalajslib,contrib.twirllib,contrib.scalapblib}.test
diff --git a/docs/pages/1 - Intro to Mill.md b/docs/pages/1 - Intro to Mill.md
index e71b9cf5..1b97393a 100644
--- a/docs/pages/1 - Intro to Mill.md
+++ b/docs/pages/1 - Intro to Mill.md
@@ -81,7 +81,7 @@ To get started, download Mill and install it into your system via the following
`curl`/`chmod` command:
```bash
-sudo sh -c '(echo "#!/usr/bin/env sh" && curl -L https://github.com/lihaoyi/mill/releases/download/0.4.2/0.4.2) > /usr/local/bin/mill && chmod +x /usr/local/bin/mill'
+sudo curl -L https://github.com/lihaoyi/mill/releases/download/0.5.0/0.5.0 > /usr/local/bin/mill && sudo chmod +x /usr/local/bin/mill
```
### Bootstrap Scripts (Linux/OS-X Only)
@@ -102,21 +102,9 @@ script directly:
```
The `mill` command will automatically use the version specified by the bootstrap
-script, even if you installed it via other means.
-
-The `./mill` script has a version number embedded within it, which you can
-update simply by editing the script.
-
-Lastly, you can also create a `.mill-version` file to specify the version of
-Mill you wish to use:
-
-```bash
-echo "0.5.0" > .mill-version
-```
-
-`.mill-version` takes precedence over the version of Mill specified in the
-`./mill` script.
-
+script, even if you installed it via other means. The `./mill` file has a
+version number embedded within it, which you can update simply by editing the
+script. Note this only works for versions 0.5.0 and above.
### Development Releases
@@ -842,3 +830,33 @@ build is not behaving as you would expect, feel free to poke around the various
see what is being returned by a particular task. You can also simply delete
folders within `out/` if you want to force portions of your project to be
re-built, e.g. deleting the `out/main/` or `out/main/test/compile/` folders.
+
+## Overriding Mill Versions
+
+Apart from downloading and installing new versions of Mill globally, there are a
+few ways of selecting/updating your Mill version:
+
+- Create a `.mill-version` file to specify the version of Mill you wish to use:
+
+```bash
+echo "0.5.0" > .mill-version
+```
+
+`.mill-version` takes precedence over the version of Mill specified in the
+`./mill` script.
+
+- ass in a `MILL_VERSION` environment variable, e.g.
+
+```bash
+MILL_VERSION=0.5.0-3-4faefb mill __.compile
+ ```
+
+or
+```bash
+MILL_VERSION=0.5.0-3-4faefb ./mill __.compile
+```
+
+to override the Mill version manually. This takes precedence over the version
+specified in `./mill` or `.mill-version`
+
+Note that both of these overrides only work for versions 0.5.0 and above. \ No newline at end of file
diff --git a/readme.md b/readme.md
index f4f4019f..6fb333bf 100644
--- a/readme.md
+++ b/readme.md
@@ -167,6 +167,20 @@ corresponding version of Mill.
## Changelog
+### 0.5.0
+
+- Mill now supports a `./mill`
+ [bootstrap script](http://www.lihaoyi.com/mill/#bootstrap-scripts-linuxos-x-only),
+ allowing a project to pin the version of Mill it requires, as well as letting
+ contributors use `./mill ...` to begin development without needing to install
+ Mill beforehand.
+
+- Support for a `.mill-version` file or `MILL_VERSION` environment variable for
+ [Overriding Mill Versions](http://www.lihaoyi.com/mill/#overriding-mill-versions)
+
+- Fix scoverage: inherit repositories from outer project
+ [#645](https://github.com/lihaoyi/mill/pull/645)
+
### 0.4.2
- Improvements to IntelliJ project generation [#616](https://github.com/lihaoyi/mill/pull/616)