4
4
import org .gradle .api .Action ;
5
5
import org .gradle .api .Plugin ;
6
6
import org .gradle .api .Project ;
7
- import org .gradle .api .Task ;
8
7
import org .gradle .api .artifacts .Configuration ;
9
8
import org .gradle .api .artifacts .DependencySet ;
9
+ import org .gradle .api .tasks .SourceSetContainer ;
10
+ import org .gradle .api .tasks .TaskProvider ;
10
11
11
12
public class SwaggerPlugin implements Plugin <Project > {
12
13
public void apply (Project project ) {
@@ -16,29 +17,25 @@ public void apply(Project project) {
16
17
config .defaultDependencies (new Action <DependencySet >() {
17
18
public void execute (DependencySet dependencies ) {
18
19
dependencies .add (project .getDependencies ().create ("org.apache.commons:commons-lang3:3.12.0" ));
19
- dependencies .add (project .getDependencies ().create ("io.swagger.core.v3:swagger-jaxrs2:2.2.27 -SNAPSHOT" ));
20
+ dependencies .add (project .getDependencies ().create ("io.swagger.core.v3:swagger-jaxrs2:2.2.28 -SNAPSHOT" ));
20
21
dependencies .add (project .getDependencies ().create ("javax.ws.rs:javax.ws.rs-api:2.1" ));
21
22
dependencies .add (project .getDependencies ().create ("javax.servlet:javax.servlet-api:3.1.0" ));
22
23
}
23
24
});
24
- Task task = project .getTasks ().create ("resolve" , ResolveTask .class );
25
- ((ResolveTask )task ).setBuildClasspath (config );
26
-
27
- try {
28
- if (project .getTasks ().findByPath ("classes" ) != null ) {
29
- task .dependsOn ("classes" );
30
- }
31
- if (project .getTasks ().findByPath ("compileJava" ) != null ) {
32
- task .dependsOn ("compileJava" );
33
- }
34
- if (project .getTasks ().findByPath ("compileTestJava" ) != null ) {
35
- task .dependsOn ("compileTestJava" );
36
- }
37
- if (project .getTasks ().findByPath ("testClasses" ) != null ) {
38
- task .dependsOn ("testClasses" );
39
- }
40
- } catch (Exception e ) {
41
- project .getLogger ().warn ("Exception in task dependencies: " + e .getMessage (), e );
42
- }
25
+ TaskProvider <ResolveTask > lazyTask = project .getTasks ().register ("resolve" , ResolveTask .class ,task -> {
26
+ task .buildClasspath .setFrom (config );
27
+ task .classpath .setFrom (project .getExtensions ().findByType (SourceSetContainer .class ).getByName ("main" ).getRuntimeClasspath ().getFiles ());
28
+ task .prettyPrint .convention (false );
29
+ task .readAllResources .convention (true );
30
+ task .outputFormat .convention (ResolveTask .Format .JSON );
31
+ task .skip .convention (false );
32
+ task .encoding .convention ("UTF-8" );
33
+ task .sortOutput .convention (Boolean .FALSE );
34
+ task .alwaysResolveAppPath .convention (Boolean .FALSE );
35
+ task .skipResolveAppPath .convention (Boolean .FALSE );
36
+ task .openAPI31 .convention (false );
37
+ task .convertToOpenAPI31 .convention (false );
38
+ task .outputDir .convention (project .getLayout ().getBuildDirectory ().dir ("swagger" ));
39
+ });
43
40
}
44
41
}
0 commit comments