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