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

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

                Author: ASF GitHub Bot
            Created on: 05/Feb/20 19:30
            Start Date: 05/Feb/20 19:30
    Worklog Time Spent: 10m 
      Work Description: davidcavazos commented on pull request #10745: 
[BEAM-9219] Streamline creation of Python and Java dependencies pages
URL: https://github.com/apache/beam/pull/10745#discussion_r375452138
 
 

 ##########
 File path: website/src/documentation/sdks/java-dependencies.md
 ##########
 @@ -26,336 +26,24 @@ behavior in the service. If you are using any of these 
packages in your code, be
 aware that some libraries are not forward-compatible and you may need to pin to
 the listed versions that will be in scope during execution.
 
-<p>To see the compile and runtime dependencies for your Beam SDK version, 
expand
-the relevant section below.</p>
+Compile and runtime dependencies for your Beam SDK version are listed in 
`BeamModulePlugin.groovy` in the Beam repository. To view them, perform the 
following steps:
 
-<details><summary markdown="span"><b>2.9.0</b></summary>
+1. Open `BeamModulePlugin.groovy`.
 
-<p>Beam SDK for Java 2.9.0 has the following compile and runtime 
dependencies.</p>
+    ```
+    
https://raw.githubusercontent.com/apache/beam/v<version_number>/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy
+    ```
 
-<table class="table-bordered table-striped">
-  <tr><th>GroupId</th><th>ArtifactId</th><th>Version</th></tr>
-  <tr><td>org.apache.activemq</td><td>activemq-amqp</td><td>5.13.1</td></tr>
-  <tr><td>org.apache.activemq</td><td>activemq-broker</td><td>5.13.1</td></tr>
-  <tr><td>org.apache.activemq</td><td>activemq-client</td><td>5.13.1</td></tr>
-  <tr><td>org.apache.activemq</td><td>activemq-jaas</td><td>5.13.1</td></tr>
-  
<tr><td>org.apache.activemq.tooling</td><td>activemq-junit</td><td>5.13.1</td></tr>
-  
<tr><td>org.apache.activemq</td><td>activemq-kahadb-store</td><td>5.13.1</td></tr>
-  <tr><td>org.apache.activemq</td><td>activemq-mqtt</td><td>5.13.1</td></tr>
-  <tr><td>org.apache.apex</td><td>apex-common</td><td>3.7.0</td></tr>
-  <tr><td>org.apache.apex</td><td>apex-engine</td><td>3.7.0</td></tr>
-  <tr><td>args4j</td><td>args4j</td><td>2.33</td></tr>
-  <tr><td>org.apache.avro</td><td>avro</td><td>1.8.2</td></tr>
-  <tr><td>com.google.cloud.bigdataoss</td><td>gcsio</td><td>1.9.0</td></tr>
-  <tr><td>com.google.cloud.bigdataoss</td><td>util</td><td>1.9.0</td></tr>
-  
<tr><td>com.google.cloud.bigtable</td><td>bigtable-client-core</td><td>1.4.0</td></tr>
-  <tr><td>net.bytebuddy</td><td>byte-buddy</td><td>1.9.3</td></tr>
-  <tr><td>org.apache.commons</td><td>commons-compress</td><td>1.16.1</td></tr>
-  <tr><td>org.apache.commons</td><td>commons-csv</td><td>1.4</td></tr>
-  <tr><td>commons-io</td><td>commons-io</td><td>1.3.2</td></tr>
-  <tr><td>commons-io</td><td>commons-io</td><td>2.5</td></tr>
-  <tr><td>org.apache.commons</td><td>commons-lang3</td><td>3.6</td></tr>
-  <tr><td>org.apache.commons</td><td>commons-math3</td><td>3.6.1</td></tr>
-  
<tr><td>com.google.cloud.datastore</td><td>datastore-v1-proto-client</td><td>1.6.0</td></tr>
-  
<tr><td>com.google.errorprone</td><td>error_prone_annotations</td><td>2.0.15</td></tr>
-  <tr><td>com.google.api</td><td>gax-grpc</td><td>1.29.0</td></tr>
-  
<tr><td>com.google.api-client</td><td>google-api-client</td><td>1.27.0</td></tr>
-  
<tr><td>com.google.api-client</td><td>google-api-client-jackson2</td><td>1.27.0</td></tr>
-  
<tr><td>com.google.api-client</td><td>google-api-client-java6</td><td>1.27.0</td></tr>
-  
<tr><td>com.google.apis</td><td>google-api-services-bigquery</td><td>v2-rev20181104-1.27.0</td></tr>
-  
<tr><td>com.google.apis</td><td>google-api-services-clouddebugger</td><td>v2-rev20180801-1.27.0</td></tr>
-  
<tr><td>com.google.apis</td><td>google-api-services-cloudresourcemanager</td><td>v1-rev20181015-1.27.0</td></tr>
-  
<tr><td>com.google.apis</td><td>google-api-services-dataflow</td><td>v1b3-rev20181107-1.27.0</td></tr>
-  
<tr><td>com.google.apis</td><td>google-api-services-pubsub</td><td>v1-rev20181105-1.27.0</td></tr>
-  
<tr><td>com.google.apis</td><td>google-api-services-storage</td><td>v1-rev20181013-1.27.0</td></tr>
-  
<tr><td>com.google.auth</td><td>google-auth-library-credentials</td><td>0.10.0</td></tr>
-  
<tr><td>com.google.auth</td><td>google-auth-library-oauth2-http</td><td>0.10.0</td></tr>
-  
<tr><td>com.google.cloud</td><td>google-cloud-bigquery</td><td>1.27.0</td></tr>
-  <tr><td>com.google.cloud</td><td>google-cloud-core</td><td>1.36.0</td></tr>
-  
<tr><td>com.google.cloud</td><td>google-cloud-core-grpc</td><td>1.36.0</td></tr>
-  
<tr><td>com.google.cloud.dataflow</td><td>google-cloud-dataflow-java-proto-library-all</td><td>0.5.160304</td></tr>
-  
<tr><td>com.google.cloud</td><td>google-cloud-spanner</td><td>0.54.0-beta</td></tr>
-  
<tr><td>com.google.http-client</td><td>google-http-client</td><td>1.27.0</td></tr>
-  
<tr><td>com.google.http-client</td><td>google-http-client-jackson</td><td>1.27.0</td></tr>
-  
<tr><td>com.google.http-client</td><td>google-http-client-jackson2</td><td>1.27.0</td></tr>
-  
<tr><td>com.google.http-client</td><td>google-http-client-protobuf</td><td>1.27.0</td></tr>
-  
<tr><td>com.google.oauth-client</td><td>google-oauth-client</td><td>1.27.0</td></tr>
-  
<tr><td>com.google.oauth-client</td><td>google-oauth-client-java6</td><td>1.27.0</td></tr>
-  <tr><td>io.grpc</td><td>grpc-all</td><td>1.13.1</td></tr>
-  <tr><td>io.grpc</td><td>grpc-auth</td><td>1.13.1</td></tr>
-  <tr><td>io.grpc</td><td>grpc-core</td><td>1.13.1</td></tr>
-  
<tr><td>com.google.api.grpc</td><td>grpc-google-cloud-pubsub-v1</td><td>1.18.0</td></tr>
-  <tr><td>io.grpc</td><td>grpc-netty</td><td>1.13.1</td></tr>
-  <tr><td>io.grpc</td><td>grpc-protobuf-lite</td><td>1.13.1</td></tr>
-  <tr><td>io.grpc</td><td>grpc-protobuf</td><td>1.13.1</td></tr>
-  <tr><td>io.grpc</td><td>grpc-stub</td><td>1.13.1</td></tr>
-  <tr><td>com.google.guava</td><td>guava</td><td>20.0</td></tr>
-  <tr><td>com.google.guava</td><td>guava-testlib</td><td>20.0</td></tr>
-  <tr><td>org.apache.hadoop</td><td>hadoop-client</td><td>2.7.3</td></tr>
-  <tr><td>org.apache.hadoop</td><td>hadoop-common</td><td>2.7.3</td></tr>
-  <tr><td>org.apache.hadoop</td><td>hadoop-hdfs</td><td>2.7.3</td></tr>
-  
<tr><td>org.apache.hadoop</td><td>hadoop-mapreduce-client-core</td><td>2.7.3</td></tr>
-  <tr><td>org.apache.hadoop</td><td>hadoop-minicluster</td><td>2.7.3</td></tr>
-  <tr><td>org.hamcrest</td><td>hamcrest-core</td><td>1.3</td></tr>
-  <tr><td>org.hamcrest</td><td>hamcrest-library</td><td>1.3</td></tr>
-  
<tr><td>com.fasterxml.jackson.core</td><td>jackson-annotations</td><td>2.9.5</td></tr>
-  
<tr><td>com.fasterxml.jackson.core</td><td>jackson-core</td><td>2.9.5</td></tr>
-  
<tr><td>com.fasterxml.jackson.core</td><td>jackson-databind</td><td>2.9.5</td></tr>
-  
<tr><td>com.fasterxml.jackson.dataformat</td><td>jackson-dataformat-cbor</td><td>2.9.5</td></tr>
-  
<tr><td>com.fasterxml.jackson.dataformat</td><td>jackson-dataformat-yaml</td><td>2.9.5</td></tr>
-  
<tr><td>com.fasterxml.jackson.datatype</td><td>jackson-datatype-joda</td><td>2.9.5</td></tr>
-  
<tr><td>com.fasterxml.jackson.module</td><td>jackson-module-scala_2.11</td><td>2.9.5</td></tr>
-  <tr><td>javax.xml.bind</td><td>jaxb-api</td><td>2.2.12</td></tr>
-  <tr><td>joda-time</td><td>joda-time</td><td>2.4</td></tr>
-  <tr><td>junit</td><td>junit</td><td>4.12</td></tr>
-  <tr><td>org.apache.kafka</td><td>kafka_2.11</td><td>1.0.0</td></tr>
-  <tr><td>org.apache.kafka</td><td>kafka-clients</td><td>1.0.0</td></tr>
-  <tr><td>org.apache.apex</td><td>malhar-library</td><td>3.4.0</td></tr>
-  <tr><td>org.mockito</td><td>mockito-core</td><td>1.10.19</td></tr>
-  <tr><td>io.netty</td><td>netty-handler</td><td>4.1.25.Final</td></tr>
-  
<tr><td>io.netty</td><td>netty-tcnative-boringssl-static</td><td>2.0.8.Final</td></tr>
-  
<tr><td>io.netty</td><td>netty-transport-native-epoll</td><td>4.1.25.Final</td></tr>
-  <tr><td>org.postgresql</td><td>postgresql</td><td>42.2.2</td></tr>
-  
<tr><td>org.powermock</td><td>powermock-mockito-release-full</td><td>1.6.4</td></tr>
-  <tr><td>com.google.protobuf</td><td>protobuf-java</td><td>3.6.0</td></tr>
-  
<tr><td>com.google.protobuf</td><td>protobuf-java-util</td><td>3.6.0</td></tr>
-  
<tr><td>com.google.api.grpc</td><td>proto-google-cloud-pubsub-v1</td><td>1.18.0</td></tr>
-  
<tr><td>com.google.api.grpc</td><td>proto-google-cloud-spanner-admin-database-v1</td><td>0.19.0</td></tr>
-  
<tr><td>com.google.api.grpc</td><td>proto-google-common-protos</td><td>1.12.0</td></tr>
-  <tr><td>org.slf4j</td><td>slf4j-api</td><td>1.7.25</td></tr>
-  <tr><td>org.slf4j</td><td>slf4j-jdk14</td><td>1.7.25</td></tr>
-  <tr><td>org.slf4j</td><td>slf4j-log4j12</td><td>1.7.25</td></tr>
-  <tr><td>org.slf4j</td><td>slf4j-simple</td><td>1.7.25</td></tr>
-  <tr><td>org.xerial.snappy</td><td>snappy-java</td><td>1.1.4</td></tr>
-  <tr><td>org.apache.spark</td><td>spark-core_2.11</td><td>2.3.2</td></tr>
-  
<tr><td>org.apache.spark</td><td>spark-network-common_2.11</td><td>2.3.2</td></tr>
-  <tr><td>org.apache.spark</td><td>spark-streaming_2.11</td><td>2.3.2</td></tr>
-  <tr><td>org.codehaus.woodstox</td><td>stax2-api</td><td>3.1.4</td></tr>
-  
<tr><td>org.codehaus.woodstox</td><td>woodstox-core-asl</td><td>4.4.1</td></tr>
-  <tr><td>com.pholser</td><td>junit-quickcheck-core</td><td>0.8</td></tr>
-</table>
+    Replace `<version_number>` with the major.minor.patch version of the SDK. 
For example, 
<https://raw.githubusercontent.com/apache/beam/v2.18.0/buildSrc/src/main/groovy/org/apache/beam/gradle/BeamModulePlugin.groovy>{:target="_blank"}
 will provide the dependencies for the 2.18.0 release.
+    
+2. Review the list under `project.ext.library`. 
 
-</details>
+    **Note:** Some dependencies in the list use version variables, such as 
`google_auth_version`. These variables are defined prior to the 
`project.ext.library` map definition.
 
-<details><summary markdown="span"><b>2.8.0</b></summary>
+You can also retrieve this list through Maven by running the following from 
the root of your project directory:
 
-<p>Beam SDK for Java 2.8.0 has the following compile and runtime 
dependencies.</p>
+```java
+$ mvn dependency:resolve && mvn -o dependency:list
 
 Review comment:
   Note that this will get the dependencies of the *current* project. If they 
already have a dependency conflict it will simply show the version that is 
installed in that project. We would need to compare the versions with a clean 
project to see any differences.
   
   If we want to get them from a new project we would need to create one:
   ```
   export BEAM_VERSION=2.18.0
   export JAVA_VERSION=11
   
   mvn archetype:generate \
       -DinteractiveMode=false \
       -DarchetypeGroupId=org.apache.beam \
       -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-starter \
       -DarchetypeVersion=$BEAM_VERSION \
       -DtargetPlatform=$JAVA_VERSION \
       -DartifactId=check-pipeline-dependencies \
       -DgroupId=org.apache.beam.samples
   
   cd check-pipeline-dependencies
   
   mvn dependency:resolve && mvn -o dependency:list
   ```
 
----------------------------------------------------------------
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: 382467)
    Time Spent: 4h 20m  (was: 4h 10m)

> Streamline creation of Python and Java dependencies pages
> ---------------------------------------------------------
>
>                 Key: BEAM-9219
>                 URL: https://issues.apache.org/jira/browse/BEAM-9219
>             Project: Beam
>          Issue Type: Improvement
>          Components: website
>            Reporter: David Wrede
>            Priority: Minor
>          Time Spent: 4h 20m
>  Remaining Estimate: 0h
>
> This issue is about the need to address keeping both Python and Java SDK 
> dependency pages more relevant and up-to-date while reducing the amount of 
> time it takes to provide that information. The current method of scraping and 
> copying dependencies into a table for every release is a non-trivial task 
> because of the semi-automated workflows done by the tech writers on the 
> website.
> In an effort to provide accurate dependency listings that are always in sync 
> with SDK releases, referring people to the appropriate places in the source 
> code (or through CLI commands) should provide people the information they are 
> looking for and not require the creation and maintenance of an automated 
> tooling solution to generate the dependency tables.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to