Skip to content
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

Closed

Conversation

lacasseio
Copy link
Member

No description provided.

@lacasseio lacasseio added a:enhancement New feature or request in:docs labels Jan 14, 2022
@lacasseio lacasseio self-assigned this Jan 14, 2022
@lacasseio lacasseio marked this pull request as draft January 14, 2022 17:11
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
Copy link
Member Author

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.
Copy link
Member Author

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]
Copy link
Member Author

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.

Comment on lines 84 to 85
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`.
Copy link
Member Author

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.

Comment on lines +101 to +87
.src/main/headers/my_string.h
[source,c]
----
static const char* kHelloWorld = "Hello, World!";
----
Copy link
Member Author

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.

Comment on lines 147 to 148
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.
Copy link
Member Author

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…
Copy link
Member Author

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.

lacasseio and others added 4 commits May 12, 2022 14:43
The Gradle wrapper is unecessary to the understanding on how to build a
native application.
@lacasseio lacasseio force-pushed the lacasseio/draft/building-native-application-guides branch from 456e259 to def05be Compare May 12, 2022 20:57
@lacasseio
Copy link
Member Author

Closing in favour of #617

@lacasseio lacasseio closed this May 26, 2022
@lacasseio lacasseio deleted the lacasseio/draft/building-native-application-guides branch May 26, 2022 00:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a:enhancement New feature or request in:docs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants