Commit Graph

327 Commits

Author SHA1 Message Date
Michael Bayne d16fa8aebd Only require signing when doing a real release. 2010-10-14 22:45:12 +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 4cc18b9301 Just filter out the ant task, that's all we can't handle. 2010-09-21 16:31:44 +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 44754f6d43 Let's call our auxiliary Ant file build-proguard since that is more indicative
of its purpose in life.
2010-09-21 06:41:18 +00:00
Michael Bayne 98442b4a86 Nix ancient runjava script, modified differ to use Proguarded jar, added
patcher script just for kicks.
2010-09-21 06:40:46 +00:00
Michael Bayne 355832d152 Keep the entry points to these other tools as well. 2010-09-21 06:40:03 +00:00
Michael Bayne 4de928424e Trimmed the readme and added build instructions. 2010-09-21 06:35:16 +00:00
Michael Bayne 646dc2bdf0 More javadoc fixes. 2010-09-21 06:17:47 +00:00
Michael Bayne 31b77bcdbe GetdownApp is the correct entry-point for the application. 2010-09-21 06:12:33 +00:00
Michael Bayne ac3fd45c8a Javadoc improvements. 2010-09-21 06:12:19 +00:00
Michael Bayne 90301057f6 [maven-release-plugin] prepare for next development iteration 2010-09-21 06:01:58 +00:00
Michael Bayne bf0470b81a [maven-release-plugin] prepare release getdown-1.0 2010-09-21 06:01:48 +00:00
Michael Bayne 3b6092c3d0 I think these were supposed to be reverted ages ago. 2010-09-21 05:46:37 +00:00
Michael Bayne de1eb29569 Looks like apps just use LaunchUtil, so we'll just keep the public interface to
that ship-shape.
2010-09-21 05:43:12 +00:00
Michael Bayne c3c9c66290 This should be with the previous commit which has a lovely blank commit
message.

We want to put everything into one jar file which we'll publish via Maven. So
we include our command line tools, and replace the un-proguarded jar with the
proguarded one during the packaging step.

I may look into not renaming the Getdown code so that apps (like Bang) that
link against some of it, can use this jar file. Or I'll just figure out
specifically what apps are likely to link against and not rename just that.
It's probably not a huge size increase either way.
2010-09-21 05:41:56 +00:00
Michael Bayne 95857ec608 Let's 2010-09-21 05:38:24 +00:00
Michael Bayne 724ee652f1 Praise be to Ivy, which lets me do what I need without tremendous amounts of
hair-pulling and ball-ache. We now have Maven call out to an Ivy-based Ant task
to do the Proguard build (with Ivy maintaining a parallel copy of the
dependencies, unfortunately). It's a twisty maze of passages, but it gets the
Proguard build done during the right Maven phase so that all of its magical
building, version number changing, SVN commits, etc. can happen as usual during
the publishing process.
2010-09-21 05:26:00 +00:00
Michael Bayne f6a03dd99f A bastard combination of Maven and Ivy that will hopefully eventually allow us
to build and publish Getdown. Everything builds with Maven, but getting
Proguard to work inside Maven is an exercise in gouge-my-eyes-out-now, so I'll
be doing the Proguard bits in a separate Ant script which will use Ivy to
obtain dependencies sanely. This too is rife with PITA, but less so than doing
everything in Maven. Ivy bits don't yet work.
2010-09-21 00:45:35 +00:00
Michael Bayne 5fa9c80220 No more Snark. 2010-09-21 00:44:18 +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 525c924ea2 Put libs-incl.xml in etc/ like all our other projects. 2010-09-20 17:45:08 +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 ec11ccce9b Trailing blank is needed here. 2010-09-14 19:44:45 +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
Charlie Groves 03d748af41 Eclipse metadata 2010-06-10 20:43:58 +00:00
Dave Hoover 9cb2fc49c7 That's the real signature 2010-06-10 20:43:34 +00:00
Dave Hoover 7990d36f25 Future events will affect you in the future. 2010-06-10 20:42:43 +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
Andrzej Kapolka d0778f3a2c RandomUtil.getInt -> RandomUtil.getInRange. 2010-04-05 20:50:31 +00:00
Dave Hoover ffceb6c815 Welcome to the future. 2010-01-04 21:47:35 +00:00
Mark Johnson 537586aaa8 Some more fixes to the google analytics tracking code 2009-11-03 19:03:12 +00:00