Code Monkey home page Code Monkey logo

Comments (6)

johnno1962 avatar johnno1962 commented on June 12, 2024

Hi, to make a pull request you need to make a fork of the repositories then add the branch with your changes to that fork which you'll be able to push to. Then you make pull request against the main repos. What changes do you have in mind? Can you post the diffs? From memory this wouldn't be completely straightforward.

from hotreloading.

leonidmelnyk avatar leonidmelnyk commented on June 12, 2024

Thank you for the fast response! I'll create pull requests very soon

Here are the diffs for both repos:
HotReloading.diff.zip
InjectionIII.diff.zip

The key points are:

  • if Xcode is installed at /Applications/Xcode.app then the app will work as it worked previously
  • otherwise user will be proposed to select the path to Xcode with standard NSOpenPanel
  • I've added a menu item Select Xcode so user also will be able to re-select it
    Screenshot 2022-07-20 at 21 54 29
  • Xcode path is saved to UserDefaults so used won't need to select it on each app start
  • there is ability to pass Xcode path through params when user opens the app using command line:
    open /Applications/InjectionIII.app --args -projectFile "/path/to/project" -addDirectory "/additional/directory/to/watch" -xcodeAppPath "/path/to/xcode"

Thank you! 🙏

from hotreloading.

leonidmelnyk avatar leonidmelnyk commented on June 12, 2024

@johnno1962 I've created PR to HotReloading repo and PR to InjectionIII repo

Looking forward to your feedback!
Thank you!

from hotreloading.

johnno1962 avatar johnno1962 commented on June 12, 2024

Hi, Thanks for the time you're putting into this! You've done a great job of understanding some ageing code. To be honest, the changes you propose are a little more extensive than I'd be comfortable making at this stage without having to do an extensive retest, particularly those to do with the "rpath" of the injection bundle which I haven't changed in a long while.

I've taken a look at this problem myself taking a different approach where InjectionIII finds the path to the Xcode in use from the build logs automatically using the platform argument of the compile command rather than introducing a new item of state to the app:

https://github.com/johnno1962/HotReloading/pull/56/files

As your PR shows there are only two places where the path to the Xcode in use is required, first for linking to find clang and the platform/sdk path and secondly for code signing. If we could remove the requirement to know where the current Xcode is we wouldn't need to introduce a UI to select it.

What do you think of the alternative?

from hotreloading.

leonidmelnyk avatar leonidmelnyk commented on June 12, 2024

Hi @johnno1962,

A good job! Your approach is more interesting than mine 👏
I've left a comment to the PR with a couple more my thoughts about it 🙏

Thank you for your job!

from hotreloading.

johnno1962 avatar johnno1962 commented on June 12, 2024

@leonidmelnyk I released the new PR as 4.3.1 if you want to try it out. Thanks for bringing this up. It was time it was resolved.

from hotreloading.

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.