We are looking forward to your contribution to solr.cool. We strive to be a comprehensive directory of available Solr packages.
💡 You are very welcome to add your Solr package to solr.cool. We are open to both FOSS and commercially licensed packages.
Follow these steps to add your package with ease.
Create a fork of the solr-cool.github.io repository.
Check out your fork of the repository. Add a new package descriptor file
of your Solr package into the _data/packages
directory. Choose the
filename wisely at this will be installation slug of you package.
The file name must end with .yaml
.
A good starting point is either the thymeleaf or the solritas-responsewriter package.
The following YAML keys are recognized when building the website. All keys are mandatory except noted.
name: Name of your component
description: A brief description of your component
# select one of _data/categories.yaml
category: responsewriters
# url pointing to the component, ideally a Github repository
#
# If this points to a GitHub repository, we'll scrape license,
# releases and build status from the GitHub API
url: https://github.com/solr-cool/solr-thymeleaf
# Solr package distribution specific information
package:
# (optional) If you already have a Solr package repo
# set up, point to the repository descriptor. We'll
# proxy all releases in your repository
repo: https://raw.githubusercontent.com/erikhatcher/solritas/master/repo/repository.json
# deploy "collection" or "cluster" wide
#
# See: https://lucene.apache.org/solr/guide/8_6/package-manager.html#deploy-command
install: collection
# (optional) the install manifest as described in the
# Solr docs
manifest: |
{
"version-constraint": "6 - 9",
"plugins": [
{
"name": "queryresponsewriter",
"setup-command": {
"path": "/api/collections/${collection}/config",
"payload": {
"add-queryresponsewriter": {
"name": "${THYMELEAF_QRW_NAME}",
"class": "thymeleaf:com.s24.search.solr.response.ThymeleafResponseWriter"
}
},
"method": "POST"
},
"uninstall-command": {
"path": "/api/collections/${collection}/config",
"payload": {
"delete-queryresponsewriter": "${THYMELEAF_QRW_NAME}"
},
"method": "POST"
}
}
],
"parameter-defaults": {
"THYMELEAF_QRW_NAME": "html"
}
}
Let the build script check your package descriptor. This will verify the URLs. If you supplied a GitHub url, the build script will check for releases, build status and license via the GitHub API.
Launch it locally using:
$ ./build.sh <your-package-slug>
For the thymeleaf package, this would be
$ ./build.sh thymeleaf
You need a couple if helper tools installed, to launch the build script. If you're on a Mac, use Homebrew
$ brew install jq yq bats-core
tests depend on bats-support, and bat-assert
$ git submodule update --init --recursive
Create a pull request. Our Travis build server will check and build your pull request automatically.