2017-08-08 10:02:27 +00:00
# enry-java
2017-10-05 08:22:41 +00:00
## Usage
2022-08-09 03:31:39 +00:00
`enry-java` package is available through [maven central ](http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22enry-java%22 ),
2017-10-05 08:22:41 +00:00
so it be used easily added as a dependency in various package management systems.
Examples of how to handle it for most commons systems are included below,
for other systems just look at maven central's dependency information.
### Apache Maven
```xml
< dependency >
< groupId > tech.sourced< / groupId >
< artifactId > enry-java< / artifactId >
2017-10-05 13:37:09 +00:00
< version > ${enry_version}< / version >
2017-10-05 08:22:41 +00:00
< / dependency >
```
### Scala SBT
```scala
2017-10-05 13:37:09 +00:00
libraryDependencies += "tech.sourced" % "enry-java" % enryVersion
2017-10-05 08:22:41 +00:00
```
## Build
2017-08-08 10:02:27 +00:00
### Requirements
* `sbt`
* `Java` (tested with Java 1.8)
2017-08-09 08:14:47 +00:00
* `wget`
2017-08-08 10:02:27 +00:00
* `Go` (only for building the shared objects for your operating system)
### Generate jar with Java bindings and shared libraries
You need to do this before exporting the jar and/or testing.
```
make
```
2017-08-09 08:14:47 +00:00
This will download JNAerator jar to generate the code from the `libenry.h` header file, it will be placed under `lib` .
2017-08-08 10:02:27 +00:00
The shared libraries for your operating system will be built if needed and copied inside the `shared` directory.
For IntelliJ and other IDEs remember to mark `shared` folder as sources and add `lib/enry.jar` as library. If you use `sbt` from the command line directly that's already taken care of.
### Run tests
```
make test
```
### Export jar
```
make package
```
2017-08-11 07:55:22 +00:00
Will build fatJar under `./target/enry-java-assembly-X.X.X.jar` .
One can use `./sbt publish-local` to install enry-java dependency on local machine.