mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-15 09:46:16 +01:00
copy templates folder into lib/hg folder
This commit is contained in:
@@ -64,7 +64,7 @@ public class WindowsHgInstaller extends AbstractHgInstaller
|
|||||||
{
|
{
|
||||||
|
|
||||||
// TortoiseHg
|
// TortoiseHg
|
||||||
"TortoiseHg\\hg.exe"
|
"TortoiseHg"
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Field description */
|
/** Field description */
|
||||||
@@ -80,7 +80,7 @@ public class WindowsHgInstaller extends AbstractHgInstaller
|
|||||||
{
|
{
|
||||||
|
|
||||||
// TortoiseHg
|
// TortoiseHg
|
||||||
"TortoiseHg\\template"
|
"TortoiseHg\\templates"
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Field description */
|
/** Field description */
|
||||||
@@ -91,6 +91,8 @@ public class WindowsHgInstaller extends AbstractHgInstaller
|
|||||||
private static final Logger logger =
|
private static final Logger logger =
|
||||||
LoggerFactory.getLogger(WindowsHgInstaller.class);
|
LoggerFactory.getLogger(WindowsHgInstaller.class);
|
||||||
|
|
||||||
|
public static String BINARY_MERCURIAL = "hg";
|
||||||
|
|
||||||
//~--- constructors ---------------------------------------------------------
|
//~--- constructors ---------------------------------------------------------
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -120,38 +122,29 @@ public class WindowsHgInstaller extends AbstractHgInstaller
|
|||||||
super.install(config);
|
super.install(config);
|
||||||
|
|
||||||
String progDir = getProgrammDirectory();
|
String progDir = getProgrammDirectory();
|
||||||
String path = null;
|
|
||||||
File libraryZip = find(progDir, PATH_LIBRARY_ZIP);
|
File libraryZip = find(progDir, PATH_LIBRARY_ZIP);
|
||||||
|
|
||||||
|
File libDir = null;
|
||||||
|
|
||||||
if (libraryZip != null)
|
if (libraryZip != null)
|
||||||
{
|
{
|
||||||
File libDir = new File(baseDirectory, "lib\\hg");
|
libDir = new File(baseDirectory, "lib\\hg");
|
||||||
|
|
||||||
IOUtil.extract(libraryZip, libDir);
|
IOUtil.extract(libraryZip, libDir);
|
||||||
path = libDir.getAbsolutePath();
|
config.setPythonPath(libDir.getAbsolutePath());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( libDir != null )
|
||||||
|
{
|
||||||
File templateDir = find(progDir, PATH_TEMPLATE);
|
File templateDir = find(progDir, PATH_TEMPLATE);
|
||||||
|
|
||||||
if (templateDir != null)
|
if (templateDir != null)
|
||||||
{
|
{
|
||||||
if (path != null)
|
IOUtil.copy(templateDir, new File(libDir, "templates"));
|
||||||
{
|
|
||||||
path = path.concat(";").concat(templateDir.getAbsolutePath());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
path = templateDir.getAbsolutePath();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (path != null)
|
|
||||||
{
|
|
||||||
config.setPythonPath(path);
|
|
||||||
}
|
|
||||||
|
|
||||||
checkForOptimizedByteCode(config);
|
checkForOptimizedByteCode(config);
|
||||||
config.setPythonBinary(getPythonBinary());
|
config.setPythonBinary(getPythonBinary());
|
||||||
|
config.setHgBinary( search(PATH_HG, BINARY_MERCURIAL) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ import sonia.scm.io.ZipUnArchiver;
|
|||||||
|
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
@@ -163,6 +165,39 @@ public class IOUtil
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void copy( File source, File target ) throws IOException
|
||||||
|
{
|
||||||
|
if ( source.isDirectory() )
|
||||||
|
{
|
||||||
|
if ( ! target.exists() )
|
||||||
|
{
|
||||||
|
mkdirs(target);
|
||||||
|
}
|
||||||
|
|
||||||
|
String[] children = source.list();
|
||||||
|
for ( String child : children )
|
||||||
|
{
|
||||||
|
copy(new File(source, child), new File(target, child));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FileInputStream input = null;
|
||||||
|
FileOutputStream output = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
input = new FileInputStream( source );
|
||||||
|
output = new FileOutputStream( target );
|
||||||
|
copy(input, output);
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
close(input);
|
||||||
|
close(output);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Method description
|
* Method description
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user