Wrote a tool for testing plist schemata.
git-svn-id: http://svn.berlios.de/svnroot/repos/oolite-linux/trunk@1111 127b21dd-08f5-0310-b4b7-95ae10353056
This commit is contained in:
parent
1b66670b7d
commit
069571302d
251
tools/plistShemaValidator/plistShemaValidator.m
Normal file
251
tools/plistShemaValidator/plistShemaValidator.m
Normal file
@ -0,0 +1,251 @@
|
|||||||
|
/*
|
||||||
|
plistSchemaValidator
|
||||||
|
|
||||||
|
Test rig for OOPListSchemaVerifier, and also a tool for checking plists
|
||||||
|
against schemata.
|
||||||
|
|
||||||
|
Usage: first argument should be a plist specifying a schema. Subsequent
|
||||||
|
arguments are files to test against the schema.
|
||||||
|
|
||||||
|
Build requirements:
|
||||||
|
* Foundation
|
||||||
|
* OOPListSchemaVerifier
|
||||||
|
* OOLogging
|
||||||
|
- OOLogOutputHandler (currently Mac-only)
|
||||||
|
- OOAsyncQueue
|
||||||
|
* OOCollectionExtractors
|
||||||
|
- OOStringParsing.m
|
||||||
|
- OOMaths, OOVector, OOQuaternion
|
||||||
|
- OOFastArithmetic.m (currently PPC-only)
|
||||||
|
* legacy_random.c
|
||||||
|
*/
|
||||||
|
|
||||||
|
#import <stdlib.h>
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#import "OOPListSchemaVerifier.h"
|
||||||
|
#import "OOLogging.h"
|
||||||
|
#import "OOMaths.h"
|
||||||
|
|
||||||
|
|
||||||
|
static void RegisterPhonyDefaults(void);
|
||||||
|
static OOPListSchemaVerifier *GetVerifier(const char *path);
|
||||||
|
static void Verify(OOPListSchemaVerifier *verifier, const char *path);
|
||||||
|
static id ReadPList(const char *path);
|
||||||
|
|
||||||
|
|
||||||
|
int main(int argc, const char * argv[])
|
||||||
|
{
|
||||||
|
NSAutoreleasePool *pool = nil;
|
||||||
|
OOPListSchemaVerifier *verifier = nil;
|
||||||
|
unsigned i;
|
||||||
|
|
||||||
|
[[NSAutoreleasePool alloc] init];
|
||||||
|
|
||||||
|
RegisterPhonyDefaults();
|
||||||
|
OOLoggingInit();
|
||||||
|
|
||||||
|
if (argc < 3)
|
||||||
|
{
|
||||||
|
OOLog(@"badUsage", @"Usage: %s schema file [, file...]", argc ? argv[0] : "plistschemaverifier");
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
|
verifier = GetVerifier(argv[1]);
|
||||||
|
for (i = 2; i != argc; ++i)
|
||||||
|
{
|
||||||
|
pool = [[NSAutoreleasePool alloc] init];
|
||||||
|
Verify(verifier, argv[i]);
|
||||||
|
[pool release];
|
||||||
|
}
|
||||||
|
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void RegisterPhonyDefaults(void)
|
||||||
|
{
|
||||||
|
NSDictionary *defaults = nil;
|
||||||
|
|
||||||
|
defaults = [NSMutableDictionary dictionaryWithObjectsAndKeys:
|
||||||
|
[NSNumber numberWithBool:NO], @"logging-show-class",
|
||||||
|
[NSNumber numberWithBool:YES], @"logging-echo-to-stderr",
|
||||||
|
nil];
|
||||||
|
|
||||||
|
[[NSUserDefaults standardUserDefaults] registerDefaults:defaults];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static OOPListSchemaVerifier *GetVerifier(const char *path)
|
||||||
|
{
|
||||||
|
id schema = nil;
|
||||||
|
OOPListSchemaVerifier *verifier = nil;
|
||||||
|
|
||||||
|
schema = ReadPList(path);
|
||||||
|
if (schema == nil)
|
||||||
|
{
|
||||||
|
OOLog(@"badSchema", @"Could not read schema.");
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
verifier = [OOPListSchemaVerifier verifierWithSchema:schema];
|
||||||
|
if (verifier == nil)
|
||||||
|
{
|
||||||
|
OOLog(@"badSchema", @"Could not interpret %s as a schema.", path);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
return verifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void Verify(OOPListSchemaVerifier *verifier, const char *path)
|
||||||
|
{
|
||||||
|
id plist = nil;
|
||||||
|
NSString *name = nil;
|
||||||
|
|
||||||
|
plist = ReadPList(path);
|
||||||
|
if (plist != nil)
|
||||||
|
{
|
||||||
|
name = [NSString stringWithUTF8String:path];
|
||||||
|
if (name == nil) name = [NSString stringWithCString:path];
|
||||||
|
name = [name lastPathComponent];
|
||||||
|
|
||||||
|
OOLog(@"verifying", @"Verifying %@:", name);
|
||||||
|
OOLogIndent();
|
||||||
|
if ([verifier verifyPropertyList:plist named:name])
|
||||||
|
{
|
||||||
|
OOLog(@"verifying.success", @"OK.");
|
||||||
|
}
|
||||||
|
OOLogOutdent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static id ReadPList(const char *path)
|
||||||
|
{
|
||||||
|
NSString *nsPath = nil;
|
||||||
|
NSData *data = nil;
|
||||||
|
id result = nil;
|
||||||
|
NSString *error = nil;
|
||||||
|
|
||||||
|
nsPath = [NSString stringWithUTF8String:path];
|
||||||
|
if (nsPath == nil) nsPath = [NSString stringWithCString:path];
|
||||||
|
|
||||||
|
if (nsPath == nil)
|
||||||
|
{
|
||||||
|
OOLog(@"badPath", @"Could not interpret \"%s\" as a path.", path);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
data = [[NSData alloc] initWithContentsOfFile:nsPath];
|
||||||
|
if (data == nil)
|
||||||
|
{
|
||||||
|
OOLog(@"readError", @"Could not read %@.", nsPath);
|
||||||
|
exit(EXIT_FAILURE);
|
||||||
|
}
|
||||||
|
|
||||||
|
result = [NSPropertyListSerialization propertyListFromData:data
|
||||||
|
mutabilityOption:NSPropertyListImmutable
|
||||||
|
format:NULL
|
||||||
|
errorDescription:&error];
|
||||||
|
[data release];
|
||||||
|
if (result == nil)
|
||||||
|
{
|
||||||
|
OOLog(@"badPList", @"Could not interpret contents of %@ as a property list: %@.", nsPath, error);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/****** Shims *******
|
||||||
|
Everything beyond this point is stuff that's needed to link, but whose full
|
||||||
|
behaviour is not needed.
|
||||||
|
*/
|
||||||
|
|
||||||
|
@interface ResourceManager: NSObject
|
||||||
|
+ (NSArray *)rootPaths;
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
@implementation ResourceManager
|
||||||
|
+ (NSArray *)rootPaths
|
||||||
|
{
|
||||||
|
return [NSArray array];
|
||||||
|
}
|
||||||
|
@end
|
||||||
|
|
||||||
|
|
||||||
|
NSDictionary *OODictionaryFromFile(NSString *path)
|
||||||
|
{
|
||||||
|
return [NSDictionary dictionaryWithContentsOfFile:path];
|
||||||
|
}
|
||||||
|
|
||||||
|
static NSString * const kOOLogStringVectorConversion = @"strings.conversion.vector";
|
||||||
|
static NSString * const kOOLogStringQuaternionConversion = @"strings.conversion.quaternion";
|
||||||
|
|
||||||
|
BOOL ScanVectorFromString(NSString *xyzString, Vector *outVector)
|
||||||
|
{
|
||||||
|
GLfloat xyz[] = {0.0, 0.0, 0.0};
|
||||||
|
int i = 0;
|
||||||
|
NSString *error = nil;
|
||||||
|
NSScanner *scanner = nil;
|
||||||
|
|
||||||
|
if (xyzString == nil) return NO;
|
||||||
|
else if (outVector == NULL) error = @"nil result pointer";
|
||||||
|
|
||||||
|
if (!error) scanner = [NSScanner scannerWithString:xyzString];
|
||||||
|
while (![scanner isAtEnd] && i < 3 && !error)
|
||||||
|
{
|
||||||
|
if (![scanner scanFloat:&xyz[i++]]) error = @"could not scan a float value.";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!error && i < 3) error = @"found less than three float values.";
|
||||||
|
|
||||||
|
if (!error)
|
||||||
|
{
|
||||||
|
*outVector = make_vector(xyz[0], xyz[1], xyz[2]);
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OOLog(kOOLogStringVectorConversion, @"***** ERROR cannot make vector from '%@': %@", xyzString, error);
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BOOL ScanQuaternionFromString(NSString *wxyzString, Quaternion *outQuaternion)
|
||||||
|
{
|
||||||
|
GLfloat wxyz[] = {1.0, 0.0, 0.0, 0.0};
|
||||||
|
int i = 0;
|
||||||
|
NSString *error = nil;
|
||||||
|
NSScanner *scanner = nil;
|
||||||
|
|
||||||
|
if (wxyzString == nil) return NO;
|
||||||
|
else if (outQuaternion == NULL) error = @"nil result pointer";
|
||||||
|
|
||||||
|
if (!error) scanner = [NSScanner scannerWithString:wxyzString];
|
||||||
|
while (![scanner isAtEnd] && i < 4 && !error)
|
||||||
|
{
|
||||||
|
if (![scanner scanFloat:&wxyz[i++]]) error = @"could not scan a float value.";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!error && i < 4) error = @"found less than four float values.";
|
||||||
|
|
||||||
|
if (!error)
|
||||||
|
{
|
||||||
|
outQuaternion->w = wxyz[0];
|
||||||
|
outQuaternion->x = wxyz[1];
|
||||||
|
outQuaternion->y = wxyz[2];
|
||||||
|
outQuaternion->z = wxyz[3];
|
||||||
|
quaternion_normalize(outQuaternion);
|
||||||
|
return YES;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OOLog(kOOLogStringQuaternionConversion, @"***** ERROR cannot make quaternion from '%@': %@", wxyzString, error);
|
||||||
|
return NO;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,297 @@
|
|||||||
|
// !$*UTF8*$!
|
||||||
|
{
|
||||||
|
archiveVersion = 1;
|
||||||
|
classes = {
|
||||||
|
};
|
||||||
|
objectVersion = 42;
|
||||||
|
objects = {
|
||||||
|
|
||||||
|
/* Begin PBXBuildFile section */
|
||||||
|
1A2F5E230C5BB9C7003872C8 /* OOPListSchemaVerifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A2F5E210C5BB9C7003872C8 /* OOPListSchemaVerifier.m */; };
|
||||||
|
1A2F5E240C5BB9C7003872C8 /* OOPListSchemaVerifier.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1A2F5E220C5BB9C7003872C8 /* OOPListSchemaVerifier.h */; };
|
||||||
|
1A2F5E260C5BB9D3003872C8 /* plistschema.plist in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1A2F5E250C5BB9D3003872C8 /* plistschema.plist */; };
|
||||||
|
1A2F5E280C5BB9D9003872C8 /* plist verifier design.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1A2F5E270C5BB9D9003872C8 /* plist verifier design.txt */; };
|
||||||
|
1A2F5E2B0C5BB9E4003872C8 /* OOLogging.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A2F5E290C5BB9E4003872C8 /* OOLogging.m */; };
|
||||||
|
1A2F5E2C0C5BB9E4003872C8 /* OOLogging.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1A2F5E2A0C5BB9E4003872C8 /* OOLogging.h */; };
|
||||||
|
1A2F5E4D0C5BC04F003872C8 /* OOCollectionExtractors.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A2F5E4B0C5BC04F003872C8 /* OOCollectionExtractors.m */; };
|
||||||
|
1A2F5E4E0C5BC04F003872C8 /* OOCollectionExtractors.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1A2F5E4C0C5BC04F003872C8 /* OOCollectionExtractors.h */; };
|
||||||
|
1A2F5E660C5BC20E003872C8 /* OOLogOutputHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A2F5E640C5BC20E003872C8 /* OOLogOutputHandler.m */; };
|
||||||
|
1A2F5E670C5BC20E003872C8 /* OOLogOutputHandler.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1A2F5E650C5BC20E003872C8 /* OOLogOutputHandler.h */; };
|
||||||
|
1A2F5E720C5BC29F003872C8 /* OOVector.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A2F5E6D0C5BC29F003872C8 /* OOVector.m */; };
|
||||||
|
1A2F5E730C5BC29F003872C8 /* OOVector.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1A2F5E6E0C5BC29F003872C8 /* OOVector.h */; };
|
||||||
|
1A2F5E740C5BC29F003872C8 /* OOMaths.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1A2F5E6F0C5BC29F003872C8 /* OOMaths.h */; };
|
||||||
|
1A2F5E750C5BC29F003872C8 /* OOQuaternion.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A2F5E700C5BC29F003872C8 /* OOQuaternion.m */; };
|
||||||
|
1A2F5E760C5BC29F003872C8 /* OOQuaternion.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1A2F5E710C5BC29F003872C8 /* OOQuaternion.h */; };
|
||||||
|
1A2F5EB40C5BC3A6003872C8 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1A2F5EB30C5BC3A6003872C8 /* Carbon.framework */; };
|
||||||
|
1A2F5F500C5BC3B1003872C8 /* OOAsyncQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A2F5F4E0C5BC3B1003872C8 /* OOAsyncQueue.m */; };
|
||||||
|
1A2F5F510C5BC3B1003872C8 /* OOAsyncQueue.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1A2F5F4F0C5BC3B1003872C8 /* OOAsyncQueue.h */; };
|
||||||
|
1A2F5F5B0C5BC3F3003872C8 /* legacy_random.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1A2F5F590C5BC3F3003872C8 /* legacy_random.h */; };
|
||||||
|
1A2F5F5C0C5BC3F3003872C8 /* legacy_random.c in Sources */ = {isa = PBXBuildFile; fileRef = 1A2F5F5A0C5BC3F3003872C8 /* legacy_random.c */; };
|
||||||
|
1A2F5F620C5BC414003872C8 /* OOFastArithmetic.m in Sources */ = {isa = PBXBuildFile; fileRef = 1A2F5F610C5BC414003872C8 /* OOFastArithmetic.m */; };
|
||||||
|
8DD76F9A0486AA7600D96B5E /* plistShemaValidator.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* plistShemaValidator.m */; settings = {ATTRIBUTES = (); }; };
|
||||||
|
8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; };
|
||||||
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
|
/* Begin PBXCopyFilesBuildPhase section */
|
||||||
|
8DD76F9E0486AA7600D96B5E /* CopyFiles */ = {
|
||||||
|
isa = PBXCopyFilesBuildPhase;
|
||||||
|
buildActionMask = 8;
|
||||||
|
dstPath = /usr/share/man/man1/;
|
||||||
|
dstSubfolderSpec = 0;
|
||||||
|
files = (
|
||||||
|
1A2F5E240C5BB9C7003872C8 /* OOPListSchemaVerifier.h in CopyFiles */,
|
||||||
|
1A2F5E260C5BB9D3003872C8 /* plistschema.plist in CopyFiles */,
|
||||||
|
1A2F5E280C5BB9D9003872C8 /* plist verifier design.txt in CopyFiles */,
|
||||||
|
1A2F5E2C0C5BB9E4003872C8 /* OOLogging.h in CopyFiles */,
|
||||||
|
1A2F5E4E0C5BC04F003872C8 /* OOCollectionExtractors.h in CopyFiles */,
|
||||||
|
1A2F5E670C5BC20E003872C8 /* OOLogOutputHandler.h in CopyFiles */,
|
||||||
|
1A2F5E730C5BC29F003872C8 /* OOVector.h in CopyFiles */,
|
||||||
|
1A2F5E740C5BC29F003872C8 /* OOMaths.h in CopyFiles */,
|
||||||
|
1A2F5E760C5BC29F003872C8 /* OOQuaternion.h in CopyFiles */,
|
||||||
|
1A2F5F510C5BC3B1003872C8 /* OOAsyncQueue.h in CopyFiles */,
|
||||||
|
1A2F5F5B0C5BC3F3003872C8 /* legacy_random.h in CopyFiles */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 1;
|
||||||
|
};
|
||||||
|
/* End PBXCopyFilesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXFileReference section */
|
||||||
|
08FB7796FE84155DC02AAC07 /* plistShemaValidator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = plistShemaValidator.m; sourceTree = "<group>"; };
|
||||||
|
08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||||
|
1A2F5E210C5BB9C7003872C8 /* OOPListSchemaVerifier.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OOPListSchemaVerifier.m; path = OXPVerifier/OOPListSchemaVerifier.m; sourceTree = "<group>"; };
|
||||||
|
1A2F5E220C5BB9C7003872C8 /* OOPListSchemaVerifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OOPListSchemaVerifier.h; path = OXPVerifier/OOPListSchemaVerifier.h; sourceTree = "<group>"; };
|
||||||
|
1A2F5E250C5BB9D3003872C8 /* plistschema.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; name = plistschema.plist; path = OXPVerifier/plistschema.plist; sourceTree = "<group>"; };
|
||||||
|
1A2F5E270C5BB9D9003872C8 /* plist verifier design.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = "plist verifier design.txt"; path = "OXPVerifier/plist verifier design.txt"; sourceTree = "<group>"; };
|
||||||
|
1A2F5E290C5BB9E4003872C8 /* OOLogging.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OOLogging.m; sourceTree = "<group>"; };
|
||||||
|
1A2F5E2A0C5BB9E4003872C8 /* OOLogging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OOLogging.h; sourceTree = "<group>"; };
|
||||||
|
1A2F5E4B0C5BC04F003872C8 /* OOCollectionExtractors.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OOCollectionExtractors.m; sourceTree = "<group>"; };
|
||||||
|
1A2F5E4C0C5BC04F003872C8 /* OOCollectionExtractors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OOCollectionExtractors.h; sourceTree = "<group>"; };
|
||||||
|
1A2F5E640C5BC20E003872C8 /* OOLogOutputHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = OOLogOutputHandler.m; path = ../../src/Cocoa/OOLogOutputHandler.m; sourceTree = SOURCE_ROOT; };
|
||||||
|
1A2F5E650C5BC20E003872C8 /* OOLogOutputHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OOLogOutputHandler.h; path = ../../src/Cocoa/OOLogOutputHandler.h; sourceTree = SOURCE_ROOT; };
|
||||||
|
1A2F5E6D0C5BC29F003872C8 /* OOVector.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OOVector.m; sourceTree = "<group>"; };
|
||||||
|
1A2F5E6E0C5BC29F003872C8 /* OOVector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OOVector.h; sourceTree = "<group>"; };
|
||||||
|
1A2F5E6F0C5BC29F003872C8 /* OOMaths.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OOMaths.h; sourceTree = "<group>"; };
|
||||||
|
1A2F5E700C5BC29F003872C8 /* OOQuaternion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OOQuaternion.m; sourceTree = "<group>"; };
|
||||||
|
1A2F5E710C5BC29F003872C8 /* OOQuaternion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OOQuaternion.h; sourceTree = "<group>"; };
|
||||||
|
1A2F5EB30C5BC3A6003872C8 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
|
||||||
|
1A2F5F4E0C5BC3B1003872C8 /* OOAsyncQueue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OOAsyncQueue.m; sourceTree = "<group>"; };
|
||||||
|
1A2F5F4F0C5BC3B1003872C8 /* OOAsyncQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OOAsyncQueue.h; sourceTree = "<group>"; };
|
||||||
|
1A2F5F590C5BC3F3003872C8 /* legacy_random.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = legacy_random.h; sourceTree = "<group>"; };
|
||||||
|
1A2F5F5A0C5BC3F3003872C8 /* legacy_random.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = legacy_random.c; sourceTree = "<group>"; };
|
||||||
|
1A2F5F610C5BC414003872C8 /* OOFastArithmetic.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = OOFastArithmetic.m; sourceTree = "<group>"; };
|
||||||
|
32A70AAB03705E1F00C91783 /* plistShemaValidator_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = plistShemaValidator_Prefix.pch; sourceTree = "<group>"; };
|
||||||
|
8DD76FA10486AA7600D96B5E /* plistShemaValidator */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = plistShemaValidator; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
8DD76F9B0486AA7600D96B5E /* Frameworks */ = {
|
||||||
|
isa = PBXFrameworksBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */,
|
||||||
|
1A2F5EB40C5BC3A6003872C8 /* Carbon.framework in Frameworks */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXFrameworksBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin PBXGroup section */
|
||||||
|
08FB7794FE84155DC02AAC07 /* plistShemaValidator */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
08FB7795FE84155DC02AAC07 /* Source */,
|
||||||
|
08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */,
|
||||||
|
1AB674ADFE9D54B511CA2CBB /* Products */,
|
||||||
|
);
|
||||||
|
name = plistShemaValidator;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
08FB7795FE84155DC02AAC07 /* Source */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
32A70AAB03705E1F00C91783 /* plistShemaValidator_Prefix.pch */,
|
||||||
|
08FB7796FE84155DC02AAC07 /* plistShemaValidator.m */,
|
||||||
|
1A2F5E1E0C5BB9A5003872C8 /* Oolite bits */,
|
||||||
|
);
|
||||||
|
name = Source;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
1A2F5EB30C5BC3A6003872C8 /* Carbon.framework */,
|
||||||
|
08FB779EFE84155DC02AAC07 /* Foundation.framework */,
|
||||||
|
);
|
||||||
|
name = "External Frameworks and Libraries";
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
1A2F5E1E0C5BB9A5003872C8 /* Oolite bits */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
1A2F5E220C5BB9C7003872C8 /* OOPListSchemaVerifier.h */,
|
||||||
|
1A2F5E210C5BB9C7003872C8 /* OOPListSchemaVerifier.m */,
|
||||||
|
1A2F5E250C5BB9D3003872C8 /* plistschema.plist */,
|
||||||
|
1A2F5E270C5BB9D9003872C8 /* plist verifier design.txt */,
|
||||||
|
1A2F5E2A0C5BB9E4003872C8 /* OOLogging.h */,
|
||||||
|
1A2F5E290C5BB9E4003872C8 /* OOLogging.m */,
|
||||||
|
1A2F5E640C5BC20E003872C8 /* OOLogOutputHandler.m */,
|
||||||
|
1A2F5E650C5BC20E003872C8 /* OOLogOutputHandler.h */,
|
||||||
|
1A2F5E4C0C5BC04F003872C8 /* OOCollectionExtractors.h */,
|
||||||
|
1A2F5E4B0C5BC04F003872C8 /* OOCollectionExtractors.m */,
|
||||||
|
1A2F5E6D0C5BC29F003872C8 /* OOVector.m */,
|
||||||
|
1A2F5E6E0C5BC29F003872C8 /* OOVector.h */,
|
||||||
|
1A2F5E6F0C5BC29F003872C8 /* OOMaths.h */,
|
||||||
|
1A2F5F610C5BC414003872C8 /* OOFastArithmetic.m */,
|
||||||
|
1A2F5E700C5BC29F003872C8 /* OOQuaternion.m */,
|
||||||
|
1A2F5E710C5BC29F003872C8 /* OOQuaternion.h */,
|
||||||
|
1A2F5F4E0C5BC3B1003872C8 /* OOAsyncQueue.m */,
|
||||||
|
1A2F5F4F0C5BC3B1003872C8 /* OOAsyncQueue.h */,
|
||||||
|
1A2F5F590C5BC3F3003872C8 /* legacy_random.h */,
|
||||||
|
1A2F5F5A0C5BC3F3003872C8 /* legacy_random.c */,
|
||||||
|
);
|
||||||
|
name = "Oolite bits";
|
||||||
|
path = ../../src/Core;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
1AB674ADFE9D54B511CA2CBB /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
8DD76FA10486AA7600D96B5E /* plistShemaValidator */,
|
||||||
|
);
|
||||||
|
name = Products;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXGroup section */
|
||||||
|
|
||||||
|
/* Begin PBXNativeTarget section */
|
||||||
|
8DD76F960486AA7600D96B5E /* plistShemaValidator */ = {
|
||||||
|
isa = PBXNativeTarget;
|
||||||
|
buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "plistShemaValidator" */;
|
||||||
|
buildPhases = (
|
||||||
|
8DD76F990486AA7600D96B5E /* Sources */,
|
||||||
|
8DD76F9B0486AA7600D96B5E /* Frameworks */,
|
||||||
|
8DD76F9E0486AA7600D96B5E /* CopyFiles */,
|
||||||
|
);
|
||||||
|
buildRules = (
|
||||||
|
);
|
||||||
|
dependencies = (
|
||||||
|
);
|
||||||
|
name = plistShemaValidator;
|
||||||
|
productInstallPath = "$(HOME)/bin";
|
||||||
|
productName = plistShemaValidator;
|
||||||
|
productReference = 8DD76FA10486AA7600D96B5E /* plistShemaValidator */;
|
||||||
|
productType = "com.apple.product-type.tool";
|
||||||
|
};
|
||||||
|
/* End PBXNativeTarget section */
|
||||||
|
|
||||||
|
/* Begin PBXProject section */
|
||||||
|
08FB7793FE84155DC02AAC07 /* Project object */ = {
|
||||||
|
isa = PBXProject;
|
||||||
|
buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "plistShemaValidator" */;
|
||||||
|
hasScannedForEncodings = 1;
|
||||||
|
mainGroup = 08FB7794FE84155DC02AAC07 /* plistShemaValidator */;
|
||||||
|
projectDirPath = "";
|
||||||
|
targets = (
|
||||||
|
8DD76F960486AA7600D96B5E /* plistShemaValidator */,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin PBXSourcesBuildPhase section */
|
||||||
|
8DD76F990486AA7600D96B5E /* Sources */ = {
|
||||||
|
isa = PBXSourcesBuildPhase;
|
||||||
|
buildActionMask = 2147483647;
|
||||||
|
files = (
|
||||||
|
8DD76F9A0486AA7600D96B5E /* plistShemaValidator.m in Sources */,
|
||||||
|
1A2F5E230C5BB9C7003872C8 /* OOPListSchemaVerifier.m in Sources */,
|
||||||
|
1A2F5E2B0C5BB9E4003872C8 /* OOLogging.m in Sources */,
|
||||||
|
1A2F5E4D0C5BC04F003872C8 /* OOCollectionExtractors.m in Sources */,
|
||||||
|
1A2F5E660C5BC20E003872C8 /* OOLogOutputHandler.m in Sources */,
|
||||||
|
1A2F5E720C5BC29F003872C8 /* OOVector.m in Sources */,
|
||||||
|
1A2F5E750C5BC29F003872C8 /* OOQuaternion.m in Sources */,
|
||||||
|
1A2F5F500C5BC3B1003872C8 /* OOAsyncQueue.m in Sources */,
|
||||||
|
1A2F5F5C0C5BC3F3003872C8 /* legacy_random.c in Sources */,
|
||||||
|
1A2F5F620C5BC414003872C8 /* OOFastArithmetic.m in Sources */,
|
||||||
|
);
|
||||||
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
};
|
||||||
|
/* End PBXSourcesBuildPhase section */
|
||||||
|
|
||||||
|
/* Begin XCBuildConfiguration section */
|
||||||
|
1DEB927508733DD40010E9CD /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
COPY_PHASE_STRIP = NO;
|
||||||
|
GCC_DYNAMIC_NO_PIC = NO;
|
||||||
|
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||||
|
GCC_MODEL_TUNING = G5;
|
||||||
|
GCC_OPTIMIZATION_LEVEL = 0;
|
||||||
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
|
GCC_PREFIX_HEADER = plistShemaValidator_Prefix.pch;
|
||||||
|
INSTALL_PATH = "$(HOME)/bin";
|
||||||
|
PRODUCT_NAME = plistShemaValidator;
|
||||||
|
ZERO_LINK = YES;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
1DEB927608733DD40010E9CD /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
ARCHS = (
|
||||||
|
ppc,
|
||||||
|
i386,
|
||||||
|
);
|
||||||
|
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||||
|
GCC_MODEL_TUNING = G5;
|
||||||
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
|
GCC_PREFIX_HEADER = plistShemaValidator_Prefix.pch;
|
||||||
|
INSTALL_PATH = "$(HOME)/bin";
|
||||||
|
PRODUCT_NAME = plistShemaValidator;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
1DEB927908733DD40010E9CD /* Debug */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
PREBINDING = NO;
|
||||||
|
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
|
||||||
|
};
|
||||||
|
name = Debug;
|
||||||
|
};
|
||||||
|
1DEB927A08733DD40010E9CD /* Release */ = {
|
||||||
|
isa = XCBuildConfiguration;
|
||||||
|
buildSettings = {
|
||||||
|
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||||
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
|
PREBINDING = NO;
|
||||||
|
SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
|
||||||
|
};
|
||||||
|
name = Release;
|
||||||
|
};
|
||||||
|
/* End XCBuildConfiguration section */
|
||||||
|
|
||||||
|
/* Begin XCConfigurationList section */
|
||||||
|
1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "plistShemaValidator" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
1DEB927508733DD40010E9CD /* Debug */,
|
||||||
|
1DEB927608733DD40010E9CD /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "plistShemaValidator" */ = {
|
||||||
|
isa = XCConfigurationList;
|
||||||
|
buildConfigurations = (
|
||||||
|
1DEB927908733DD40010E9CD /* Debug */,
|
||||||
|
1DEB927A08733DD40010E9CD /* Release */,
|
||||||
|
);
|
||||||
|
defaultConfigurationIsVisible = 0;
|
||||||
|
defaultConfigurationName = Release;
|
||||||
|
};
|
||||||
|
/* End XCConfigurationList section */
|
||||||
|
};
|
||||||
|
rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
|
||||||
|
}
|
7
tools/plistShemaValidator/plistShemaValidator_Prefix.pch
Normal file
7
tools/plistShemaValidator/plistShemaValidator_Prefix.pch
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
//
|
||||||
|
// Prefix header for all source files of the 'plistShemaValidator' target in the 'plistShemaValidator' project.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifdef __OBJC__
|
||||||
|
#import <Foundation/Foundation.h>
|
||||||
|
#endif
|
Loading…
x
Reference in New Issue
Block a user