Giter VIP home page Giter VIP logo

Comments (1)

timtebeek avatar timtebeek commented on May 23, 2024 1

Glad to hear the recipe at least works wonderfully, and you like the changes enough to want to commit them. Our recipes are highly hierarchical in nature, and when you execute the Java 17 migration, you're actually executing 180 individual migration recipes. Some of those recipes are partial steps, that by themselves would not make sense; consider for instance how different recipes change imports versus add a dependency; you'd need both for the change to make sense, and committing just a part of that would lead to failing intermediate steps. That's why we don't support intermediate steps to commit the results; it would simply be too much to handle feasibly. We'd also have to write out to disk repeatedly, which would slow the migration down even more.

I do understand that you'd like to migrate in steps, and for that I have a couple recommendations that you can combine as needed.

  1. Firstly you can run only part of the hierarchy; for instance: Migrate to Java 17 is composed of Migrate to Java 11, Migrate to Jakarta EE 9, and Migrate to Java 8. You can run each of these separately

  2. You can also use Preconditions to limit the changes to for instance a particular source set or set of files.

Using these two approaches together in separate runs you can likely create something that's feasible to review still, especially as the changes are likely very similar when constrained through 1.

Each recipe run would however have to build up the lossless semantic tree yet again, which can take some time, especially for larger projects. If you'd like to speed that up you can have a look at Moderne.io, where we allow you to use precomputed LSTs.

I hope that helps you see a way forward to get these changes across the line. Always welcome to ask questions in our Slack as well.

Answer lifted over from Stackoverflow; there's no need to ask both there and here; I monitor both + Slack. :)

from rewrite.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.