Skip to content

Commit 00019dc

Browse files
default values for outputFile parameter
1 parent 7df5a3f commit 00019dc

File tree

3 files changed

+20
-8
lines changed
  • typescript-generator-core/src/main/java/cz/habarta/typescript/generator
  • typescript-generator-gradle-plugin/src/main/java/cz/habarta/typescript/generator/gradle
  • typescript-generator-maven-plugin/src/main/java/cz/habarta/typescript/generator/maven

3 files changed

+20
-8
lines changed

typescript-generator-core/src/main/java/cz/habarta/typescript/generator/Settings.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,10 @@ public void validate() {
136136
}
137137
}
138138

139+
public String getExtension() {
140+
return outputFileType == TypeScriptFileType.implementationFile ? ".ts" : ".d.ts";
141+
}
142+
139143
public void validateFileName(File outputFile) {
140144
if (outputFileType == TypeScriptFileType.declarationFile && !outputFile.getName().endsWith(".d.ts")) {
141145
throw new RuntimeException("Declaration file must have 'd.ts' extension: " + outputFile);

typescript-generator-gradle-plugin/src/main/java/cz/habarta/typescript/generator/gradle/GenerateTask.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,8 @@ public class GenerateTask extends DefaultTask {
5656

5757
@TaskAction
5858
public void generate() throws Exception {
59-
if (outputFile == null) {
60-
throw new RuntimeException("Please specify 'outputFile' property.");
59+
if (outputKind == null) {
60+
throw new RuntimeException("Please specify 'outputKind' property.");
6161
}
6262
if (jsonLibrary == null) {
6363
throw new RuntimeException("Please specify 'jsonLibrary' property.");
@@ -117,12 +117,15 @@ public void generate() throws Exception {
117117
settings.displaySerializerWarning = displaySerializerWarning;
118118
settings.disableJackson2ModuleDiscovery = disableJackson2ModuleDiscovery;
119119
settings.classLoader = classLoader;
120-
settings.validateFileName(new File(outputFile));
120+
final File output = outputFile != null
121+
? getProject().file(outputFile)
122+
: new File(new File(getProject().getBuildDir(), "typescript-generator"), getProject().getName() + settings.getExtension());
123+
settings.validateFileName(output);
121124

122125
// TypeScriptGenerator
123126
new TypeScriptGenerator(settings).generateTypeScript(
124127
Input.fromClassNamesAndJaxrsApplication(classes, classPatterns, classesFromJaxrsApplication, classesFromAutomaticJaxrsApplication, settings.getExcludeFilter(), classLoader),
125-
Output.to(getProject().file(outputFile))
128+
Output.to(output)
126129
);
127130
}
128131

typescript-generator-maven-plugin/src/main/java/cz/habarta/typescript/generator/maven/GenerateMojo.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,8 @@ public class GenerateMojo extends AbstractMojo {
1919

2020
/**
2121
* Path and name of generated TypeScript file.
22-
* Required parameter.
2322
*/
24-
@Parameter(required = true)
23+
@Parameter
2524
private File outputFile;
2625

2726
/**
@@ -334,6 +333,9 @@ public class GenerateMojo extends AbstractMojo {
334333
@Parameter(defaultValue = "${project}", readonly = true, required = true)
335334
private MavenProject project;
336335

336+
@Parameter(defaultValue = "${project.build.directory}", readonly = true, required = true)
337+
private String projectBuildDirectory;
338+
337339
@Override
338340
public void execute() {
339341
try {
@@ -386,12 +388,15 @@ public void execute() {
386388
settings.displaySerializerWarning = displaySerializerWarning;
387389
settings.disableJackson2ModuleDiscovery = disableJackson2ModuleDiscovery;
388390
settings.classLoader = classLoader;
389-
settings.validateFileName(outputFile);
391+
final File output = outputFile != null
392+
? outputFile
393+
: new File(new File(projectBuildDirectory, "typescript-generator"), project.getArtifactId() + settings.getExtension());
394+
settings.validateFileName(output);
390395

391396
// TypeScriptGenerator
392397
new TypeScriptGenerator(settings).generateTypeScript(
393398
Input.fromClassNamesAndJaxrsApplication(classes, classPatterns, classesFromJaxrsApplication, classesFromAutomaticJaxrsApplication, settings.getExcludeFilter(), classLoader),
394-
Output.to(outputFile)
399+
Output.to(output)
395400
);
396401

397402
} catch (DependencyResolutionRequiredException | IOException e) {

0 commit comments

Comments
 (0)