Update cached resource files when appropriate.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2134 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: ResourceBundle.java,v 1.5 2003/01/13 22:50:36 mdb Exp $
|
// $Id: ResourceBundle.java,v 1.6 2003/01/14 00:58:59 mdb Exp $
|
||||||
|
|
||||||
package com.threerings.resource;
|
package com.threerings.resource;
|
||||||
|
|
||||||
@@ -32,6 +32,7 @@ public class ResourceBundle
|
|||||||
public ResourceBundle (File source)
|
public ResourceBundle (File source)
|
||||||
{
|
{
|
||||||
_source = source;
|
_source = source;
|
||||||
|
_sourceLastMod = source.lastModified();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -83,7 +84,9 @@ public class ResourceBundle
|
|||||||
// compute the path to our temporary file
|
// compute the path to our temporary file
|
||||||
String tpath = StringUtil.md5hex(_source.getPath() + "%" + path);
|
String tpath = StringUtil.md5hex(_source.getPath() + "%" + path);
|
||||||
File tfile = new File(_tmpdir, tpath);
|
File tfile = new File(_tmpdir, tpath);
|
||||||
if (tfile.exists()) {
|
if (tfile.exists() && (tfile.lastModified() > _sourceLastMod)) {
|
||||||
|
System.out.println("Using cached " + _source.getPath() +
|
||||||
|
":" + path);
|
||||||
return tfile;
|
return tfile;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,9 +96,7 @@ public class ResourceBundle
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// clean up our unpacked files when the JVM exits
|
System.out.println("Unpacking " + path);
|
||||||
// tfile.deleteOnExit();
|
|
||||||
|
|
||||||
// copy the resource into the temporary file
|
// copy the resource into the temporary file
|
||||||
BufferedOutputStream fout =
|
BufferedOutputStream fout =
|
||||||
new BufferedOutputStream(new FileOutputStream(tfile));
|
new BufferedOutputStream(new FileOutputStream(tfile));
|
||||||
@@ -161,6 +162,9 @@ public class ResourceBundle
|
|||||||
/** The file from which we construct our jar file. */
|
/** The file from which we construct our jar file. */
|
||||||
protected File _source;
|
protected File _source;
|
||||||
|
|
||||||
|
/** The last modified time of our source jar file. */
|
||||||
|
protected long _sourceLastMod;
|
||||||
|
|
||||||
/** The directory into which our contents are unpacked, if we are
|
/** The directory into which our contents are unpacked, if we are
|
||||||
* unpacked. */
|
* unpacked. */
|
||||||
protected File _unpackDir;
|
protected File _unpackDir;
|
||||||
|
|||||||
Reference in New Issue
Block a user