On 20 March 2018 at 22:29, Bill Burke <bburke(a)redhat.com> wrote:
I have a golang client utility (kcinit) that I need to integrate
with
tests in our testsuite. Its possible to integrate golang with maven
using this maven plugin:
https://github.com/raydac/mvn-golang
To integrate my tool into the arquillian testsuite, I've pulled in
this plugin to pull down and build my golang tool so that it can be
executed within a test. The way it works is that the maven plugin
will first download the Golang SDK and store it within ~/.mvnGolang.
It will also store any source code it pulls down and builds there. It
will build a binary that is specific to the platform it is running on
so this is perfect for our testsuite.
Sound ok?
That works. Would it be best to have a profile for it though? Rather than
having it run every time developers build and test we can add a CI job for
it that would be ran on PRs. That way it's always tested on PRs, but you
don't have to pay the price locally if you haven't touched kinit at all.
Next question is distribution. "kcinit" is a command line utility.
Should I add this to our current client tools directory in the disto
or create a separate dis zipt? Ok to include binaries for linux, osx,
and windows? This will require the maven plugin to individually
cross-compile for each platform. Its not superfast and our distro
build will be slower, but we will have one place to pull this stuff
together. I will need to eventually create an RPM for this tool so
that it can be automatically installed in Fedora/RHEL.
I'd go with a separate dist. It's a client tool and having to download and
extract it from the large server zip would be annoying.
Maybe it would be best to have a separate profile here as well? Something
like distribution-cli. It can be disabled by default, but enabled when we
do releases. I know quite a lot of folks regularly builds the server dist
while doing development, myself included.
For Keycloak we can definitively include binaries for all. Can the Maven
plugin build all binaries on Linux? Or do you need to build it on the
individual platforms? If the latter then we have a biggish problem to
figure out when releasing Keycloak.
Can you start a thread on keycloak-team about how we do it for RH-SSO? I'd
rather not discuss that on this list.
--
Bill Burke
Red Hat
_______________________________________________
keycloak-dev mailing list
keycloak-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/keycloak-dev