Commit Graph

6296 Commits

Author SHA1 Message Date
Michael Bayne 8c1062894f Join our friend the main pom on the 1.4-SNAPSHOT train.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6371 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-10 18:00:34 +00:00
Michael Bayne 32c0791ff9 Ship a 1.3 release of all of our auxiliary artifacts to OOO's internal Maven
repository.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6370 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-10 17:58:53 +00:00
Michael Bayne da92dc7772 [maven-release-plugin] prepare for next development iteration
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6369 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-10 17:54:37 +00:00
Michael Bayne 085345d0e6 [maven-release-plugin] prepare release narya-1.3
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6367 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-10 17:54:26 +00:00
Michael Bayne be6eec0a06 Mind the gap.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6366 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-10 17:51:43 +00:00
Par Winzell 5ece835d99 Unfortunately the temporary hack on the Java side of things needs to be matched here as well, or my production build will fall over and die.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6365 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-10 05:57:27 +00:00
Charlie Groves 45b9fbbb78 Didn't mean to commit the record changes in 6363. Rolling back.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6364 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-10 02:51:59 +00:00
Charlie Groves e7dd16adc1 Switch back to the initial implementation of RegistrationManager to keep sending the same events
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6363 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-10 02:51:05 +00:00
Ray Greenwell 5476241fa4 PECS.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6362 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-10 02:44:18 +00:00
Charlie Groves 14cf7855a2 We've got a PermissionPolicy again
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6361 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-10 01:55:37 +00:00
Charlie Groves c215fb49fd Need to run our processing first if any changes will be caught by checking
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6360 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-10 01:55:04 +00:00
Michael Bayne aee6ea100d Move our auxiliary pom files into etc so that the top-level of this project is
less polluted. Between build systems, IDEs and IDE-specific-build-systems we've
got half a dozen metafiles knocking around the top-level directory. It's
mayhem.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6359 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 22:37:00 +00:00
Michael Bayne a985043d48 Some temporary backwards compatible bits for extant Corpse Craft clients.
Narya's strict approach to over the wire compatibility is not so nice when you
have cross-language clients that can't be updated at the same time as the
server.

Maybe we should consider a new over-the-wire format for C++ clients that is
more like pbuffers, which the Narya server could translate to and from Java
Streamable instances, and the C++ side could either use pbuffers directly or
have a similarly change resilient I/O layer that turned over-the-wire data into
C++ objects that mirrored (a potentially out of date) version of their Java
counterparts.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6358 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 22:27:57 +00:00
Charlie Groves ed7bea986d depot-1.0 doesn't have its .tmpl files, which causes genrecord to crash and burn. Bump to 1.1 and commit genrecord results.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6357 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 21:57:33 +00:00
Charlie Groves 4209af8963 Unused imports
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6356 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 21:56:04 +00:00
Bruno Garcia bf215119c4 Changed the names of generated signals to match their Java equivalents and to feel nicer with
plural field names.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6355 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 21:49:51 +00:00
Ray Greenwell af57cfdb35 Go back to using StreamableArrayList here, for now.
Events originating in Actionscript need to use that class because
we have no generic List class in actionscript. For things that
originate on the server this isn't a problem:
java array -> Array, and java List -> Array 
But for things originating on the actionscript client, any array
will become a java array unless we use StreamableArrayList.

So: maybe it's time to add List to the aspirin library. :|


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6354 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 19:49:54 +00:00
Michael Bayne 2cbfc358fe I feel your pain, but history favors the brief.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6353 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 18:54:58 +00:00
Charlie Groves 3c76d34ce1 Ensure the streamable classes are compiled before trying to generate C++ classes from them
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6352 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 08:55:45 +00:00
Charlie Groves 02cced295a Set a property when maven-ant is initted to let us specify two targets on the command line
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6351 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 08:51:22 +00:00
Charlie Groves 18e954a19b Check for gen changes ignoring $Id lines
I was interpreting the lack of modification for $Id lines being people not setting auto props, but
it was actually svn not showing diffs for things it generates.  Whoops.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6350 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 08:43:22 +00:00
Charlie Groves 39405136e9 Add uncommited generation checking to all the gen tasks.
If checking="true" on them, they generate their code to a String instead of a file, and compare that
against existing output.  If any generation would produce changes, the build is failed.

As a side effect, generation will now only write files if it's going to modify them, which should
eliminate some spurious compiling.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6349 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 07:43:18 +00:00
Ray Greenwell 0b77c89fa7 Improvements to Collection streaming support.
Any Collection can now be streamed. You can send Collections.emptyMap()
back to a client, for example.
(It will unstream as a HashMap on the other side.)

This actually streams everything to the exact same bytes as before.

Using specific classes is discouraged: ArrayList, StreamableArrayList...
If a Streamer is created for a class that has a field of that type,
a warning will be generated, urging you to change the field definition
to the interface.

Also: that setup is now deferred until needed, because in clyde/projectx
there are a number of Streamable classes that have fields of specific
classes, like ArrayIntSet for example, but don't use standard streaming
to transmit them. In that case it's totally cool for them to have a more
specific type.

Since that setup is potentially deferred, one change may be observed
for a class that uses custom readObject() and writeObject() methods
but still calls defaultReadObject(). The field marshallers will now
be configured a little later in the game than before.

But, we're actually saving a bit of memory by not setting up those
marshallers for streamable classes that never use them. Woo.

Please let me know if this causes any space shuttle explosions or
spikes the punch at your quinceanera.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6348 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 02:39:01 +00:00
Charlie Groves e91e11a765 Import cleanup
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6347 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 00:24:49 +00:00
Charlie Groves 35ca102d64 Oh yeah, that too
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6346 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 00:08:09 +00:00
Charlie Groves 939d309fa2 These are both pretty busted, so let's kill them to eliminate confusion with the functional
GenActionScriptStreamableTask.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6345 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 00:02:52 +00:00
Andrzej Kapolka 7119d3e874 An additional check to help track down a bug where subscriptions aren't
being cleared properly.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6344 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-08 23:14:07 +00:00
Par Winzell e72a5d9a29 Track source directory change in IDEA module file.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6343 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-07 16:45:45 +00:00
Par Winzell 694f983ef3 One day perhaps we'll consider a world where clients can flit between bodies willy nilly and bodies don't necessarily have a client attached to them, but until that day, we're going to require that BodyObject.getClientObject() returns non-null when the body is in the wild.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6342 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-06 04:46:12 +00:00
Par Winzell 43b915de10 Send the FORCED_MOVE notification to the client, not the body.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6341 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-05 21:12:14 +00:00
Par Winzell 817b733ff0 Clarify that BodyLocator.forClient() should return null if the user is not currently driving a BodyObject. Use this fact to avoid various NPEs. Also introduce a reverse mapping of forClient(); it should always be possible to ask a BodyObject what its ClientObject connection to the user is.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6340 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-05 03:58:38 +00:00
Bruno Garcia 5758499ba0 Generate a signal for array ElementUpdatedEvents.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6339 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-04 01:30:08 +00:00
Bruno Garcia 66dfd0f44e Generate DSet add/remove/update signals for AS3 DObjects.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6338 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-04 00:24:30 +00:00
Mike Thomas 2783e82333 Add some missing overrides.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6337 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-03 21:54:47 +00:00
Andrzej Kapolka ec989e68c2 Let's include the dropped message in the warning to help us figure out
what's being dropped in Project X.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6336 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-03 21:46:57 +00:00
Michael Bayne f0860e3c57 Let's catch Throwable so that we correctly shut ourselves down if something
unexceptional causes startup failure, like NoClassDefFoundError.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6335 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-03 18:21:21 +00:00
Par Winzell cef632494a We have to check the body for permissions here, not the client, as per MDB's recent fixes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6334 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-02 21:13:23 +00:00
Michael Bayne eb73003516 Once again back to our regularly scheduled versioning.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6333 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-02 18:18:07 +00:00
Michael Bayne 9646c3e81f Oops, had that listed as an swc not a jar.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6332 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-02 18:16:42 +00:00
Michael Bayne 3031b61e39 Moved up to 1.3-SNAPSHOT to be in sync with the other poms.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6331 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-02 18:13:50 +00:00
Michael Bayne ae86c8249e Now that we're mostly in happy Maven land, I can ship a narya-tools artifact
that does things much more nicely than our old approach. Specifically,
narya-tools is just the stock narya.jar but using a pom that expresses the
tools dependencies as non-optional.

This allows a project to define a special tools classpath that *just* depends
on narya-tools, and all of its myriad niggling dependencies will be taken care
of, without stuffing a second narya jar into the project classpath or adding a
bunch of narya tool dependencies to the projects server package.

Other projects that want to extend Narya's tool suite can export a foo-tools of
their own which can depend on narya-tools and thereby obtain all of narya-tools
dependencies and add their own tool-specific dependencies (if any).

I'm also committing this now with a stable 1.2 version, so that we can sneak it
into the last narya-1.2 stable release. The tools don't need the latest
snapshots, and it's nice if you don't have to go polling a maven server every
time you run "ant gendobj" etc.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6330 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-02 18:12:19 +00:00
Bruno Garcia 6e6895d32d Ignore updates to fields that weren't defined by this class.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6329 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-02 02:35:23 +00:00
Bruno Garcia b660861be3 In an effort to make DObject updates easier to react to in actionscript, gendobj now generates
signals for each field that can be listened to individually.

From the old:

barrel.addListener(new AttributeChangeAdapter(function (event :AttributeChangedEvent) :void {
    if (event.getName() == BarrelObject.MONKEY_COUNT) {
        // ... cast event.getValue() and use it
    }
}));

to the new:

barrel.onMonkeyCountChanged.add(function (newValue :int, oldValue :int) :void {
    // ...
});


Only AttributeChangedEvent have been signalified, but I'm planning to continue with the other
ChangeListeners shortly.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6328 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-02 02:25:35 +00:00
Dave Hoover 99fd4d5dfc Try as we might, we can't all be Groves.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6327 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-02 01:43:22 +00:00
Andrzej Kapolka cfbf5a742c Hey, that's not a string!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6326 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-02 00:31:03 +00:00
Mike Thomas 7f765020a9 Since we're in the middle of reporting a failure, this can be due to an already-disappeared client-obj. If so, let's not NPE and just log a nice friendly null.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6325 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-02 00:17:02 +00:00
Par Winzell 4c0224f835 Break success notification out into its own method. This lets me call it separately, and mastches reportFailure() quite elegantly besides.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6324 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-01 15:04:11 +00:00
Tom Conkling be72e5cdad Add support for ActionScript Set streaming
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6323 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-01 03:00:52 +00:00
Par Winzell eb9e0db930 MDB reassures me it's safe to assume the client is a CrowdClient here, which makes the function short enough to inline. Also rename _auxobj to _bodyobj.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6322 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-30 19:07:56 +00:00
Michael Bayne 22288e0b4c Match our changes on the ActionScript side.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6321 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-30 18:47:10 +00:00