You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by so...@apache.org on 2023/10/01 02:17:46 UTC
[dubbo-spi-extensions] 01/01: :memo: visit code tree to gen doc
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 <so...@apache.org>
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>