Skip to content

Commit

Permalink
[Feature] add for new
Browse files Browse the repository at this point in the history
  • Loading branch information
houbb committed Mar 14, 2019
1 parent c5afe07 commit ddb6817
Show file tree
Hide file tree
Showing 11 changed files with 179 additions and 20 deletions.
1 change: 1 addition & 0 deletions cgit.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# 提交

git pull
git add .
git commit -m "[Feature] add for new"
git push
Expand Down
2 changes: 1 addition & 1 deletion idoc-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>idoc</artifactId>
<groupId>com.github.houbb</groupId>
<version>0.0.2</version>
<version>0.1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/*
* Copyright (c) 2019. houbinbin Inc.
* idoc All rights reserved.
*/

package com.github.houbb.idoc.api.model.common;

import java.io.Serializable;

/**
* 文档选项
* @author binbin.hou
* @since 0.1.0
*/
public class DocOption implements Serializable {

private static final long serialVersionUID = -8306773716221565448L;

/**
* key
*/
private String key;

/**
* value
*/
private String value;

public String getKey() {
return key;
}

public void setKey(String key) {
this.key = key;
}

public String getValue() {
return value;
}

public void setValue(String value) {
this.value = value;
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package com.github.houbb.idoc.api.model.config;

import java.util.Arrays;
import java.util.Map;

/**
* 文档生成配置信息
* @author binbin.hou
Expand Down Expand Up @@ -32,6 +35,12 @@ public class DocConfig {
*/
private String[] generateFilters;

/**
* 类型别称
* @since 0.1.0
*/
private Map<String, String> typeAliases;

public boolean isOverwriteWhenExists() {
return isOverwriteWhenExists;
}
Expand Down Expand Up @@ -71,4 +80,24 @@ public String[] getGenerateFilters() {
public void setGenerateFilters(String[] generateFilters) {
this.generateFilters = generateFilters;
}

public Map<String, String> getTypeAliases() {
return typeAliases;
}

public void setTypeAliases(Map<String, String> typeAliases) {
this.typeAliases = typeAliases;
}

@Override
public String toString() {
return "DocConfig{" +
"isOverwriteWhenExists=" + isOverwriteWhenExists +
", isAllInOne=" + isAllInOne +
", encoding='" + encoding + '\'' +
", generates=" + Arrays.toString(generates) +
", generateFilters=" + Arrays.toString(generateFilters) +
", typeAliases=" + typeAliases +
'}';
}
}
2 changes: 1 addition & 1 deletion idoc-common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<parent>
<artifactId>idoc</artifactId>
<groupId>com.github.houbb</groupId>
<version>0.0.2</version>
<version>0.1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion idoc-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>idoc</artifactId>
<groupId>com.github.houbb</groupId>
<version>0.0.2</version>
<version>0.1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
package com.github.houbb.idoc.core.mojo;

import com.github.houbb.idoc.api.model.common.DocOption;
import com.github.houbb.idoc.api.model.config.DocConfig;
import com.github.houbb.idoc.common.util.ArrayUtil;
import com.github.houbb.idoc.core.core.impl.AbstractExecuteService;
import com.github.houbb.idoc.core.core.impl.GenerateDocService;
import com.github.houbb.idoc.core.util.JavaTypeAliasUtil;
import com.github.houbb.log.integration.core.Log;
import com.github.houbb.log.integration.core.LogFactory;

import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
Expand All @@ -13,6 +17,9 @@
import org.apache.maven.project.MavenProject;
import org.apache.maven.settings.Settings;

import java.util.HashMap;
import java.util.Map;

/**
* mvn 插件核心类
* @author binbin.hou
Expand Down Expand Up @@ -87,6 +94,14 @@ public class GenerateDocMojo extends AbstractMojo {
*/
@Parameter(property = "generateFilters", required = false)
private String[] generateFilters;

/**
* 最后生成文档的包含过滤器
* 1. 不指定默认所有的类都生成到文档
* 2. 指定之后,只有符合过滤器条件的类才会被生成到文档中。
*/
@Parameter(property = "typeAliases", required = false)
private DocOption[] typeAliases;
//endregion


Expand All @@ -100,6 +115,7 @@ public void execute() throws MojoExecutionException, MojoFailureException {
log.info("------------------------------------ Start generate doc");

DocConfig docConfig = buildDocConfig();
log.info("Generate doc with config:" + docConfig);
AbstractExecuteService executeService = new GenerateDocService(project, docConfig);
try {
executeService.setExcludes(excludes).setIncludes(includes);
Expand All @@ -122,8 +138,30 @@ private DocConfig buildDocConfig() {
docConfig.setOverwriteWhenExists(isOverwriteWhenExists);
docConfig.setGenerates(generates);
docConfig.setGenerateFilters(generateFilters);
docConfig.setTypeAliases(initTypeAliases());
return docConfig;
}

/**
* 初始化类型别名信息
* @return map 信息
*/
private Map<String, String> initTypeAliases() {
Map<String, String> map = new HashMap<>();
// 默认配置信息
Map<String, String> aliasMap = JavaTypeAliasUtil.getTypeAliasMap();
for(Map.Entry<String, String> entry : aliasMap.entrySet()) {
map.put(entry.getKey(), entry.getValue());
}

// 用户自定义信息
if(ArrayUtil.isNotEmpty(typeAliases)) {
for(DocOption docOption : typeAliases) {
map.put(docOption.getKey(), docOption.getValue());
}
}
return map;
}


}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/*
* Copyright (c) 2019. houbinbin Inc.
* idoc All rights reserved.
*/

package com.github.houbb.idoc.core.util;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

/**
* java 类型别名工具类
* @author binbin.hou
* @since 0.1.0
*/
public final class JavaTypeAliasUtil {

private static final Map<String, String> TYPE_ALIAS_MAP = new HashMap<>();

static {
TYPE_ALIAS_MAP.put("java.lang.String", "字符串");
TYPE_ALIAS_MAP.put("java.lang.Boolean", "布尔值");
TYPE_ALIAS_MAP.put("java.lang.Byte", "字节");
TYPE_ALIAS_MAP.put("java.lang.Character", "字符");
TYPE_ALIAS_MAP.put("java.lang.Double", "浮点型");
TYPE_ALIAS_MAP.put("java.lang.Float", "浮点型");
TYPE_ALIAS_MAP.put("java.lang.Integer", "整型");
TYPE_ALIAS_MAP.put("java.lang.Long", "长整型");
TYPE_ALIAS_MAP.put("java.lang.Short", "短整型");
TYPE_ALIAS_MAP.put("java.lang.BigDecimal", "数字");
TYPE_ALIAS_MAP.put("java.lang.BigInteger", "数字");
TYPE_ALIAS_MAP.put("java.lang.LocalDate", "日期");
TYPE_ALIAS_MAP.put("java.lang.LocalDateTime", "日期时间");
TYPE_ALIAS_MAP.put("java.lang.LocalTime", "时间");
TYPE_ALIAS_MAP.put("java.lang.Date", "日期");
TYPE_ALIAS_MAP.put("java.lang.Currency", "货币");
}

/**
* 获取名称别名
* @return map 信息
*/
public static Map<String, String> getTypeAliasMap() {
return Collections.unmodifiableMap(TYPE_ALIAS_MAP);
}

}
2 changes: 1 addition & 1 deletion idoc-ftl/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>idoc</artifactId>
<groupId>com.github.houbb</groupId>
<version>0.0.2</version>
<version>0.1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
23 changes: 8 additions & 15 deletions idoc-test/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<artifactId>idoc</artifactId>
<groupId>com.github.houbb</groupId>
<version>0.0.2</version>
<version>0.1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand All @@ -32,23 +32,16 @@
<plugin>
<groupId>com.github.houbb</groupId>
<artifactId>idoc-core</artifactId>
<version>0.0.2</version>
<version>${project.version}</version>
<configuration>
<isAllInOne>true</isAllInOne>
<generates>
<generate>com.github.houbb.idoc.ftl.api.generator.MarkdownDocGenerator</generate>
</generates>
<generateFilters>
<generateFilter>com.github.houbb.idoc.test.filter.MyGenerateFilter</generateFilter>
</generateFilters>
<typeAliases>
<typeAlias>
<key>java.lang.String</key>
<value>String自定义说明</value>
</typeAlias>
</typeAliases>
</configuration>
<dependencies>
<dependency>
<groupId>com.github.houbb</groupId>
<artifactId>idoc-test</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
Expand Down
8 changes: 7 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<groupId>com.github.houbb</groupId>
<artifactId>idoc</artifactId>
<packaging>pom</packaging>
<version>0.0.2</version>
<version>0.1.0-SNAPSHOT</version>

<modules>
<module>idoc-api</module>
Expand Down Expand Up @@ -244,6 +244,12 @@
<version>${plugin.maven-javadoc-plugin.version}</version>
</plugin>

<!--resource-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
</plugins>
</build>

Expand Down

0 comments on commit ddb6817

Please sign in to comment.