Subversion Repositories Projects

Rev

Rev 219 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
206 ligi 1
#!/usr/bin/env ruby
2
# little ruby script to build DUBwise
3
# 
4
# Author: Marcus -LiGi- Bueschleb
5
#
6
# see README for further Infos
7
 
8
 
9
resdir="res/"
10
 
11
 
219 ligi 12
if ARGV.length==2
13
  bindir=ARGV[1]
242 ligi 14
  puts `rm -rf #{bindir}`
219 ligi 15
else
16
  bindir="bin"
17
end
18
 
19
 
206 ligi 20
 ARGV<<"" if ARGV==[]
21
case ARGV[0]
22
 when "p910"
23
  screensizes=["200x300"]
24
  voice_modes=["en_speedy"]
25
  bluetooth_modes=["off"]
26
  devicecontrol_modes=["off"]
27
  fileapi_modes=["off"]
28
  cldc11_modes=["off"]
29
 
30
 when "test"
31
  screensizes=["240x320"]
32
  voice_modes=["en_speedy"]
33
  bluetooth_modes=["on"]
34
  devicecontrol_modes=["on"]
35
  fileapi_modes=["on"]
36
  cldc11_modes=["on"]
37
  #firmware_modes=["fc_mk3mag_firmwares"]
219 ligi 38
  #firmware_modes=["all_firmwares"]
39
  firmware_modes=["no_firmwares"]
206 ligi 40
 
219 ligi 41
 when "bltest"
42
  screensizes=["240x320"]
43
  voice_modes=["en_speedy"]
44
  bluetooth_modes=["on"]
45
  devicecontrol_modes=["on"]
46
  fileapi_modes=["on"]
47
  cldc11_modes=["on"]
48
  firmware_modes=["all_firmwares"]
49
 
206 ligi 50
 when "test2"
51
  screensizes=["176x220"]
52
  voice_modes=["en_speedy"]
53
  bluetooth_modes=["on"]
54
  devicecontrol_modes=["on"]
55
  fileapi_modes=["on"]
56
  cldc11_modes=["on"]
57
  firmware_modes=["all_firmwares"]
58
 
59
 when "off"
60
  screensizes=["240x320"]
61
  voice_modes=["en_speedy"]
62
  bluetooth_modes=["off"]
63
  devicecontrol_modes=["off"]
64
  fileapi_modes=["off"]
65
  cldc11_modes=["off"]
66
 
67
 when "alloff"
68
  screensizes=["128x128","176x220","200x300","240x320","340x400","480x640"]
69
  voice_modes=["no_voice","de_tts","de_64kbit_tts","en_speedy","wav"]
70
  bluetooth_modes=["off"]
71
  devicecontrol_modes=["off"]
72
  fileapi_modes=["off"]
73
  cldc11_modes=["off"]
74
 
75
 when "n80"
76
  bluetooth_modes=["on"]
77
  screensizes=["340x400"]
78
  voice_modes=["en_speedy"]
79
  fileapi_modes=["on"]
80
  devicecontrol_modes=["on"]
81
  cldc11_modes=["on"]
82
  firmware_modes=["all_firmwares"]
83
 when "common"
84
  screensizes=["128x128","176x220","200x300","240x320","340x400","480x640"]
85
  voice_modes=["no_voice","de_tts","de_64kbit_tts","en_speedy","wav"]
86
  bluetooth_modes=["on"]
87
  fileapi_modes=["on"]
88
  devicecontrol_modes=["on"]
89
  cldc11_modes=["on"]
90
  firmware_modes=["all_firmwares"]
91
 
92
 else
242 ligi 93
#  screensizes=["128x128","176x220","200x300","240x320","340x400","480x640"]
94
#  voice_modes=["no_voice","de_tts","de_64kbit_tts","en_speedy","wav"]
95
#  bluetooth_modes=["on","off"]
96
#  fileapi_modes=["on","off"]
97
# devicecontrol_modes=["on","off"]
98
#  cldc11_modes=["on","off"]
99
#  firmware_modes=["no_firmwares","fc_mk3mag_firmware","all_firmwares"]
100
  puts "no valid profile given"
101
  exit
206 ligi 102
end
103
 
104
 
219 ligi 105
puts `mv build.props build.props.bak`
106
puts `ant clean`
107
puts `mkdir #{bindir}`
206 ligi 108
 
109
 
110
propertys={}
111
 
112
firmware_modes.each {|firmware|
113
cldc11_modes.each { |cldc11|
114
devicecontrol_modes.each { |devicecontrol|
115
  fileapi_modes.each { |fileapi|
116
      bluetooth_modes.each { |bluetooth|
117
        screensizes.each { |screensize|
118
          voice_modes.each { |voice_mode|
119
 
120
            p "cleaning ressources"
121
            p `rm -rf tmp/res`
122
            p `mkdir tmp/res`
123
 
124
            p `cp -v res/images_by_screensize/#{screensize}/* tmp/res/`
125
              p `cp -v res/firmwares/#{firmware}/* tmp/res/`
126
 
127
            propertys["screensize"]=screensize
128
 
129
            p "voice_mode" + voice_mode
130
            p "Screensize " + screensize
131
 
132
            propertys["voice_mode"]=voice_mode
133
            propertys["bluetooth"]=bluetooth
134
            propertys["fileapi"]=fileapi
135
            propertys["devicecontrol"]=devicecontrol
136
            propertys["cldc11"]=cldc11
137
 
138
 
139
              propertys["basename"]="DUBwise-#{screensize}-#{cldc11=="on"?"cldc11":"cldc10"}-#{voice_mode}-#{firmware}-bluetooth_#{bluetooth}-fileapi_#{fileapi}-devicecontrol_#{devicecontrol}"
140
            p `cp -v res/voice_samples_by_name/#{voice_mode}/* tmp/res/`  
141
 
142
 
143
          prefs_file= File.new("build.props","w")
144
          propertys.each_pair {|name,value|
145
            p "writing props " + name+"="+value+"\n"
146
            prefs_file <<       name+"="+value+"\n"
147
          }
148
          prefs_file.close
149
 
150
          `ant build`.each_line {       |l| puts l }
151
 
219 ligi 152
          `mkdir -p #{bindir}/#{screensize}/#{cldc11=="on"?"cldc11":"cldc10"}/#{voice_mode}/bluetooth_#{bluetooth}/fileapi_#{fileapi}/devicecontrol_#{devicecontrol}`
206 ligi 153
 
219 ligi 154
#          `mv build/bin/#{propertys["basename"]}* #{bindir}/#{screensize}/#{cldc11=="on"?"cldc11":"cldc10"}/#{voice_mode}/bluetooth_#{bluetooth}/fileapi_#{fileapi}/devicecontrol_#{devicecontrol}`
206 ligi 155
 
156
 
157
 
219 ligi 158
          `mkdir -p #{bindir}/#{screensize}/#{cldc11=="on"?"cldc11":"cldc10"}/#{voice_mode}/bluetooth_#{bluetooth}/fileapi_#{fileapi}/devicecontrol_#{devicecontrol}`
206 ligi 159
 
219 ligi 160
          `mv build/bin/#{propertys["basename"]}* #{bindir}/#{screensize}/#{cldc11=="on"?"cldc11":"cldc10"}/#{voice_mode}/bluetooth_#{bluetooth}/fileapi_#{fileapi}/devicecontrol_#{devicecontrol}`
206 ligi 161
 
162
        }
163
 
164
 
165
      }
166
    }
167
  }
168
}
169
}
170
}
171
    puts `mv -v  build.props.bak build.props`
172