@@ -97,96 +97,95 @@ public void generate() throws Exception {
9797
9898 // class loader
9999 final List <URL > urls = new ArrayList <>();
100-
101100 for (Task task : getProject ().getTasks ()) {
102101 if (task .getName ().startsWith ("compile" )) {
103102 for (File file : task .getOutputs ().getFiles ()) {
104103 urls .add (file .toURI ().toURL ());
105104 }
106105 }
107106 }
108-
109107 for (File file : getProject ().getConfigurations ().getAt ("compile" ).getFiles ()) {
110108 urls .add (file .toURI ().toURL ());
111109 }
112110
113- final URLClassLoader classLoader = Settings .createClassLoader (getProject ().getName (), urls .toArray (new URL [0 ]), Thread .currentThread ().getContextClassLoader ());
111+ try ( URLClassLoader classLoader = Settings .createClassLoader (getProject ().getName (), urls .toArray (new URL [0 ]), Thread .currentThread ().getContextClassLoader ())) {
114112
115- // Settings
116- final Settings settings = new Settings ();
117- if (outputFileType != null ) {
118- settings .outputFileType = outputFileType ;
119- }
120- settings .outputKind = outputKind ;
121- settings .module = module ;
122- settings .namespace = namespace ;
123- settings .mapPackagesToNamespaces = mapPackagesToNamespaces ;
124- settings .umdNamespace = umdNamespace ;
125- settings .moduleDependencies = moduleDependencies ;
126- settings .setExcludeFilter (excludeClasses , excludeClassPatterns );
127- settings .jsonLibrary = jsonLibrary ;
128- settings .setJackson2Configuration (classLoader , jackson2Configuration );
129- settings .declarePropertiesAsOptional = declarePropertiesAsOptional ;
130- settings .optionalProperties = optionalProperties ;
131- settings .optionalPropertiesDeclaration = optionalPropertiesDeclaration ;
132- settings .declarePropertiesAsReadOnly = declarePropertiesAsReadOnly ;
133- settings .removeTypeNamePrefix = removeTypeNamePrefix ;
134- settings .removeTypeNameSuffix = removeTypeNameSuffix ;
135- settings .addTypeNamePrefix = addTypeNamePrefix ;
136- settings .addTypeNameSuffix = addTypeNameSuffix ;
137- settings .customTypeNaming = Settings .convertToMap (customTypeNaming );
138- settings .customTypeNamingFunction = customTypeNamingFunction ;
139- settings .referencedFiles = referencedFiles ;
140- settings .importDeclarations = importDeclarations ;
141- settings .customTypeMappings = Settings .convertToMap (customTypeMappings );
142- settings .mapDate = mapDate ;
143- settings .mapEnum = mapEnum ;
144- settings .nonConstEnums = nonConstEnums ;
145- settings .loadNonConstEnumAnnotations (classLoader , nonConstEnumAnnotations );
146- settings .mapClasses = mapClasses ;
147- settings .mapClassesAsClassesPatterns = mapClassesAsClassesPatterns ;
148- settings .disableTaggedUnions = disableTaggedUnions ;
149- settings .ignoreSwaggerAnnotations = ignoreSwaggerAnnotations ;
150- settings .generateJaxrsApplicationInterface = generateJaxrsApplicationInterface ;
151- settings .generateJaxrsApplicationClient = generateJaxrsApplicationClient ;
152- settings .jaxrsNamespacing = jaxrsNamespacing ;
153- settings .setJaxrsNamespacingAnnotation (classLoader , jaxrsNamespacingAnnotation );
154- settings .restResponseType = restResponseType ;
155- settings .setRestOptionsType (restOptionsType );
156- settings .loadCustomTypeProcessor (classLoader , customTypeProcessor );
157- settings .sortDeclarations = sortDeclarations ;
158- settings .sortTypeDeclarations = sortTypeDeclarations ;
159- settings .noFileComment = noFileComment ;
160- settings .noTslintDisable = noTslintDisable ;
161- settings .javadocXmlFiles = javadocXmlFiles ;
162- settings .loadExtensions (classLoader , Utils .concat (extensionClasses , extensions ), extensionsWithConfiguration );
163- settings .loadIncludePropertyAnnotations (classLoader , includePropertyAnnotations );
164- settings .loadExcludePropertyAnnotations (classLoader , excludePropertyAnnotations );
165- settings .loadOptionalAnnotations (classLoader , optionalAnnotations );
166- settings .generateInfoJson = generateInfoJson ;
167- settings .generateNpmPackageJson = generateNpmPackageJson ;
168- settings .npmName = npmName == null && generateNpmPackageJson ? getProject ().getName () : npmName ;
169- settings .npmVersion = npmVersion == null && generateNpmPackageJson ? settings .getDefaultNpmVersion () : npmVersion ;
170- settings .npmBuildScript = npmBuildScript ;
171- settings .setStringQuotes (stringQuotes );
172- settings .setIndentString (indentString );
173- settings .displaySerializerWarning = displaySerializerWarning ;
174- settings .debug = debug ;
175- settings .disableJackson2ModuleDiscovery = disableJackson2ModuleDiscovery ;
176- settings .jackson2ModuleDiscovery = jackson2ModuleDiscovery ;
177- settings .loadJackson2Modules (classLoader , jackson2Modules );
178- settings .classLoader = classLoader ;
179- final File output = outputFile != null
180- ? getProject ().file (outputFile )
181- : new File (new File (getProject ().getBuildDir (), "typescript-generator" ), getProject ().getName () + settings .getExtension ());
182- settings .validateFileName (output );
113+ // Settings
114+ final Settings settings = new Settings ();
115+ if (outputFileType != null ) {
116+ settings .outputFileType = outputFileType ;
117+ }
118+ settings .outputKind = outputKind ;
119+ settings .module = module ;
120+ settings .namespace = namespace ;
121+ settings .mapPackagesToNamespaces = mapPackagesToNamespaces ;
122+ settings .umdNamespace = umdNamespace ;
123+ settings .moduleDependencies = moduleDependencies ;
124+ settings .setExcludeFilter (excludeClasses , excludeClassPatterns );
125+ settings .jsonLibrary = jsonLibrary ;
126+ settings .setJackson2Configuration (classLoader , jackson2Configuration );
127+ settings .declarePropertiesAsOptional = declarePropertiesAsOptional ;
128+ settings .optionalProperties = optionalProperties ;
129+ settings .optionalPropertiesDeclaration = optionalPropertiesDeclaration ;
130+ settings .declarePropertiesAsReadOnly = declarePropertiesAsReadOnly ;
131+ settings .removeTypeNamePrefix = removeTypeNamePrefix ;
132+ settings .removeTypeNameSuffix = removeTypeNameSuffix ;
133+ settings .addTypeNamePrefix = addTypeNamePrefix ;
134+ settings .addTypeNameSuffix = addTypeNameSuffix ;
135+ settings .customTypeNaming = Settings .convertToMap (customTypeNaming );
136+ settings .customTypeNamingFunction = customTypeNamingFunction ;
137+ settings .referencedFiles = referencedFiles ;
138+ settings .importDeclarations = importDeclarations ;
139+ settings .customTypeMappings = Settings .convertToMap (customTypeMappings );
140+ settings .mapDate = mapDate ;
141+ settings .mapEnum = mapEnum ;
142+ settings .nonConstEnums = nonConstEnums ;
143+ settings .loadNonConstEnumAnnotations (classLoader , nonConstEnumAnnotations );
144+ settings .mapClasses = mapClasses ;
145+ settings .mapClassesAsClassesPatterns = mapClassesAsClassesPatterns ;
146+ settings .disableTaggedUnions = disableTaggedUnions ;
147+ settings .ignoreSwaggerAnnotations = ignoreSwaggerAnnotations ;
148+ settings .generateJaxrsApplicationInterface = generateJaxrsApplicationInterface ;
149+ settings .generateJaxrsApplicationClient = generateJaxrsApplicationClient ;
150+ settings .jaxrsNamespacing = jaxrsNamespacing ;
151+ settings .setJaxrsNamespacingAnnotation (classLoader , jaxrsNamespacingAnnotation );
152+ settings .restResponseType = restResponseType ;
153+ settings .setRestOptionsType (restOptionsType );
154+ settings .loadCustomTypeProcessor (classLoader , customTypeProcessor );
155+ settings .sortDeclarations = sortDeclarations ;
156+ settings .sortTypeDeclarations = sortTypeDeclarations ;
157+ settings .noFileComment = noFileComment ;
158+ settings .noTslintDisable = noTslintDisable ;
159+ settings .javadocXmlFiles = javadocXmlFiles ;
160+ settings .loadExtensions (classLoader , Utils .concat (extensionClasses , extensions ), extensionsWithConfiguration );
161+ settings .loadIncludePropertyAnnotations (classLoader , includePropertyAnnotations );
162+ settings .loadExcludePropertyAnnotations (classLoader , excludePropertyAnnotations );
163+ settings .loadOptionalAnnotations (classLoader , optionalAnnotations );
164+ settings .generateInfoJson = generateInfoJson ;
165+ settings .generateNpmPackageJson = generateNpmPackageJson ;
166+ settings .npmName = npmName == null && generateNpmPackageJson ? getProject ().getName () : npmName ;
167+ settings .npmVersion = npmVersion == null && generateNpmPackageJson ? settings .getDefaultNpmVersion () : npmVersion ;
168+ settings .npmBuildScript = npmBuildScript ;
169+ settings .setStringQuotes (stringQuotes );
170+ settings .setIndentString (indentString );
171+ settings .displaySerializerWarning = displaySerializerWarning ;
172+ settings .debug = debug ;
173+ settings .disableJackson2ModuleDiscovery = disableJackson2ModuleDiscovery ;
174+ settings .jackson2ModuleDiscovery = jackson2ModuleDiscovery ;
175+ settings .loadJackson2Modules (classLoader , jackson2Modules );
176+ settings .classLoader = classLoader ;
177+ final File output = outputFile != null
178+ ? getProject ().file (outputFile )
179+ : new File (new File (getProject ().getBuildDir (), "typescript-generator" ), getProject ().getName () + settings .getExtension ());
180+ settings .validateFileName (output );
183181
184- // TypeScriptGenerator
185- new TypeScriptGenerator (settings ).generateTypeScript (
186- Input .fromClassNamesAndJaxrsApplication (classes , classPatterns , classesWithAnnotations , classesFromJaxrsApplication , classesFromAutomaticJaxrsApplication ,
187- settings .getExcludeFilter (), classLoader , loggingLevel == Logger .Level .Debug ),
188- Output .to (output )
189- );
182+ // TypeScriptGenerator
183+ new TypeScriptGenerator (settings ).generateTypeScript (
184+ Input .fromClassNamesAndJaxrsApplication (classes , classPatterns , classesWithAnnotations , classesFromJaxrsApplication , classesFromAutomaticJaxrsApplication ,
185+ settings .getExcludeFilter (), classLoader , loggingLevel == Logger .Level .Debug ),
186+ Output .to (output )
187+ );
188+ }
190189 }
191190
192191}
0 commit comments