Nokee Release Notes
The Nokee team is excited to announce the third release onward to a better native development experience in Gradle.
This release focus on adding convenient APIs to address common Java Native Interface (JNI) use cases. There was a focus on delivering an experimental iOS application development workflow in Gradle. To support iOS development, an Xcode IDE plugin was also developed. Finally, this release continues to improve the documentation portal for the Nokee plugins.
You can read more about the first step in the iOS support in Gradle in the announcement blog for this release.
Getting Started
To use the Nokee plugins in Gradle, simply copy the following code to the settings script of your project, then apply any of the Nokee plugins to your build using the plugins DSL block:
pluginManagement {
repositories {
gradlePluginPortal()
maven {
url = uri('https://repo.nokee.dev/snapshot')
}
}
def nokeeVersion = '0.3.0'
resolutionStrategy {
eachPlugin {
if (requested.id.id.startsWith('dev.nokee.')) {
useModule("${requested.id.id}:${requested.id.id}.gradle.plugin:${nokeeVersion}")
}
}
}
}
pluginManagement {
repositories {
gradlePluginPortal()
maven {
url = uri("https://repo.nokee.dev/snapshot")
}
}
val nokeeVersion = "0.3.0"
resolutionStrategy {
eachPlugin {
if (requested.id.id.startsWith("dev.nokee.")) {
useModule("${requested.id.id}:${requested.id.id}.gradle.plugin:${nokeeVersion}")
}
}
}
}
New APIs Supporting JNI Library Development
We added new convenient APIs to support JNI library development. The APIs in questions allow easier manipulation of the JNI library variants and binaries by additional tasks. You can see the new APIs in action in the samples, more specifically, in the sample on creating an uber JAR for JNI libraries. For more information, head over to the new Building JNI Projects chapter.
Experimental iOS Application Plugin
This release reveals a very early experimental iOS support for application in Gradle. It also support XCTest for unit and UI testing. At this stage, the plugin offers no configurability. The application built will target iOS version 13.2 for the iPhone simulator.
It is important to stress the experimental aspect of the plugin. The limitation will be removed over the following releases to address more use cases.
Xcode IDE Plugin
To support iOS development, we are also revealing the Xcode IDE plugin. It has out-of-the-box support for the new iOS application plugin. It also provide an extensive build language to support integration with 3rd party plugins. You can see the APIs in action with the compose an Xcode IDE project sample.
Improvements to the Documentation Portal
This release introduces the build language reference, also known as DSL reference. It covers the complete public APIs for the Nokee plugins.
We wrote three new chapters:
-
Anatomy of a Nokee Plugin: Explains the plugin triplet pattern.
-
Building JNI projects: Discuss the modelling of a JNI project.
-
Developing with Xcode IDE: Covers the integration of Gradle with Xcode IDE.
The documentation also includes four new samples:
Reporting Problems
If you find a problem with any of the plugins, please file a bug on GitHub Issues adhering to our issue guidelines. If you’re not sure you’re encountering a bug, please use the Gradle user forum or the [Gradle Community Slack.