-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CMake install #14
CMake install #14
Conversation
I like that! But I'm not sure if i got it how this would be used. I guess the idea is that I would have to call
Afaik that is basically what the current tests in the test-suite do (At least for Linux/Java and macOS/objc). I think it should be enough to write a CMake-script that generates, builds and runs the existing test-cases utilizing the installed header files. That would proof that the
Yeah, it is super annoying how djinni is built/run by default. I think a proper build should always result in a standalone jar artifact, which is not the default when building djinni right now. It should be pretty easy to change the build behaviour though, the build-target for generating a jar already exists. |
the headers, and the library to link against. And this is for me the main difference. And these are different tests, generator is text in, text out test, basically it should be enough to to this on one platform since the same java artifact can be used on Linux OSX Windows, hopefully. But the library needs to be compiled, and executed on each of the possible target platforms, and these are quite many. so for me the generator and the support lib are 2 total different entities, and I am not sure on how to handle and respect this in the build && testing pipeline. |
In the last hour I've been thinking about what you try to achieve with #13, now I get it! Sounds interesting, it ultimately means that it could make sense to distribute generator and support lib separately 😮 (jar via github release and/or mavencentral, lib via package manager conan, hunter, ...). Neat.
I doubt that these tests exist, all that I have seen is integration-tests that also build and run the resulting code (Just a comment, I don't want to imply anything with that).
What makes you want to test the support-lib that extensively? My naive thinking is that the support-lib does not include any platform-specific code, so it should be enough to test it once for java and objc. I don't expect different behaviour depending on the CPU architecture / operating system. |
exactly, but this also raises the question, how to avoid to run useless tests, since when I change something at one, why should the other be tested?
Then they should exists. but maybe they do? why else should the generated-src be checked in into git
beside normal paranoia , you mean? :-) We do not have to have everything in all combination and perfect at the beginning now, but I would like to point this into the right direction and use this to raise some discussion topics, like 2 packages / components we have. |
Sorry, I didn't realize you where awaiting further review/feedback! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you still think about extracting the support-lib into it's separate library? The more I am thinking about it the more I like the idea. Only gotcha I can think of would be that the releases would be de-coupled.
Do you think it makes sense to adjust the existing tests, so they use the target instead of globbing for the files: https://github.com/cross-language-cpp/djinni/blob/master/test-suite/java/CMakeLists.txt#L27 |
Co-authored-by: jothepro <github@jothe.pro>
still not 100% for one or the other, there are reasons for both ,I guess, and these are 2 projects, on the other hand ... they are pretty strong related
I am not sure I fully get what you mean. Those for the test suite also, even if I understand why this has been done, but this would be an extra ticket |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm open for discussion about this, but I believe a simple install
-target is not enough.
targets issue #13
Miss tests that this work, would need:
generate some code from a djinni interface file, do something with it, and build a test program.
and this on Windows Linux OSX iOS and Android
not sure how to implement that, maybe not all at once.
also, for such a test is it somehow sub optimal to always also build the generator, this should for this test actually be consumed as a ready to use package/binary
So this is for a base of discussion
and you can allreay, if wanted, checkout and see if this works