Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions RELEASING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Releasing the CLI

## Version commit

For releases, make sure that the default value for `scalaJSVersion` in the
build matches the `version` of `scalajs-cli`.

## Publish the `scalajs-cli` artifact to Maven Central

This is a normal cross-compiled publish:

> +publishSigned

## Build and upload the standalone distribution

For each major version of Scala, identify the latest corresponding full version
and run:

$ ./scripts/assemble-cli.sh <Scala.js full version> <Scala full version>

Then upload the produced archives (in `pack/`) to the website, using `scp`.
36 changes: 36 additions & 0 deletions TESTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Testing the standalone distribution

TODO: We should automate this process

For each major Scala version on a *NIX distro and a Windows distro:

1. Download packaged Scala from scala-lang.org
2. Build a CLI distribution (see [the release process](./RELEASING.md))
3. Unpack Scala and Scala.js distro
4. Add `bin/` directories of both distributions to path (`export PATH=$PATH:<scala path>/bin:<scala.js path>/bin`)
5. Create a temporary directory and do:

mkdir bin
echo '
object Foo {
def main(args: Array[String]): Unit = {
println(s"asdf ${1 + 1}")
new A
}

class A
}
' > foo.scala
scalajsc -d bin foo.scala

scalajsp bin/Foo$.sjsir
# Verify output
scalajsp bin/Foo\$A.sjsir
# Verify output

scalajsld -o test.js -mm Foo.main bin
# Verify output

node test.js # Or your favorite thing to run JS

# Expect "asdf 2"