-
Notifications
You must be signed in to change notification settings - Fork 8
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
Draft guide for building native application with Nokee #517
Draft guide for building native application with Nokee #517
Conversation
This guide demonstrates how to create a {C application} using the Nokee plugins for Gradle. | ||
You can follow the guide step-by-step to create a new project from scratch or download the complete project using the links above. | ||
|
||
== What we'll build |
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 think using an inclusive language (we) instead of pointing (you) is a bit better as the guide serves as a hand-holding journey with the user through a specific scenario. If by the end of the guide the user doesn't understand then it's our (Nokee's fault) and if the user understands then it's all because of how good the user is (congrats to the user). Basically, Nokee takes the blame for the negative experience and the user takes all the credit for succeeding. :-)
* A Java Development Kit (JDK), version 8 or higher - for example https://adoptopenjdk.net/[AdoptOpenJDK] | ||
* The latest https://gradle.org/install[Gradle distribution] | ||
* An installed C compiler. | ||
See which link:TODO[C toolchains] are supported by Nokee. |
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.
🔲 The toolchain page is not written yet. We can assume the page would show which toolchains are supported by Nokee. That page would most likely point to vendor pages on how to install the toolchain.
|
||
* A text editor or IDE - for example https://www.jetbrains.com/idea/download/[IntelliJ IDEA] | ||
* A Java Development Kit (JDK), version 8 or higher - for example https://adoptopenjdk.net/[AdoptOpenJDK] | ||
* The latest https://gradle.org/install[Gradle distribution] |
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.
❌ We will need some kind of explanation on why Gradle is required: Nokee is a suite of plugins for the Gradle build system.
subprojects/platform-native/src/docs/guide-templates/building-native-application/README.adoc
Outdated
Show resolved
Hide resolved
By default, Nokee uses link:TODO[Gradle's conventional source layout]. | ||
All {C} application code is located at `src/main/c` and its private headers are located at `src/main/headers`. |
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.
🔲 The conventional source layout page is missing. The page would go on explaining what is the conventional source layout with its reasoning. I tried to summarize the layout as a straightforward description.
❌ We should call out to working with sources manual chapter (to understand the concept behind source layout) and the sample that shows how to configure the source layout. It's important to mention to avoid users thinking the layout is not configurable.
.src/main/headers/my_string.h | ||
[source,c] | ||
---- | ||
static const char* kHelloWorld = "Hello, World!"; | ||
---- |
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.
🔍 In theory, this header doesn't bring anything to the C code but it demonstrates that private headers are picked up from the right location.
subprojects/platform-native/src/docs/guide-templates/building-native-application/README.adoc
Outdated
Show resolved
Hide resolved
NOTE: Dependencies on other projects isn’t covered in this guide. | ||
To learn more about this subject, have a look at the transitive dependency sample for a demonstration. |
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.
🔲 We should call out samples and another guide that explains how to work with dependencies.
To learn more about how you can further customize {C application} projects, check out the user manual chapter on link:TODO[Building native projects]. | ||
Check out other guides and samples around common configuration: | ||
|
||
TODO: Link to other guides and samples… |
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.
🔍 We should call out to other related and important guides and samples to expand what was learned in this guide. Call out inlined in the guide should also be included here. We should also focus on minimizing inlined call out to ensure maximum fluidity during learning.
The Gradle wrapper is unecessary to the understanding on how to build a native application.
Signed-off-by: Daniel Lacasse <[email protected]>
456e259
to
def05be
Compare
Closing in favour of #617 |
No description provided.