Skip to content

Commit

Permalink
feature: Support build documents incrementally
Browse files Browse the repository at this point in the history
  • Loading branch information
Fioooooooo committed Nov 14, 2023
1 parent e5a0743 commit b9ed9a6
Show file tree
Hide file tree
Showing 35 changed files with 1,584 additions and 183 deletions.
5 changes: 5 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,11 @@
<artifactId>slf4j-api</artifactId>
<version>2.0.7</version>
</dependency>
<dependency>
<groupId>org.eclipse.jgit</groupId>
<artifactId>org.eclipse.jgit</artifactId>
<version>5.13.2.202306221912-r</version>
</dependency>
</dependencies>
<build>
<plugins>
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/ly/doc/builder/AdocDocBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import com.ly.doc.factory.BuildTemplateFactory;
import com.ly.doc.model.ApiConfig;
import com.ly.doc.model.ApiDoc;
import com.ly.doc.template.IDocBuildTemplate;
import com.ly.doc.template.AbstractDocBuildTemplate;
import com.ly.doc.helper.JavaProjectBuilderHelper;
import com.thoughtworks.qdox.JavaProjectBuilder;

Expand Down Expand Up @@ -63,7 +63,7 @@ public static void buildApiDoc(ApiConfig config, JavaProjectBuilder javaProjectB
config.setParamsDataToTree(false);
config.setAdoc(true);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder);
IDocBuildTemplate<ApiDoc> docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
AbstractDocBuildTemplate<ApiDoc> docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
List<ApiDoc> apiDocList = docBuildTemplate.getApiData(configBuilder);
if (config.isAllInOne()) {
String docName = builderTemplate.allInOneDocName(config, INDEX_DOC, ".adoc");
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/ly/doc/builder/ApiDocBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import com.ly.doc.factory.BuildTemplateFactory;
import com.ly.doc.model.ApiConfig;
import com.ly.doc.model.ApiDoc;
import com.ly.doc.template.IDocBuildTemplate;
import com.ly.doc.template.AbstractDocBuildTemplate;
import com.power.common.util.DateTimeUtil;
import com.ly.doc.helper.JavaProjectBuilderHelper;
import com.thoughtworks.qdox.JavaProjectBuilder;
Expand Down Expand Up @@ -62,7 +62,7 @@ public static void buildApiDoc(ApiConfig config, JavaProjectBuilder javaProjectB
config.setAdoc(false);
config.setParamsDataToTree(false);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder);
IDocBuildTemplate<ApiDoc> docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
AbstractDocBuildTemplate<ApiDoc> docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
List<ApiDoc> apiDocList = docBuildTemplate.getApiData(configBuilder);
if (config.isAllInOne()) {
String version = config.isCoverOld() ? "" : "-V" + DateTimeUtil.long2Str(System.currentTimeMillis(), DATE_FORMAT);
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/ly/doc/builder/DocBuilderTemplate.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

import com.ly.doc.constants.*;
import com.ly.doc.factory.BuildTemplateFactory;
import com.ly.doc.template.IDocBuildTemplate;
import com.ly.doc.template.AbstractDocBuildTemplate;
import com.ly.doc.utils.DocUtil;
import com.power.common.util.CollectionUtil;
import com.power.common.util.DateTimeUtil;
Expand Down Expand Up @@ -381,7 +381,7 @@ private List<ApiDoc> listOfApiData(ApiConfig config, JavaProjectBuilder javaProj
this.checkAndInitForGetApiData(config);
config.setMd5EncryptedHtmlName(true);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder);
IDocBuildTemplate docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
AbstractDocBuildTemplate docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
return docBuildTemplate.getApiData(configBuilder);
}

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/ly/doc/builder/HtmlApiDocBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
import com.ly.doc.factory.BuildTemplateFactory;
import com.ly.doc.model.ApiConfig;
import com.ly.doc.model.ApiDoc;
import com.ly.doc.template.IDocBuildTemplate;
import com.ly.doc.template.AbstractDocBuildTemplate;
import com.power.common.util.FileUtil;
import com.ly.doc.helper.JavaProjectBuilderHelper;
import com.ly.doc.utils.BeetlTemplateUtil;
Expand Down Expand Up @@ -66,7 +66,7 @@ public static void buildApiDoc(ApiConfig config, JavaProjectBuilder javaProjectB
builderTemplate.checkAndInit(config, Boolean.TRUE);
config.setParamsDataToTree(false);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder);
IDocBuildTemplate<ApiDoc> docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
AbstractDocBuildTemplate<ApiDoc> docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
List<ApiDoc> apiDocList = docBuildTemplate.getApiData(configBuilder);
Template indexCssTemplate = BeetlTemplateUtil.getByName(DocGlobalConstants.ALL_IN_ONE_CSS);
FileUtil.nioWriteFile(indexCssTemplate.render(), config.getOutPath() + DocGlobalConstants.FILE_SEPARATOR + DocGlobalConstants.ALL_IN_ONE_CSS_OUT);
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/ly/doc/builder/PostmanJsonBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
import com.ly.doc.constants.DocGlobalConstants;
import com.ly.doc.constants.Methods;
import com.ly.doc.factory.BuildTemplateFactory;
import com.ly.doc.template.IDocBuildTemplate;
import com.ly.doc.template.AbstractDocBuildTemplate;
import com.power.common.util.CollectionUtil;
import com.power.common.util.FileUtil;
import com.power.common.util.StringUtil;
Expand Down Expand Up @@ -255,7 +255,7 @@ private static List<HeaderBean> buildHeaderBeanList(ApiMethodDoc apiMethodDoc) {
}

private static void postManCreate(ApiConfig config, ProjectDocConfigBuilder configBuilder) {
IDocBuildTemplate<ApiDoc> docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
AbstractDocBuildTemplate<ApiDoc> docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
List<ApiDoc> apiDocList = docBuildTemplate.getApiData(configBuilder);
RequestItem requestItem = new RequestItem();
requestItem.setInfo(new InfoBean(config.getProjectName()));
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/ly/doc/builder/TornaBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

import com.ly.doc.model.ApiConfig;
import com.ly.doc.model.ApiDoc;
import com.ly.doc.template.IDocBuildTemplate;
import com.ly.doc.template.AbstractDocBuildTemplate;
import com.ly.doc.utils.TornaUtil;
import com.ly.doc.constants.TornaConstants;
import com.ly.doc.factory.BuildTemplateFactory;
Expand Down Expand Up @@ -67,7 +67,7 @@ public static void buildApiDoc(ApiConfig config, JavaProjectBuilder javaProjectB
DocBuilderTemplate builderTemplate = new DocBuilderTemplate();
builderTemplate.checkAndInit(config, Boolean.FALSE);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder);
IDocBuildTemplate<ApiDoc> docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
AbstractDocBuildTemplate<ApiDoc> docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
List<ApiDoc> apiDocList = docBuildTemplate.getApiData(configBuilder);
apiDocList = docBuildTemplate.handleApiGroup(apiDocList, config);
buildTorna(apiDocList, config, javaProjectBuilder);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
import com.ly.doc.constants.DocGlobalConstants;
import com.ly.doc.factory.BuildTemplateFactory;
import com.ly.doc.model.openapi.OpenApiTag;
import com.ly.doc.template.IDocBuildTemplate;
import com.ly.doc.template.AbstractDocBuildTemplate;
import com.ly.doc.utils.DocUtil;
import com.ly.doc.utils.OpenApiSchemaUtil;
import com.thoughtworks.qdox.JavaProjectBuilder;
Expand Down Expand Up @@ -454,7 +454,7 @@ public List<ApiDoc> getOpenApiDocs(ApiConfig config, JavaProjectBuilder projectB
builderTemplate.checkAndInit(config, Boolean.TRUE);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, projectBuilder);
config.setParamsDataToTree(true);
IDocBuildTemplate docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
AbstractDocBuildTemplate docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
return docBuildTemplate.getApiData(configBuilder);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
import com.ly.doc.model.ApiErrorCode;
import com.ly.doc.model.rpc.RpcApiAllData;
import com.ly.doc.model.rpc.RpcApiDoc;
import com.ly.doc.template.IDocBuildTemplate;
import com.ly.doc.template.AbstractDocBuildTemplate;
import com.ly.doc.utils.DocUtil;
import com.power.common.util.CollectionUtil;
import com.power.common.util.DateTimeUtil;
Expand Down Expand Up @@ -215,7 +215,7 @@ private List<RpcApiDoc> listOfApiData(ApiConfig config, JavaProjectBuilder javaP
this.checkAndInitForGetApiData(config);
config.setMd5EncryptedHtmlName(true);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder);
IDocBuildTemplate<RpcApiDoc> docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
AbstractDocBuildTemplate<RpcApiDoc> docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
return docBuildTemplate.getApiData(configBuilder);
}

Expand All @@ -224,7 +224,7 @@ public List<RpcApiDoc> getRpcApiDoc(ApiConfig config, JavaProjectBuilder javaPro
// check
checkAndInit(config);
ProjectDocConfigBuilder configBuilder = new ProjectDocConfigBuilder(config, javaProjectBuilder);
IDocBuildTemplate<RpcApiDoc> docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
AbstractDocBuildTemplate<RpcApiDoc> docBuildTemplate = BuildTemplateFactory.getDocBuildTemplate(config.getFramework());
return docBuildTemplate.getApiData(configBuilder);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@

import com.power.common.model.EnumDictionary;

import javax.annotation.Nonnull;
import java.util.Collection;
import java.util.Collections;

Expand All @@ -38,8 +37,7 @@ public interface DictionaryValuesResolver {
* @param clazz dictionary class
* @return the dictionary
*/
@Nonnull
default <T extends EnumDictionary> Collection<T> resolve(@Nonnull Class<?> clazz) {
default <T extends EnumDictionary> Collection<T> resolve(Class<?> clazz) {
return resolve();
}

Expand All @@ -48,7 +46,6 @@ default <T extends EnumDictionary> Collection<T> resolve(@Nonnull Class<?> clazz
*
* @see #resolve(Class)
*/
@Nonnull
default <T extends EnumDictionary> Collection<T> resolve() {
return Collections.emptyList();
}
Expand Down
7 changes: 4 additions & 3 deletions src/main/java/com/ly/doc/factory/BuildTemplateFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@
package com.ly.doc.factory;

import com.ly.doc.constants.FrameworkEnum;
import com.ly.doc.template.IDocBuildTemplate;
import com.ly.doc.model.IDoc;
import com.ly.doc.template.AbstractDocBuildTemplate;

/**
* @author yu 2021/6/27.
Expand All @@ -35,10 +36,10 @@ public class BuildTemplateFactory {
* @param <T> API doc type
* @return Implements of IDocBuildTemplate
*/
public static <T> IDocBuildTemplate getDocBuildTemplate(String framework) {
public static <T extends IDoc> AbstractDocBuildTemplate<T> getDocBuildTemplate(String framework) {
String className = FrameworkEnum.getClassNameByFramework(framework);
try {
return (IDocBuildTemplate) Class.forName(className).newInstance();
return (AbstractDocBuildTemplate<T>) Class.forName(className).newInstance();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
Expand Down
Loading

0 comments on commit b9ed9a6

Please sign in to comment.