[ 
https://issues.apache.org/jira/browse/BEAM-4087?focusedWorklogId=224926&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-224926
 ]

ASF GitHub Bot logged work on BEAM-4087:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 09/Apr/19 11:44
            Start Date: 09/Apr/19 11:44
    Worklog Time Spent: 10m 
      Work Description: adude3141 commented on issue #8255: [DO NOT 
MERGE][BEAM-4087] implement configurable dependency versions
URL: https://github.com/apache/beam/pull/8255#issuecomment-481217134
 
 
   Thx @iemejia for looking into this.
   
   Of course, this does not fix https://issues.apache.org/jira/browse/BEAM-7003 
. But I consider this change a kind of prerequisite.
   
   What we are now able to do, is e.g.
   ```
   for kafka in "0.9.0.1" "0.10.0.1" "0.11.0.2" "1.1.0" "2.0.0" "2.1.0" 
"2.2.0"; 
   do
       echo "testing $kafka"; 
       ./gradlew  -Pkafka_clients.version=$kafka -p sdks/java/io/kafka/ build; 
   done
   ```
   Takes about 3mins on my machine and shows we are not compatible with 
versions less than 0.11.
   ```
   
/Users/michel/GitHub/adude3141/beam/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaRecord.java:24:
 error: package org.apache.kafka.common.header does not exist
   import org.apache.kafka.common.header.Headers;
                                        ^
   
/Users/michel/GitHub/adude3141/beam/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/ConsumerSpEL.java:28:
 error: cannot find symbol
   import org.apache.kafka.clients.consumer.OffsetAndTimestamp;
                                           ^
     symbol:   class OffsetAndTimestamp
     location: package org.apache.kafka.clients.consumer
   
/Users/michel/GitHub/adude3141/beam/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaRecord.java:38:
 error: cannot find symbol
     private final Headers headers;
                   ^
     symbol:   class Headers
     location: class KafkaRecord<K,V>
     where K,V are type-variables:
       K extends Object declared in class KafkaRecord
       V extends Object declared in class KafkaRecord
   
/Users/michel/GitHub/adude3141/beam/sdks/java/io/kafka/src/main/java/org/apache/beam/sdk/io/kafka/KafkaRecord.java:49:
 error: cannot find symbol
         @Nullable Headers headers,
                   ^
   ```
   So, I d say this does add some value right now, although it does not provide 
full integration.
   
   We could implement some similar loop on Jenkins here to get this on CI right 
now.
   
   For the build system integration I did not even look any further. I expect 
that this change will help implementing, but we might need to modify again. As 
dependencies are declared on project level, we currently would need to mess 
with testRuntimeClasspath. And - of course - fork a new jvm per test anyway. 
This is doable, but we might be better off using this 5.3 variants which seem 
to support such use cases.
   
   This change here is easy and quickly implemented. So I decided to give it a 
try to support discussion, whether this configurability is something we would 
like to have. As variants go even further and I unfortunately do not have a 
clue about the implications to our build currently.
 
----------------------------------------------------------------
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:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 224926)
    Time Spent: 1h 10m  (was: 1h)

> Gradle build does not allow to overwrite versions of provided dependencies
> --------------------------------------------------------------------------
>
>                 Key: BEAM-4087
>                 URL: https://issues.apache.org/jira/browse/BEAM-4087
>             Project: Beam
>          Issue Type: Sub-task
>          Components: build-system
>    Affects Versions: 2.5.0
>            Reporter: Ismaël Mejía
>            Assignee: Michael Luckey
>            Priority: Major
>          Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> In order to test modules with provided dependencies in maven we can execute 
> for example for Kafka `mvn verify -Prelease -Dkafka.clients.version=0.9.0.1 
> -pl 'sdks/java/io/kafka'` However we don't have an equivalent way to do this 
> with gradle because the version of the dependencies are defined locally and 
> not in the gradle.properties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to