Skip to content

Commit

Permalink
attempt to git pull when doing publish-local.sh to ensure tags appear…
Browse files Browse the repository at this point in the history
… locally
  • Loading branch information
lihaoyi committed Feb 18, 2018
1 parent cb40d83 commit fa203ea
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 16 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ matrix:
env: CI_SCRIPT="ci/on-master.py ci/publish-docs.sh"

script:
- git fetch --unshallow --tags
- "$CI_SCRIPT"
cache:
directories:
Expand Down
25 changes: 15 additions & 10 deletions docs/pages/1 - Intro to Mill.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@
[Confused by SBT](http://www.lihaoyi.com/post/SowhatswrongwithSBT.html)?
Frustrated by Maven? Perplexed by Gradle? Give Mill a try!

Mill is a general purpose build-tool. It has built in support for the
[Scala](https://www.scala-lang.org/) programming language, and can serve as a
replacement for [SBT](http://www.scala-sbt.org/), but can also be extended to
support any other language or platform via modules (written in Java or Scala) or
through external subprocesses.

Mill aims for simplicity by
[re-using concepts you are already familiar with](http://www.lihaoyi.com/post/BuildToolsasPureFunctionalPrograms.html)
to let you define your project's build. Mill's `build.sc` files are Scala
scripts.
Mill aims for simplicity by re-using concepts you are already
[familiar with](http://www.lihaoyi.com/post/BuildToolsasPureFunctionalPrograms.html),
borrowing ideas from modern tools like [Bazel](https://bazel.build/), to let you
build your projects in a way that's simple, fast, and predictable.

Mill has built in support for the [Scala](https://www.scala-lang.org/)
programming language, and can serve as a replacement for
[SBT](http://www.scala-sbt.org/), but can also be
[extended](http://www.lihaoyi.com/mill/page/extending-mill.html) to support any
other language or platform via modules (written in Java or Scala) or through
external subprocesses.

To get started, download Mill and install it into your system via the following
`curl`/`chmod` command:
Expand All @@ -20,6 +21,10 @@ To get started, download Mill and install it into your system via the following
sudo curl -L -o /usr/local/bin/mill https://github.com/lihaoyi/mill/releases/download/0.1.0/0.1.0 && sudo chmod +x /usr/local/bin/mill
```

More recent, unstable versions of Mill are also
[available](https://github.com/lihaoyi/mill/releases/tag/unstable), if you want
to try out the latest features and improvements that are currently in master.

The simplest Mill build for a Scala project looks as follows:

```scala
Expand Down
10 changes: 8 additions & 2 deletions docs/pages/3 - Common Project Layouts.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ import mill.scalalib._
object foo extends Cross[FooModule]("2.10.6", "2.11.11", "2.12.4")
class FooModule(val crossScalaVersion: String) extends CrossScalaModule{
...
object test extends Tests{
...
}
}
```

Expand Down Expand Up @@ -89,6 +92,9 @@ import mill.scalalib._
object foo extends Cross[FooModule]("2.10.6", "2.11.11", "2.12.4")
class FooModule(val crossScalaVersion: String) extends CrossSbtModule{
...
object test extends Tests{
...
}
}
```

Expand Down Expand Up @@ -210,8 +216,8 @@ versions of Scala.

- [Mill Build](https://github.com/lihaoyi/mill/blob/master/integration/test/resources/upickle/build.sc#L1)

A single cross-platform Scala.js/Scala-JVM module, including the setup necessary
for publishing to Maven Central
A single cross-platform Scala.js/Scala-JVM module cross-built against multiple
versions of Scala, including the setup necessary for publishing to Maven Central

## Ammonite

Expand Down
9 changes: 5 additions & 4 deletions docs/pages/6 - Extending Mill.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@ isn't covered by the built-in `ScalaModule`s/`ScalaJSModule`s, simply write a
custom Target (for cached computations) or Command (for un-cached actions) and
you're done.

For filesystem operations, you can use the
For subprocess/filesystem operations, you can use the
[Ammonite-Ops](http://ammonite.io/#Ammonite-Ops) library that comes bundled with
Mill, or even plain `java.nio`. Each target gets it's own
[T.ctx().dest](/page/tasks#millutilctxdestctx) folder that you can use to place
files without worrying about colliding with other targets
Mill, or even plain `java.nio`/`java.lang.Process. Each target gets it's own
[T.ctx().dest](http://www.lihaoyi.com/mill/page/tasks#millutilctxdestctx) folder
that you can use to place files without worrying about colliding with other
targets.

This covers use cases like:

Expand Down

0 comments on commit fa203ea

Please sign in to comment.