diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/api/rest/resources/HgConfigResource.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/api/rest/resources/HgConfigResource.java index 2f43505f7e..ba22451303 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/api/rest/resources/HgConfigResource.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/api/rest/resources/HgConfigResource.java @@ -47,7 +47,6 @@ import sonia.scm.installer.HgPackages; import sonia.scm.net.HttpClient; import sonia.scm.repository.HgConfig; import sonia.scm.repository.HgRepositoryHandler; -import sonia.scm.web.HgWebConfigWriter; //~--- JDK imports ------------------------------------------------------------ @@ -268,7 +267,6 @@ public class HgConfigResource { handler.setConfig(config); handler.storeConfig(); - new HgWebConfigWriter(config).write(); return Response.created(uriInfo.getRequestUri()).build(); } diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHandler.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHandler.java index 20954eca21..096c39e9b9 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHandler.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/repository/HgRepositoryHandler.java @@ -59,7 +59,6 @@ import sonia.scm.store.StoreFactory; import sonia.scm.util.AssertUtil; import sonia.scm.util.IOUtil; import sonia.scm.util.Util; -import sonia.scm.web.HgWebConfigWriter; //~--- JDK imports ------------------------------------------------------------ @@ -156,7 +155,6 @@ public class HgRepositoryHandler installer.install(baseDirectory, autoConfig); config = autoConfig; storeConfig(); - new HgWebConfigWriter(config).write(); } catch (IOException ioe) { diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/web/HgUtil.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/web/HgUtil.java index c86611a484..93b4f902de 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/web/HgUtil.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/web/HgUtil.java @@ -35,13 +35,8 @@ package sonia.scm.web; //~--- non-JDK imports -------------------------------------------------------- -import sonia.scm.SCMContext; import sonia.scm.util.Util; -//~--- JDK imports ------------------------------------------------------------ - -import java.io.File; - /** * * @author Sebastian Sdorra @@ -49,37 +44,11 @@ import java.io.File; public class HgUtil { - /** Field description */ - public static final String CGI_DIRECTORY = "cgi-bin"; - - /** Field description */ - public static final String CGI_NAME = "hgweb.py"; - /** Field description */ public static final String REVISION_TIP = "tip"; //~--- get methods ---------------------------------------------------------- - /** - * Method description - * - * - * @return - */ - public static File getCGI() - { - File cgiDirectory = new File(SCMContext.getContext().getBaseDirectory(), - CGI_DIRECTORY); - - if (!cgiDirectory.exists() &&!cgiDirectory.mkdirs()) - { - throw new RuntimeException( - "could not create directory".concat(cgiDirectory.getPath())); - } - - return new File(cgiDirectory, CGI_NAME); - } - /** * Method description * diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/web/HgWebConfigWriter.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/web/HgWebConfigWriter.java deleted file mode 100644 index 6b6ff56e7a..0000000000 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/web/HgWebConfigWriter.java +++ /dev/null @@ -1,125 +0,0 @@ -/** - * Copyright (c) 2010, Sebastian Sdorra - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * 3. Neither the name of SCM-Manager; nor the names of its - * contributors may be used to endorse or promote products derived from this - * software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * http://bitbucket.org/sdorra/scm-manager - * - */ - - - -package sonia.scm.web; - -//~--- non-JDK imports -------------------------------------------------------- - -import sonia.scm.io.RegexResourceProcessor; -import sonia.scm.io.ResourceProcessor; -import sonia.scm.repository.HgConfig; -import sonia.scm.util.IOUtil; - -//~--- JDK imports ------------------------------------------------------------ - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -/** - * - * @author Sebastian Sdorra - */ -public class HgWebConfigWriter -{ - - /** Field description */ - public static final String CGI_TEMPLATE = "/sonia/scm/hgweb.py"; - - //~--- constructors --------------------------------------------------------- - - /** - * Constructs ... - * - * - * @param config - */ - public HgWebConfigWriter(HgConfig config) - { - this.config = config; - } - - //~--- methods -------------------------------------------------------------- - - /** - * Method description - * - * - * - * @throws IOException - */ - public void write() throws IOException - { - File cgiFile = HgUtil.getCGI(); - - writeCGIFile(cgiFile); - } - - /** - * Method description - * - * - * @param cgiFile - * - * @throws IOException - */ - private void writeCGIFile(File cgiFile) throws IOException - { - InputStream input = null; - OutputStream output = null; - - try - { - input = HgWebConfigWriter.class.getResourceAsStream(CGI_TEMPLATE); - output = new FileOutputStream(cgiFile); - - ResourceProcessor rp = new RegexResourceProcessor(); - - rp.addVariable("python", config.getPythonBinary()); - rp.process(input, output); - cgiFile.setExecutable(true); - } - finally - { - IOUtil.close(input); - IOUtil.close(output); - } - } - - //~--- fields --------------------------------------------------------------- - - /** Field description */ - private HgConfig config; -} diff --git a/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/python/hgweb.py b/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/python/hgweb.py index 90ed89db83..66d5fadc3c 100644 --- a/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/python/hgweb.py +++ b/scm-plugins/scm-hg-plugin/src/main/resources/sonia/scm/python/hgweb.py @@ -1,4 +1,3 @@ -#!/usr/bin/env ${python} # # Copyright (c) 2010, Sebastian Sdorra # All rights reserved.