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

Switch to ivy for dependency management #42

Closed
SpencerPark opened this issue Nov 1, 2018 · 4 comments
Closed

Switch to ivy for dependency management #42

SpencerPark opened this issue Nov 1, 2018 · 4 comments
Labels
category: magics Issues in some of the standard magics implemented by the kernel. enhancement

Comments

@SpencerPark
Copy link
Owner

After investigations in #32, maven doesn't appear to be the appropriate tool for the job. It simply does too much.

Looking into groovy's grape system (with a default resolution engine backed by ivy), ivy is much more suited for the job. First and foremost, it is a dependency management tool. This means we are getting a much smaller dependency as a lot of the unneeded extras provided by maven are not included. Secondly we still get all of the dependency management that we want out of shrinkwrap but with a more extensible API.

I believe that this switch could actually be a backwards compatible change thanks to IvyConvertPom. Since this might take some time it won't make it into the 1.2.0 release.

@SpencerPark SpencerPark added enhancement category: magics Issues in some of the standard magics implemented by the kernel. labels Nov 5, 2018
@SpencerPark
Copy link
Owner Author

SpencerPark commented Nov 27, 2018

This work is now happening on https://github.com/SpencerPark/IJava/tree/ivy (now in master). A proof of concept is working but is very verbose and somewhat shaky. Specifying packaging types and classifiers do not work and the pom->ivy translation is not yet tested.

@SpencerPark
Copy link
Owner Author

The pom conversion was not as extensive as it originally appeared but does get a big portion of the job done. For the rest we use the maven model builder and take the repositories from there. This means that we get the main functionality that was required out of the %%loadFromPOM magic.

Currently the magics are back on track and working as they did before.

@SpencerPark
Copy link
Owner Author

Tested with https://mitmproxy.org/ and it seems the original issue is now fixed! For anyone that comes across this, that tool is fantastic for testing how an app works with a proxy.

@SpencerPark
Copy link
Owner Author

This work is merged into master now. The magics should function the same as they used to (still named the same as well).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: magics Issues in some of the standard magics implemented by the kernel. enhancement
Projects
None yet
Development

No branches or pull requests

1 participant