Skip to content
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

Modularize jdom. Java 9+ support #174

Open
VISTALL opened this issue Sep 4, 2018 · 6 comments
Open

Modularize jdom. Java 9+ support #174

VISTALL opened this issue Sep 4, 2018 · 6 comments

Comments

@VISTALL
Copy link

VISTALL commented Sep 4, 2018

Hello guys.

I made some fork of jdom (https://github.com/consulo/jdom) where you can see those changes:

  • migrated to maven
  • splitting core and impl of xpath(now jaxen is not required)
  • contrib project splitted into few projects without any optional dependencies (some code of this project is left, since i don't have idea what do with that)
  • added module-info for base projects (with correct package export)

I don't break api, but made some breaking change - it's xpath implementation (there no default impl inside core module). That mean - need add org.jdom:jdom-xpath-jaxen dependency for create dependency tree like was before.

I extracted xpath java impl, since it's very useful due it's not require old jaxen dependency.

Project build with 1.6 bytecode (module-info build via maven module, which generate module-info classfile)

Also, i added Travis support for my fork (https://github.com/consulo/jdom/blob/maven/.travis.yml) and you can see running at different JDKs.

I have few open questions - if you accept this:

  • version? Next version is 3.0?
  • if next version is 3.0 - package rename? I do not break API, maybe 2.1 ? And we don't need rename package
  • contrib module - more splitting?

We need this PR?

Thanks :)

@VISTALL VISTALL changed the title Modularize jdom. Java 9 support Modularize jdom. Java 9+ support Sep 4, 2018
@VISTALL
Copy link
Author

VISTALL commented Sep 4, 2018

If i miss something, notify me - i will fix it.

@laeubi
Copy link

laeubi commented Jun 5, 2023

@VISTALL maybe it make sense to split the efforts a bit, e.g. switch to maven seems like something that can be done independently of other changes?

@VISTALL
Copy link
Author

VISTALL commented Jun 5, 2023

Hello @laeubi. It's possible recreate it again a project, but we need it?

In current state - library can be used as is. My draft is an example t's a way - how library can evolve in new reality (java9+ modules).

Since already passed few years, there no active developers - I'm not sure about future of this library.

Maybe it's time for publish my build in other group.

@laeubi
Copy link

laeubi commented Jun 5, 2023

@VISTALL maybe you are right I don't have an idea of the plans for this project, I just noticed it used in another project and wanted to update it or probably wanted to submit some improvements and the current ant based setup is a bit odd to use, so I found your ticket mentioning maven support :-)

@ar
Copy link

ar commented Jun 9, 2023

This is a great project. So good, that even with minimum maintenance, works perfectly. We use it a lot in our projects and I'd love to see it updated. We'd have a lot of code to migrate otherwise.

We are working around this modules info, in Gradle, using org.gradlex.extra-java-module-info Gradle plugin.

extraJavaModuleInfo {
    ...
    automaticModule ('jdom2-2.0.6.jar', 'org.jdom2')
    ...
}

but it would be better to have Modules support by the library itself.

@ar
Copy link

ar commented Jun 9, 2023

BTW, this issue duplicates #169

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants