Commit Graph

537 Commits

Author SHA1 Message Date
Michael Bayne d6482dedc5 Maven Ant tasks do provide properties for dependencies. Yay! 2010-11-18 22:55:44 +00:00
Michael Bayne 932acb52d4 Need to copy src/main/resources into dist/classes. 2010-11-18 22:22:04 +00:00
Michael Bayne d57052b589 Eventually I'll have all of these converted over. 2010-11-18 17:48:13 +00:00
Michael Bayne e7bf99ed0d It's actually the runtime jar not tools, so let's name it appropriately. 2010-11-18 17:46:55 +00:00
Michael Bayne 771acc96de We don't need to keep these in the Proguarded version, tools can use the
non-Proguarded version with dependencies from Maven.
2010-11-18 17:42:39 +00:00
Michael Bayne be491d3bfb Added maven-deploy target and separate pom.xml for deploying the
getdown-pro.jar.
2010-11-18 17:41:26 +00:00
Michael Bayne 5918b67fb1 Revamped primary build to use Maven Ant tasks. Eliminated Ivy-based build,
which was used by Maven, now Maven calls into the primary build to generate its
Proguarded jar file. Retired the Retroweaved jar file after a tremendous amount
of fucking around with Retroweaver. I think it's safe to say that the number of
people showing up with a 1.4 JDK operational in their browser is epsilon close
to zero.
2010-11-18 17:38:43 +00:00
Michael Bayne 16029977d4 Don't obfuscate since it doesn't shrink things by much anyway and it causes
problems for things like ToyBox which wants to reuse some Getdown internals.
2010-11-18 16:41:18 +00:00
Michael Bayne 6f1a6ce78d Sorted out a way to get Maven to reference a local jar file without rendering
the pom file hosed for transitive dependencies.
2010-11-18 15:54:42 +00:00
Michael Bayne d999592401 Find our depends in M2_REPO. 2010-11-16 23:50:06 +00:00
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