This is an automated email from the ASF dual-hosted git repository. mergebot-role pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/beam-site.git
commit 5d24010a5e74afd3a8df2fcba3b039a80a7fc70e Author: Mergebot <merge...@apache.org> AuthorDate: Wed Apr 11 06:31:53 2018 -0700 Prepare repository for deployment. --- content/contribute/contribution-guide/index.html | 8 ++--- content/contribute/intellij/index.html | 45 +++++++++++++----------- content/contribute/maturity-model/index.html | 2 +- content/contribute/runner-guide/index.html | 38 +++++++------------- content/contribute/testing/index.html | 36 ++++++++----------- 5 files changed, 57 insertions(+), 72 deletions(-) diff --git a/content/contribute/contribution-guide/index.html b/content/contribute/contribution-guide/index.html index 96e09a4..a3fd4c4 100644 --- a/content/contribute/contribution-guide/index.html +++ b/content/contribute/contribution-guide/index.html @@ -428,9 +428,9 @@ to prevent the issue from reoccurring.</p> <h4 id="java-sdk">Java SDK</h4> -<p>For contributions to the Java code, run unit tests locally via Maven.</p> +<p>For contributions to the Java code, run checks locally via Gradle.</p> -<div class="highlighter-rouge"><pre class="highlight"><code>$ mvn clean verify +<div class="highlighter-rouge"><pre class="highlight"><code>$ ./gradlew :beam-sdks-java-core:check --rerun-tasks </code></pre> </div> @@ -460,11 +460,11 @@ $ tox -e lint_py2,lint_py3 </code></pre> </div> -<p>Beam supports running Python SDK tests using Maven. For this, navigate to root +<p>Beam supports running Python SDK tests using Gradle. For this, navigate to root directory of your Apache Beam clone and execute following command. Currently this cannot be run from a virtual environment.</p> -<div class="highlighter-rouge"><pre class="highlight"><code>$ mvn clean verify -pl sdks/python +<div class="highlighter-rouge"><pre class="highlight"><code>$ ./gradlew :beam-sdks-python:check --rerun-tasks </code></pre> </div> diff --git a/content/contribute/intellij/index.html b/content/contribute/intellij/index.html index 34dd189..896acd8 100644 --- a/content/contribute/intellij/index.html +++ b/content/contribute/intellij/index.html @@ -145,7 +145,7 @@ <ul class="nav"> - <li><a href="#enable-annotation-processing">Enable Annotation Processing</a></li> + <li><a href="#create-a-working-gradle-module">Create a working Gradle module</a></li> <li><a href="#checkstyle">Checkstyle</a></li> <li><a href="#code-style">Code Style</a></li> </ul> @@ -168,29 +168,34 @@ <p>Mastering IntelliJ is, ultimately, your responsibility.</p> </blockquote> -<h2 id="enable-annotation-processing">Enable Annotation Processing</h2> - -<p>To configure annotation processing in IntelliJ:</p> +<h2 id="create-a-working-gradle-module">Create a working Gradle module</h2> <ol> - <li>Open Annotation Processors Settings dialog box by going to Settings -> -Build, Execution, Deployment -> Compiler -> Annotation Processors</li> - <li>Select the following buttons: - <ul> - <li>“Enable annotation processing”</li> - <li>“Obtain processors from project classpath”</li> - <li>“Store generated sources relative to: <em>Module content root</em>”</li> - </ul> - </li> - <li>Set the generated source directories to be equal to the Maven directories: - <ul> - <li>Set “Production sources directory:” to <code class="highlighter-rouge">target/generated-sources/annotations</code></li> - <li>Set “Test sources directory:” to <code class="highlighter-rouge">target/generated-test-sources/test-annotations</code></li> - </ul> + <li>Create an empty IntelliJ project outside of the Beam source tree.</li> + <li>Under Project Structure > Project, select a Project SDK.</li> + <li>Under Project Structure > Modules, click the + sign to add a module and +select “Import Module”. + <ol> + <li>Select the directory containing the Beam source tree.</li> + <li>Tick the “Import module from external model” button and select Gradle +from the list.</li> + <li>Tick the following boxes. + <ul> + <li>Create separate module per source set</li> + <li>Store generated project files externally</li> + <li>Use default gradle wrapper</li> + </ul> + </li> + </ol> </li> - <li>Click “OK”</li> + <li>Delegate build actions to Gradle by going to Settings > Build, Execution, +Deployment > Build Tools > Gradle and checking “Delegate IDE build/run +actions to gradle”.</li> </ol> +<p>This should result in a working Gradle project. Build the project by executing +the “build” task in the root Gradle module.</p> + <h2 id="checkstyle">Checkstyle</h2> <p>IntelliJ supports checkstyle within the IDE using the Checkstyle-IDEA plugin.</p> @@ -198,7 +203,7 @@ Build, Execution, Deployment -> Compiler -> Annotation Processors</li> <ol> <li>Install the “Checkstyle-IDEA” plugin from the IntelliJ plugin repository</li> <li>Configure the plugin by going to Settings -> Other Settings -> Checkstyle</li> - <li>Set Checkstyle version to the same as in <code class="highlighter-rouge">/pom.xml</code> (e.g. 6.19)</li> + <li>Set Checkstyle version to the same as in <code class="highlighter-rouge">/build_rules.gradle</code> (e.g. 8.7)</li> <li>Set the “Scan Scope” to “Only Java sources (including tests)”</li> <li>In the “Configuration File” pane, add a new configuration using the plus icon: <ol> diff --git a/content/contribute/maturity-model/index.html b/content/contribute/maturity-model/index.html index 69c3b34..e02d564 100644 --- a/content/contribute/maturity-model/index.html +++ b/content/contribute/maturity-model/index.html @@ -206,7 +206,7 @@ graduation process and is no longer being maintained.</em></p> <tr> <td><p>CD30</p></td> <td><p>The code can be built in a reproducible way using widely available standard tools.</p></td> - <td><p><b>YES.</b> The project uses Apache Maven and can be built via <a href="https://github.com/apache/beam/blob/master/README.md">the standard “mvn install” on any platform</a>.</p></td> + <td><p><b>YES.</b> The project uses Gradle and can be built via <a href="https://github.com/apache/beam/blob/master/README.md">the standard “gradle build” on any platform</a>.</p></td> </tr> <tr> <td><p>CD40</p></td> diff --git a/content/contribute/runner-guide/index.html b/content/contribute/runner-guide/index.html index 007e55e..4267f9b 100644 --- a/content/contribute/runner-guide/index.html +++ b/content/contribute/runner-guide/index.html @@ -931,35 +931,21 @@ matching a <code class="highlighter-rouge">ParDo</code> where the <code class="h <p>The Beam Java SDK and Python SDK have suites of runner validation tests. The configuration may evolve faster than this document, so check the configuration of other Beam runners. But be aware that we have tests and you can use them -very easily! To enable these tests in a Java-based runner using Maven, you +very easily! To enable these tests in a Java-based runner using Gradle, you scan the dependencies of the SDK for tests with the JUnit category <code class="highlighter-rouge">ValidatesRunner</code>.</p> -<div class="language-xml no-toggle highlighter-rouge"><pre class="highlight"><code><span class="nt"><plugin></span> - <span class="nt"><groupId></span>org.apache.maven.plugins<span class="nt"></groupId></span> - <span class="nt"><artifactId></span>maven-surefire-plugin<span class="nt"></artifactId></span> - <span class="nt"><executions></span> - <span class="nt"><execution></span> - <span class="nt"><id></span>validates-runner-tests<span class="nt"></id></span> - <span class="nt"><phase></span>integration-test<span class="nt"></phase></span> - <span class="nt"><goals><goal></span>test<span class="nt"></goal></goals></span> - <span class="nt"><configuration></span> - <span class="nt"><groups></span>org.apache.beam.sdk.testing.ValidatesRunner<span class="nt"></groups></span> - <span class="nt"><dependenciesToScan></span> - <span class="nt"><dependency></span>org.apache.beam:beam-sdks-java-core<span class="nt"></dependency></span> - <span class="nt"></dependenciesToScan></span> - <span class="nt"><systemPropertyVariables></span> - <span class="nt"><beamTestPipelineOptions></span> - [ - "--runner=MyRunner", - … misc test options … - ] - <span class="nt"></beamTestPipelineOptions></span> - <span class="nt"></systemPropertyVariables></span> - <span class="nt"></configuration></span> - <span class="nt"></execution></span> - <span class="nt"></executions></span> -<span class="nt"></plugin></span> +<div class="no-toggle highlighter-rouge"><pre class="highlight"><code>task validatesRunner(type: Test) { + group = "Verification" + description = "Validates the runner" + def pipelineOptions = JsonOutput.toJson(["--runner=MyRunner", ... misc test options ...]) + systemProperty "beamTestPipelineOptions", pipelineOptions + classpath = configurations.validatesRunner + testClassesDirs = files(project(":sdks:java:core").sourceSets.test.output.classesDirs) + useJUnit { + includeCategories 'org.apache.beam.sdk.testing.ValidatesRunner' + } +} </code></pre> </div> diff --git a/content/contribute/testing/index.html b/content/contribute/testing/index.html index 89d5365..61a6dc3 100644 --- a/content/contribute/testing/index.html +++ b/content/contribute/testing/index.html @@ -363,7 +363,7 @@ details on those testing types.</p> </td> <td>Correctness </td> - <td>E2E Test, <a href="https://github.com/apache/beam/blob/master/runners/pom.xml#L47">@ValidatesRunner</a> + <td>E2E Test, @ValidatesRunner </td> <td><a href="https://github.com/apache/beam/blob/master/examples/java/src/test/java/org/apache/beam/examples/WordCountIT.java#L78">WordCountIT</a>, <a href="https://github.com/apache/beam/blob/master/sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/ParDoTest.java">ParDoTest</a> </td> @@ -521,31 +521,26 @@ desired configurations.</p> <h4 id="how-to-run-java-needsrunner-tests">How to run Java NeedsRunner tests</h4> -<p>NeedsRunner is a category of tests that require a Beam runner. A subset of these -tests cannot be executed while building their corresponding modules because all -runners depend on these modules (e.g. <code class="highlighter-rouge">sdks/java/core</code>) to be built. To break -the circular dependency, these tests are executed after the Direct Runner is -built.</p> +<p>NeedsRunner is a category of tests that require a Beam runner. To run +NeedsRunner tests:</p> -<p>To run this subset of the NeedsRunner tests (requires Maven 3.3.1+):</p> - -<div class="highlighter-rouge"><pre class="highlight"><code>$ mvn -pl runners/direct-java -am install -DskipTests -$ mvn -pl runners/direct-java surefire:test@validates-runner-tests +<div class="highlighter-rouge"><pre class="highlight"><code>$ ./gradlew :runners:direct-java:needsRunnerTests </code></pre> </div> <p>To run a single NeedsRunner test use the <code class="highlighter-rouge">test</code> property, e.g.</p> -<div class="highlighter-rouge"><pre class="highlight"><code>$ mvn -pl runners/direct-java surefire:test@validates-runner-tests -Dtest=MapElementsTest#testMapBasic +<div class="highlighter-rouge"><pre class="highlight"><code>$ ./gradlew :runners:direct-java:needsRunnerTests --tests org.apache.beam.sdk.transforms.MapElementsTest.testMapBasic </code></pre> </div> <p>will run the <code class="highlighter-rouge">MapElementsTest.testMapBasic()</code> test.</p> <p>NeedsRunner tests in modules that are not required to build runners (e.g. -<code class="highlighter-rouge">sdks/java/io/jdbc</code>) can be executed with the <code class="highlighter-rouge">mvn test</code> command:</p> +<code class="highlighter-rouge">sdks/java/io/google-cloud-platform</code>) can be executed with the <code class="highlighter-rouge">gradle test</code> +command:</p> -<div class="highlighter-rouge"><pre class="highlight"><code>mvn -pl sdks/java/io/jdbc test -Dgroups=org.apache.beam.sdk.testing.NeedsRunner +<div class="highlighter-rouge"><pre class="highlight"><code>$ ./gradlew sdks:java:io:google-cloud-platform:test --tests org.apache.beam.sdk.io.gcp.spanner.SpannerIOWriteTest </code></pre> </div> @@ -581,14 +576,13 @@ from the Beam examples, or custom-built pipelines, the framework will provide hooks during several pipeline lifecycle events, e.g., pipeline creation, pipeline success, and pipeline failure, to allow verification of pipeline state.</p> -<p>The E2E testing framework is currently built to hook into the <a href="http://maven.apache.org/surefire/maven-failsafe-plugin/">Maven Failsafe -Integration Test -plugin</a>, which means it -is tightly integrated with the overall build process. Once it is determined how -Python and other future languages will integrate into the overall build/test -system (via Maven or otherwise) we will adjust this. The framework provides a -wrapper around actual Beam pipelines, enabling those pipelines to be run in an -environment which facilitates verification of pipeline results and details.</p> +<p>The E2E testing framework is currently built to execute the tests in <a href="https://github.com/GoogleCloudPlatform/PerfKitBenchmarker">PerfKit +Benchmarker</a>, +invoked via Gradle tasks. Once it is determined how Python and other future +languages will integrate into the overall build/test system (via Gradle or +otherwise) we will adjust this. The framework provides a wrapper around actual +Beam pipelines, enabling those pipelines to be run in an environment which +facilitates verification of pipeline results and details.</p> <p>Verifiers include:</p> -- To stop receiving notification emails like this one, please contact mergebot-r...@apache.org.