Commit Graph

27 Commits

Author SHA1 Message Date
Michael Bayne 328ff30506 Marshaller no longer needs Client import.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6401 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-31 22:42:45 +00:00
Michael Bayne 127e388349 Unused import nixage.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6400 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-31 22:36:46 +00:00
Michael Bayne 90c6429070 Missed a spot.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6399 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-31 22:32:15 +00:00
Michael Bayne b60112ae93 Some fiddling to keep the CPP bits in sync as well.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6397 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-31 22:27:51 +00:00
Michael Bayne 36a98f8794 Removed the need to supply a Client reference when making invocation service
calls on the Java side, to match this added convenience we introduced to the
ActionScript side some time ago.

Before arms are raised into the air and waved like they really do care, bear
the following in mind:

Nothing will change at all on your project until you take some action to do so.
That action could include any of the following:

1. Continue to use narya-tools-1.2 to run genservice and you'll get the old
style "pass a Client reference for every service method invocation" marshallers
and you can continue to live happily in the past.

2. Leave some of your stuff un-regenerated, but generate new stuff using the
new tools and use the Client-reference-free style for new services. This is
likely to engender some PITA if you're trying to use both styles in the same
project because genservice just wants to operate on everything, but I offer it
as an option in case some other PITA motivates the tolerance of this
(presumably smaller) PITA.

3. Embrace the brave new world of simplicity and wield your good friend sed for
fun and profit:

(make necessary build.xml updates to start using narya-tools-1.4-SNAPSHOT)

% find src -name '*Service.java' | xargs sed -i 's:Client client, ::g'
(this will remove the Client argument from most of your services, some manual
fixes may be needed)

% ant genservice

% find src -name '*.java' | xargs sed -i 's:_ctx.getClient(), ::g'
(this will fix most of the places that pass a client reference into an
invocation service, some manual fixes will probably be needed)

I did this on Vilya and it magically took care of like 95% of the places where
changes were needed. The remaining half dozen changes were painless. Clearly
something like Yohoho vastly dwarfs Vilya in scope, but someone looking for an
hour or two of mindless typing to distract them on a lazy Sunday afternoon
would likely breeze through even that vast codebase without breaking a sweat.

Two more notes:

1. I'm going to switch Narya and Vilya over to the new style, and I'll be
fixing all the projects that use their services.

2. I lied (a teeny bit) about nothing changing. I made the old Client-taking
sendRequest methods deprecated, so projects that don't switch to the new style
will be presented with a large number of deprecation warnings. If this is too
terrible a burden to bear, I can remove the deprecation annotations on those
methods.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6395 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-31 21:56:46 +00:00
Tom Conkling 0b3e8297e4 GenActionScriptStreamableTask parses imports out of the existing .as file and merges them into the output, regardless of whether they appear between the GENERATED PREAMBLE START/END markers.
(Eclipse's auto-import-ordering makes it too easy for manually-added imports to get moved to a location where they'd be blown away by the task.)



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6388 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-18 00:47:33 +00:00
Charlie Groves 4d163ffd7f Allow generated sections to be turned off.
If a generated section like

// GENERATED BLAH START
var s: String = "I am some awesome stuff you didn't have to write";
// GENERATED BLAH END

is replaced with

// GENERATED BLAH DISABLED

that generated section will no longer be merged in.

This currently allows the class declaration to be customized in the actionscript
stuff, if it needs to extend or implement something that can't be inferred from
the Java class.  If someone's feeling frisky, they could split the streamable
section into sections for readObject, writeObject and fields to allow for read
and write customization.

This also fixes dropping no-longer generated sections and allows for sections
to be reordered in the source.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6383 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-15 23:46:56 +00:00
Par Winzell 1555bf92f9 Turn protected Java members into protected ActionScript members, and put them in the right place in the file.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6381 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-15 18:25:03 +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
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
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
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
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
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
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
Charlie Groves 5a3694aa6f Separate GenActionScriptStreamableTask from GenActionScriptTask and add dobject support to GenActionScriptStreamableTask
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6315 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-30 02:39:12 +00:00
Charlie Groves ecb5f96567 Sort the includes for cross-JVM generation consistency
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6269 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-15 20:52:23 +00:00
Charlie Groves 1cb16d4173 Add RegistrationService to allow cpp clients to register receivers even though they're not using DObject
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6268 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-14 01:01:23 +00:00
Charlie Groves 4e8fdf66f4 Whoops, 1.6ism
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6265 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-13 22:36:55 +00:00
Charlie Groves 1f010f0a4e Add a C++ client for presents.
It provides code generators for streamables, services and receivers, but not DObject.  It uses
Apple's CFNetwork for its sockets and builds with XCode, so it's limited to OS X and iOS. It should
be straightforward to replace both to make it cross-platform.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6264 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-13 21:58:45 +00:00
Michael Bayne 7df0de5389 Keep our resources in src/main/resources per the standard project layout.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6251 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-08 17:31:33 +00:00
Michael Bayne e0dfddb46b Handle parameterized types in invocation services and receivers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6232 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-23 19:37:51 +00:00
Andrzej Kapolka 93aa0b5bf6 Apparently this boolean needs to be set explicitly; also, whitespace fix.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6228 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-23 04:06:47 +00:00
Michael Bayne 9d2ca42eac Convert Narya (most of the way) over to a Maven Ant task based build. The
ActionScript bits remain belligerent, but the Java stuff is mostly shipshape.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6222 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-22 21:12:29 +00:00