Comments (4)
Why do we need to explicitly configure the plugin version ?
It can (should?) just be derived from the application parent pom.
If we have a way to pass properties to the forked maven command, it can be used to override version.helidon.plugin
.
Also, deriving the plugin version used by the CLI directly from the application pom would allow us to deliver bug fixes for the plugins without necessarily having to publish a new CLI version.
from helidon-build-tools.
I think helidon init
should be able to select the plugin version, rather than have it bound to the Helidon version from which the parent pom comes.
The case I was thinking about is when we have more than one 2.x release (e.g. 2.0.0, 2.1.0), and a new CLI release (e.g. 2.1.0 if was tracking helidon releases). If you then use the 2.1.0 CLI and select an older version of helidon:
helidon init --version 2.0.0
what version of the plugin should be configured in the app? I think the default behavior should be that you end up with 2.1.0 rather than 2.0.0. If the actual version used comes from our new metadata file, we can deliver plugin fixes that way.
And yes, we could temporarily change the version when under the CLI by passing the property, but that disappears when mvn
is used directly.
from helidon-build-tools.
If we include the latest plugin version in the new metadata file, then that works.
I'm not sure I understand your last point ; if mvn
is invoked directly the CLI is not involved right ?
from helidon-build-tools.
Right, and so any "update" of the plugin version via the property would not (automatically) be in effect. I don't think we want different plugin versions depending on how you do the build.
We should select the plugin version during init
and expand the template such that this version is used.
For other commands that do builds, if we get metadata that says there is a newer plugin version, we could ask the user if we can update the app pom with the new version.
All of this suggests to me that we have to be able to control the plugin version in the app pom, not the parent.
from helidon-build-tools.
Related Issues (20)
- NPE when empty excluded dependencies in enforcer plugin HOT 1
- `sitegen` plug-in acknowledges `-Dsitegen.sitePort` setting in start-up log message but listens on 8080 regardless HOT 1
- helidon cli init error HOT 2
- Document update steps in cli/CHANGELOG.md
- CLI documentation
- Dev-Loop fails when fullBuild does execute compiler:compile
- 4.x: -Pjlink-image -Djlink.image.stripDebug=true fails with Unsupported class file major version 65
- 2.x: maven archetypes fail with maven 3.9.6 HOT 2
- Serve a file from `https://helidon.io/cli-data/` containing all released Helidon versions and the MP spec each implements
- Release build: upload staged artifacts
- Upgrade github actions to v4
- CDS Archive fails on Windows HOT 1
- CDS archive specific configuration
- Search engine optimized (SEO)
- Add checks for `module-info.java`
- Implement the CLI publishing process automation HOT 1
- About 3.0.7 release HOT 8
- tag cli releases with a 'cli/' prefix.
- OptimizedWalker should skip conditions if the nested node is skipped
- Dev-loop: implement a manual trigger
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from helidon-build-tools.