Skip to content

Commit 0c9d6ed

Browse files
author
gadamc
committed
Adds INSTALL.md file to document useful and necessary sbt commands.
1 parent 8ba8603 commit 0c9d6ed

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

scala/INSTALL.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Build and Publish instructions.
2+
3+
This serves as a simple document to remind developers of necessary SBT commands.
4+
5+
## Build Locally
6+
7+
The following will generate all of the source/javadoc and compiled code `.jars`.
8+
9+
```
10+
sbt +publishLocal
11+
```
12+
13+
The following will `assemble` an uber `.jar`, which contains all depedency code
14+
15+
```
16+
sbt +assembly
17+
```
18+
19+
The `+` instructs SBT to perform the build for all Scala versions found in `crossScalaVersions` in
20+
the [build.sbt](build.sbt) file.
21+
22+
The resulting `jar` files will be found in the `target` directory.
23+
24+
## Publish
25+
26+
Publishing requires an account to the Central Repository and privileges to post to the /com/ibm/ibmos2spark
27+
directory.
28+
29+
See the instructions here: http://central.sonatype.org/pages/ossrh-guide.html
30+
31+
We use the `sbt-sonatype` plugin: https://github.com/xerial/sbt-sonatype
32+
33+
Once fully configured (you'll need a GPG key that is published along with your Sonatype account credentials
34+
stored in `~/.sbt/<version>/sonatype.sbt`) you should be able to
35+
36+
```
37+
sbt +publishSigned
38+
```
39+
40+
Note that if `version` (found in build.sbt) has the suffix `SNAPSHOT`, the jars will be uploaded to the Sonatype
41+
SNAPSHOT repository instead of the main release repository. After pushing to the release repository, you still
42+
need to perform the remaining steps to publish the code to the public
43+
44+
```
45+
sbt +sonatypeRelease
46+
```

0 commit comments

Comments
 (0)