forked from Mirror/ollama4j
Compare commits
51 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
981a033a1d | ||
|
|
e3a8f1e153 | ||
|
|
2cefc1e80a | ||
|
|
275649329a | ||
|
|
581400d44d | ||
|
|
b0733dcd87 | ||
|
|
148b748efb | ||
|
|
9c52368ab2 | ||
|
|
729dd9c41f | ||
|
|
4b49d6004c | ||
|
|
7fd27634d4 | ||
|
|
ea64fc4677 | ||
|
|
376cd28e0c | ||
|
|
31c47c6468 | ||
|
|
2e34a1514c | ||
|
|
dae99e839d | ||
|
|
877901ccff | ||
|
|
0fec81eef7 | ||
|
|
4dd27b3e1a | ||
|
|
a06ededd46 | ||
|
|
1c687831d1 | ||
|
|
2c2750b3e1 | ||
|
|
809efa9053 | ||
|
|
4a7e9ac7f0 | ||
|
|
04f9e77149 | ||
|
|
553e7dab41 | ||
|
|
3a75cd7e92 | ||
|
|
c45b5de3ea | ||
|
|
6c2b3ca206 | ||
|
|
1ff5fbfc9f | ||
|
|
929242cc26 | ||
|
|
d854f82966 | ||
|
|
585858a99a | ||
|
|
95fa72c1ec | ||
|
|
59015dff8f | ||
|
|
d601ce0e1e | ||
|
|
9820248115 | ||
|
|
7ff040f706 | ||
|
|
f4b83c2860 | ||
|
|
082b708927 | ||
|
|
8a895e02fb | ||
|
|
b878fb7b3f | ||
|
|
5c66d8df5f | ||
|
|
ebd34a536d | ||
|
|
f2c7169aca | ||
|
|
875d1c50b0 | ||
|
|
8c4533b704 | ||
|
|
bb50a66d80 | ||
|
|
e8dccd9b6a | ||
|
|
cc1d2c4dc1 | ||
|
|
8e93e580cd |
14
.github/workflows/maven-publish.yml
vendored
14
.github/workflows/maven-publish.yml
vendored
@@ -5,7 +5,7 @@ name: Test and Publish Package
|
|||||||
|
|
||||||
#on:
|
#on:
|
||||||
# release:
|
# release:
|
||||||
# types: [created]
|
# types: [ "created" ]
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -47,15 +47,17 @@ jobs:
|
|||||||
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
|
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-maven-
|
${{ runner.os }}-maven-
|
||||||
|
- name: Build
|
||||||
|
run: mvn -B -ntp clean install
|
||||||
- name: Publish to GitHub Packages Apache Maven
|
- name: Publish to GitHub Packages Apache Maven
|
||||||
if: >
|
# if: >
|
||||||
github.event_name != 'pull_request' &&
|
# github.event_name != 'pull_request' &&
|
||||||
github.ref_name == 'main' &&
|
# github.ref_name == 'main' &&
|
||||||
contains(github.event.head_commit.message, '[release]')
|
# contains(github.event.head_commit.message, 'release')
|
||||||
run: |
|
run: |
|
||||||
git config --global user.email "koujalgi.amith@gmail.com"
|
git config --global user.email "koujalgi.amith@gmail.com"
|
||||||
git config --global user.name "amithkoujalgi"
|
git config --global user.name "amithkoujalgi"
|
||||||
mvn clean -Punit-tests release:clean release:prepare release:perform -B -Darguments="-DskipTests -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}"
|
mvn -B -ntp -DskipTests -Pci-cd -Darguments="-DskipTests -Pci-cd" release:clean release:prepare release:perform
|
||||||
env:
|
env:
|
||||||
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
|
||||||
MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
MAVEN_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
|
||||||
|
|||||||
18
Makefile
18
Makefile
@@ -1,17 +1,13 @@
|
|||||||
|
build:
|
||||||
|
mvn -B clean install
|
||||||
|
|
||||||
ut:
|
ut:
|
||||||
mvn clean test -Punit-tests
|
mvn clean test -Punit-tests
|
||||||
|
|
||||||
it:
|
it:
|
||||||
mvn clean verify -Pintegration-tests
|
mvn clean verify -Pintegration-tests
|
||||||
|
|
||||||
build:
|
list-releases:
|
||||||
mvn -B clean test install -Punit-tests -Dgpg.passphrase="${GPG_PASSPHRASE}" -e
|
curl 'https://central.sonatype.com/api/internal/browse/component/versions?sortField=normalizedVersion&sortDirection=asc&page=0&size=12&filter=namespace%3Aio.github.amithkoujalgi%2Cname%3Aollama4j' \
|
||||||
|
--compressed \
|
||||||
release:
|
--silent | jq '.components[].version'
|
||||||
mvn clean -Punit-tests release:clean release:prepare release:perform -B
|
|
||||||
|
|
||||||
update-version:
|
|
||||||
mvn versions:set -DnewVersion=1.0.1
|
|
||||||
|
|
||||||
deploy:
|
|
||||||
mvn clean deploy -Punit-tests -Dgpg.passphrase="$GPG_PASSPHRASE" -e
|
|
||||||
37
README.md
37
README.md
@@ -53,34 +53,27 @@ for [Ollama](https://github.com/jmorganca/ollama/blob/main/docs/api.md) APIs.
|
|||||||
|
|
||||||
#### Installation
|
#### Installation
|
||||||
|
|
||||||
In your Maven project, add this dependency available in:
|
In your Maven project, add this dependency:
|
||||||
|
|
||||||
- https://central.sonatype.com/artifact/io.github.amithkoujalgi/ollama4j
|
|
||||||
- [Central Repository](https://s01.oss.sonatype.org/#nexus-search;quick~ollama4j)
|
|
||||||
|
|
||||||
```xml
|
```xml
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.github.amithkoujalgi</groupId>
|
<groupId>io.github.amithkoujalgi</groupId>
|
||||||
<artifactId>ollama4j</artifactId>
|
<artifactId>ollama4j</artifactId>
|
||||||
<version>1.0-SNAPSHOT</version>
|
<version>1.0.20</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
```
|
```
|
||||||
|
|
||||||
You might want to include the Maven repository to pull the ollama4j library from. Include this in
|
https://img.shields.io/maven-central/v/io.github.amithkoujalgi/ollama4j
|
||||||
your `pom.xml`:
|
|
||||||
|
|
||||||
```xml
|
[![][lib-shield]][lib]
|
||||||
|
|
||||||
<repositories>
|
[lib]: https://central.sonatype.com/artifact/io.github.amithkoujalgi/ollama4j
|
||||||
<repository>
|
|
||||||
<id>ollama4j-from-ossrh</id>
|
|
||||||
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
|
|
||||||
</repository>
|
|
||||||
</repositories>
|
|
||||||
```
|
|
||||||
|
|
||||||
You should also include an implementation of [SL4J](https://www.slf4j.org/) logger in your `pom.xml` file. For example,
|
[lib-shield]: https://img.shields.io/badge/ollama4j-get_latest_version-blue.svg?style=for-the-badge&labelColor=gray
|
||||||
|
|
||||||
|
You might want to include an implementation of [SL4J](https://www.slf4j.org/) logger in your `pom.xml` file. For
|
||||||
|
example,
|
||||||
|
|
||||||
Use `slf4j-jdk14` implementation:
|
Use `slf4j-jdk14` implementation:
|
||||||
|
|
||||||
@@ -106,14 +99,6 @@ or use `logback-classic` implementation:
|
|||||||
|
|
||||||
or use other suitable implementations.
|
or use other suitable implementations.
|
||||||
|
|
||||||
#### Build:
|
|
||||||
|
|
||||||
Build your project to resolve the dependencies:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
mvn clean install -U
|
|
||||||
```
|
|
||||||
|
|
||||||
You can then use the Ollama Java APIs by importing `ollama4j`:
|
You can then use the Ollama Java APIs by importing `ollama4j`:
|
||||||
|
|
||||||
```java
|
```java
|
||||||
@@ -468,6 +453,10 @@ Run integration tests:
|
|||||||
make it
|
make it
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Releases
|
||||||
|
|
||||||
|
Releases (newer artifact versions) are done automatically on pushj g code to the `main` branch through GitHub Actions CI workflow.
|
||||||
|
|
||||||
#### Traction
|
#### Traction
|
||||||
|
|
||||||
[](https://star-history.com/#amithkoujalgi/ollama4j&Date)
|
[](https://star-history.com/#amithkoujalgi/ollama4j&Date)
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
Understanding publishing:
|
Understanding publishing:
|
||||||
https://dzone.com/articles/how-to-publish-artifacts-to-maven-central
|
https://dzone.com/articles/how-to-publish-artifacts-to-maven-central
|
||||||
|
|
||||||
GPG Signing setup
|
Reference Repo:
|
||||||
|
https://github.com/dsibilio/badge-maker/tree/main
|
||||||
|
|
||||||
## GPG Setup
|
## GPG Signing setup
|
||||||
|
|
||||||
|
### GPG Setup
|
||||||
|
|
||||||
https://central.sonatype.org/publish/requirements/gpg/#listing-keys
|
https://central.sonatype.org/publish/requirements/gpg/#listing-keys
|
||||||
|
|
||||||
### Steps
|
#### Steps
|
||||||
|
|
||||||
- Create key: `gpg --gen-key` and then list keys to verify: `gpg --list-keys`
|
- Create key: `gpg --gen-key` and then list keys to verify: `gpg --list-keys`
|
||||||
- Distributing Your Public Key:
|
- Distributing Your Public Key:
|
||||||
@@ -33,4 +36,19 @@ gpg --armor --export-secret-keys 88AA0C903A513340A0F3094326257A6F6F5F24A9 > ~/ol
|
|||||||
|
|
||||||
https://central.sonatype.org/publish/publish-maven/
|
https://central.sonatype.org/publish/publish-maven/
|
||||||
|
|
||||||
### Steps
|
## List release versions
|
||||||
|
|
||||||
|
```shell
|
||||||
|
curl 'https://central.sonatype.com/api/internal/browse/component/versions?sortField=normalizedVersion&sortDirection=desc&page=0&size=12&filter=namespace%3Aio.github.amithkoujalgi%2Cname%3Aollama4j' \
|
||||||
|
--compressed \
|
||||||
|
--silent | jq '.components[].version'
|
||||||
|
```
|
||||||
|
|
||||||
|
Deployment steps to test. [IGNORE THIS FOR PUBLISHING CONTEXT. THIS IS ONLY TO TEST STUFF OUT LOCALLY]
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# release:
|
||||||
|
mvn -B clean install deploy -Punit-tests -Dgpg.passphrase="${GPG_PASSPHRASE}" -e
|
||||||
|
#or
|
||||||
|
mvn -B clean install -Punit-tests release:clean release:prepare release:perform -Dgpg.passphrase="${GPG_PASSPHRASE}" -e
|
||||||
|
```
|
||||||
107
pom.xml
107
pom.xml
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
<groupId>io.github.amithkoujalgi</groupId>
|
<groupId>io.github.amithkoujalgi</groupId>
|
||||||
<artifactId>ollama4j</artifactId>
|
<artifactId>ollama4j</artifactId>
|
||||||
<version>1.0.9</version>
|
<version>1.0.24</version>
|
||||||
|
|
||||||
<name>Ollama4j</name>
|
<name>Ollama4j</name>
|
||||||
<description>Java library for interacting with Ollama API.</description>
|
<description>Java library for interacting with Ollama API.</description>
|
||||||
@@ -39,22 +39,11 @@
|
|||||||
<connection>scm:git:git@github.com:amithkoujalgi/ollama4j.git</connection>
|
<connection>scm:git:git@github.com:amithkoujalgi/ollama4j.git</connection>
|
||||||
<developerConnection>scm:git:https://github.com/amithkoujalgi/ollama4j.git</developerConnection>
|
<developerConnection>scm:git:https://github.com/amithkoujalgi/ollama4j.git</developerConnection>
|
||||||
<url>https://github.com/amithkoujalgi/ollama4j</url>
|
<url>https://github.com/amithkoujalgi/ollama4j</url>
|
||||||
<tag>v1.0.9</tag>
|
<tag>v1.0.24</tag>
|
||||||
</scm>
|
</scm>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
|
||||||
<groupId>org.sonatype.plugins</groupId>
|
|
||||||
<artifactId>nexus-staging-maven-plugin</artifactId>
|
|
||||||
<version>1.6.13</version>
|
|
||||||
<extensions>true</extensions>
|
|
||||||
<configuration>
|
|
||||||
<serverId>ossrh</serverId>
|
|
||||||
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
|
|
||||||
<autoReleaseAfterClose>true</autoReleaseAfterClose>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
<artifactId>maven-source-plugin</artifactId>
|
<artifactId>maven-source-plugin</artifactId>
|
||||||
@@ -81,27 +70,27 @@
|
|||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<!-- <plugin>-->
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<!-- <groupId>org.apache.maven.plugins</groupId>-->
|
||||||
<artifactId>maven-gpg-plugin</artifactId>
|
<!-- <artifactId>maven-gpg-plugin</artifactId>-->
|
||||||
<version>1.5</version>
|
<!-- <version>1.5</version>-->
|
||||||
<executions>
|
<!-- <executions>-->
|
||||||
<execution>
|
<!-- <execution>-->
|
||||||
<id>sign-artifacts</id>
|
<!-- <id>sign-artifacts</id>-->
|
||||||
<phase>verify</phase>
|
<!-- <phase>verify</phase>-->
|
||||||
<goals>
|
<!-- <goals>-->
|
||||||
<goal>sign</goal>
|
<!-- <goal>sign</goal>-->
|
||||||
</goals>
|
<!-- </goals>-->
|
||||||
<configuration>
|
<!-- <configuration>-->
|
||||||
<!-- This is necessary for gpg to not try to use the pinentry programs -->
|
<!-- <!– This is necessary for gpg to not try to use the pinentry programs –>-->
|
||||||
<gpgArguments>
|
<!-- <gpgArguments>-->
|
||||||
<arg>--pinentry-mode</arg>
|
<!-- <arg>--pinentry-mode</arg>-->
|
||||||
<arg>loopback</arg>
|
<!-- <arg>loopback</arg>-->
|
||||||
</gpgArguments>
|
<!-- </gpgArguments>-->
|
||||||
</configuration>
|
<!-- </configuration>-->
|
||||||
</execution>
|
<!-- </execution>-->
|
||||||
</executions>
|
<!-- </executions>-->
|
||||||
</plugin>
|
<!-- </plugin>-->
|
||||||
<!-- Surefire Plugin for Unit Tests -->
|
<!-- Surefire Plugin for Unit Tests -->
|
||||||
<plugin>
|
<plugin>
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
@@ -143,7 +132,7 @@
|
|||||||
<artifactId>maven-release-plugin</artifactId>
|
<artifactId>maven-release-plugin</artifactId>
|
||||||
<version>3.0.1</version>
|
<version>3.0.1</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<goals>install</goals>
|
<!-- <goals>install</goals>-->
|
||||||
<tagNameFormat>v@{project.version}</tagNameFormat>
|
<tagNameFormat>v@{project.version}</tagNameFormat>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
@@ -206,6 +195,9 @@
|
|||||||
<skipUnitTests>false</skipUnitTests>
|
<skipUnitTests>false</skipUnitTests>
|
||||||
<skipIntegrationTests>true</skipIntegrationTests>
|
<skipIntegrationTests>true</skipIntegrationTests>
|
||||||
</properties>
|
</properties>
|
||||||
|
<activation>
|
||||||
|
<activeByDefault>true</activeByDefault>
|
||||||
|
</activation>
|
||||||
</profile>
|
</profile>
|
||||||
<profile>
|
<profile>
|
||||||
<id>integration-tests</id>
|
<id>integration-tests</id>
|
||||||
@@ -215,6 +207,51 @@
|
|||||||
<skipIntegrationTests>false</skipIntegrationTests>
|
<skipIntegrationTests>false</skipIntegrationTests>
|
||||||
</properties>
|
</properties>
|
||||||
</profile>
|
</profile>
|
||||||
|
<profile>
|
||||||
|
<id>ci-cd</id>
|
||||||
|
<properties>
|
||||||
|
<test.env>unit</test.env>
|
||||||
|
<skipUnitTests>true</skipUnitTests>
|
||||||
|
<skipIntegrationTests>true</skipIntegrationTests>
|
||||||
|
</properties>
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.apache.maven.plugins</groupId>
|
||||||
|
<artifactId>maven-gpg-plugin</artifactId>
|
||||||
|
<version>3.1.0</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>sign-artifacts</id>
|
||||||
|
<phase>verify</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>sign</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<!-- Prevent gpg from using pinentry programs. Fixes:
|
||||||
|
gpg: signing failed: Inappropriate ioctl for device -->
|
||||||
|
<gpgArguments>
|
||||||
|
<arg>--pinentry-mode</arg>
|
||||||
|
<arg>loopback</arg>
|
||||||
|
</gpgArguments>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.sonatype.plugins</groupId>
|
||||||
|
<artifactId>nexus-staging-maven-plugin</artifactId>
|
||||||
|
<version>1.6.13</version>
|
||||||
|
<extensions>true</extensions>
|
||||||
|
<configuration>
|
||||||
|
<serverId>ossrh</serverId>
|
||||||
|
<nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
|
||||||
|
<autoReleaseAfterClose>true</autoReleaseAfterClose>
|
||||||
|
</configuration>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
</profile>
|
||||||
</profiles>
|
</profiles>
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
Reference in New Issue
Block a user