-
Notifications
You must be signed in to change notification settings - Fork 19
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
Major update additional changes #63
Comments
Feel free to submit a PR with your changes. A few other comments:
Changing this will just break everything. It will require moving the asciidoc files of every MP project to the new folder.
Again, this will break downstream projects because the files need to be renamed.
Honestly, I believe it works better this way for auto-completion purposes.
This was the format requested to be used when we were putting the release process into place. I have no idea if it is ok to change it or it is an EF requirement to use that format. |
Thanks, @radcortez for your reply! Version maven property names do not follow the maven conventions currently (using a dot as separator and a version postfix) - instead we have/had mixed mode use of it (i.e. project.version and java.version recently). Your microprofile-parent setup is realy a great job, but it requires advanced Maven knowledge because of it's complexity ;-) I.e. when deviating from maven conventions, this results in confusion, because people in the component spec projects following the conventions need to do more than expected (instead of simply overwriting the exisiting property they had to define a new property - or accidentially do so - and than had to overwrite the dependency itself with the new property). I strongly suggest to follow these exisiting conventions to make use intuitive and less complex as much as possible. Regarding the ISO date format, I can check to make sure there is no rule against it, but from my current knowledge, there is no one. I expect this current US local use to be historically derived from the founding loccation of the project (US West Coast) or the Eclipse Foundation Inc. location in Delaware (under State of New York law) legal location - the last one has changed to Eclipse Foundation AISBL in Brussels meanwhile and I would not like ot simply change it to a European locale for that reason. I will ask EMO to make sure on this topic. For all the (other) breaking changes: I can offer to write a section in the README.adoc (or include on there from a different location) for the migration steps from 2.6 to 3.0, in cluding tips to restore the previous behavior, if there is no time or reason to adopt in the component specs. I also could offer help with PRs on them to adopt too. I think this major release gives the unique opportunity to do breaking changes, because it will have some already - doing this later causes extra overhead for all consumers and might be accepted only, if Jakarta EE 11 is released (+1a minimum from now) ;-) I also think the parent should give current defaults, but should make it simple to adopt or overwrite to restore former defaults (i.e. with documentation), when possible. An example for this could be supporting the latest major versions of test frameworks (i.e. JUnit 5 and TestNG 7) only, but document how to migrate later (therefore I added separate topics for the versions). component specs can decide to adopt now or later with these breaking changes then, but the parent can keep semver rules easily. |
@JanWesterkamp-iJUG All of the above proposal needs further discussion. I am afraid it might be too late for MP 6. You can open a discussion on how to organise the files in the dicussion thread via emails.
|
@Emily-Jiang not all of it will be breaking changes and most of it could be compensated easily - but answering this now, after a 3.0 release was done last week, while ignoring my conerns and offerings before is not the best way managing this project, to be honest. Now everything that breaks would require another major release (4.0.0), when not addressing bugs directly! I will create a PR for adding Asciidoctor Diagram support first now (basially adding a feature and updating some required dependencies for this), then we can discuss the rest tomorrow. |
@radcortez and @Emily-Jiang, the PR for the AsciiDoctor Diagram support is created: Can you please review it? |
@JanWesterkamp-iJUG We need to do incremental changes. Releasing 3.0 is not the end of development. We can release 3.x whenever there is a need. The reason to release 3.0 is that Metrics needs to rebase it sooner. When no updates are available, we can release a minor change. We should not pack too many things in one release. |
Instead of breaking some of the stuff, maybe we can just change it to support the current structure and the new one (if the community wants to go that way) in the same pom. It should be possible to add additional plugin executions to search for different folder structures. You can, for sure, define new properties with a new convention and keep the old ones, etc. |
@radcortez: In fact, with the PR for AsciiDoctor Diagram support I did a renaming of two existing maven properties (asciidoctor.maven.plugin.version and asciidoctorj.pdf.version) to align them to the official AsciiDoctor documentation and examples, which would be a breaking change if somebody overwrites them already - I can check if that has happened. Then we can discuss to change it back to the old existing names until complete refactoring of the names will be done. Regarding the AsciiDoc file location and postfixes: Currently there is no location defined explicitly - the plugin scanes for three directories automatically:
Personally, I am prefering src/doc/asciidoc (singular notation) instead, but that is not a default configuration in the plugin and Maven has not defined a folder in the Standard Directory Layout for now. I think we could address this topic there first and fix it when defined - until then we can rely on the automatic scaning of the maven plugin (without breaking things). Regarding the ending, I would like to do the change to the .adoc postfix, so we have consistency there, but this would be a breaking change (that can be soved easily of course). In principal, using multiple execution definitions would be a good idea, but unfortunately the build creates errors because of missing files and not define the root document at all creates warnings for duplications/overwrites when there are multiple linked documents. |
@Emily-Jiang here is the first (non breaking) part of the test dependencies update as PR: |
I started addessing this point and created a PR for the in Maven 3.8.6 included plugins. Please review. |
@radcortez I verified that the exisitng version property names, that I renamed, are not reused in MicroProfile projects (at least in the main/master branch) - so it should be safe to rename them, because of microprofile-parent internal use only. The only potential breaking change of the current PR #66 is the major update of the PDF generator and the deviating use of the code-highlighter. I will try to further examine the impact on this, but all specs I have seen so far overwriting the setting in the doc themself (to coderay like this ":source-highlighter: coderay"). The original support of this setting was removed from the maven plugin (https://docs.asciidoctor.org/maven-tools/latest/plugin/v2-migration-guide/#removal-of-sourcehighlighter), so the existing support is broken anyway (!) |
If the property names are not in use by downstream projects, feel free to propose the change. |
I would like to add some additional updates to the parent besides the Core Profile 10 update (#62).
Most of them should have limited effects on consuming projects, but could have breaking changes to them too - so a good chance to do them now, when it is ensured that all component specs do that update for MP 6.0.
As at least some of this might generate discussions, I can create sub-issues for things we can not get consensus soon, while create separate PRs for the others.
@radcortez and @Emily-Jiang, what do you think about it?
The text was updated successfully, but these errors were encountered: