private static final Logger LOGGER = Logging.getLogger(DaemonMain.class);
public static void main(String[] args) throws IOException {
StartParameter startParameter = new DefaultCommandLineConverter().convert(Arrays.asList(args));
redirectOutputsAndInput(startParameter);
LoggingServiceRegistry loggingServices = LoggingServiceRegistry.newChildProcessLogging();
<BUG>DaemonServerConnector connector = new DaemonServerConnector();
DaemonRegistry daemonRegistry = new PersistentDaemonRegistry(startParameter.getGradleUserHomeDir());
</BUG>
int idleTimeout = getIdleTimeout(startParameter);
<BUG>LOGGER.info("Daemon idle timeout is configured to: " + idleTimeout / 1000 + " secs");
Daemon daemon = new Daemon(loggingServices, connector, daemonRegistry);</BUG>
daemon.start();

private static final Logger LOGGER = Logging.getLogger(DaemonMain.class);
public static void main(String[] args) throws IOException {
StartParameter startParameter = new DefaultCommandLineConverter().convert(Arrays.asList(args));
redirectOutputsAndInput(startParameter);
LoggingServiceRegistry loggingServices = LoggingServiceRegistry.newChildProcessLogging();
DaemonServerConnector connector = new DaemonServerConnector();
File registryDir = startParameter.getGradleUserHomeDir();
DaemonRegistry daemonRegistry = new PersistentDaemonRegistry(registryDir);
int idleTimeout = getIdleTimeout(startParameter);
float idleTimeoutSecs = idleTimeout / 1000;
LOGGER.lifecycle("Starting daemon (at {}) with settings: idleTimeout = {} secs, registryDir = {}", new Date(), idleTimeoutSecs, registryDir);
Daemon daemon = new Daemon(loggingServices, connector, daemonRegistry);
daemon.start();
