sunjincheng121 opened a new pull request #8563: [FLINK-12602][travis] Correct 
the flink pom `artifactId` config and s…
URL: https://github.com/apache/flink/pull/8563
 
 
   ## What is the purpose of the change
   I find a shell issue in `verify_scala_suffixes.sh`(line 145) as follows:
   
   `grep "${module}_\d\+\.\d\+</artifactId>" "{}"`
   
   This code want to find out all modules that the module's `artifactId`  with 
a `scala_binary_version` suffix. 
   but the problem is our all `artifactId` value is in the pattern of 
`XXX_${scala.binary.version}`, such as:
   
   `<artifactId>flink-tests_${scala.binary.version}</artifactId>`
   
   then the result always empty, so this check did not take effect.
   
   So, we need to correct `artifactId `of some of the modules and correct the 
check logic for scala-free.
   
   ## Brief change log
     - remove the scala version suffix for connector-hive and 
queryable-state-client-java
     - add the scala dependencies for table-api-scala and flink-sql-connectors
     - correct the scala-free check logic in `verify_scala_suffixes.sh`
   
   NOTE:
   We have two ways handling of the connector:
    1. Improve the script to check any (compile) dependencies with a 
scala-suffix(which we mentioned above).
    2. Add the `flink-streaming-java` dependency wich  `provided`  scope for 
the corresponding connectors.
   
   For approach 1, we should add check logic:
    1. The command of `dependency:tree` should add an option: ` 
-Dincludes=org.apache.flink:_2.1::  ` such as 
`org.apache.flink:flink-streaming-java_2.11`.
     2. The command of `grep ` also need to add the logic: `E "org.scala-lang| 
org.apache.flink:[^:]+_2\.1[0-9]"` , also for test `grep --invert-match 
"org.apache.flink:[^:]_2\.1[0-9]:.:.*:test"`.
   
   For approach 2, we should add the dependency of `link-streaming-java` for 
`flink-sql-connector-elasticsearch6 flink-sql-connector-kafka 
flink-sql-connector-kafka-0.10 flink-sql-connector-kafka-0.11 
flink-sql-connector-kafka-0.9`.  
   
   For now, I think the change logic in approach 1 is a bit complex(a lot of 
filtering processing logic). So, I prefer the approach 2, due to even we add 
some new module in the future we should well know whether we should add the 
scala-suffix for the `artifactId`, then manually add dependencies on for the 
scala in the pom. 
   
   So, in this PR I add the dependency of `link-streaming-java` for 
`flink-sql-connectors`.
   
   ## Verifying this change
   This change is already covered by existing tests, such as *(please describe 
tests)*.
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): (no)
     - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: (no)
     - The serializers: (no)
     - The runtime per-record code paths (performance sensitive): (no)
     - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
     - The S3 file system connector: (no)
   
   ## Documentation
   
     - Does this pull request introduce a new feature? (yes)
     - If yes, how is the feature documented? (docs)
       1. correct the artifactId in `queryable_state.md/queryable_state.zh.md`.
     
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to