13
13
package org .web3j .gradle .plugin ;
14
14
15
15
import java .io .File ;
16
+ import java .util .ArrayList ;
17
+ import java .util .Arrays ;
18
+ import java .util .List ;
16
19
17
20
import org .gradle .api .provider .Property ;
18
21
import org .gradle .workers .WorkAction ;
@@ -28,22 +31,30 @@ public void execute() {
28
31
final String typesFlag =
29
32
getParameters ().getUseNativeJavaTypes ().get () ? "--javaTypes" : "--solidityTypes" ;
30
33
31
- SolidityFunctionWrapperGenerator .main (
32
- new String [] {
33
- "--abiFile" ,
34
- getParameters ().getContractAbi ().get ().getAbsolutePath (),
35
- "--binFile" ,
36
- getParameters ().getContractBin ().get ().getAbsolutePath (),
37
- "--outputDir" ,
38
- getParameters ().getOutputDir ().get (),
39
- "--package" ,
40
- getParameters ().getPackageName ().get (),
41
- "--contractName" ,
42
- getParameters ().getContractName ().get (),
43
- "--addressLength" ,
44
- String .valueOf (getParameters ().getAddressLength ().get ()),
45
- typesFlag
46
- });
34
+ final String generateBoth = getParameters ().getGenerateBoth ().get () ? "--generateBoth" : "" ;
35
+
36
+ List <String > arguments =
37
+ new ArrayList <>(
38
+ Arrays .asList (
39
+ "--abiFile" ,
40
+ getParameters ().getContractAbi ().get ().getAbsolutePath (),
41
+ "--binFile" ,
42
+ getParameters ().getContractBin ().get ().getAbsolutePath (),
43
+ "--outputDir" ,
44
+ getParameters ().getOutputDir ().get (),
45
+ "--package" ,
46
+ getParameters ().getPackageName ().get (),
47
+ "--contractName" ,
48
+ getParameters ().getContractName ().get (),
49
+ "--addressLength" ,
50
+ String .valueOf (getParameters ().getAddressLength ().get ()),
51
+ typesFlag ));
52
+
53
+ if (!generateBoth .isEmpty ()) {
54
+ arguments .add (generateBoth );
55
+ }
56
+
57
+ SolidityFunctionWrapperGenerator .main (arguments .toArray (new String [0 ]));
47
58
}
48
59
49
60
public interface Parameters extends WorkParameters {
@@ -61,5 +72,7 @@ public interface Parameters extends WorkParameters {
61
72
Property <Integer > getAddressLength ();
62
73
63
74
Property <Boolean > getUseNativeJavaTypes ();
75
+
76
+ Property <Boolean > getGenerateBoth ();
64
77
}
65
78
}
0 commit comments