Skip to content

Commit

Permalink
[FLINK-7030] Build with scala-2.11 by default
Browse files Browse the repository at this point in the history
  • Loading branch information
pnowojski committed Jun 28, 2017
1 parent 958d376 commit a17b0d4
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 34 deletions.
25 changes: 12 additions & 13 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,33 +17,32 @@ matrix:
include:
# Always run test groups A and B together
- jdk: "oraclejdk8"
env: PROFILE="-Dhadoop.version=2.8.0 -Dscala-2.11 -Pflink-fast-tests-a,include-kinesis,jdk8 -Dmaven.javadoc.skip=true"
env: PROFILE="-Dhadoop.version=2.8.0 -Pflink-fast-tests-a,include-kinesis,jdk8 -Dmaven.javadoc.skip=true"
- jdk: "oraclejdk8"
env: PROFILE="-Dhadoop.version=2.8.0 -Dscala-2.11 -Pflink-fast-tests-b,include-kinesis,jdk8 -Dmaven.javadoc.skip=true"
env: PROFILE="-Dhadoop.version=2.8.0 -Pflink-fast-tests-b,include-kinesis,jdk8 -Dmaven.javadoc.skip=true"
- jdk: "oraclejdk8"
env: PROFILE="-Dhadoop.version=2.8.0 -Dscala-2.11 -Pflink-fast-tests-c,include-kinesis,jdk8 -Dmaven.javadoc.skip=true"
env: PROFILE="-Dhadoop.version=2.8.0 -Pflink-fast-tests-c,include-kinesis,jdk8 -Dmaven.javadoc.skip=true"

- jdk: "oraclejdk8"
env: PROFILE="-Dhadoop.version=2.7.3 -Pflink-fast-tests-a,include-kinesis -Dmaven.javadoc.skip=true"
env: PROFILE="-Dhadoop.version=2.7.3 -Dscala-2.10 -Pflink-fast-tests-a,include-kinesis -Dmaven.javadoc.skip=true"
- jdk: "oraclejdk8"
env: PROFILE="-Dhadoop.version=2.7.3 -Pflink-fast-tests-b,include-kinesis -Dmaven.javadoc.skip=true"
env: PROFILE="-Dhadoop.version=2.7.3 -Dscala-2.10 -Pflink-fast-tests-b,include-kinesis -Dmaven.javadoc.skip=true"
- jdk: "oraclejdk8"
env: PROFILE="-Dhadoop.version=2.7.3 -Pflink-fast-tests-c,include-kinesis -Dmaven.javadoc.skip=true"
env: PROFILE="-Dhadoop.version=2.7.3 -Dscala-2.10 -Pflink-fast-tests-c,include-kinesis -Dmaven.javadoc.skip=true"

- jdk: "openjdk7"
env: PROFILE="-Dhadoop.version=2.6.5 -Dscala-2.11 -Pflink-fast-tests-a,include-kinesis -Dmaven.javadoc.skip=true"
env: PROFILE="-Dhadoop.version=2.6.5 -Pflink-fast-tests-a,include-kinesis -Dmaven.javadoc.skip=true"
- jdk: "openjdk7"
env: PROFILE="-Dhadoop.version=2.6.5 -Dscala-2.11 -Pflink-fast-tests-b,include-kinesis -Dmaven.javadoc.skip=true"
env: PROFILE="-Dhadoop.version=2.6.5 -Pflink-fast-tests-b,include-kinesis -Dmaven.javadoc.skip=true"
- jdk: "openjdk7"
env: PROFILE="-Dhadoop.version=2.6.5 -Dscala-2.11 -Pflink-fast-tests-c,include-kinesis -Dmaven.javadoc.skip=true"
env: PROFILE="-Dhadoop.version=2.6.5 -Pflink-fast-tests-c,include-kinesis -Dmaven.javadoc.skip=true"

- jdk: "openjdk7"
env: PROFILE="-Dhadoop.version=2.4.1 -Pflink-fast-tests-a,include-kinesis -Dmaven.javadoc.skip=true"
env: PROFILE="-Dhadoop.version=2.4.1 -Dscala-2.10 -Pflink-fast-tests-a,include-kinesis -Dmaven.javadoc.skip=true"
- jdk: "openjdk7"
env: PROFILE="-Dhadoop.version=2.4.1 -Pflink-fast-tests-b,include-kinesis -Dmaven.javadoc.skip=true"
env: PROFILE="-Dhadoop.version=2.4.1 -Dscala-2.10 -Pflink-fast-tests-b,include-kinesis -Dmaven.javadoc.skip=true"
- jdk: "openjdk7"
env: PROFILE="-Dhadoop.version=2.4.1 -Pflink-fast-tests-c,include-kinesis -Dmaven.javadoc.skip=true"

env: PROFILE="-Dhadoop.version=2.4.1 -Dscala-2.10 -Pflink-fast-tests-c,include-kinesis -Dmaven.javadoc.skip=true"

git:
depth: 100
Expand Down
19 changes: 5 additions & 14 deletions docs/setup/building.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,25 +115,16 @@ The `-Pvendor-repos` activates a Maven [build profile](http://maven.apache.org/g

Flink has APIs, libraries, and runtime modules written in [Scala](http://scala-lang.org). Users of the Scala API and libraries may have to match the Scala version of Flink with the Scala version of their projects (because Scala is not strictly backwards compatible).

**By default, Flink is built with the Scala 2.10**. To build Flink with Scala *2.11*, you can change the default Scala *binary version* with the following script:
**By default, Flink is built with the Scala 2.11**. To build Flink with Scala *2.10*, you can change the default Scala *binary version* by using *scala-2.10* build profile:

~~~bash
# Switch Scala binary version between 2.10 and 2.11
tools/change-scala-version.sh 2.11
# Build with Scala version 2.11
mvn clean install -DskipTests
# Build with Scala version 2.10
mvn clean install -DskipTests -Pscala-2.10
~~~

To build against custom Scala versions, you need to switch to the appropriate binary version and supply the *language version* as an additional build property. For example, to build against Scala 2.11.4, you have to execute:

~~~bash
# Switch Scala binary version to 2.11
tools/change-scala-version.sh 2.11
# Build with custom Scala version 2.11.4
mvn clean install -DskipTests -Dscala.version=2.11.4
~~~
To build against custom Scala versions, you need to define new custom build profile that will override *scala.version* and *scala.binary.version* values.

Flink is developed against Scala *2.10* and tested additionally against Scala *2.11*. These two versions are known to be compatible. Earlier versions (like Scala *2.9*) are *not* compatible.
Flink is developed against Scala *2.11* and tested additionally against Scala *2.10*. These two versions are known to be compatible. Earlier versions (like Scala *2.9*) are *not* compatible.

Newer versions may be compatible, depending on breaking changes in the language features used by Flink, and the availability of Flink's dependencies in those Scala versions. The dependencies written in Scala include for example *Kafka*, *Akka*, *Scalatest*, and *scopt*.

Expand Down
14 changes: 7 additions & 7 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,8 @@ under the License.
<java.version>1.7</java.version>
<scala.macros.version>2.1.0</scala.macros.version>
<!-- Default scala versions, may be overwritten by build profiles -->
<scala.version>2.10.6</scala.version>
<scala.binary.version>2.10</scala.binary.version>
<scala.version>2.11.11</scala.version>
<scala.binary.version>2.11</scala.binary.version>
<chill.version>0.7.4</chill.version>
<asm.version>5.0.4</asm.version>
<zookeeper.version>3.4.6</zookeeper.version>
Expand Down Expand Up @@ -496,17 +496,17 @@ under the License.

<profiles>

<!-- Profile to switch to Scala Version 2.11 -->
<!-- Profile to switch to Scala Version 2.10 -->
<profile>
<id>scala-2.11</id>
<id>scala-2.10</id>
<activation>
<property>
<name>scala-2.11</name>
<name>scala-2.10</name>
</property>
</activation>
<properties>
<scala.version>2.11.11</scala.version>
<scala.binary.version>2.11</scala.binary.version>
<scala.version>2.10.6</scala.version>
<scala.binary.version>2.10</scala.binary.version>
</properties>
</profile>

Expand Down

0 comments on commit a17b0d4

Please sign in to comment.