This is an automated email from the ASF dual-hosted git repository. songxiaosheng pushed a commit to branch auto_gen_doc in repository https://gitbox.apache.org/repos/asf/dubbo-spi-extensions.git
commit d4096a15d0cb41e3eb61c637f64f5c9853204b9d Author: songxiaosheng <[email protected]> AuthorDate: Sun Oct 1 10:17:20 2023 +0800 :memo: visit code tree to gen doc --- README.md | 76 +++++++++++++++++++++- doc-auto-gen/pom.xml | 32 +++++++++ .../main/java/org/apache/dubbo/doc/DocAutoGen.java | 48 ++++++++++++++ .../src/test/java/org/example/AppTest.java | 38 +++++++++++ pom.xml | 1 + 5 files changed, 194 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ef5d07b..b2e82ce 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,77 @@ # dubbo-spi-extensions - [](https://travis-ci.org/apache/dubbo-spi-extensions) +[](https://codecov.io/gh/apache/dubbo-spi-extensions) +[](https://search.maven.org/search?q=g:org.apache.dubbo%20AND%20a:dubbo-spi-extensions) +[] +- [dubbo-api-docs](dubbo-api-docs) + - [dubbo-api-docs/dubbo-api-docs-annotations](dubbo-api-docs-annotations) + - [dubbo-api-docs/dubbo-api-docs-core](dubbo-api-docs-core) + - [dubbo-api-docs/dubbo-api-docs-examples](dubbo-api-docs-examples) +- [dubbo-cluster-extensions](dubbo-cluster-extensions) + - [dubbo-cluster-extensions/dubbo-cluster-broadcast-1](dubbo-cluster-broadcast-1) + - [dubbo-cluster-extensions/dubbo-cluster-loadbalance-peakewma](dubbo-cluster-loadbalance-peakewma) + - [dubbo-cluster-extensions/dubbo-cluster-polaris-dubbo2](dubbo-cluster-polaris-dubbo2) + - [dubbo-cluster-extensions/dubbo-cluster-specify-address-common](dubbo-cluster-specify-address-common) + - [dubbo-cluster-extensions/dubbo-cluster-specify-address-dubbo2](dubbo-cluster-specify-address-dubbo2) + - [dubbo-cluster-extensions/dubbo-cluster-specify-address-dubbo3](dubbo-cluster-specify-address-dubbo3) +- [dubbo-common-extensions](dubbo-common-extensions) +- [dubbo-configcenter-extensions](dubbo-configcenter-extensions) + - [dubbo-configcenter-extensions/dubbo-configcenter-consul](dubbo-configcenter-consul) + - [dubbo-configcenter-extensions/dubbo-configcenter-etcd](dubbo-configcenter-etcd) +- [dubbo-cross-thread-extensions](dubbo-cross-thread-extensions) +- [dubbo-extensions-dependencies-bom](dubbo-extensions-dependencies-bom) +- [dubbo-extensions-distribution](dubbo-extensions-distribution) + - [dubbo-extensions-distribution/dubbo-apache-release](dubbo-apache-release) + - [dubbo-extensions-distribution/dubbo-bom](dubbo-bom) +- [dubbo-filter-extensions](dubbo-filter-extensions) + - [dubbo-filter-extensions/dubbo-filter-polaris-dubbo2](dubbo-filter-polaris-dubbo2) + - [dubbo-filter-extensions/dubbo-filter-polaris-dubbo2/dubbo-filter-polaris-circuitbreaker-dubbo2](dubbo-filter-polaris-circuitbreaker-dubbo2) + - [dubbo-filter-extensions/dubbo-filter-polaris-dubbo2/dubbo-filter-polaris-ratelimit-dubbo2](dubbo-filter-polaris-ratelimit-dubbo2) + - [dubbo-filter-extensions/dubbo-filter-seata](dubbo-filter-seata) +- [dubbo-gateway-extensions](dubbo-gateway-extensions) + - [dubbo-gateway-extensions/dubbo-gateway-common](dubbo-gateway-common) + - [dubbo-gateway-extensions/dubbo-gateway-consumer](dubbo-gateway-consumer) + - [dubbo-gateway-extensions/dubbo-gateway-provider](dubbo-gateway-provider) +- [dubbo-metadata-report-extensions](dubbo-metadata-report-extensions) + - [dubbo-metadata-report-extensions/dubbo-metadata-report-consul](dubbo-metadata-report-consul) + - [dubbo-metadata-report-extensions/dubbo-metadata-report-etcd](dubbo-metadata-report-etcd) +- [dubbo-mock-extensions](dubbo-mock-extensions) + - [dubbo-mock-extensions/dubbo-mock-admin](dubbo-mock-admin) + - [dubbo-mock-extensions/dubbo-mock-api](dubbo-mock-api) +- [dubbo-registry-extensions](dubbo-registry-extensions) + - [dubbo-registry-extensions/dubbo-registry-consul](dubbo-registry-consul) + - [dubbo-registry-extensions/dubbo-registry-dns](dubbo-registry-dns) + - [dubbo-registry-extensions/dubbo-registry-etcd3](dubbo-registry-etcd3) + - [dubbo-registry-extensions/dubbo-registry-nameservice](dubbo-registry-nameservice) + - [dubbo-registry-extensions/dubbo-registry-polaris](dubbo-registry-polaris) + - [dubbo-registry-extensions/dubbo-registry-redis](dubbo-registry-redis) + - [dubbo-registry-extensions/dubbo-registry-sofa](dubbo-registry-sofa) +- [dubbo-remoting-extensions](dubbo-remoting-extensions) + - [dubbo-remoting-extensions/dubbo-remoting-etcd3](dubbo-remoting-etcd3) + - [dubbo-remoting-extensions/dubbo-remoting-grizzly](dubbo-remoting-grizzly) + - [dubbo-remoting-extensions/dubbo-remoting-mina](dubbo-remoting-mina) + - [dubbo-remoting-extensions/dubbo-remoting-p2p](dubbo-remoting-p2p) + - [dubbo-remoting-extensions/dubbo-remoting-quic](dubbo-remoting-quic) + - [dubbo-remoting-extensions/dubbo-remoting-redis](dubbo-remoting-redis) +- [dubbo-rpc-extensions](dubbo-rpc-extensions) + - [dubbo-rpc-extensions/dubbo-rpc-hessian](dubbo-rpc-hessian) + - [dubbo-rpc-extensions/dubbo-rpc-http](dubbo-rpc-http) + - [dubbo-rpc-extensions/dubbo-rpc-memcached](dubbo-rpc-memcached) + - [dubbo-rpc-extensions/dubbo-rpc-native-thrift](dubbo-rpc-native-thrift) + - [dubbo-rpc-extensions/dubbo-rpc-redis](dubbo-rpc-redis) + - [dubbo-rpc-extensions/dubbo-rpc-rmi](dubbo-rpc-rmi) + - [dubbo-rpc-extensions/dubbo-rpc-rocketmq](dubbo-rpc-rocketmq) + - [dubbo-rpc-extensions/dubbo-rpc-webservice](dubbo-rpc-webservice) +- [dubbo-serialization-extensions](dubbo-serialization-extensions) + - [dubbo-serialization-extensions/dubbo-serialization-avro](dubbo-serialization-avro) + - [dubbo-serialization-extensions/dubbo-serialization-fastjson](dubbo-serialization-fastjson) + - [dubbo-serialization-extensions/dubbo-serialization-fst](dubbo-serialization-fst) + - [dubbo-serialization-extensions/dubbo-serialization-gson](dubbo-serialization-gson) + - [dubbo-serialization-extensions/dubbo-serialization-kryo](dubbo-serialization-kryo) + - [dubbo-serialization-extensions/dubbo-serialization-msgpack](dubbo-serialization-msgpack) + - [dubbo-serialization-extensions/dubbo-serialization-native-hession](dubbo-serialization-native-hession) + - [dubbo-serialization-extensions/dubbo-serialization-protobuf](dubbo-serialization-protobuf) + - [dubbo-serialization-extensions/dubbo-serialization-protostuff](dubbo-serialization-protostuff) + - [dubbo-serialization-extensions/dubbo-serialization-test](dubbo-serialization-test) +- [dubbo-tag-extensions](dubbo-tag-extensions) + - [dubbo-tag-extensions/dubbo-tag-subnets](dubbo-tag-subnets) diff --git a/doc-auto-gen/pom.xml b/doc-auto-gen/pom.xml new file mode 100644 index 0000000..e85c1af --- /dev/null +++ b/doc-auto-gen/pom.xml @@ -0,0 +1,32 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.dubbo.extensions</groupId> + <artifactId>extensions-parent</artifactId> + <version>${revision}</version> + <relativePath>../pom.xml</relativePath> + </parent> + + <version>1.0.1-SNAPSHOT</version> + <description>Dubbo interface documentation, testing tools</description> + + <artifactId>doc-auto-gen</artifactId> + <packaging>jar</packaging> + + <name>doc-auto-gen</name> + <url>http://maven.apache.org</url> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + <scope>test</scope> + </dependency> + </dependencies> +</project> diff --git a/doc-auto-gen/src/main/java/org/apache/dubbo/doc/DocAutoGen.java b/doc-auto-gen/src/main/java/org/apache/dubbo/doc/DocAutoGen.java new file mode 100644 index 0000000..c1c3baf --- /dev/null +++ b/doc-auto-gen/src/main/java/org/apache/dubbo/doc/DocAutoGen.java @@ -0,0 +1,48 @@ +package org.apache.dubbo.doc; + +import java.io.*; +import java.util.Arrays; + +public class DocAutoGen { + public static void main(String[] args) throws IOException { + String filePath = System.getProperty("user.dir"); + File file = new File(filePath); + int level = 0; + String parentPath = ""; + System.setOut(new PrintStream(filePath + "/" + "README.md")); + System.out.println("# dubbo-spi-extensions"); + System.out.println("[](https://travis-ci.org/apache/dubbo-spi-extensions)\n" + + "[](https://codecov.io/gh/apache/dubbo-spi-extensions)\n" + + "[](https://search.maven.org/search?q=g:org.apache.dubbo%20AND%20a:dubbo-spi-extensions)\n" + + "[]"); + visitFile(file, parentPath, level); + } + + private static void visitFile(File file, String parentPath, int level) { + File[] files = file.listFiles(); + // gen code sort by file name + Arrays.sort(files, (o1, o2) -> { + if (o1.isDirectory() && o2.isFile()) { + return -1; + } + if (o1.isFile() && o2.isDirectory()) { + return 1; + } + return o1.getName().compareTo(o2.getName()); + }); + for (int i = 0; i < files.length; i++) { + File f = files[i]; + String name = f.getName(); + if (name.startsWith("dubbo-")) { + String blank = ""; + for (int j = 0; j < level; j++) { + blank += " "; + } + + String currentPath = level == 0 ? name : parentPath + "/" + name; + System.out.println(blank + "- [" + currentPath + "]" + "(" + name + ")"); + visitFile(f, currentPath, level + 1); + } + } + } +} diff --git a/doc-auto-gen/src/test/java/org/example/AppTest.java b/doc-auto-gen/src/test/java/org/example/AppTest.java new file mode 100644 index 0000000..d5f435d --- /dev/null +++ b/doc-auto-gen/src/test/java/org/example/AppTest.java @@ -0,0 +1,38 @@ +package org.example; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +/** + * Unit test for simple App. + */ +public class AppTest + extends TestCase +{ + /** + * Create the test case + * + * @param testName name of the test case + */ + public AppTest( String testName ) + { + super( testName ); + } + + /** + * @return the suite of tests being tested + */ + public static Test suite() + { + return new TestSuite( AppTest.class ); + } + + /** + * Rigourous Test :-) + */ + public void testApp() + { + assertTrue( true ); + } +} diff --git a/pom.xml b/pom.xml index 78b1323..d45ce02 100644 --- a/pom.xml +++ b/pom.xml @@ -97,6 +97,7 @@ <module>dubbo-gateway-extensions</module> <module>dubbo-cross-thread-extensions</module> <module>dubbo-tag-extensions</module> + <module>doc-auto-gen</module> </modules> <properties>
