Commit Graph

21 Commits

Author SHA1 Message Date
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 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
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
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
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 9c9129a796 We can't use the type systesm to enforce our requirements, but we can use
obtain containment and a stack of specifically typed outer class references to
accomplish what we need without misleading casts.

This will require changes to Yohoho which I shall make forthwith.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6320 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-30 18:35:58 +00:00
Michael Bayne 99795a972c A couple of things:
1. CrowdPermissionPolicy is an object that lives inside a BodyObject, thus it
cannot use server services like dependency injection, nor BodyLocator. However,
that's not a problem because it will never be used by a ClientObject that is
not a BodyObject. If there were a way to enforce with parameterized types that
it only ever be used in conjunction with a BodyObject, I'd do that, but
parallel inheritance hierarchies are not something that any OO type system I'm
aware of can reason about.

2. ClientResolver and its children are not singletons. One is created for each
client resolution process.

I have certainly fallen prey to the same errors during enthusiastic reactions:
it looks like a rose, it has thorns like a rose, oh wait, it's a blackberry.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6319 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-30 18:18:27 +00:00
Michael Bayne e5b7cd1535 I'm going to operate on the assumption that if you're separating ClientObject
from BodyObject, then it's your responsibility to make sure that your
BodyObject carries your Crowd permissions. Checking the ClientObject for your
Crowd permissions and then using those on your (separate) BodyObject is too
weird.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6318 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-30 18:05:00 +00:00
Par Winzell 0fc64e3f76 Let's try that again. Sigh. I miss you, Mercurial.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6313 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-30 01:26:59 +00:00
Par Winzell 73e63125eb Oops, did not mean to commit those extra bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6312 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-30 01:25:58 +00:00
Par Winzell 3146ca071e Well, that took a while to track down. Both the permissions check and the validation need to be done on the body, not the client.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6311 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-30 01:23:59 +00:00
Par Winzell 9572a8464d Didn't end up injecting these after all.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6310 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-30 01:22:59 +00:00
Par Winzell 19a8763518 Leave some backwards compatibility leniency in here, since it appears there's code out there that instantiates SpeakHandlers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6309 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-29 21:25:40 +00:00
Par Winzell b9dfc6902e Stop assuming that the ClientObject we log in with is also the BodyObject we walk around with. This patch removes lots of casts strewn about and replaces them with calls to a new function on BodyLocator, which should be subclassed and overridden by those who wish to venture in these new exciting waters.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6308 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-29 21:10:57 +00:00
Charlie Groves 8e5865995c * Add a static method to init and run a PresentsServer given guice modules with its configuration.
* Rename PrefixServer.Module classes to PrefixModule.  They all implement guice's Module, and it's
  hard to pass a class around as its interface if they share a name.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6303 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-23 22:19:01 +00:00
Michael Bayne 0a522606c9 Since TestClient is used outside of Narya, it gets to live in with the rest of
the real source code. That's where reusable classes live. Amazing!

Also cleaned up some build.xml bits and nixed the Retroweaver stuff. I thought
we might have still been using that, but then I saw the hardcoded path to
/usr/local/jdk1.4 and knew that it couldn't be so.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6285 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-18 05:34:49 +00:00
Mike Thomas 9153960fce This was excitingly ASCII-centric. If a filter was specified on "foo*" it would match "foobar" but not "foobär" or "foob0r" - now it should match all of those.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6272 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-16 18:12:03 +00:00
Andrzej Kapolka a9fdaee8d5 Addressing a longstanding issue with the chat command aliases/translations.
The help message for /help <command> was using the translated/aliased string,
which meant that you had to have a usage translation for each command alias.
This became unmaintainable in Project X, where we had artists adding emotes
with lots of aliases, and I'm guessing it was booched in the Y!PP translations,
since they seem to lack translations for things like m.usage_escuchar.  Let's
instead use a usage message based on the untranslated command, then compose
the actual command used into that (for aliases).  This should be mostly
backwards-compatible, but I will be updating Yohoho and Bang in addition to
Project X: this involves replacing the command name in the usage translations
with {0} and returning getUsage(command) instead of "m.usage_blabla".


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6248 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-30 00:52:53 +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