-
-
Notifications
You must be signed in to change notification settings - Fork 145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mvn begone #239
Mvn begone #239
Conversation
Pick from 'none', 'keycloakify' or 'mvn', default to 'mvn'. 'none' will not create a jar, 'keycloakify' will create a jar file using only tools available to native nodejs, no additional system library required. Choosing 'mvn' will behave as before, starting maven in a subprocess. The bundler can be chosen in `package.json` or via `KEYCLOAKIFY_BUNDLER` env var. This commit also adds `KEYCLOAKIFY_GROUP_ID` and `KEYCLOAKIFY_ARTIFACT_ID` env vars, which will be used to define group id and artifact id in pom.xml and pom.properties, if given.
In a follow-up PR, I intend to make |
Wow, nice 😻 |
Hi @lordvlad, I documented everything: https://docs.keycloakify.dev/build-options#keycloakify.bundler I made some little adjustmenet mostly related to type safery, you can check them out here: #240 The main thing I did is to set Again, many thanks, Cheers |
Re @lordvlad, I'm on Mac M1 v16.19.0. Update, same with v18.14.0 I've put back "mvn" as the default for now... I do not exclude it being related to my changes. I'll have to investigate, in the meantime could you tell me if the latest release works for you on keycloakify-advanced-starter, thanks a lot. |
I'll double check |
follow-up in #241 |
will close #220
This PR aims to add alternatives to using
mvn
to create the final bundled theme jar.mvn is an additional dependency, which needs to be installed, configured, has its own dependencies, and makes building in a CI (or even windows) more cumbersome than need be.
The
keycloakify
section inpackage.json
has now an additional optional option calledbundler
, which accepts the values['mvn', 'keycloakify', 'none']
. If nothing is set, it will default tomvn
. This option can also be overriden using the environment variableKEYCLOAKIFY_BUNDLER
, accepting the same values of course.mvn
(or defaulting) will result in an unchanged buildnone
will not create a jar. The user will need to call maven or gradle or whatever themselves.keycloakify
will use the new bundler code to create a jar file using nodejs libs only, no additional system libraries required.In addition, this PR adds options to explicitely set artifactId using the
keycloakify
section inpackage.json
, as well as options to override groupId and artifactId using the environment variablesKEYCLOAKIFY_GROUP_ID
andKEYCLOAKIFY_ARTIFACT_ID
. The reasoning is, that companies often have naming conventions in place, which can now be upheld more easily.Also added is an option to override the
version
frompackage.json
using the environment variableKEYCLOAKIFY_VERSION
. In our CI, for example, the version is determined from git tags and I don't want to patch package.json before running keycloakify.