GCALDaemonで繰り返しスケジュールが登録できないバグをなおす
・ソース修正
$ cd path/to/GCALDaemon
$ vi dev/src/org/gcaldaemon/core/GCalUtilities.java
- 1214 // Set when - 1215 When startAndEnd = new When(); - 1216 startAndEnd.setStartTime(toDateTime(startDate)); - 1217 startAndEnd.setEndTime(toDateTime(endDate)); - 1218 entry.addTime(startAndEnd); - 1219 + 1220 boolean skipWhen = false; + 1221 if (start != null && end != null) { + 1222 Property rRule = event.getProperty(Property.RRULE); + 1223 if (rRule != null) { + 1224 skipWhen = true; + 1225 } + 1226 } + 1227 if (!skipWhen) { + 1228 When startAndEnd = new When(); + 1229 startAndEnd.setStartTime(toDateTime(startDate)); + 1230 startAndEnd.setEndTime(toDateTime(endDate)); + 1231 entry.addTime(startAndEnd); + 1232 }
・コンパイルし直す
$ javac -classpath .:lib/gcal-daemon.jar:lib/gdata-client.jar:lib/gdata-calendar.jar:lib/commons-httpclient.jar:lib/commons-logging.jar:lib/commons-codec.jar:lib/commons-lang.jar:lib/activation.jar:lib/logger.jar:lib/ical4j.jar:lib/mail.jar dev/src/org/gcaldaemon/core/GCalUtilities.java
・classファイル移動
$ mv dev/src/org/gcaldaemon/core/GCalUtilities.class lib/gcal-daemon/org/gcaldaemon/core/GCalUtilities.class
・jarを作り直す
$ cd lib/gcal-daemon
$ jar cvf gcal-daemon.jar $(find ./ -name "*.class")
$ mv gcal-daemon.jar ../
これでなおた!