how to quickly migrate a project to Xcode? [closed] - xcode

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
The previous project was developed on Linux platform, which I plan to move to Xcode IDE.
Other things aside, I want to know how to quickly set up the project in Xcode.
Ideally, it should just take the top-most Makefile and carry out automatically (e.g. indexing, auto-completion, jump to definition etc.). For Eclipse, it is pretty much like that. But I could not find similar functionality in Xcode (not expert as you can tell).
Really appreciate your help.

There is no way to "import" the makefile into an Xcode project, but you can make Xcode run your makefile for you by using an external build tool. When you create your project, choose the Other category under Mac OS X, then choose External Build Tool and click the Next button. The next screen will have a text field at the bottom which allows you to enter the command to run. Make sure it is /usr/bin/make. Then, finish creating your project. Now, whenever you build, Xcode will run make from the project directory.
Note that this is not a "native" Xcode project, so you will have to do more manually. For example, you are still responsible for updating the makefile when you add/remove files, and the build settings in Xcode will be ignored unless you customize your makefile to use them. If you want to do more than build from Xcode, you will also have to edit your scheme and set up the other actions, such as specifying the executable for running.
Even though the external build tool option is not available in the iOS categories, you can use the Mac OS X version, since your makefile defines what gets built. I don't know if Xcode will attempt to analyze/complete your code, but you may want to update your SDK and target version settings, just in case.

Related

Call nix-build when files in a directory change?

Stack has
stack build --file-watch
which automatically recompiles a Haskell project whenever files change. Does nix have something analogous with nix-build, or is there a well-known tool which can help achieve these?
Nix does not provide this functionality by itself. Lorri comes close, but its focus is on providing an instant "nix-shell" via direnv. It is not currently suitable for building and testing your project like stack build --file-watch does. If you're interested, you could create an issue to discuss such a feature with the authors.

What Xcode "Build Rules" does?

I am new in Xcode. From the "Targets" in Xcode, I could see that there is a Tab called "Build Rules".
I wonder what is this tab does?
Thanks
To my understanding under the Tab 'Build rules' you can automate any behaviour you would like the compiler to do when compiling a file. Xcode has standard rules when compiling, with Build Rules you can add a rule to that.
Personally I am quite new to Xcode as well and didn't know about build rules too. I found this information that helped me understand it better, maybe that is any help to you. If anyone with more experience with Xcode has a better answer, please correct me as I'm still learning Xcode too.
You can use "build rules" to say: hey XCode, with files matching pattern (your pattern), do the following: (your instructions)
For example, you can use that to specify that all Ruby files ('*.rb') that happened in your source (don't ask how) should be executed during build process.

what are the current build tools available today which are language agnostic?

Our current system is in .Net world and we are in the process of moving to FeF world (Angular) and we might keep the back end either in .net or change it to some flavor of JVM. We do not know about the server side yet but for sure, we will keep it as .Net for some time till we sort out the technology issues.
One thing I want to do during this time to do is build a CI system with language agnostic build tools. We use NAnt/MSBuild today. I would like to know as of now what are all active build tools out there, which can work with any language? I did find the following, but not sure how many are all active today. I am not trying to find which is best or not, all I want to know is the tool set and I will evaluate them based on our project requirements. I want to make sure I did not miss some build tool because I do not know the Java world.
Current list
Make
Rake
Gradle
BuildR
I did find this question but it is 5 years old.
Thanks
Interestingly if you look at the visual studio files in a text editor you will see that they are indeed build scripts. They are actually msbuild.

Web Application Tests Visualization [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 9 years ago.
I'm testing a web application with several functionalities. I didn't develop this application, I'm a mere tester. I'm new to testing and when I started working on it I was given a series a Selenium Tests. These tests are performed by using Selenium IDE on Firefox.
They're very easy to perform in this way, cause you can just record and store variables and run the test.
The problem is that when, for example:
* a web page has a table with 3 rows, I prepare the test for this scenario, it works
* the day after the table has 4 rows so my test doesn't work anymore,
* Selenium doesn't allow me to make a for-cycle over rows or columns
That's why I thought I could export the several Selenium test to Java 4 Web Driver and import them in Eclipse. In this way I'm able to improve the code, by adding for cycles and other stuff.
I created a project for my test suite, imported the JUnit 4 and Selenium library, ran the suite and everything was alright, no errors. It was great.
*The thing is: how I do I manage to VISUALIZE (or Playback) on Firefox Browser my tests, as I was doing earlier in Selenium IDE?? *
Thx a lot
When you run the tests in Eclipse, it will open a Firefox window and perform the tests just as it would in the IDE.
As for actual test management (i.e starting/stopping tests) you will need to invest in some CI software. TeamCity, Jenkins or something like that will work.
As for picking elements out (the 'find' option in Selenium IDE), this is much more tricky as you've just ditched the IDE and are very new to Selenium. It is, however, easily done.
You can run XPath and CSS queries directly into Firefox's Console (or Firebug, if you wish). Thus, you can still run the same queries you would in the IDE, the only difference is how the results are returned to. Selenium IDE will 'highlight' an element, whereas the console will return it as a DOM object.
If none of the above helps, please go into more detail for what you are requiring, but I've covered what the IDE allows you to do and what are the alternatives.

What is the cleanest way to set the environmental variable DYLD_FRAMEWORK_PATH for a release build?

I have custom frameworks in my app bundle for WebKit, WebCore, and JavaScriptCore. I would like all other frameworks that depend on the system versions of WebKit, WebCore, or JavaScriptCore to use my custom versions also. For instance my custom version of Webkit loads private system frameworks that in turn depend on the system version of WebKit. This means both my WebKit and the system WebKit get loaded, and usually a crash happens shortly after.
The way I understand this should be done, is to set the DYLD_FRAMEWORK_PATH environmental variable before your app bundle begins execution (Search order for loading frameworks can be found here: http://code.google.com/p/macdependency/wiki/SearchPaths). You can set environmental variables in code with setenv, but it won't take effect for the currently running process. I would have to re-launch the process again for it to take effect. I would like to avoid this too.
So my question is what is the best way to set the DYLD_FRAMEWORK_PATH before the execution of the my app bundle? This has to work in a release app bundle too. Is there a way to run a script whenever someone clicks on my app bundle before the executable starts running. Or is there any other suggestions out there?
Thanks in advance.
Jeff Wolski has the right idea by referring directly to Apple's documentation on the subject. This thread also provides excellent advice on how to get that going in Xcode, including corner cases associated with alternative methods of specification (for example, by using ~/.bash_profile directly for your user).
My reason for chiming in is you also asked for a script that might be able to assist you (and a bounty provider appears to have the same issue). It turns out Webkit references such a script in its documentation, which you might want to pick apart from the applicable Webkit source code. This should give you additional guidance on how, at least according to the developers, you should do this properly.
Best of luck with your project(s).
I would recommend environment.plist or the LSEnvironment key in the info.plist. Check out the link below.
https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/EnvironmentVars.html
WebKit currently has a script to do this for you, called run-webkit-app. See http://trac.webkit.org/browser/trunk/Tools/Scripts/run-webkit-app
Newer versions of ld understand the -dyld_env flag, which inserts a LC_DYLD_ENVIRONMENT load command into the binary (and as such applies essentially as early as possible in app execution). Perhaps adding -Wl,-dyld_env,DYLD_FRAMEWORK_PATH=/folder/encosing/WebKit/and/related/frameworks to your compiler flags might do what you want?

Resources