[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6ACDF6YTQG62GC4JKAVQBJS":3,"skill-same:01M6ACDF6YTQG62GC4JKAVQBJS":60},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":37,"commitSha":38,"skillDirectory":39,"forksCount":40,"repositoryHtmlUrl":41,"repositoryHomepageUrl":42,"ownerHtmlUrl":43,"ownerBlogUrl":44,"ownerDescription":6,"updatedAt":45,"install":46,"resources":59},"01M6ACDF6YTQG62GC4JKAVQBJS","gradle-build",null,"Guides understanding and using the Gradle build system in Apache Beam. Use when building projects, understanding dependencies, or troubleshooting build issues.","apache\u002Fbeam","apache","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F47359?v=4","01M6AC83E6K4FDKK7HZ8WNMQKE","The Apache Software Foundation","01M6ACCXED4SMY85J25QX8K9SY",8716,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fapache\u002Fbeam\u002Fblob\u002Fmaster\u002F.agent\u002Fskills\u002Fgradle-build\u002FSKILL.md",[],[19,20,21,22,23,24,9,25,26,27,28,29,30,31],"gradle build","build","gradle","beam","building projects","issues","projects","system","troubleshooting","use","dependencies","guides","when","2026-11-10 10:12:30",false,"---\n# Licensed to the Apache Software Foundation (ASF) under one\n# or more contributor license agreements.  See the NOTICE file\n# distributed with this work for additional information\n# regarding copyright ownership.  The ASF licenses this file\n# to you under the Apache License, Version 2.0 (the\n# \"License\"); you may not use this file except in compliance\n# with the License.  You may obtain a copy of the License at\n#\n#   http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing,\n# software distributed under the License is distributed on an\n# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n# KIND, either express or implied.  See the License for the\n# specific language governing permissions and limitations\n# under the License.\n\nname: gradle-build\ndescription: Guides understanding and using the Gradle build system in Apache Beam. Use when building projects, understanding dependencies, or troubleshooting build issues.\n---\n\n# Gradle Build System in Apache Beam\n\n## Overview\nApache Beam is a mono-repo using Gradle as its build system. The entire project (Java, Python, Go, website) is managed as a single Gradle project.\n\n## Key Files\n- `build.gradle.kts` - Root build configuration\n- `settings.gradle.kts` - Project structure and module definitions\n- `gradle.properties` - Global properties and versions\n- `buildSrc\u002F` - Custom Gradle plugins including BeamModulePlugin\n\n## BeamModulePlugin\nLocated at `buildSrc\u002Fsrc\u002Fmain\u002Fgroovy\u002Forg\u002Fapache\u002Fbeam\u002Fgradle\u002FBeamModulePlugin.groovy`\n\n### Purpose\n- Manages Java dependencies centrally\n- Configures project types (Java, Python, Go, Proto, Docker, etc.)\n- Defines common custom tasks\n\n### Java Project Configuration\n```groovy\napply plugin: 'org.apache.beam.module'\napplyJavaNature(\n    automaticModuleName: 'org.apache.beam.sdk.io.kafka'\n)\n```\n\n## Common Commands\n\n### Build\n```bash\n# Build entire project\n.\u002Fgradlew build\n\n# Build specific project\n.\u002Fgradlew :sdks:java:core:build\n.\u002Fgradlew -p sdks\u002Fjava\u002Fcore build\n\n# Compile only (no tests)\n.\u002Fgradlew :sdks:java:core:compileJava\n```\n\n### Test\n```bash\n# Run tests\n.\u002Fgradlew :sdks:java:core:test\n\n# Run specific test\n.\u002Fgradlew :sdks:java:core:test --tests *MyTest\n\n# Skip tests\n.\u002Fgradlew build -x test\n```\n\n### Clean\n```bash\n# Clean specific project\n.\u002Fgradlew :sdks:java:core:clean\n\n# Clean everything\n.\u002Fgradlew clean\n```\n\n### Formatting\n```bash\n# Java formatting (Spotless)\n.\u002Fgradlew spotlessApply\n\n# Check formatting\n.\u002Fgradlew spotlessCheck\n\n# Format and validate CHANGES.md\n.\u002Fgradlew formatChanges\n.\u002Fgradlew validateChanges\n```\n\n### Publishing\n```bash\n# Publish to Maven Local\n.\u002Fgradlew -Ppublishing :sdks:java:core:publishToMavenLocal\n\n# Publish all Java artifacts\n.\u002Fgradlew -Ppublishing publishToMavenLocal\n```\n\n## Pre-commit Tasks\n\n### Java\n```bash\n.\u002Fgradlew javaPreCommit\n```\n\n### Python\n```bash\n.\u002Fgradlew pythonPreCommit\n```\n\n### Combined\n```bash\n.\u002Fgradlew :checkSetup  # Validates Go, Java, Python environments\n```\n\n## Useful Flags\n\n| Flag | Description |\n|------|-------------|\n| `-p \u003Cpath>` | Run task in specific project directory |\n| `-x \u003Ctask>` | Exclude task |\n| `--tests \u003Cpattern>` | Filter tests |\n| `-Ppublishing` | Enable publishing tasks |\n| `-PdisableSpotlessCheck=true` | Disable formatting check |\n| `-PdisableCheckStyle=true` | Disable checkstyle |\n| `-PskipCheckerFramework` | Skip Checker Framework |\n| `--continue` | Continue after failures |\n| `--info` | Verbose output |\n| `--debug` | Debug output |\n| `--scan` | Generate build scan |\n| `--parallel` | Parallel execution |\n\n## GCP-related Properties\n\n```bash\n-PgcpProject=my-project\n-PgcpRegion=us-central1\n-PgcpTempRoot=gs:\u002F\u002Fbucket\u002Ftemp\n-PgcsTempRoot=gs:\u002F\u002Fbucket\u002Ftemp\n```\n\n## Docker Tasks\n\n```bash\n# Build Java SDK container\n.\u002Fgradlew :sdks:java:container:java11:docker\n\n# Build Python SDK container\n.\u002Fgradlew :sdks:python:container:py312:docker\n\n# Build and push a container into a custom repository\n.\u002Fgradlew :sdks:java:container:java11:docker \\\n  -Pdocker-repository-root=gcr.io\u002Fproject \\\n  -Pdocker-tag=custom \\\n  -Ppush-containers\n```\n\nIf a `:docker` task produces logs that contain the following:\n\n```\nWARNING: No output specified with docker-container driver.\nBuild result will only remain in the build cache.\n```\n\nthen you must use `-PuseDockerBuildx` when running `:docker` tasks\nin this environment. For example:\n\n```\n# Build and push a go container into a custom repository\n.\u002Fgradlew :sdks:go:container:docker \\\n  -Pdocker-repository-root=gcr.io\u002Fproject \\\n  -Pdocker-tag=custom \\\n  -Ppush-containers \\\n  -PuseDockerBuildx\n```\n\n## Dependency Management\n\n### View Dependencies\n```bash\n.\u002Fgradlew :sdks:java:core:dependencies\n.\u002Fgradlew :sdks:java:core:dependencies --configuration runtimeClasspath\n```\n\n### Force Dependency Version\nIn `build.gradle`:\n```groovy\nconfigurations.all {\n    resolutionStrategy.force 'com.google.guava:guava:32.0.0-jre'\n}\n```\n\n## Troubleshooting\n\n### Clean Gradle Cache\n```bash\nrm -rf ~\u002F.gradle\u002Fcaches\nrm -rf .gradle\nrm -rf build\n```\n\n### Common Errors\n\n#### NoClassDefFoundError\n- Run `.\u002Fgradlew clean`\n- Delete gradle cache\n\n#### Proto-related Errors\n- Regenerate protos: `.\u002Fgradlew generateProtos`\n\n#### Dependency Conflicts\n- Check dependencies: `.\u002Fgradlew dependencies`\n- Use `--scan` for detailed analysis\n\n### Useful Tasks\n\n```bash\n# List all tasks\n.\u002Fgradlew tasks\n\n# List tasks for a project\n.\u002Fgradlew :sdks:java:core:tasks\n\n# Show project structure\n.\u002Fgradlew projects\n```\n\n## IDE Integration\n\n### IntelliJ\n1. Open repository root as Gradle project\n2. Wait for indexing\n3. Gradle tool window shows all tasks\n\n### VS Code\nInstall Gradle extension for task discovery\n","# Gradle Build System in Apache Beam\n\n## Overview\nApache Beam is a mono-repo using Gradle as its build system. The entire project (Java, Python, Go, website) is managed as a single Gradle project.\n\n## Key Files\n- `build.gradle.kts` - Root build configuration\n- `settings.gradle.kts` - Project structure and module definitions\n- `gradle.properties` - Global properties and versions\n- `buildSrc\u002F` - Custom Gradle plugins including BeamModulePlugin\n\n## BeamModulePlugin\nLocated at `buildSrc\u002Fsrc\u002Fmain\u002Fgroovy\u002Forg\u002Fapache\u002Fbeam\u002Fgradle\u002FBeamModulePlugin.groovy`\n\n### Purpose\n- Manages Java dependencies centrally\n- Configures project types (Java, Python, Go, Proto, Docker, etc.)\n- Defines common custom tasks\n\n### Java Project Configuration\n```groovy\napply plugin: 'org.apache.beam.module'\napplyJavaNature(\n    automaticModuleName: 'org.apache.beam.sdk.io.kafka'\n)\n```\n\n## Common Commands\n\n### Build\n```bash\n# Build entire project\n.\u002Fgradlew build\n\n# Build specific project\n.\u002Fgradlew :sdks:java:core:build\n.\u002Fgradlew -p sdks\u002Fjava\u002Fcore build\n\n# Compile only (no tests)\n.\u002Fgradlew :sdks:java:core:compileJava\n```\n\n### Test\n```bash\n# Run tests\n.\u002Fgradlew :sdks:java:core:test\n\n# Run specific test\n.\u002Fgradlew :sdks:java:core:test --tests *MyTest\n\n# Skip tests\n.\u002Fgradlew build -x test\n```\n\n### Clean\n```bash\n# Clean specific project\n.\u002Fgradlew :sdks:java:core:clean\n\n# Clean everything\n.\u002Fgradlew clean\n```\n\n### Formatting\n```bash\n# Java formatting (Spotless)\n.\u002Fgradlew spotlessApply\n\n# Check formatting\n.\u002Fgradlew spotlessCheck\n\n# Format and validate CHANGES.md\n.\u002Fgradlew formatChanges\n.\u002Fgradlew validateChanges\n```\n\n### Publishing\n```bash\n# Publish to Maven Local\n.\u002Fgradlew -Ppublishing :sdks:java:core:publishToMavenLocal\n\n# Publish all Java artifacts\n.\u002Fgradlew -Ppublishing publishToMavenLocal\n```\n\n## Pre-commit Tasks\n\n### Java\n```bash\n.\u002Fgradlew javaPreCommit\n```\n\n### Python\n```bash\n.\u002Fgradlew pythonPreCommit\n```\n\n### Combined\n```bash\n.\u002Fgradlew :checkSetup  # Validates Go, Java, Python environments\n```\n\n## Useful Flags\n\n| Flag | Description |\n|------|-------------|\n| `-p \u003Cpath>` | Run task in specific project directory |\n| `-x \u003Ctask>` | Exclude task |\n| `--tests \u003Cpattern>` | Filter tests |\n| `-Ppublishing` | Enable publishing tasks |\n| `-PdisableSpotlessCheck=true` | Disable formatting check |\n| `-PdisableCheckStyle=true` | Disable checkstyle |\n| `-PskipCheckerFramework` | Skip Checker Framework |\n| `--continue` | Continue after failures |\n| `--info` | Verbose output |\n| `--debug` | Debug output |\n| `--scan` | Generate build scan |\n| `--parallel` | Parallel execution |\n\n## GCP-related Properties\n\n```bash\n-PgcpProject=my-project\n-PgcpRegion=us-central1\n-PgcpTempRoot=gs:\u002F\u002Fbucket\u002Ftemp\n-PgcsTempRoot=gs:\u002F\u002Fbucket\u002Ftemp\n```\n\n## Docker Tasks\n\n```bash\n# Build Java SDK container\n.\u002Fgradlew :sdks:java:container:java11:docker\n\n# Build Python SDK container\n.\u002Fgradlew :sdks:python:container:py312:docker\n\n# Build and push a container into a custom repository\n.\u002Fgradlew :sdks:java:container:java11:docker \\\n  -Pdocker-repository-root=gcr.io\u002Fproject \\\n  -Pdocker-tag=custom \\\n  -Ppush-containers\n```\n\nIf a `:docker` task produces logs that contain the following:\n\n```\nWARNING: No output specified with docker-container driver.\nBuild result will only remain in the build cache.\n```\n\nthen you must use `-PuseDockerBuildx` when running `:docker` tasks\nin this environment. For example:\n\n```\n# Build and push a go container into a custom repository\n.\u002Fgradlew :sdks:go:container:docker \\\n  -Pdocker-repository-root=gcr.io\u002Fproject \\\n  -Pdocker-tag=custom \\\n  -Ppush-containers \\\n  -PuseDockerBuildx\n```\n\n## Dependency Management\n\n### View Dependencies\n```bash\n.\u002Fgradlew :sdks:java:core:dependencies\n.\u002Fgradlew :sdks:java:core:dependencies --configuration runtimeClasspath\n```\n\n### Force Dependency Version\nIn `build.gradle`:\n```groovy\nconfigurations.all {\n    resolutionStrategy.force 'com.google.guava:guava:32.0.0-jre'\n}\n```\n\n## Troubleshooting\n\n### Clean Gradle Cache\n```bash\nrm -rf ~\u002F.gradle\u002Fcaches\nrm -rf .gradle\nrm -rf build\n```\n\n### Common Errors\n\n#### NoClassDefFoundError\n- Run `.\u002Fgradlew clean`\n- Delete gradle cache\n\n#### Proto-related Errors\n- Regenerate protos: `.\u002Fgradlew generateProtos`\n\n#### Dependency Conflicts\n- Check dependencies: `.\u002Fgradlew dependencies`\n- Use `--scan` for detailed analysis\n\n### Useful Tasks\n\n```bash\n# List all tasks\n.\u002Fgradlew tasks\n\n# List tasks for a project\n.\u002Fgradlew :sdks:java:core:tasks\n\n# Show project structure\n.\u002Fgradlew projects\n```\n\n## IDE Integration\n\n### IntelliJ\n1. Open repository root as Gradle project\n2. Wait for indexing\n3. Gradle tool window shows all tasks\n\n### VS Code\nInstall Gradle extension for task discovery\n",{"name":5,"description":7},"master","71c11d44598ec69886b399a8c21505d646b2e7a9",".agent\u002Fskills\u002Fgradle-build",4804,"https:\u002F\u002Fgithub.com\u002Fapache\u002Fbeam","https:\u002F\u002Fbeam.apache.org\u002F","https:\u002F\u002Fgithub.com\u002Fapache","https:\u002F\u002Fwww.apache.org\u002F","2026-11-11 11:46:29",{"source":8,"skillName":5,"commands":47,"prompt":57,"zipAvailable":58},[48,51,54],{"tool":49,"command":50},"npx","npx skills add apache\u002Fbeam --skill gradle-build",{"tool":52,"command":53},"bunx","bunx skills add apache\u002Fbeam --skill gradle-build",{"tool":55,"command":56},"pnpm","pnpm dlx skills add apache\u002Fbeam --skill gradle-build","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fapache\u002Fbeam\u002Fblob\u002Fmaster\u002F.agent\u002Fskills\u002Fgradle-build\u002FSKILL.md",true,[],[61,81,97,113,133,147],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":65,"categories":66,"keywords":67,"publishedAt":32},"01M6ACDYBTKYKDP9Z0BQKF7XMZ","yaml-development","Guides YAML SDK development in Apache Beam, including environment setup, testing, and key concepts. Use when working with Beam YAML code in sdks\u002Fpython\u002Fapache_beam\u002Fyaml\u002F.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fbeam\u002Fblob\u002Fmaster\u002F.agent\u002Fskills\u002Fyaml-development\u002FSKILL.md",[],[68,69,70,71,22,72,73,74,75,9,76,28,30,77,78,79,80,31],"development","yaml development","yaml","testing","python","sdk","setup","code","environment","with","environment setup","concepts","sdks",{"skillNo":82,"name":83,"nameZh":6,"description":84,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":85,"categories":86,"keywords":87,"publishedAt":32},"01M6ACDVK2M4QNJ2T0423H23SY","runners","Guides understanding and working with Apache Beam runners (Direct, Dataflow, Flink, Spark, etc.). Use when configuring pipelines for different execution environments or debugging runner-specific issues.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fbeam\u002Fblob\u002Fmaster\u002F.agent\u002Fskills\u002Frunners\u002FSKILL.md",[],[83,22,88,89,24,9,90,91,92,28,93,94,30,77,95,96,31],"spark","debugging","flink","execution","direct","pipelines","runner","environments","for",{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":108,"publishedAt":32},"01M6ACDRVH48A1WBYH9DEETW7F","python-development","Guides Python SDK development in Apache Beam, including environment setup, testing, building, and running pipelines. Use when working with Python code in sdks\u002Fpython\u002F.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fbeam\u002Fblob\u002Fmaster\u002F.agent\u002Fskills\u002Fpython-development\u002FSKILL.md",[103],{"categoryNo":104,"categoryName":105,"taxonomyType":106,"taxonomyTypeDesc":107},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[72,109,68,71,22,73,74,75,9,110,76,28,93,30,77,78,111,80,31,112],"python development","python sdk","python code","running",{"skillNo":114,"name":115,"nameZh":6,"description":116,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":117,"categories":118,"keywords":124,"publishedAt":32},"01M6ACDPYBMSHSQNCFXVJ7VJW3","license-compliance","Ensures all new files include proper Apache 2.0 license headers. Use when creating any new file in the Apache Beam repository.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fbeam\u002Fblob\u002Fmaster\u002F.agent\u002Fskills\u002Flicense-compliance\u002FSKILL.md",[119],{"categoryNo":120,"categoryName":121,"taxonomyType":122,"taxonomyTypeDesc":123},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[125,126,127,22,9,128,129,28,130,131,31,132],"license","license compliance","compliance","file","repository","files","headers","new",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":140,"publishedAt":32},"01M6ACDM2W664NC4FH95B3NC14","java-development","Guides Java SDK development in Apache Beam, including building, testing, running examples, and understanding the project structure. Use when working with Java code in sdks\u002Fjava\u002F, runners\u002F, or examples\u002Fjava\u002F.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fbeam\u002Fblob\u002Fmaster\u002F.agent\u002Fskills\u002Fjava-development\u002FSKILL.md",[139],{"categoryNo":104,"categoryName":105,"taxonomyType":106,"taxonomyTypeDesc":107},[68,141,142,71,22,73,143,75,9,83,144,28,145,146,30,77,80,31,112],"java","java development","project structure","examples","structure","project",{"skillNo":148,"name":149,"nameZh":6,"description":150,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":151,"categories":152,"keywords":154,"publishedAt":32},"01M6ACDHGVH4F8ADMCFR7T34H8","io-connectors","Guides development and usage of I\u002FO connectors in Apache Beam. Use when working with I\u002FO connectors, creating new connectors, or debugging data source\u002Fsink issues.","https:\u002F\u002Fgithub.com\u002Fapache\u002Fbeam\u002Fblob\u002Fmaster\u002F.agent\u002Fskills\u002Fio-connectors\u002FSKILL.md",[153],{"categoryNo":104,"categoryName":105,"taxonomyType":106,"taxonomyTypeDesc":107},[155,156,157,22,89,68,24,9,158,28,30,77,159,160,31,132],"connectors","io connectors","io","data","usage","source"]