/** * This file is part of pwt. * * pwt is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser * General Public License as published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * pwt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser * General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License along with pwt. If not, * see <http://www.gnu.org/licenses/>. */ package fr.putnami.gwt.gradle.task; import org.gradle.api.tasks.TaskAction; import java.io.OutputStream; import java.net.Socket; import fr.putnami.gwt.gradle.extension.JettyOption; import fr.putnami.gwt.gradle.extension.PutnamiExtension; public class GwtStopTask extends AbstractTask { public static final String NAME = "gwtStop"; public GwtStopTask() { setDescription("Stop jetty"); } @TaskAction public void exec() throws Exception { PutnamiExtension putnami = getProject().getExtensions().getByType(PutnamiExtension.class); JettyOption jettyOption = putnami.getJetty(); getLogger().info("Stopping jetty"); Socket soket = new Socket("localhost", jettyOption.getStopPort()); soket.setSoLinger(false, 0); OutputStream out = soket.getOutputStream(); out.write((jettyOption.getStopKey() + "\r\nstop\r\n").getBytes()); out.flush(); soket.close(); } }