Merge pull request 'IOSAD-232: Tell xcode the generated files (engine, asn.1) so it doesn't expect them from the start' (#76) from dirk/pEpEngine:IOSAD-232 into master

Reviewed-on: #76
ENGINE-1002--3.x
positron 1 year ago
commit abbf677a20

@ -1,3 +1,5 @@
$(SRCROOT)/../../../asn.1/ASN1Message.c
$(SRCROOT)/../../../asn.1/ASN1Message.h
$(SRCROOT)/../../../asn.1/BIT_STRING.c
$(SRCROOT)/../../../asn.1/BIT_STRING.h
$(SRCROOT)/../../../asn.1/BOOLEAN.c
@ -18,18 +20,44 @@ $(SRCROOT)/../../../asn.1/CommitAcceptRequester.c
$(SRCROOT)/../../../asn.1/CommitAcceptRequester.h
$(SRCROOT)/../../../asn.1/CommitReject.c
$(SRCROOT)/../../../asn.1/CommitReject.h
$(SRCROOT)/../../../asn.1/ContentDisposition.c
$(SRCROOT)/../../../asn.1/ContentDisposition.h
$(SRCROOT)/../../../asn.1/Distribution.c
$(SRCROOT)/../../../asn.1/Distribution.h
$(SRCROOT)/../../../asn.1/ElectGroupKeyResetLeader.c
$(SRCROOT)/../../../asn.1/ElectGroupKeyResetLeader.h
$(SRCROOT)/../../../asn.1/Exploration.c
$(SRCROOT)/../../../asn.1/Exploration.h
$(SRCROOT)/../../../asn.1/ExploreAnswer.c
$(SRCROOT)/../../../asn.1/ExploreAnswer.h
$(SRCROOT)/../../../asn.1/ExploreChallenge.c
$(SRCROOT)/../../../asn.1/ExploreChallenge.h
$(SRCROOT)/../../../asn.1/ExploreRequest.c
$(SRCROOT)/../../../asn.1/ExploreRequest.h
$(SRCROOT)/../../../asn.1/ExploreResponse.c
$(SRCROOT)/../../../asn.1/ExploreResponse.h
$(SRCROOT)/../../../asn.1/GeneralizedTime.c
$(SRCROOT)/../../../asn.1/GeneralizedTime.h
$(SRCROOT)/../../../asn.1/GroupAdopted.c
$(SRCROOT)/../../../asn.1/GroupAdopted.h
$(SRCROOT)/../../../asn.1/GroupDissolve.c
$(SRCROOT)/../../../asn.1/GroupDissolve.h
$(SRCROOT)/../../../asn.1/GroupHandshake.c
$(SRCROOT)/../../../asn.1/GroupHandshake.h
$(SRCROOT)/../../../asn.1/GroupInvite.c
$(SRCROOT)/../../../asn.1/GroupInvite.h
$(SRCROOT)/../../../asn.1/GroupKeysAndClose.c
$(SRCROOT)/../../../asn.1/GroupKeysAndClose.h
$(SRCROOT)/../../../asn.1/GroupKeysForNewMember.c
$(SRCROOT)/../../../asn.1/GroupKeysForNewMember.h
$(SRCROOT)/../../../asn.1/GroupKeysUpdate.c
$(SRCROOT)/../../../asn.1/GroupKeysUpdate.h
$(SRCROOT)/../../../asn.1/GroupSync.c
$(SRCROOT)/../../../asn.1/GroupSync.h
$(SRCROOT)/../../../asn.1/GroupSyncRequest.c
$(SRCROOT)/../../../asn.1/GroupSyncRequest.h
$(SRCROOT)/../../../asn.1/GroupSyncUpdate.c
$(SRCROOT)/../../../asn.1/GroupSyncUpdate.h
$(SRCROOT)/../../../asn.1/GroupTrustThisKey.c
$(SRCROOT)/../../../asn.1/GroupTrustThisKey.h
$(SRCROOT)/../../../asn.1/Hash.c
@ -50,6 +78,12 @@ $(SRCROOT)/../../../asn.1/KeyReset.c
$(SRCROOT)/../../../asn.1/KeyReset.h
$(SRCROOT)/../../../asn.1/KeySync.c
$(SRCROOT)/../../../asn.1/KeySync.h
$(SRCROOT)/../../../asn.1/ManagedGroup.c
$(SRCROOT)/../../../asn.1/ManagedGroup.h
$(SRCROOT)/../../../asn.1/MessageDirection.c
$(SRCROOT)/../../../asn.1/MessageDirection.h
$(SRCROOT)/../../../asn.1/MessageStorage.c
$(SRCROOT)/../../../asn.1/MessageStorage.h
$(SRCROOT)/../../../asn.1/NativeEnumerated.c
$(SRCROOT)/../../../asn.1/NativeEnumerated.h
$(SRCROOT)/../../../asn.1/NativeInteger.c
@ -66,8 +100,22 @@ $(SRCROOT)/../../../asn.1/OwnKeysOfferer.c
$(SRCROOT)/../../../asn.1/OwnKeysOfferer.h
$(SRCROOT)/../../../asn.1/OwnKeysRequester.c
$(SRCROOT)/../../../asn.1/OwnKeysRequester.h
$(SRCROOT)/../../../asn.1/PBlob.c
$(SRCROOT)/../../../asn.1/PBlob.h
$(SRCROOT)/../../../asn.1/PBlobList.c
$(SRCROOT)/../../../asn.1/PBlobList.h
$(SRCROOT)/../../../asn.1/PIdentity.c
$(SRCROOT)/../../../asn.1/PIdentity.h
$(SRCROOT)/../../../asn.1/PIdentityList.c
$(SRCROOT)/../../../asn.1/PIdentityList.h
$(SRCROOT)/../../../asn.1/PString.c
$(SRCROOT)/../../../asn.1/PString.h
$(SRCROOT)/../../../asn.1/PStringList.c
$(SRCROOT)/../../../asn.1/PStringList.h
$(SRCROOT)/../../../asn.1/PStringPair.c
$(SRCROOT)/../../../asn.1/PStringPair.h
$(SRCROOT)/../../../asn.1/PStringPairList.c
$(SRCROOT)/../../../asn.1/PStringPairList.h
$(SRCROOT)/../../../asn.1/PrintableString.c
$(SRCROOT)/../../../asn.1/PrintableString.h
$(SRCROOT)/../../../asn.1/Rating.c
@ -76,12 +124,20 @@ $(SRCROOT)/../../../asn.1/ReceiverRating.c
$(SRCROOT)/../../../asn.1/ReceiverRating.h
$(SRCROOT)/../../../asn.1/Rollback.c
$(SRCROOT)/../../../asn.1/Rollback.h
$(SRCROOT)/../../../asn.1/Storage.c
$(SRCROOT)/../../../asn.1/Storage.h
$(SRCROOT)/../../../asn.1/Sync.c
$(SRCROOT)/../../../asn.1/Sync.h
$(SRCROOT)/../../../asn.1/SynchronizeGroupKeys.c
$(SRCROOT)/../../../asn.1/SynchronizeGroupKeys.h
$(SRCROOT)/../../../asn.1/TID.c
$(SRCROOT)/../../../asn.1/TID.h
$(SRCROOT)/../../../asn.1/TrustRequest.c
$(SRCROOT)/../../../asn.1/TrustRequest.h
$(SRCROOT)/../../../asn.1/TrustSync.c
$(SRCROOT)/../../../asn.1/TrustSync.h
$(SRCROOT)/../../../asn.1/TrustUpdate.c
$(SRCROOT)/../../../asn.1/TrustUpdate.h
$(SRCROOT)/../../../asn.1/UTF8String.c
$(SRCROOT)/../../../asn.1/UTF8String.h
$(SRCROOT)/../../../asn.1/Version.c

@ -1201,7 +1201,7 @@
);
name = "Generate Code";
outputFileListPaths = (
"$(SRCROOT)/generated-files-asn1.txt",
"$(SRCROOT)/generated-files.txt",
);
outputPaths = (
);

@ -1,3 +1,5 @@
$(SRCROOT)/../src/GroupSync_fsm.c
$(SRCROOT)/../src/GroupSync_fsm.h
$(SRCROOT)/../src/KeySync_fsm.c
$(SRCROOT)/../src/KeySync_fsm.h
$(SRCROOT)/../src/Sync_actions.c
@ -7,7 +9,11 @@ $(SRCROOT)/../src/Sync_func.c
$(SRCROOT)/../src/Sync_func.h
$(SRCROOT)/../src/Sync_impl.c
$(SRCROOT)/../src/Sync_impl.h
$(SRCROOT)/../src/TrustSync_fsm.c
$(SRCROOT)/../src/TrustSync_fsm.h
$(SRCROOT)/../src/distribution_codec.c
$(SRCROOT)/../src/distribution_codec.h
$(SRCROOT)/../src/storage_codec.c
$(SRCROOT)/../src/storage_codec.h
$(SRCROOT)/../src/sync_codec.c
$(SRCROOT)/../src/sync_codec.h

@ -335,6 +335,13 @@
remoteGlobalIDString = 150845DE25F13CE700D46DA6;
remoteInfo = generate_code;
};
437D471727DF9933006CB916 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 4309FF0327315E560055C6C9 /* pEpTransport.xcodeproj */;
proxyType = 2;
remoteGlobalIDString = 43C24DE327A15C81000E90FF;
remoteInfo = pEpTransportTests;
};
4399C9E32747C70700F52599 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 4309FF0327315E560055C6C9 /* pEpTransport.xcodeproj */;
@ -634,6 +641,7 @@
children = (
4399C9E42747C70700F52599 /* libpEpTransport_macOS.a */,
4399C9E62747C70700F52599 /* libpEpTransport_iOS.a */,
437D471827DF9933006CB916 /* pEpTransportTests.xctest */,
);
name = Products;
sourceTree = "<group>";
@ -1087,6 +1095,13 @@
remoteRef = 15A322F6260E0B75009D07EB /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
437D471827DF9933006CB916 /* pEpTransportTests.xctest */ = {
isa = PBXReferenceProxy;
fileType = wrapper.cfbundle;
path = pEpTransportTests.xctest;
remoteRef = 437D471727DF9933006CB916 /* PBXContainerItemProxy */;
sourceTree = BUILT_PRODUCTS_DIR;
};
4399C9E42747C70700F52599 /* libpEpTransport_macOS.a */ = {
isa = PBXReferenceProxy;
fileType = archive.ar;
@ -1177,7 +1192,7 @@
inputPaths = (
);
outputFileListPaths = (
"$(SRCROOT)/generated-files-sync.txt",
"$(SRCROOT)/generated-files.txt",
);
outputPaths = (
);

@ -0,0 +1,84 @@
#!/usr/bin/env python3
#
# Updates the list of engine-generated files.
#
# Usage (from the top of the checked out engine):
# python3 build-mac/scripts/python/update_engine_generated_files.py
#
import os
import subprocess
from os.path import isfile, join, splitext
# The engine source directory
ENGINE_BASE_DIR = '.'
SYNC_DIR_GENERATED = join(ENGINE_BASE_DIR, 'codegen/generated')
ASN_DIR_GENERATED = join(ENGINE_BASE_DIR, 'asn.1')
DES_DIR = join(ENGINE_BASE_DIR, 'build-mac')
DES_DIR_ASN = join(ENGINE_BASE_DIR, 'build-mac', 'Subprojects', 'pEpASN1')
DEST_ASN_LIST = join(DES_DIR_ASN, 'generated-files.txt')
DEST_SYNC_LIST = join(DES_DIR, 'generated-files.txt')
class Pushd:
"""Context manager for changing the current working directory"""
def __init__(self, new_path):
self.new_path = os.path.expanduser(new_path)
def __enter__(self):
self.saved_path = os.getcwd()
os.chdir(self.new_path)
def __exit__(self, etype, value, traceback):
os.chdir(self.saved_path)
def cfiles(path):
"""Returns an array of .c and .h files under the given directory"""
return [f for f in os.listdir(path)
if isfile(join(path, f))
and splitext(f)[1] in ['.c', '.h']]
def clean_engine():
"""Cleans the engine"""
with Pushd(ENGINE_BASE_DIR):
subprocess.run(['gmake', 'clean'], check=True)
def generate_files():
"""Generates the engine's sync files"""
with Pushd(ENGINE_BASE_DIR):
commands = [
['gmake', 'codegen'],
['gmake', '-C', 'asn.1', 'Sync.c', 'Distribution.c', 'Storage.c', 'ASN1Message.c'],
]
for cmd in commands:
subprocess.run(cmd, check=True)
clean_engine()
asn_files_before_set = set(cfiles(ASN_DIR_GENERATED))
generate_files()
asn_files_after_set = set(sorted(cfiles(ASN_DIR_GENERATED)))
asn_diff = asn_files_after_set.difference(asn_files_before_set)
asn_files = sorted(asn_files_after_set)
with open(DEST_ASN_LIST, 'w') as asn_target_file:
for asn_file in asn_files:
item = '$(SRCROOT)/../../../asn.1/' + asn_file
asn_target_file.write(item + '\n')
sync_files_after = sorted(cfiles(SYNC_DIR_GENERATED))
with open(DEST_SYNC_LIST, 'w') as sync_target_file:
for sync_file in sync_files_after:
item = '$(SRCROOT)/../src/' + sync_file
sync_target_file.write(item + '\n')
Loading…
Cancel
Save