Your entire server infrastructure at your fingertips
Find a file
2022-12-11 00:49:32 +01:00
.github/workflows Update workflow calling condition 2022-11-30 19:58:45 +01:00
api Refactor 2022-11-27 14:59:36 +01:00
beacon Fixes for shells 2022-12-07 00:13:16 +01:00
core Fix for file echos on Linux 2022-12-11 00:49:32 +01:00
deps@23936c9a6a Submodule fixes 2022-10-15 16:43:10 +02:00
extension Small fixes for shells 2022-12-10 00:16:05 +01:00
gradle/wrapper Fix standalone unit tests 2022-03-10 18:48:06 +01:00
misc Update workflow calling condition 2022-11-30 19:58:45 +01:00
.gitattributes Initial commit 2021-12-01 19:17:54 +01:00
.gitignore More fixes for shells and prefs 2022-12-09 01:44:12 +01:00
.gitmodules Initial commit 2021-12-01 19:17:54 +01:00
build.gradle Update jreleaser 2022-10-11 19:07:28 +02:00
gradlew Fixed permissions issue 2022-08-12 17:32:00 +02:00
gradlew.bat Initial commit 2021-12-01 19:17:54 +01:00
jreleaser.gradle Update jreleaser.gradle 2022-10-12 18:27:36 +02:00
LICENSE Add license 2022-03-10 20:16:46 +01:00
README.md Update readmes 2022-11-24 08:43:30 +01:00
settings.gradle Integrate fxcomps into extension module 2022-11-30 19:50:04 +01:00

Build Status Publish Status

X-Pipe Java

The fundamental components of the X-Pipe project. This repository contains the following four modules:

  • Core - Shared core classes of the X-Pipe Java API, X-Pipe extensions, and the X-Pipe daemon implementation
  • API - The API that can be used to interact with X-Pipe from any JVM-based language10
  • Beacon - The X-Pipe beacon component is responsible for handling all communications between the X-Pipe daemon and the client applications, for example the various programming language APIs and the CLI
  • Extension - An API to create all different kinds of extensions for the X-Pipe platform

Installation / Usage

The core and extension modules are used in X-Pipe extension development. For setup instructions, see the X-Pipe extension development section.

The beacon module handles all communication and serves as a reference when implementing the communication of an API or program that interacts with the X-Pipe daemon.

The api module serves as a reference implementation for other potential X-Pipe APIs and can also be used to access X-Pipe functionalities from your Java programs. For setup instructions, see the X-Pipe Java API Usage section.

Development Notes

All X-Pipe components target JDK 17 and make full use of the Java Module System (JPMS). All components are modularized, including all their dependencies. In case a dependency is (sadly) not modularized yet, module information is manually added using moditect. These dependency generation rules are accumulated in the X-Pipe dependencies repository, which is shared between all components and integrated as a git submodule.

Some unit tests depend on a connection to an X-Pipe daemon to properly function. To launch the installed daemon, it is required that you either have X-Pipe installed or have set the XPIPE_HOME environment variable in case you are using a portable version.