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 ../


これでなおた!