Skip to content
This repository has been archived by the owner on Apr 17, 2021. It is now read-only.

Lazy application service directory

License

Notifications You must be signed in to change notification settings

irradia/one.irradia.servicedirectory

Repository files navigation

one.irradia.servicedirectory

Build Status Maven Central Maven Central (snapshot) Codacy Badge Codecov Gitter

servicedirectory

Features

  • Lazy, ServiceLoader-compatible application service directory
  • ISC license
  • High coverage automated test suite
  • OSGi-ready

Building

Install the Android SDK. The package has no dependencies on the Android API and is therefore usable in non-Android projects.

$ ./gradlew clean assemble test

If the above fails, it's a bug. Report it!

Using

Use the following Maven or Gradle dependencies, replacing ${LATEST_VERSION_HERE} with whatever is the latest version published to Maven Central:

<!-- API -->
<dependency>
  <groupId>one.irradia.servicedirectory</groupId>
  <artifactId>one.irradia.servicedirectory.api</artifactId>
  <version>${LATEST_VERSION_HERE}</version>
</dependency>

<!-- Default implementation -->
<dependency>
  <groupId>one.irradia.servicedirectory</groupId>
  <artifactId>one.irradia.servicedirectory.vanilla</artifactId>
  <version>${LATEST_VERSION_HERE}</version>
</dependency>
repositories {
  mavenCentral()
}

implementation "one.irradia.servicedirectory:one.irradia.servicedirectory.api:${LATEST_VERSION_HERE}"
implementation "one.irradia.servicedirectory:one.irradia.servicedirectory.vanilla:${LATEST_VERSION_HERE}"

Library code is encouraged to depend only upon the API package in order to give consumers the freedom to use other implementations of the API if desired.

Publishing Releases

Releases are published to Maven Central with the following invocation:

$ ./gradlew clean assemble publish closeAndReleaseRepository

Consult the documentation for the Gradle Signing plugin and the Gradle Nexus staging plugin for details on what needs to go into your ~/.gradle/gradle.properties file to do the appropriate PGP signing of artifacts and uploads to Maven Central.

Semantic Versioning

All irradia.one packages obey Semantic Versioning once they reach version 1.0.0.