-
Notifications
You must be signed in to change notification settings - Fork 204
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
kie-issues#1506: Use per-package local Maven repositories for dependency declaration correctness on kie-tools
#2635
Conversation
kie-tools
Rename Fix build reproducibility v2 Oops Fix DashBuilder configuration of maven-deploy-plugin Oops Fix maven-m2-repo-via-http-image configuration . Fix config removing mvn.tail Maybe fix build Rename method Oops Merge maven-config-setup-helper with maven-base Oops Oops env and more stuff Oops. Lockfile Force not skipping local deploy Fix Hm No transfer progres Rename versions env Reverting root files IntelliJ project configuration .
6aea896
to
b5ea429
Compare
c973e4d
to
4f0f043
Compare
4f0f043
to
ae51603
Compare
@@ -0,0 +1,8 @@ | |||
<?xml version="1.0" encoding="UTF-8"?> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this shouldn't be added right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should. *.iml
files are what allow us to have pre-configured default for modules of _intellij-project
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
then +1
kie-tools
kie-tools
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome job! 🎉
This solves most of the issues we had when building Java packages on kie-tools. Thanks @tiagobento!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So far, just some missing headers.
I guess *.iml
file shouldn't have the headers, because autogenerated by IntellliJ. In such a case, please ignore them
<remote-repository> | ||
<option name="id" value="jdt.ls.p2" /> | ||
<option name="name" value="jdt.ls.p2" /> | ||
<option name="url" value="https://download.eclipse.org/jdtls/milestones/1.30.1/repository/" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@tiagobento This repo is strictly related to the current jdt.ls version used in our code. Said so, I would add a comment here and in the vscode-java-code-completion-extension-plugin/pom.xml to warn the user to update the repo when the version is updated.
<version.maven.jar.plugin>3.4.1</version.maven.jar.plugin> | ||
<version.maven.remote.resources.plugin>3.2.0</version.maven.remote.resources.plugin> | ||
<version.maven.clean.plugin>3.4.0</version.maven.clean.plugin> | ||
<version.codehaus.flatten.plugin>1.6.0</version.codehaus.flatten.plugin> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As we discussed in private, as a future improvement I would discuss better centralizing the maven plugin management, declaring them in the maven base pom and inheriting them from the apache pom @tiagobento @pefernan
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great improvement @tiagobento!
…changes (#57) * Apply updates from apache#2635 * Updates from apache#2455 * Updates from apache#2376 * Fixed wrong value for SONATAFLOW_MANAGEMENT_CONSOLE_WEBAPP__sonataflowEnvMode
Closes apache/incubator-kie-issues#1506
This PR introduces a new way of working with Maven on
kie-tools
. It takes advantage of themaven.repo.local.tail
configuration option to allow not installing all packages tomaven.repo.local
and risk depending on undeclared packages.This new structure depends on quarkusio/quarkus#43352, so it can only be merged oncekie-tools
is using a version of Quarkus that contains this PR.There are a lot of things to be written about this topic, and I'll get to it once we're closer to being able to merge this.I made the ""per-package dist"" way of wiring Maven-based packages together be disabled for now, so we can proceed merging this PR and I'll make it the default once quarkusio/quarkus#43352 is available on Quarkus.
In this PR:
_intellij-project
to hold files that allow importingkie-tools
on IntelliJ as a single project.envs
. We should reserve the namebuildEnv
for the tool not the values.maven-config-setup-helper
intomaven-base
, Makingmaven-base
the only requirement for Maven-based packages.-ntp
where possible to save space on logs.include-1st-party-dependencies
to allow for runningmvn
during bootstrap, when dependencies might not have been built yet.mvnw
installation tomaven-base
, instead of it being a script on package.json. Although I think we could get rid of this entirely.m2-repo-via-http-image
ondev-deployment-kogito-quarkus-blank-app-image/package.json
m2-repo-via-http:container:prepare-m2-repo-volume
scripts on packages depending onmaven-m2-repo-via-http-image
to support multiple local Maven repositories, using hard links.DEV_DEPLOYMENT_KOGITO_QUARKUS_BLANK_APP_IMAGE__mavenM2RepoViaHttpImage
env var.kn-plugin-workflow
tests to properly wire local test projects with-Dmaven.repo.local.tail
.$(build-env quarkusPlatform.version)
to$(build-env versions.quarkus)
$(build-env kogitoRuntime.version)
to$(build-env versions.kogito)
kie-tools
monorepo.Comments and questions are welcome! :)
P.S.: It's expected that a few tests will break onkn-plugin-workflow
because we're using Quarkus 3.8.6, which doesn't contain the PR I mentioned above.