GitHub user StephanEwen opened a pull request:
https://github.com/apache/flink/pull/5569
[FLINK-8761] [quickstarts] Big improvements to the quickstart experience
## What is the purpose of the change
Various improvements to the quickstarts, each in one commit.
The main improvement is that the quickstarts now work out of the box for
both running in-IDE and packaging JARs properly. Without need to add something
like `-Pbuild-jar` on the command line, which many users seem to get confused
about or not understand at all (given the number of users that have big
dependencies in their application Jar, including Flink core, Scala, Hadoop, etc)
## Changelog
- [FLINK-8764] [quickstarts] Make quickstarts work out of the box for IDE
and JAR packaging
- [FLINK-8762] [quickstarts] Make 'StreamingJob' the default main class
and remove WordCount example from the quickstart.
- [FLINK-8763] [quickstarts] Remove obsolete Dummy.java classes from
quickstart projects.
- [FLINK-8765] [quickstarts] Simplify quickstart properties, making the
quickstarts a bit simpler.
- [FLINK-8766] [quickstarts] Pin scala runtime version for Java Quickstart
- [FLINK-8767] [quickstarts] Set the maven.compiler.source and .target
properties for Java Quickstart
- [hotfix] [quickstarts] Fix header and package declaration order.
- [hotfix] [quickstarts] Fix block comments in program stubs.
## Verifying this change
- Building and installing the quickstarts
- Setting up a project from the 1.5-SNAPSHOT quickstarts
- Run sample in IDE (should work out of the box)
- Package a jar, check what gets included
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): (yes / **no)**
- The public API, i.e., is any changed class annotated with
`@Public(Evolving)`: (yes / **no)**
- The serializers: (yes / **no** / don't know)
- The runtime per-record code paths (performance sensitive): (yes /
**no** / don't know)
- Anything that affects deployment or recovery: JobManager (and its
components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / **no** / don't know)
- The S3 file system connector: (yes / **no** / don't know)
## Documentation
- Does this pull request introduce a new feature? (yes / **no)**
- If yes, how is the feature documented? (**not applicable** / docs /
JavaDocs / not documented)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/StephanEwen/incubator-flink
quickstarts_improve
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/5569.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #5569
----
commit 487afba8c14e368c0537de67a8dbe6f66525bc86
Author: Stephan Ewen <sewen@...>
Date: 2018-02-21T19:20:51Z
[FLINK-8762] [quickstarts] Make 'StreamingJob' the default main class and
remove WordCount example from the quickstart.
The packaged example jobs have been reported to not be terribly helpful and
simply create noise in the initial project setup.
commit 75b78dec8a626c7862205f75487593ef38e0dc01
Author: Stephan Ewen <sewen@...>
Date: 2018-02-21T19:30:35Z
[hotfix] [quickstarts] Fix header and package declaration order.
commit a4e60e9d46d81a1dc147af73349be81e4a831008
Author: Stephan Ewen <sewen@...>
Date: 2018-02-21T19:40:25Z
[FLINK-8763] [quickstarts] Remove obsolete Dummy.java classes from
quickstart projects.
commit fc40c6d9156c36e298b4c7ba03d3329e9d03bcca
Author: Stephan Ewen <sewen@...>
Date: 2018-02-21T20:05:23Z
[hotfix] [quickstarts] Fix block comments in program stubs.
commit 4176be7389f7fceecfcfff8b341ec38cff627ff2
Author: Stephan Ewen <sewen@...>
Date: 2018-02-23T09:53:22Z
[FLINK-8764] [quickstarts] Make quickstarts work out of the box for IDE and
JAR packaging
- All Flink and Scala dependencies are properly set to provided
- That way, Maven JAR packaging behaves correctly by default
- Eclipse adds 'provided' dependencies to the classpath when running
programs, so works out of the box
- There is a profile that automatically activates in IntelliJ that adds
the necessary
dependencies in 'compile' scope to make it run out of the box.
commit 67713de91cbfad34be1121355485cfd8475bbc91
Author: Stephan Ewen <sewen@...>
Date: 2018-02-23T10:10:43Z
[FLINK-8765] [quickstarts] Simplify quickstart properties
This does not pull out the slf4j and log4j version into properties any more,
making the quickstarts a bit simpler.
Given that both versions are used only once, and only for the feature to
have
convenience logging in the IDE, the versions might as well be defined
directly
in the dependencies.
commit f0a526fed8106999c51ba842afc60a2ccaf01143
Author: Stephan Ewen <sewen@...>
Date: 2018-02-23T10:13:01Z
[FLINK-8766] [quickstarts] Pin scala runtime version for Java Quickstart
Followup to FLINK-7414, which pinned the scala version for the Scala
Quickstart
commit e9b9dedafe61a4d94d81d7461d7e53a34593cca7
Author: Stephan Ewen <sewen@...>
Date: 2018-02-23T10:18:36Z
[FLINK-8767] [quickstarts] Set the maven.compiler.source and .target
properties for Java Quickstart
Setting these properties helps properly pinning the Java version in
IntelliJ.
Without these properties, Java version keeps switching back to 1.5 in some
setups.
----
---