4
4
using System . IO ;
5
5
using Xamarin . Android . Tools ;
6
6
using Microsoft . Android . Build . Tasks ;
7
+ using System . Text ;
7
8
8
9
namespace Xamarin . Android . Tasks
9
10
{
@@ -47,6 +48,44 @@ protected override string GenerateCommandLineCommands ()
47
48
return GetCommandLineBuilder ( ) . ToString ( ) ;
48
49
}
49
50
51
+ protected override string GenerateResponseFileCommands ( )
52
+ {
53
+ var cmd = new CommandLineBuilder ( ) ;
54
+
55
+ var injars = new List < string > ( ) ;
56
+ var libjars = new List < string > ( ) ;
57
+ if ( AlternativeJarLibrariesToEmbed ? . Length > 0 ) {
58
+ Log . LogDebugMessage ( " processing AlternativeJarLibrariesToEmbed..." ) ;
59
+ foreach ( var jar in AlternativeJarLibrariesToEmbed ) {
60
+ injars . Add ( jar . ItemSpec ) ;
61
+ }
62
+ } else if ( JavaLibrariesToEmbed != null ) {
63
+ Log . LogDebugMessage ( " processing ClassesZip, JavaLibrariesToEmbed..." ) ;
64
+ if ( ! string . IsNullOrEmpty ( ClassesZip ) && File . Exists ( ClassesZip ) ) {
65
+ injars . Add ( ClassesZip ) ;
66
+ }
67
+ foreach ( var jar in JavaLibrariesToEmbed ) {
68
+ injars . Add ( jar . ItemSpec ) ;
69
+ }
70
+ }
71
+ libjars . Add ( JavaPlatformJarPath ) ;
72
+ if ( JavaLibrariesToReference != null ) {
73
+ foreach ( var jar in JavaLibrariesToReference ) {
74
+ libjars . Add ( jar . ItemSpec ) ;
75
+ }
76
+ }
77
+
78
+ //foreach (var jar in libjars)
79
+ // cmd.AppendSwitchIfNotNull ("--lib ", jar);
80
+
81
+ foreach ( var jar in injars )
82
+ cmd . AppendFileNameIfNotNull ( jar ) ;
83
+
84
+ return cmd . ToString ( ) ;
85
+ }
86
+
87
+ protected override Encoding ResponseFileEncoding => Encoding . UTF8 ;
88
+
50
89
protected virtual string MainClass => "com.android.tools.r8.D8" ;
51
90
52
91
protected int MinSdkVersion { get ; set ; }
@@ -81,6 +120,8 @@ protected virtual CommandLineBuilder GetCommandLineBuilder ()
81
120
if ( ! EnableDesugar )
82
121
cmd . AppendSwitch ( "--no-desugaring" ) ;
83
122
123
+ cmd . AppendSwitchIfNotNull ( "--output " , OutputDirectory ) ;
124
+
84
125
var injars = new List < string > ( ) ;
85
126
var libjars = new List < string > ( ) ;
86
127
if ( AlternativeJarLibrariesToEmbed ? . Length > 0 ) {
@@ -104,11 +145,12 @@ protected virtual CommandLineBuilder GetCommandLineBuilder ()
104
145
}
105
146
}
106
147
107
- cmd . AppendSwitchIfNotNull ( "--output " , OutputDirectory ) ;
108
148
foreach ( var jar in libjars )
109
149
cmd . AppendSwitchIfNotNull ( "--lib " , jar ) ;
110
- foreach ( var jar in injars )
111
- cmd . AppendFileNameIfNotNull ( jar ) ;
150
+
151
+ //foreach (var jar in injars)
152
+ // cmd.AppendFileNameIfNotNull (jar);
153
+
112
154
113
155
if ( MapDiagnostics != null ) {
114
156
foreach ( var diagnostic in MapDiagnostics ) {
0 commit comments