rake-delphi 0.0.9 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. data/2 +336 -0
  2. data/Gemfile +2 -1
  3. data/lib/rake/common/logger.rb +1 -1
  4. data/lib/rake/delphi/androidmanifest.rb +57 -0
  5. data/lib/rake/delphi/dcc32.rb +58 -59
  6. data/lib/rake/delphi/dcc32tool.rb +51 -0
  7. data/lib/rake/delphi/dccaarmtool.rb +29 -0
  8. data/lib/rake/delphi/envvariables.rb +19 -22
  9. data/lib/rake/delphi/paclient.rb +251 -0
  10. data/lib/rake/delphi/paclienttool.rb +20 -0
  11. data/lib/rake/delphi/project.rb +4 -2
  12. data/lib/rake/delphi/projectinfo.rb +73 -1
  13. data/lib/rake/delphi/resources.rb +1 -1
  14. data/lib/rake/delphi/tool.rb +8 -1
  15. data/lib/rake/delphi/version.rb +1 -1
  16. data/lib/rake/helpers/gemversion.rb +11 -0
  17. data/lib/rake/helpers/raketask.rb +16 -0
  18. data/lib/rake/helpers/string.rb +13 -0
  19. data/rake-delphi-cygwin.env.cmd +11 -0
  20. data/rake-delphi-cygwin.env.sh +12 -0
  21. data/rake-delphi.gemspec +4 -1
  22. data/test/helpers/consts.rb +6 -1
  23. data/test/helpers/verinfo.rb +22 -3
  24. data/test/resources/testproject-android/AndroidManifest.erb +35 -0
  25. data/test/resources/testproject-android/AndroidManifest.xml +35 -0
  26. data/test/resources/testproject-android/Rakefile.rb +55 -0
  27. data/test/resources/testproject-android/TestProject.cfg +4 -0
  28. data/test/resources/testproject-android/TestProject.dpr +15 -0
  29. data/test/resources/testproject-android/TestProject.rc +62 -0
  30. data/test/resources/testproject-android/TestProject.res +0 -0
  31. data/test/resources/testproject-android/TestProject.xe5.dproj +373 -0
  32. data/test/resources/testproject-android/fmTest.fmx +26 -0
  33. data/test/resources/testproject-android/fmTest.pas +31 -0
  34. data/test/resources/testproject-android/local.resources.txt +1 -0
  35. data/test/resources/testproject-android/release.dcc.cfg +1 -0
  36. data/test/resources/testproject-android/resources.rc +1 -0
  37. data/test/resources/testproject-android/resources.res +0 -0
  38. data/test/resources/testproject/Rakefile.rb +1 -1
  39. data/test/test-delphi-android.rb +192 -0
  40. data/test/test-delphi.rb +3 -11
  41. data/test/test-envvariables.rb +7 -0
  42. data/test/test-gemversion.rb +11 -0
  43. data/test/test-projectinfo-android.rb +81 -0
  44. data/test/test-projectinfo.rb +0 -11
  45. data/test/test-string.rb +41 -0
  46. metadata +92 -6
  47. data/test/resources/testproject/testproject.cfg.1 +0 -8
  48. data/test/resources/testproject/testproject.drc +0 -210
data/2 ADDED
@@ -0,0 +1,336 @@
1
+ Build
2
+ Checking project dependencies...
3
+ Building HW.dproj (Debug, Android)
4
+ brcc32 command line for "HW.vrc"
5
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\cgrc.exe -c65001 HW.vrc -foHW.res
6
+ dcc command line for "HW.dpr"
7
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\dccaarm.exe -$O- --no-config -B -Q -TX.so -AGenerics.Collections=System.Generics.Collections;
8
+ Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG
9
+ -E.\Android\Debug -I"c:\program files (x86)\embarcadero\rad studio\12.0\lib\Android\debug";"c:\program files (x86)\embarcadero\rad
10
+ studio\12.0\lib\Android\Release" -LE"C:\Users\Public\Documents\RAD Studio\12.0\Bpl\Android" -LN"C:\Users\Public\Documents\RAD
11
+ Studio\12.0\Dcp\Android" -NU.\Android\Debug -NSSystem;Xml;Data;Datasnap;Web;Soap; -O"c:\program files (x86)\embarcadero\rad
12
+ studio\12.0\lib\Android\Release" -R"c:\program files (x86)\embarcadero\rad studio\12.0\lib\Android\Release" -U"c:\program files (x86)\embarcadero\rad
13
+ studio\12.0\lib\Android\debug";"c:\program files (x86)\embarcadero\rad studio\12.0\lib\Android\Release" --libpath:"C:\Users\Public\Documents\RAD
14
+ Studio\12.0\PlatformSDKs\android-ndk-r8e\platforms\android-14\arch-arm\usr\lib" --linker:"C:\Users\Public\Documents\RAD
15
+ Studio\12.0\PlatformSDKs\android-ndk-r8e\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe" -V -VN
16
+ --linker-option:" -L \"C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\sources\cxx-stl\stlport\libs\armeabi-v7a\""
17
+ -NO.\Android\Debug HW.dpr
18
+ Success
19
+ Elapsed time: 00:00:14.5
20
+ Deploy
21
+ paclient command line
22
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --Clean=".\Android\Debug\HW,C:\OCP\Temp\Android_Hello_Word\HW._@emb_.tmp"
23
+ paclient command line
24
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad
25
+ studio\12.0\bin\Artwork\Android\FM_LauncherIcon_36x36.png,.\Android\Debug\HW\res\drawable-ldpi\,1,ic_launcher.png"
26
+ paclient command line
27
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad
28
+ studio\12.0\bin\Artwork\Android\FM_LauncherIcon_96x96.png,.\Android\Debug\HW\res\drawable-xhdpi\,1,ic_launcher.png"
29
+ paclient command line
30
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad
31
+ studio\12.0\lib\android\debug\classes.dex,.\Android\Debug\HW\classes\,1,classes.dex"
32
+ paclient command line
33
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="C:\Users\Public\Documents\RAD
34
+ Studio\12.0\PlatformSDKs\android-ndk-r8e\prebuilt\android-arm\gdbserver\gdbserver,.\Android\Debug\HW\library\lib\armeabi\,1,gdbserver"
35
+ paclient command line
36
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad
37
+ studio\12.0\bin\Artwork\Android\FM_LauncherIcon_48x48.png,.\Android\Debug\HW\res\drawable-mdpi\,1,ic_launcher.png"
38
+ paclient command line
39
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe
40
+ --put="Android\Debug\AndroidManifest.xml,.\Android\Debug\HW\,1,AndroidManifest.xml"
41
+ paclient command line
42
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="Android\Debug\libHW.so,.\Android\Debug\HW\library\lib\armeabi\,1,libHW.so"
43
+ paclient command line
44
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad
45
+ studio\12.0\bin\Artwork\Android\FM_LauncherIcon_72x72.png,.\Android\Debug\HW\res\drawable-hdpi\,1,ic_launcher.png"
46
+ paclient command line
47
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad
48
+ studio\12.0\bin\Artwork\Android\FM_LauncherIcon_144x144.png,.\Android\Debug\HW\res\drawable-xxhdpi\,1,ic_launcher.png"
49
+ paclient command line
50
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --stripdebug="C:\Users\Public\Documents\RAD
51
+ Studio\12.0\PlatformSDKs\android-ndk-r8e\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-strip.exe,.\Android\Debug\HW\debug\libHW.so,.\Android\Debug\HW\library\lib\armeabi\libHW.so"
52
+
53
+ paclient command line
54
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --aaptpackage="C:\Users\Public\Documents\RAD
55
+ Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522\sdk\build-tools\android-4.2.2\Aapt.exe,.\Android\Debug\HW\library,.\Android\Debug\HW\classes,.\Android\Debug\HW\res,.\Android\Debug\HW\assets,.\Android\Debug\HW\AndroidManifest.xml,C:\Users\Public\Documents\RAD
56
+ Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522\sdk\platforms\android-17\android.jar,.\Android\Debug\HW\bin\HW-unsigned.apk"
57
+ Failed
58
+ Elapsed time: 00:00:06.7
59
+ Deploy
60
+ paclient command line
61
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --Clean=".\Android\Debug\HW,C:\OCP\Temp\Android_Hello_Word\HW._@emb_.tmp"
62
+ paclient command line
63
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad
64
+ studio\12.0\bin\Artwork\Android\FM_LauncherIcon_36x36.png,.\Android\Debug\HW\res\drawable-ldpi\,1,ic_launcher.png"
65
+ paclient command line
66
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad
67
+ studio\12.0\bin\Artwork\Android\FM_LauncherIcon_96x96.png,.\Android\Debug\HW\res\drawable-xhdpi\,1,ic_launcher.png"
68
+ paclient command line
69
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad
70
+ studio\12.0\lib\android\debug\classes.dex,.\Android\Debug\HW\classes\,1,classes.dex"
71
+ paclient command line
72
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="C:\Users\Public\Documents\RAD
73
+ Studio\12.0\PlatformSDKs\android-ndk-r8e\prebuilt\android-arm\gdbserver\gdbserver,.\Android\Debug\HW\library\lib\armeabi\,1,gdbserver"
74
+ paclient command line
75
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad
76
+ studio\12.0\bin\Artwork\Android\FM_LauncherIcon_48x48.png,.\Android\Debug\HW\res\drawable-mdpi\,1,ic_launcher.png"
77
+ paclient command line
78
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe
79
+ --put="Android\Debug\AndroidManifest.xml,.\Android\Debug\HW\,1,AndroidManifest.xml"
80
+ paclient command line
81
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="Android\Debug\libHW.so,.\Android\Debug\HW\library\lib\armeabi\,1,libHW.so"
82
+ paclient command line
83
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad
84
+ studio\12.0\bin\Artwork\Android\FM_LauncherIcon_72x72.png,.\Android\Debug\HW\res\drawable-hdpi\,1,ic_launcher.png"
85
+ paclient command line
86
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad
87
+ studio\12.0\bin\Artwork\Android\FM_LauncherIcon_144x144.png,.\Android\Debug\HW\res\drawable-xxhdpi\,1,ic_launcher.png"
88
+ paclient command line
89
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --stripdebug="C:\Users\Public\Documents\RAD
90
+ Studio\12.0\PlatformSDKs\android-ndk-r8e\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-strip.exe,.\Android\Debug\HW\debug\libHW.so,.\Android\Debug\HW\library\lib\armeabi\libHW.so"
91
+
92
+ paclient command line
93
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --aaptpackage="C:\Users\Public\Documents\RAD
94
+ Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522\sdk\build-tools\android-4.2.2\Aapt.exe,.\Android\Debug\HW\library,.\Android\Debug\HW\classes,.\Android\Debug\HW\res,.\Android\Debug\HW\assets,.\Android\Debug\HW\AndroidManifest.xml,C:\Users\Public\Documents\RAD
95
+ Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522\sdk\platforms\android-17\android.jar,.\Android\Debug\HW\bin\HW-unsigned.apk"
96
+ paclient command line
97
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --jarsign="C:\Program
98
+ Files\Java\jdk1.7.0_51\bin\JarSigner.exe,.\Android\Debug\HW\bin\HW-unsigned.apk,androiddebugkey,C:\Users\kriv.RARUS\AppData\Roaming\Embarcadero\BDS\12.0\debug.keystore,MD5withRSA,SHA1,android,android"
99
+
100
+ paclient command line
101
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --zipalign="C:\Users\Public\Documents\RAD
102
+ Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522\sdk\tools\ZipAlign.exe,.\Android\Debug\HW\bin\HW-unsigned.apk,.\Android\Debug\HW\bin\HW.apk,4"
103
+
104
+ Success
105
+ Elapsed time: 00:00:11.3
106
+ Output
107
+ Build started 11.06.2014 16:04:11.
108
+ __________________________________________________
109
+ Project "C:\OCP\Temp\Android_Hello_Word\HW.dproj" (Build target(s)):
110
+ Target CreateProjectDirectories:
111
+ Creating directory ".\Android\Debug".
112
+ Target BuildVersionResource:
113
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\cgrc.exe -c65001 HW.vrc -foHW.res
114
+ CodeGear Resource Compiler/Binder
115
+ Version 1.2.2 Copyright (c) 2008-2012 Embarcadero Technologies Inc.
116
+
117
+ Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
118
+
119
+ Copyright (C) Microsoft Corporation. All rights reserved.
120
+
121
+
122
+ Deleting file "HW.vrc".
123
+ Target _PasCoreCompile:
124
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\dccaarm.exe -$O- --no-config -B -Q -TX.so -AGenerics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE -DDEBUG -E.\Android\Debug -I"c:\program files (x86)\embarcadero\rad studio\12.0\lib\Android\debug";"c:\program files (x86)\embarcadero\rad studio\12.0\lib\Android\Release" -LE"C:\Users\Public\Documents\RAD Studio\12.0\Bpl\Android" -LN"C:\Users\Public\Documents\RAD Studio\12.0\Dcp\Android" -NU.\Android\Debug -NSSystem;Xml;Data;Datasnap;Web;Soap; -O"c:\program files (x86)\embarcadero\rad studio\12.0\lib\Android\Release" -R"c:\program files (x86)\embarcadero\rad studio\12.0\lib\Android\Release" -U"c:\program files (x86)\embarcadero\rad studio\12.0\lib\Android\debug";"c:\program files (x86)\embarcadero\rad studio\12.0\lib\Android\Release" --libpath:"C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\platforms\android-14\arch-arm\usr\lib" --linker:"C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-ld.exe" -V -VN --linker-option:" -L \"C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\sources\cxx-stl\stlport\libs\armeabi-v7a\"" -NO.\Android\Debug HW.dpr
125
+ Build succeeded.
126
+ 0 Warning(s)
127
+ 0 Error(s)
128
+ Time Elapsed 00:00:14.45
129
+ Build started 11.06.2014 16:04:53.
130
+ __________________________________________________
131
+ Project "C:\OCP\Temp\Android_Hello_Word\HW.dproj" (Deploy target(s)):
132
+ Target _CleanRemoteDir:
133
+ Cleaning APK Output Directory: .\Android\Debug\HW
134
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --Clean=".\Android\Debug\HW,C:\OCP\Temp\Android_Hello_Word\HW._@emb_.tmp"
135
+ Platform Assistant Client Version 4.2.0.05
136
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
137
+
138
+ Deleting file(s)...
139
+ Total file(s) deleted: 0 file(s) 0 dir(s)
140
+ Deleting file "C:\OCP\Temp\Android_Hello_Word\HW._@emb_.tmp".
141
+ Target _DeployFiles:
142
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad studio\12.0\bin\Artwork\Android\FM_LauncherIcon_36x36.png,.\Android\Debug\HW\res\drawable-ldpi\,1,ic_launcher.png"
143
+ Platform Assistant Client Version 4.2.0.05
144
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
145
+
146
+ Copying file(s)...
147
+ Total file(s) copied: 1 file(s) 863 bytes
148
+ Target _DeployFiles:
149
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad studio\12.0\bin\Artwork\Android\FM_LauncherIcon_96x96.png,.\Android\Debug\HW\res\drawable-xhdpi\,1,ic_launcher.png"
150
+ Platform Assistant Client Version 4.2.0.05
151
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
152
+
153
+ Copying file(s)...
154
+ Total file(s) copied: 1 file(s) 1а921 bytes
155
+ Target _DeployFiles:
156
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad studio\12.0\lib\android\debug\classes.dex,.\Android\Debug\HW\classes\,1,classes.dex"
157
+ Platform Assistant Client Version 4.2.0.05
158
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
159
+
160
+ Copying file(s)...
161
+ Total file(s) copied: 1 file(s) 1а343а644 bytes
162
+ Target _DeployFiles:
163
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\prebuilt\android-arm\gdbserver\gdbserver,.\Android\Debug\HW\library\lib\armeabi\,1,gdbserver"
164
+ Platform Assistant Client Version 4.2.0.05
165
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
166
+
167
+ Copying file(s)...
168
+ Total file(s) copied: 1 file(s) 268а812 bytes
169
+ Target _DeployFiles:
170
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad studio\12.0\bin\Artwork\Android\FM_LauncherIcon_48x48.png,.\Android\Debug\HW\res\drawable-mdpi\,1,ic_launcher.png"
171
+ Platform Assistant Client Version 4.2.0.05
172
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
173
+
174
+ Copying file(s)...
175
+ Total file(s) copied: 1 file(s) 1а034 bytes
176
+ Target _DeployFiles:
177
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="Android\Debug\AndroidManifest.xml,.\Android\Debug\HW\,1,AndroidManifest.xml"
178
+ Platform Assistant Client Version 4.2.0.05
179
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
180
+
181
+ Copying file(s)...
182
+ Total file(s) copied: 1 file(s) 2а343 bytes
183
+ Target _DeployFiles:
184
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="Android\Debug\libHW.so,.\Android\Debug\HW\library\lib\armeabi\,1,libHW.so"
185
+ Platform Assistant Client Version 4.2.0.05
186
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
187
+
188
+ Copying file(s)...
189
+ Total file(s) copied: 1 file(s) 51а785а360 bytes
190
+ Target _DeployFiles:
191
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad studio\12.0\bin\Artwork\Android\FM_LauncherIcon_72x72.png,.\Android\Debug\HW\res\drawable-hdpi\,1,ic_launcher.png"
192
+ Platform Assistant Client Version 4.2.0.05
193
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
194
+
195
+ Copying file(s)...
196
+ Total file(s) copied: 1 file(s) 1а532 bytes
197
+ Target _DeployFiles:
198
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad studio\12.0\bin\Artwork\Android\FM_LauncherIcon_144x144.png,.\Android\Debug\HW\res\drawable-xxhdpi\,1,ic_launcher.png"
199
+ Platform Assistant Client Version 4.2.0.05
200
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
201
+
202
+ Copying file(s)...
203
+ Total file(s) copied: 1 file(s) 2а674 bytes
204
+ Target __CreateAPKDirs:
205
+ Creating directory ".\Android\Debug\HW\bin".
206
+ Creating directory ".\Android\Debug\HW\assets".
207
+ Target __StripOutputFile:
208
+ Creating directory ".\Android\Debug\HW\debug".
209
+ Copying file from ".\Android\Debug\HW\library\lib\armeabi\libHW.so" to ".\Android\Debug\HW\debug\libHW.so".
210
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --stripdebug="C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-strip.exe,.\Android\Debug\HW\debug\libHW.so,.\Android\Debug\HW\library\lib\armeabi\libHW.so"
211
+ Platform Assistant Client Version 4.2.0.05
212
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
213
+
214
+ Target _AndroidPackaging:
215
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --aaptpackage="C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522\sdk\build-tools\android-4.2.2\Aapt.exe,.\Android\Debug\HW\library,.\Android\Debug\HW\classes,.\Android\Debug\HW\res,.\Android\Debug\HW\assets,.\Android\Debug\HW\AndroidManifest.xml,C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522\sdk\platforms\android-17\android.jar,.\Android\Debug\HW\bin\HW-unsigned.apk"
216
+ Platform Assistant Client Version 4.2.0.05
217
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
218
+
219
+ Build FAILED.
220
+ 0 Warning(s)
221
+ 0 Error(s)
222
+ Time Elapsed 00:00:06.70
223
+ Build started 11.06.2014 16:05:07.
224
+ __________________________________________________
225
+ Project "C:\OCP\Temp\Android_Hello_Word\HW.dproj" (Deploy target(s)):
226
+ Target _CleanRemoteDir:
227
+ Cleaning APK Output Directory: .\Android\Debug\HW
228
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --Clean=".\Android\Debug\HW,C:\OCP\Temp\Android_Hello_Word\HW._@emb_.tmp"
229
+ Platform Assistant Client Version 4.2.0.05
230
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
231
+
232
+ Deleting file(s)...
233
+ Total file(s) deleted: 2 file(s) 3 dir(s)
234
+ Deleting file "C:\OCP\Temp\Android_Hello_Word\HW._@emb_.tmp".
235
+ Target _DeployFiles:
236
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad studio\12.0\bin\Artwork\Android\FM_LauncherIcon_36x36.png,.\Android\Debug\HW\res\drawable-ldpi\,1,ic_launcher.png"
237
+ Platform Assistant Client Version 4.2.0.05
238
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
239
+
240
+ Copying file(s)...
241
+ Total file(s) copied: 0 file(s) 0 bytes
242
+ Target _DeployFiles:
243
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad studio\12.0\bin\Artwork\Android\FM_LauncherIcon_96x96.png,.\Android\Debug\HW\res\drawable-xhdpi\,1,ic_launcher.png"
244
+ Platform Assistant Client Version 4.2.0.05
245
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
246
+
247
+ Copying file(s)...
248
+ Total file(s) copied: 0 file(s) 0 bytes
249
+ Target _DeployFiles:
250
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad studio\12.0\lib\android\debug\classes.dex,.\Android\Debug\HW\classes\,1,classes.dex"
251
+ Platform Assistant Client Version 4.2.0.05
252
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
253
+
254
+ Copying file(s)...
255
+ Total file(s) copied: 0 file(s) 0 bytes
256
+ Target _DeployFiles:
257
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\prebuilt\android-arm\gdbserver\gdbserver,.\Android\Debug\HW\library\lib\armeabi\,1,gdbserver"
258
+ Platform Assistant Client Version 4.2.0.05
259
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
260
+
261
+ Copying file(s)...
262
+ Total file(s) copied: 0 file(s) 0 bytes
263
+ Target _DeployFiles:
264
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad studio\12.0\bin\Artwork\Android\FM_LauncherIcon_48x48.png,.\Android\Debug\HW\res\drawable-mdpi\,1,ic_launcher.png"
265
+ Platform Assistant Client Version 4.2.0.05
266
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
267
+
268
+ Copying file(s)...
269
+ Total file(s) copied: 0 file(s) 0 bytes
270
+ Target _DeployFiles:
271
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="Android\Debug\AndroidManifest.xml,.\Android\Debug\HW\,1,AndroidManifest.xml"
272
+ Platform Assistant Client Version 4.2.0.05
273
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
274
+
275
+ Copying file(s)...
276
+ Total file(s) copied: 0 file(s) 0 bytes
277
+ Target _DeployFiles:
278
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="Android\Debug\libHW.so,.\Android\Debug\HW\library\lib\armeabi\,1,libHW.so"
279
+ Platform Assistant Client Version 4.2.0.05
280
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
281
+
282
+ Copying file(s)...
283
+ Total file(s) copied: 1 file(s) 51а785а360 bytes
284
+ Target _DeployFiles:
285
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad studio\12.0\bin\Artwork\Android\FM_LauncherIcon_72x72.png,.\Android\Debug\HW\res\drawable-hdpi\,1,ic_launcher.png"
286
+ Platform Assistant Client Version 4.2.0.05
287
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
288
+
289
+ Copying file(s)...
290
+ Total file(s) copied: 0 file(s) 0 bytes
291
+ Target _DeployFiles:
292
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --put="c:\program files (x86)\embarcadero\rad studio\12.0\bin\Artwork\Android\FM_LauncherIcon_144x144.png,.\Android\Debug\HW\res\drawable-xxhdpi\,1,ic_launcher.png"
293
+ Platform Assistant Client Version 4.2.0.05
294
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
295
+
296
+ Copying file(s)...
297
+ Total file(s) copied: 0 file(s) 0 bytes
298
+ Target __CreateAPKDirs:
299
+ Creating directory ".\Android\Debug\HW\bin".
300
+ Creating directory ".\Android\Debug\HW\assets".
301
+ Target __StripOutputFile:
302
+ Creating directory ".\Android\Debug\HW\debug".
303
+ Copying file from ".\Android\Debug\HW\library\lib\armeabi\libHW.so" to ".\Android\Debug\HW\debug\libHW.so".
304
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --stripdebug="C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\android-ndk-r8e\toolchains\arm-linux-androideabi-4.6\prebuilt\windows\bin\arm-linux-androideabi-strip.exe,.\Android\Debug\HW\debug\libHW.so,.\Android\Debug\HW\library\lib\armeabi\libHW.so"
305
+ Platform Assistant Client Version 4.2.0.05
306
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
307
+
308
+ Target _AndroidPackaging:
309
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --aaptpackage="C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522\sdk\build-tools\android-4.2.2\Aapt.exe,.\Android\Debug\HW\library,.\Android\Debug\HW\classes,.\Android\Debug\HW\res,.\Android\Debug\HW\assets,.\Android\Debug\HW\AndroidManifest.xml,C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522\sdk\platforms\android-17\android.jar,.\Android\Debug\HW\bin\HW-unsigned.apk"
310
+ Platform Assistant Client Version 4.2.0.05
311
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
312
+
313
+ Target _AndroidSign:
314
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --jarsign="C:\Program Files\Java\jdk1.7.0_51\bin\JarSigner.exe,.\Android\Debug\HW\bin\HW-unsigned.apk,androiddebugkey,C:\Users\kriv.RARUS\AppData\Roaming\Embarcadero\BDS\12.0\debug.keystore,MD5withRSA,SHA1,android,android"
315
+ Platform Assistant Client Version 4.2.0.05
316
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
317
+
318
+ Target _AndroidZipAlign:
319
+ c:\program files (x86)\embarcadero\rad studio\12.0\bin\paclient.exe --zipalign="C:\Users\Public\Documents\RAD Studio\12.0\PlatformSDKs\adt-bundle-windows-x86-20130522\sdk\tools\ZipAlign.exe,.\Android\Debug\HW\bin\HW-unsigned.apk,.\Android\Debug\HW\bin\HW.apk,4"
320
+ Platform Assistant Client Version 4.2.0.05
321
+ Copyright (c) 2010-2013 Embarcadero Technologies, Inc.
322
+
323
+ Target __DeleteUnsignedAPKFile:
324
+ Deleting file ".\Android\Debug\HW\bin\HW-unsigned.apk".
325
+ Build succeeded.
326
+ 0 Warning(s)
327
+ 0 Error(s)
328
+ Time Elapsed 00:00:11.28
329
+ Search for 'RTL220_UP'
330
+ C:\OCP\lib\Jedi\jcl\source\include\jedi\jedi.inc [6]
331
+ C:\OCP\lib\Jedi\jcl\source\include\jedi\jedi.inc(357): RTL220_UP Defined when compiling with Delphi or C++Builder Personalities of BDS 8.0 or higher
332
+ C:\OCP\lib\Jedi\jcl\source\include\jedi\jedi.inc(745): {$DEFINE RTL220_UP}
333
+ C:\OCP\lib\Jedi\jcl\source\include\jedi\jedi.inc(999): {$IFDEF RTL230_UP} {$DEFINE RTL220_UP} {$ENDIF}
334
+ C:\OCP\lib\Jedi\jcl\source\include\jedi\jedi.inc(1000): {$IFDEF RTL220_UP} {$DEFINE RTL210_UP} {$ENDIF}
335
+ C:\OCP\lib\Jedi\jcl\source\include\jedi\jedi.inc(1304): {$IFDEF RTL220_UP}
336
+ C:\OCP\lib\Jedi\jcl\source\include\jedi\jedi.inc(1306): {$ENDIF RTL220_UP}
data/Gemfile CHANGED
@@ -5,4 +5,5 @@ gemspec
5
5
  gem 'rake', '~> 10.0.4'
6
6
  gem 'xml-simple'
7
7
  gem 'rubyzip', '~> 0.9.9'
8
- gem 'inifile
8
+ gem 'inifile'
9
+ gem 'apktools', :group => :development
@@ -3,7 +3,7 @@
3
3
  module Rake
4
4
  module Delphi
5
5
  class Logger
6
- NORMAL = 0
6
+ NORMAL = INFO = 0
7
7
  VERBOSE = 1
8
8
  DEBUG = 2
9
9
  TRACE = 3
@@ -0,0 +1,57 @@
1
+ # vim: set shiftwidth=2 tabstop=2 expandtab:
2
+ # encoding: utf-8
3
+
4
+ require 'erb'
5
+ require 'rake/helpers/raketask'
6
+ require 'rake/helpers/gemversion'
7
+ require 'rake/common/chdirtask'
8
+
9
+ module Rake
10
+ module Delphi
11
+ class AndroidManifestInfo
12
+ def initialize(owner)
13
+ @owner = owner
14
+ @version = '1.3.2.4'
15
+ end
16
+
17
+ def get_binding
18
+ binding
19
+ end
20
+
21
+ def version
22
+ Gem::VersionImproved.new(@version)
23
+ end
24
+
25
+ def libname
26
+ @owner.dccTask.dpr.pathmap('%n')
27
+ end
28
+ end
29
+
30
+ class AndroidManifestTask < Rake::Task
31
+ attr_reader :output, :dccTask
32
+ public
33
+ def initialize(name, application)
34
+ super
35
+ self.needed = false
36
+ @template = 'AndroidManifest.erb'
37
+ @output = 'AndroidManifest.xml'
38
+ @template_obj = AndroidManifestInfo.new(self)
39
+ end
40
+
41
+ def execute(args = nil)
42
+ super
43
+ paclientTaskName = name.gsub(/:manifest$/, '')
44
+ @dccTask = application[paclientTaskName].dccTask
45
+ ChDir.new(self, File.dirname(@dccTask.dpr)) do |dir|
46
+ RakeFileUtils.verbose(Logger.debug?) do
47
+ erb = ERB.new(IO.read(@template))
48
+ text = erb.result(@template_obj.get_binding)
49
+ File.open(@output, 'w') do |f|
50
+ f.write(text)
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end # class AndroidManifestTask
56
+ end
57
+ end
@@ -5,54 +5,24 @@ require 'rake/common/chdirtask'
5
5
  require 'rake/common/logger'
6
6
  require 'rake/delphi/envvariables'
7
7
  require 'rake/delphi/resources'
8
- require 'rake/delphi/tool'
8
+ require 'rake/delphi/dcc32tool'
9
+ require 'rake/delphi/dccaarmtool'
10
+ require 'rake/helpers/string'
9
11
  require 'rake/helpers/rake'
10
12
  require 'rake/helpers/raketask'
11
13
 
12
14
  module Rake
13
15
  module Delphi
14
- class Dcc32Tool < CustomDelphiTool
15
- def self.toolName
16
- 'bin/dcc32.exe'
17
- end
18
-
19
- def delphidir
20
- @@delphidir
21
- end
22
-
23
- def delphilib
24
- ENV['BDSLIB']
25
- end
26
-
27
- def readLibraryPaths(platform)
28
- warn "WARNING! You are using Delphi XE or above but no platform defined!" if ENV['DELPHI_VERSION'].to_i >= 14 && ! platform
29
-
30
- platform = platform.to_s != '' ? '\\' + platform : ''
31
- # platform not used for old Delphis 'SearchPath'
32
- libpaths = self.class.readUserOption('Library' + platform, 'Search Path', self.version).split(';') \
33
- | self.class.readUserOption('Library', 'SearchPath', self.version).split(';')
34
- Logger.trace(Logger::TRACE, libpaths)
35
- dev = EnvVariables.new(self.class.rootForVersion(self.version) + '\Environment Variables', self.delphidir)
36
- libpaths.map! do |lp|
37
- unless lp.to_s.empty?
38
- lp = dev.expand(lp)
39
- end
40
- lp
41
- end
42
- Logger.trace(Logger::TRACE, libpaths)
43
- return libpaths
44
- end
45
- end
46
-
47
16
  class Dcc32Task < Rake::Task
48
17
  attr_accessor :systempath, :mainicon, :_source, :exeoutput, :bin
18
+ attr_reader :dccTool
49
19
 
50
20
  private
51
21
  @@symbols = [:quiet, :assertions, :build, :optimization, :debug, :defines,
52
22
  :debuginfo, :localsymbols, :console, :warnings, :hints, :altercfg,
53
23
  :includepaths, :writeableconst,
54
24
  :map, :dcuoutput, :bploutput, :aliases, :platform, :namespaces,
55
- :dcpoutput, :dcu, :uselibrarypath, :uselibrarypath, :usecfg]
25
+ :dcpoutput, :dcu, :uselibrarypath, :uselibrarypath, :usecfg, :dcc_options]
56
26
  public
57
27
  @@symbols.map do |sym|
58
28
  attr_accessor sym unless method_defined?(sym)
@@ -66,18 +36,30 @@ module Rake
66
36
  @rc_task = application.define_task(RCTask, shortname + ':rc')
67
37
  enhance([@rc_template_task, @rc_task])
68
38
  @platform = nil
69
- @dcc32Tool = Dcc32Tool.new
39
+ @platform_stripped = nil
40
+ @dccToolClass = nil
41
+ recreate_dcc_tool
42
+ end
43
+
44
+ def recreate_dcc_tool(checkExistance = false)
45
+ @dccToolClass ||= Dcc32Tool
46
+ @dccToolClass.reinit
47
+ @dccTool = @dccToolClass.new(checkExistance)
70
48
  end
71
49
 
72
50
  # used in tests
73
51
  def reenable
74
52
  # recreate Dcc32Tool to reinitialize paths to tool
75
- @dcc32Tool = Dcc32Tool.new(true)
53
+ recreate_dcc_tool(true)
76
54
  super
77
55
  end
78
56
 
79
57
  def versionInfoClass
80
- @dcc32Tool.versionInfoClass
58
+ @dccTool.versionInfoClass
59
+ end
60
+
61
+ def createVersionInfo
62
+ versionInfoClass.new(self)
81
63
  end
82
64
 
83
65
  def dcu=(value)
@@ -92,6 +74,35 @@ module Rake
92
74
  enhance([dcu_task])
93
75
  end
94
76
 
77
+ def platform=(value)
78
+ @platform = value
79
+ Logger.trace(Logger::DEBUG, 'PLATFORM set: ' + value)
80
+ # strip digits from platform name Android
81
+ @platform_stripped = @platform
82
+ @platform_stripped = @platform.gsub(/\d/, '') if @platform.downcase.starts_with?('android')
83
+ @dccToolClass = nil
84
+ post_needed = false
85
+ if @platform_stripped.downcase.to_sym == :android
86
+ # set dccaarm compiler tool for Android platform
87
+ @dccToolClass = DccARMTool
88
+ post_needed = true
89
+ end
90
+ recreate_dcc_tool
91
+ Logger.trace(Logger::DEBUG, 'DCC tool set: ' + @dccToolClass.to_s)
92
+ # enable appropriate PAClientTask
93
+ application[name + ':post'].needed = post_needed
94
+ # for XE and above set default aliases and namespaces
95
+ if ENV['DELPHI_VERSION'].to_i >= 14
96
+ @aliases = 'Generics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE'
97
+ @namespaces = 'Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;System;Xml;Data;Datasnap;Web;Soap'
98
+ Logger.trace(Logger::TRACE, 'Aliases and namespaces are set for Delphi XE')
99
+ end
100
+ end
101
+
102
+ def exeoutput
103
+ return @exeoutput || @bin
104
+ end
105
+
95
106
  private
96
107
  def initvars
97
108
  @exeoutput = nil
@@ -101,19 +112,7 @@ module Rake
101
112
  end
102
113
 
103
114
  def delphilibs
104
- return [@dcc32Tool.delphilib] | @dcc32Tool.readLibraryPaths(@platform)
105
- end
106
-
107
- def platform=(value)
108
- @platform = value
109
- Logger.trace(Logger::DEBUG, 'PLATFORM set: ' + value)
110
- ENV['PLATFORM'] = @platform
111
- # for XE and above set default aliases and namespaces
112
- if ENV['DELPHI_VERSION'].to_i >= 14
113
- @aliases = 'Generics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE'
114
- @namespaces = 'Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;System;Xml;Data;Datasnap;Web;Soap;Vcl'
115
- Logger.trace(Logger::TRACE, 'Aliases and namespaces are set for Delphi XE')
116
- end
115
+ return [@dccTool.delphilib] | @dccTool.readLibraryPaths(@platform, @platform_stripped)
117
116
  end
118
117
 
119
118
  def _paths(ppaths)
@@ -168,10 +167,6 @@ module Rake
168
167
  return @namespaces ? Rake.quotepath('-NS', @namespaces) : ''
169
168
  end
170
169
 
171
- def exeoutput
172
- return @exeoutput || @bin
173
- end
174
-
175
170
  def dcuoutput
176
171
  return @dcuoutput || @dcu || @_source.pathmap('%d%sdcu')
177
172
  end
@@ -202,7 +197,7 @@ module Rake
202
197
  end
203
198
 
204
199
  def _source
205
- return Rake.quotepath('', @_source)
200
+ return Rake.quotepath('', @_source.pathmap('%f'))
206
201
  end
207
202
 
208
203
  def defines
@@ -215,13 +210,17 @@ module Rake
215
210
 
216
211
  def build_args
217
212
  args = []
218
- args << build? << console? << warnings? << hints? << quiet? << debug? << alldebuginfo << map
213
+ args << @dccTool.options << dcc_options << build? << console? << warnings? << hints? << quiet? << debug? << alldebuginfo << map
219
214
  args << defines << writeableconst << aliases << namespaces
220
215
  args << _source << outputs << implicitpaths
221
216
  args.flatten
222
217
  end
223
218
 
224
219
  public
220
+ def dpr
221
+ @_source
222
+ end
223
+
225
224
  def init(properties)
226
225
  Logger.trace(Logger::TRACE, properties)
227
226
  properties.map do |key, value|
@@ -275,7 +274,7 @@ module Rake
275
274
 
276
275
  def execute(opts=nil)
277
276
  super
278
- @dcc32Tool.class.checkToolFailure(@dcc32Tool.toolpath)
277
+ @dccTool.class.checkToolFailure(@dccTool.toolpath)
279
278
  fail "Could not find #{_source} to compile" unless @_source && File.exists?(@_source)
280
279
  init_libs
281
280
  args = build_args
@@ -283,7 +282,7 @@ module Rake
283
282
  # so escape $
284
283
  args.map! { |a| a.gsub('$', '\$') if a.kind_of?(String) } unless application.windows?
285
284
  args.compact!
286
- cmd = Rake.quotepath('', @dcc32Tool.toolpath)
285
+ cmd = Rake.quotepath('', @dccTool.toolpath)
287
286
  cmd << ([''] | args).join(' ')
288
287
  ChDir.new(self, File.dirname(@_source)) do |dir|
289
288
  RakeFileUtils.verbose(Logger.debug?) do