dropbox / djinni

A tool for generating cross-language type declarations and interface bindings.
Apache License 2.0
2.88k stars 488 forks source link

iOS framework headers subfolder #432

Closed paulocoutinhox closed 5 years ago

paulocoutinhox commented 5 years ago

Hi,

ObjC files generated by djinni is inside "folder/objc/file.h/file.mm", but if i change the output folder and include prefix to "folder/objc/ezored/core/file.h/file.mm" when i generate ios framework the "Headers" folder inside it don't have support to subfolders, correct?

There is any solution?

Thanks.

artwyman commented 5 years ago

I don't understand the question. Why do you have a directory called file.h?

I think the super-general answer to the kind of question you seem to be asking is to look at the available command-line options defined in Main.scala. Those are the extent of the available workarounds to path-based issues. You can always modify the behavior of the code too if you know what you need.

paulocoutinhox commented 5 years ago

Hi,

I solve the problem copying all headers files to folders with the same structure inside Headers folder of ios framework.

Generally people put Headers without subfolders, but dont make sense, since it support it.

My bridging header now is:

#include "ezored/dataservices/EZRDataServiceTodoDataService.h"
#include "ezored/net/http/EZRHttpResponse.h"
#include "ezored/net/http/EZRHttpClientPlatformServiceImpl.h"
#include "ezored/net/http/EZRHttpClientLogger.h"
#include "ezored/net/http/EZRHttpRequestParam.h"
#include "ezored/net/http/EZRHttpClientPlatformService.h"
#include "ezored/net/http/EZRHttpRequest.h"
#include "ezored/net/http/EZRHttpHeader.h"
#include "ezored/net/http/EZRHttpClient.h"
#include "ezored/net/http/EZRHttpMethod.h"
#include "ezored/core/EZRCoreApplicationCore.h"
#include "ezored/util/EZRLoggerLevel.h"
#include "ezored/util/EZRLoggerPlatformService.h"
#include "ezored/util/EZRLogger.h"
#include "ezored/util/EZRLoggerPlatformServiceImpl.h"
#include "ezored/io/EZRFileHelperPlatformService.h"
#include "ezored/io/EZRFileHelperPlatformServiceImpl.h"
#include "ezored/io/EZRFileHelper.h"
#include "ezored/time/EZRDateTime.h"
#include "ezored/systemservices/EZRSystemServiceCustomerSystemServiceLoginData.h"
#include "ezored/systemservices/EZRSystemServiceCustomerSystemService.h"
#include "ezored/data/EZRSharedDataPlatformService.h"
#include "ezored/data/EZRSharedData.h"
#include "ezored/data/EZRSharedDataPlatformServiceImpl.h"
#include "ezored/domain/EZRDomainDeviceData.h"
#include "ezored/domain/EZRDomainResponseError.h"
#include "ezored/domain/EZRDomainInitializationData.h"
#include "ezored/domain/EZRDomainTodo.h"
#include "ezored/domain/EZRDomainCustomer.h"
#include "ezored/domain/EZRDomainResponse.h"
#include "ezored/helpers/EZRHelperEnvironmentHelper.h"
#include "ezored/helpers/EZRHelperTodoHelper.h"
#include "ezored/helpers/EZRHelperCustomerHelper.h"
#include "ezored/helpers/EZRStringHelper.h"
#include "ezored/helpers/EZRHelperSharedDataHelper.h"