Gluon Attach is the component that addresses the integration with low-level platform APIs in an end-to-end Java Mobile solution.
Attach provides an uniform, platform-independent API to access device and hardware features. At runtime, the appropriate implementation (attach:desktop, attach:android, attach:ios) makes sure the platform specific code is used to deliver the functionality.
Attach is open source, and it is freely licensed under the GPL license. Gluon can provide custom consultancy and training, commercial licenses, and open source commercial support, including daily and monthly releases.
This is an experimental repository intended to test custom Attach services that can be created and used outside Attach itself.
As a custom service, it can't use the official com.gluonhq.attach
package name.
These are the requisites:
- A recent version of JDK 11
- Gradle 6.0 or superior.
To build the iOS Services:
- A Mac with with MacOS X 10.14.4 or superior
- XCode 11.x or superior
To build the Custom Attach services on the project's root, run:
./gradlew clean build
If you want to install them, run:
./gradlew clean publishToMavenLocal
When the process finishes successfully, the different services can be added to a Gluon Mobile project.
For instance, the Log service for desktop can be added to the project like:
<!-- dependencies -->
<dependency>
<groupId>my.company.attach</groupId>
<artifactId>log</artifactId>
<version>4.0.12-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>my.company.attach</groupId>
<artifactId>log</artifactId>
<version>4.0.12-SNAPSHOT</version>
<classifier>desktop</classifier>
<scope>runtime</scope>
</dependency>
and used from the project like:
LogService.create().ifPresent(service -> service.log("This is a message"));