Commit Graph

429 Commits

Author SHA1 Message Date
Andrzej Kapolka 35245d4d44 Adding a flag to prevent unpacking (for building Steam depots). 2011-06-10 00:50:35 +00:00
Ray Greenwell e44931a433 Allow the 'appid' to be specified as a system property. 2011-04-25 23:06:48 +00:00
Andrzej Kapolka 9ed9d93623 Not sure if opening another connection here was intentional; I'm assuming not.
At any rate, this was apparently what was causing some users' downloads to
stall.  Special thanks to Natalie B. for helping me track down the issue.
2011-04-12 22:51:27 +00:00
Michael Bayne 90edcdf571 Some tidying. 2011-04-07 21:07:23 +00:00
Michael Bayne 14bb4f0f9b I later realized we don't need quotes here, since we pass arguments as an array
to Runtime.exec.
2011-04-07 21:06:59 +00:00
Michael Bayne 6c3abf3597 Added sane systems for augmenting jvmargs and appargs from getdown.txt instead
of inconsistent-with-one-another-and-with-getdown.txt-and-limitation-ridden
'properties' and 'app_properties' mechanisms from ancient history.

Unfortunately, Sun in their infinite wisdom decided that being able to
enumerate applet parameters was "not doing it right" and provided no mechanism
for doing so. So we have to use annoying increasing int suffixes.

Use like so:

<object ..>
  <param name="jvmarg0" value="-Xmx256M"/>
  <param name="jvmarg1" value="-Danswer=42"/>
  <param name="jvmarg2" value="-Dtrix=for kids"/>
  <param name="jvmarg3" value="-Dfoodir=%APPDIR%"/>
  <param name="apparg0" value="--username"/>
  <param name="apparg1" value="elvis"/>
</object>
2011-04-07 20:57:13 +00:00
Michael Bayne 86657244e1 Truth in commenting, studliness in variable naming (since all the neighbors are
studly).
2011-02-11 23:06:02 +00:00
Michael Bayne 3f94853bb2 Allow a blank app_id so that when calling Getdown via:
java -jar getdown.jar app_dir [app_id] [app_arg ...]

we could conceivably supply '""' for app_id and pass arguments to the default
application.
2011-02-11 22:59:27 +00:00
Michael Bayne 1eaa058fa8 Some interface deconcretization, and changed config parsing so that we only
complain if you actually provide an unparseable rect or color. If you don't
provide one at all, we'll use the default.

I want people to be able to configure Getdown with just:

ui.name = My Project

and get a no-frills, but usable interface that displays download and
installation progress. Previously, this resulted in a bunch of warnings when
they tried to generate their digest.txt because they failed to supply cryptic
things like "ui.progress = 17, 321, 458, 22". I'd rather that be optional.

I may add some sort of "spurious config" warning, so that if you provide
"ui.progres = 17, 321, 458, 22" and you're wondering why things aren't working,
you don't spend hours pulling your hair out.
2011-02-11 18:40:26 +00:00
Michael Bayne 2f29c77cdf Report the underlying error message when failing due to paths that jar: URLs
can't handle.
2011-01-31 18:16:47 +00:00
Andrzej Kapolka 86f580c175 To be safe, if we had a version file before and the latest version is
newer, overwrite with the newer version.
2011-01-06 21:09:59 +00:00
Andrzej Kapolka 9577c2127c To be safe, let's be sure that the "latest" version isn't less than the
one in version.txt.
2011-01-05 00:15:27 +00:00
Andrzej Kapolka c7e7da830a Allow specifying a "latest" attribute containing the URL of the latest
getdown.txt (from which we retrieve the most recent version).
2011-01-05 00:09:52 +00:00
Michael Bayne 4c6f1f95b8 Use the renamed method. 2010-12-02 23:07:35 +00:00
Dave Hoover 33e0c7a975 Bring back multi-icon goodness.
Added a util in samskivert to do the song & dance with reflection to
find it for us.
2010-12-02 01:24:15 +00:00
Dave Hoover f73333d951 Damn, setIconImages is new in 1.6.
When I'm feeling more up to it, I'll potentially rejigger this to
allow its use if it's available, but for now just simplify it so
folks can set a single icon.
2010-11-30 01:06:34 +00:00
Dave Hoover dbc08da57c Speeling 2010-11-30 01:06:28 +00:00
Dave Hoover da3d23a973 Whitespace 2010-11-30 01:06:20 +00:00
Dave Hoover 11b2317d2a Don't worry about java 1.4 any more. 2010-11-30 01:06:13 +00:00
Dave Hoover b484d0aad3 Let folks set the icon for the getdown window.
Not to imply that the default mug o' coffee isn't the pinnacle of style, but...
2010-11-29 23:00:10 +00:00
Dave Hoover 182809ec58 Whitespace 2010-11-29 19:55:21 +00:00
Dave Hoover 6862c99db5 Update getdown's source header to be like the rest of the OOO ones. 2010-11-29 19:54:53 +00:00
Michael Bayne d999592401 Find our depends in M2_REPO. 2010-11-16 23:50:06 +00:00
Ray Greenwell a5499d8cb8 Patch from Andrzej:
Getdown is currently failing to create patch files because JarDiff is closing the outputstream. The attached patch comments it out, which seems to work.
2010-10-02 03:36:19 +00:00
Michael Bayne b4dae3be33 If we get valid values once we start downloading, use those to provide
moderately more sane progress indication.

It's still non-ideal, because, for example, we'll start out assuming everything
is length 1. So we'd have a queue like (1, 1, 1, 1). Then we start downloading
the first resource and see that we actually have (1500000, 1, 1, 1), so we
climb up to 99% downloading that first resource, and then we find out that we
have (1500000, 450000, 1, 1) and we pop back down to 70% or so, and so on as we
discover in turn that the web server lied to us about each file.

The alternative is to just sit at 25% for ages, then sit at 50% for ages, then
75%, etc. Maybe that's better... I guess I just like to see some sort of smooth
upward progress.

This is only a problem for me since I'm hosting a Getdown client on Github
which lies about Content-size in a HEAD request. So OOO projects will continue
to give accurate progress reports.
2010-09-23 00:15:20 +00:00
Michael Bayne 9d6f3e32ee Track the reported size of each resource and its download progress
individually. Cap the actual download size at the reported size to ensure that
we don't end up borking our progress calculations if a web server returns a
"clever" value for content-size like 1 or 0, but then sends back real data.
Also sanitize the returned content-size in case the web server says something
awesome like -42. No one can be trusted on the Interwebs, least of all web
servers.
2010-09-22 21:36:01 +00:00
Michael Bayne 241c68ab72 Put our resources in src/main/resources. 2010-09-22 17:29:31 +00:00
Michael Bayne f5a70f3116 Let's not fail if a tautology. 2010-09-22 17:17:47 +00:00
Michael Bayne 15619e4dd1 Extracted the digester into a command-line callable task. 2010-09-21 06:52:09 +00:00
Michael Bayne 1bb6dec1a2 Import and whitespace pruning. 2010-09-21 06:47:26 +00:00
Michael Bayne 646dc2bdf0 More javadoc fixes. 2010-09-21 06:17:47 +00:00
Michael Bayne ac3fd45c8a Javadoc improvements. 2010-09-21 06:12:19 +00:00
Michael Bayne bdec128b6c The aforementioned shared constants. 2010-09-20 18:44:41 +00:00
Michael Bayne 487c594e06 Factor shared constants back out. 2010-09-20 18:44:29 +00:00
Michael Bayne 89229b16cd Now that the JDK is open source, we can just fork JarDiff and eliminate our
annoying dependency on javaws.jar (which no longer even includes JarDiff, now
that lives in $JAVA_HOME/samples/jnlp/servlet/jardiff.jar). We had already
forked JarDiffPatcher, so this completes the circle. Now I can also directly
fix some of the annoying JarDiff bugs we were working around, which I'll do at
some point.
2010-09-20 18:42:41 +00:00
Michael Bayne 6a46f7ed3c Reheadered to get proper blank line between the license header and the package
statement.
2010-09-20 17:55:35 +00:00
Michael Bayne b2df567d71 Retire never used Snark-based bittorrent downloader. Cool idea, but never
turned out to be worth the PITA. Maybe someday when there's a broadly used
trackerless p2p technology, we'll take another crack at this sort of thing.
2010-09-20 17:54:44 +00:00
Michael Bayne e6fbfdca38 OCD fix. 2010-09-14 21:07:41 +00:00
Michael Bayne b8d0122159 Comment improvement. 2010-09-14 21:07:15 +00:00
Michael Bayne 8451579ea9 Realized that I hadn't tested negative qualfiers, added tests, discovered that
they failed. Fixed problems and added sanity checks to ensure that negative
qualifiers are always used alone.
2010-09-14 21:06:11 +00:00
Michael Bayne 0b0e5731d4 Added support for conditionally including resources based on os.arch as well as
os.name. If no architecture is specified, all architectures match, which
preserves the existing behavior.

Restructured things along the way to be more amenable to unit testing, and
added some unit tests.
2010-09-14 20:47:53 +00:00
Michael Bayne f63bb9a27f Moved src/java into src/main/java, added src/test/java, added build targets for
tests. Some changes (and tests to make sure I'm not fucking things up)
forthcoming.
2010-09-14 19:43:02 +00:00
Andrzej Kapolka c3ce5cc2a9 Fix for bug where on first installation, the Getdown window is sometimes
much smaller than the background image.  If we're going to change the
preferred size of the StatusPanel, we have to invalidate it so that
Window.pack knows to recompute the bounds.  The reason this worked sometimes
(or even most of the time) is that there's a race condition between the
Getdown thread and the AWT thread: sometimes the real interface bits (_ifc)
are in place by the time initInterface is first called, sometimes not.  For
the sake of consistency, we should probably fix that, but for now it's not
a big deal: the backgroundless interface is rarely visible.
2010-07-27 03:27:07 +00:00
Ray Greenwell 051db7ebc9 We don't use guava in getdown because we're size sensitive.
Let's go further and prefer some standard java library classes,
nixing reference to samskivert ones with limited utility.
2010-07-16 20:48:49 +00:00
Ray Greenwell 5bcaad90ce Use String.replace(). 2010-07-14 19:00:19 +00:00
Dave Hoover 9cb2fc49c7 That's the real signature 2010-06-10 20:43:34 +00:00
Ray Greenwell 3eed75b935 Set a marker system property on applications when they're run through getdown.
Also: good style is to use the result of Collection.toArray(), not the
array you pass it. There is no guarantee it will *use* your array...
2010-04-30 01:45:13 +00:00
Andrzej Kapolka 0769dcce9d Well, no, that was silly. The application arguments go after the class
name.
2010-04-29 21:48:30 +00:00
Andrzej Kapolka 557421c7bd When starting Getdown as an application, pass everything after the
application identifier as (base) jvm args.
2010-04-29 21:13:56 +00:00
Andrzej Kapolka 8c9e62f22a Updated to match Mark's original intent, which was to select values
from 100000000 to 999999999 and 1000000000 to 1999999999.  Apparently
no one used getInt(int, int) correctly.
2010-04-06 02:05:48 +00:00