aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md6
-rw-r--r--documentation/building.md5
2 files changed, 8 insertions, 3 deletions
diff --git a/README.md b/README.md
index c7d4daf..16c343a 100644
--- a/README.md
+++ b/README.md
@@ -13,10 +13,12 @@ Flow is built and its examples run with SBT. To get started, include a dependenc
ATTENTION: flow uses native libraries to back serial communication, therefore before you can run any application depending on flow you must include flow's native library! To do so, you have two options.
-1. The easy way: add a second dependency to your project: (this dependency is not available on maven, please run ```flow-pack/publishLocal``` before)
+1. The easy way: add a second dependency to your project:
libraryDependencies += "com.github.jodersky" %% "flow-pack" % "1.2.1"
-
+
+ Note that this dependency is not available on maven and has to be published locally, run ```sbt flow-pack/publishLocal -Drelease=true``` before.
+
This will add a jar to your classpath containing native libraries for various platforms. At run time, the correct library for the current platform is selected, extracted and loaded. This solution enables running applications seamlessly, as if they were pure JVM applications. However, since the JVM does not enable full determination of the current platform (only OS and rough architecture are known), only a couple of platforms are supported through this solution. Currently, these are given in the table below.
| OS | Architecture | Notes |
diff --git a/documentation/building.md b/documentation/building.md
index 43a3678..10e9d55 100644
--- a/documentation/building.md
+++ b/documentation/building.md
@@ -37,4 +37,7 @@ With this structure in mind, building a complete distribution of flow involves (
2. compiling and linking native sources for various platforms: `flow/nativeLink`
This is the most complicated and error-prone step in the build. It involves compiling and cross-compiling the native sources for various platforms and linking them.
Note that for this step to work, native builds for the current operating system have to be defined. Take a look at the build file to see how this is done (below ```trait Host``` in the file).
- After completing this step, native libraries for the different platforms are available to be copied and included in end-user applications. \ No newline at end of file
+ After completing this step, native libraries for the different platforms are available to be copied and included in end-user applications.
+
+ Note about versioning: when building and locally publishing projects, the usual convention is to append "-SNAPSHOT" to the version string. This practive however breaks version identification and badly hurts git (bisecting becomes a nightmare). Therefore, to identify a build artifact with a specific commit in the repository, a sha1 hash is appended to the version instead.
+ When publishing a new release, this hash may be ommited by setting the java system property "release=true", simply by running `sbt -Drelease=true`. \ No newline at end of file