Skip to content

Commit f93d490

Browse files
committed
input-spec オプションでディレクトリを指定できるように修正。
1 parent 1a2c4ec commit f93d490

25 files changed

Lines changed: 39 additions & 29 deletions

MANUAL.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,14 +130,16 @@ java -jar bin/deviceconnect-codegen.jar [オプション]
130130
<tr>
131131
<td valign="top"><pre>--input-spec</pre></td>
132132
<td valign="top">
133-
スケルトンコードでサポートするプロファイル仕様の指定。プロファイル仕様定義ファイルへの絶対パスまたは相対パスを引数とする。ファイルの形式はJSON・YAMLのいずれかとする。指定したファイル内にサポートするすべてのAPIを定義すること
133+
スケルトンコードでサポートするプロファイル仕様の指定。プロファイル仕様定義ファイルまたはそれを格納するディレクトリへのパスを引数とする。絶対パス・相対パスの両方を使用可能。ファイルの形式はJSON・YAMLのいずれかとする。ファイル名は <プロファイル名>.<拡張子>であること。ファイルを指定する場合、そのファイル内にサポートするすべてのAPIを定義すること
134134
</td>
135135
<td valign="top">*1</td>
136136
</tr>
137137

138138
<tr>
139139
<td valign="top"><pre>--input-spec-dir</pre></td>
140140
<td valign="top">
141+
<b>v1.9.0 より非推奨</b>
142+
141143
スケルトンコードでサポートするプロファイル仕様の指定。プロファイル仕様定義ファイルを格納したディレクトリへの絶対パスまたは相対パスを引数とする。各ファイルの形式はそれぞれJSON・YAMLのいずれかとする。ファイル名は <プロファイル名>.<拡張子>であること。
142144
</td>
143145
<td valign="top">*1</td>
@@ -253,4 +255,4 @@ Androidプラグインのビルド時に使用される署名情報の保存さ
253255
</tbody>
254256
</table>
255257

256-
*1: `--input-spec` または `--input-spec-dir` のいずれかを必ず指定すること。両方指定された場合は `--input-spec` が優先される。
258+
*1: `--input-spec` または `--input-spec-dir` のいずれかを必ず指定すること。

modules/deviceconnect-codegen/src/main/java/org/deviceconnect/codegen/Const.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ private static Options createOptions() {
7777
OptionGroup inputSpecOptions = new OptionGroup();
7878
inputSpecOptions.setRequired(true);
7979
inputSpecOptions.addOption(new Option("s", "input-spec-dir", true, "directory of the swagger specs"));
80-
inputSpecOptions.addOption(new Option("i", "input-spec", true, "location of the swagger spec, as URL or file"));
80+
inputSpecOptions.addOption(new Option("i", "input-spec", true, "location of the swagger spec, as URL, file or directory"));
8181
options.addOptionGroup(inputSpecOptions);
8282

8383
// Optional

modules/deviceconnect-codegen/src/main/java/org/deviceconnect/codegen/DConnectCodegen.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,18 @@ public static void main(String[] args) {
119119
}
120120
config.setOutputDir(output);
121121
}
122+
122123
if (cmd.hasOption("i")) {
123124
File file = new File(cmd.getOptionValue("i"));
124-
if(!parseSwaggerFromFile(file, clientOptInput, config)) {
125-
return;
125+
if (file.isFile()) {
126+
if(!parseSwaggerFromFile(file, clientOptInput, config)) {
127+
return;
128+
}
129+
} else if (file.isDirectory()) {
130+
File dir = file;
131+
if(!parseSwaggerFromDirectory(dir, clientOptInput, config)) {
132+
return;
133+
}
126134
}
127135
} else if (cmd.hasOption("s")) {
128136
File dir = new File(cmd.getOptionValue("s"));

samples/html-docs.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ DISPLAY_NAME="Device_Connect_RESTful_API_Specification"
1515
# スケルトンコード生成ツールのバイナリ
1616
JAR_FILE="../bin/deviceconnect-codegen.jar"
1717

18-
ARGS="--input-spec-dir $SPEC --lang deviceConnectHtmlDocs --template-dir $TEMPLATE_DIR --display-name $DISPLAY_NAME --output $OUTPUT_DIR"
18+
ARGS="--input-spec $SPEC --lang deviceConnectHtmlDocs --template-dir $TEMPLATE_DIR --display-name $DISPLAY_NAME --output $OUTPUT_DIR"
1919

2020
java -Dfile.encoding=UTF-8 -jar $JAR_FILE $ARGS

samples/md-docs.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ DISPLAY_NAME="Device_Connect_RESTful_API_Specification"
1515
# スケルトンコード生成ツールのバイナリ
1616
JAR_FILE="../bin/deviceconnect-codegen.jar"
1717

18-
ARGS="--input-spec-dir $SPEC --lang deviceConnectMarkdownDocs --template-dir $TEMPLATE_DIR --display-name $DISPLAY_NAME --output $OUTPUT_DIR"
18+
ARGS="--input-spec $SPEC --lang deviceConnectMarkdownDocs --template-dir $TEMPLATE_DIR --display-name $DISPLAY_NAME --output $OUTPUT_DIR"
1919

2020
java -Dfile.encoding=UTF-8 -jar $JAR_FILE $ARGS

samples/node-plugin.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ DISPLAY_NAME="MyPlugin"
1616
# スケルトンコード生成ツールのバイナリ
1717
JAR_FILE="../bin/deviceconnect-codegen.jar"
1818

19-
ARGS="--input-spec-dir $SPEC --lang gotapiNodePlugin --template-dir $TEMPLATE_DIR --display-name $DISPLAY_NAME --output $OUTPUT_DIR"
19+
ARGS="--input-spec $SPEC --lang gotapiNodePlugin --template-dir $TEMPLATE_DIR --display-name $DISPLAY_NAME --output $OUTPUT_DIR"
2020

2121
java -Dfile.encoding=UTF-8 -jar $JAR_FILE $ARGS

tests/bad/bad-android-plugin-002-missing-arg.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ DISPLAY_NAME="MyPlugin"
1818
# スケルトンコード生成ツールのバイナリ
1919
JAR_FILE="../../bin/deviceconnect-codegen.jar"
2020

21-
ARGS="--input-spec-dir --lang $LANG --template-dir templates/deviceConnectAndroidPlugin --package-name $PACKAGE_NAME --connection-type $CONNECTION_TYPE --display-name $DISPLAY_NAME --output $OUTPUT_DIR"
21+
ARGS="--input-spec --lang $LANG --template-dir templates/deviceConnectAndroidPlugin --package-name $PACKAGE_NAME --connection-type $CONNECTION_TYPE --display-name $DISPLAY_NAME --output $OUTPUT_DIR"
2222

2323
java -Dfile.encoding=UTF-8 -jar $JAR_FILE $ARGS

tests/bad/bad-android-plugin-003-already-selected.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,6 @@ DISPLAY_NAME="MyPlugin"
2424
# スケルトンコード生成ツールのバイナリ
2525
JAR_FILE="../../bin/deviceconnect-codegen.jar"
2626

27-
ARGS="--input-spec $SPEC --input-spec-dir $SPEC_DIR --lang $LANG --template-dir templates/deviceConnectAndroidPlugin --package-name $PACKAGE_NAME --connection-type $CONNECTION_TYPE --display-name $DISPLAY_NAME --output $OUTPUT_DIR"
27+
ARGS="--input-spec $SPEC --input-spec $SPEC_DIR --lang $LANG --template-dir templates/deviceConnectAndroidPlugin --package-name $PACKAGE_NAME --connection-type $CONNECTION_TYPE --display-name $DISPLAY_NAME --output $OUTPUT_DIR"
2828

2929
java -Dfile.encoding=UTF-8 -jar $JAR_FILE $ARGS

tests/bad/bad-android-plugin-004-undefined_opt.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ DISPLAY_NAME="MyPlugin"
2121
# スケルトンコード生成ツールのバイナリ
2222
JAR_FILE="../../bin/deviceconnect-codegen.jar"
2323

24-
ARGS="--undefined-option --input-spec-dir $SPEC --lang $LANG --template-dir templates/deviceConnectAndroidPlugin --package-name $PACKAGE_NAME --connection-type $CONNECTION_TYPE --display-name $DISPLAY_NAME --output $OUTPUT_DIR"
24+
ARGS="--undefined-option --input-spec $SPEC --lang $LANG --template-dir templates/deviceConnectAndroidPlugin --package-name $PACKAGE_NAME --connection-type $CONNECTION_TYPE --display-name $DISPLAY_NAME --output $OUTPUT_DIR"
2525

2626
java -Dfile.encoding=UTF-8 -jar $JAR_FILE $ARGS

tests/bad/bad-android-plugin-006-invalid-swagger-dir.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@ DISPLAY_NAME="MyPlugin"
2121
# スケルトンコード生成ツールのバイナリ
2222
JAR_FILE="../../bin/deviceconnect-codegen.jar"
2323

24-
ARGS="--input-spec-dir $SPEC --lang $LANG --template-dir templates/deviceConnectAndroidPlugin --package-name $PACKAGE_NAME --connection-type $CONNECTION_TYPE --display-name $DISPLAY_NAME --output $OUTPUT_DIR"
24+
ARGS="--input-spec $SPEC --lang $LANG --template-dir templates/deviceConnectAndroidPlugin --package-name $PACKAGE_NAME --connection-type $CONNECTION_TYPE --display-name $DISPLAY_NAME --output $OUTPUT_DIR"
2525

2626
java -Dfile.encoding=UTF-8 -jar $JAR_FILE $ARGS

0 commit comments

Comments
 (0)