Using intellij to modify/build/index code base on remote system - intellij-idea

I have 2 machines to work upon. One is my macbook pro which I prefer for development purpose and another is a remote machine where I do majority of my testing by building the code base and bootstrapping the application.
Is there a way by which I can configure intellij on my mac to point the code base in remote machine so that Intellij can easily identify the project structure and build artefacts there? By this way I am assuming that intellij will not build the code base locally, rather it will just index already build files and help me in modifying the code base.

IntelliJ IDEA has no support for that at the moment.

Related

intellij hybris class recompile not working

I installed hybris plugin.
Imported project with it.
Have done ant clean all.
Then, if I try to build->recompile class it's not working. Seems like idea doesn't see classes generated by ant.
If I do build->rebuild project and then build->recompile class it's working fine, but it's not convenient at all. I believe there is fix to this, but I couldn't find it.
This is usual error I've got(packages are different for different cases):
this is essentially the expected behaviour. You can't mix "ant" build
and "native IDEA" build. Those are two separate build systems.
This is an explanation of hybris plugin developer (hybris-integration.atlassian.net/browse/IIPS-120)
And he suggests a solution for that:
before you try to import the project you need to do ant clean all (you will not need to use ant afterwards)
import the project using hybris plugin.
Press Build->Recompile project
Then you can create or modify your test run configuration if needed.
Recompile your classes and so on directly in Idea.
Also, he mentioned deal with JRebel here (hybris-integration.atlassian.net/browse/IIPS-47)
we support both compilation modes. Ant targets and idea internal. They
shouldn't be mixed as idea has it's own compilation model/cache. If
you use idea compilation then you can use JRebel or hotswap.
You cant hotswap classes in hybris without the help of a hotswap agent.There is a tool available in the market called JRebel. It is a good commercial tool if one can afford. However, if you are an open-sourcist, there is a promising alternative to JRebel, which is DCEVM (Dynamic Code Evolution Virtual Machine) along with HotswapAgent.
I don't know if this help,
you can start another cmd console, and run
setantenv and ant build to hotswap class in runtime.

Write an IDE on top of IntelliJ Platform

I want to write a custom IDE on top of IntelliJ Platform. Android Studio is an example. It was built based on IntelliJ Platform and was designed to support Android application development.
There are lots of git GUI out there. However, in Linux, I don't satisfy with any. That is my motivation to write a git IDE for Linux. IntelliJ IDEA already have a very good Git plugin. Using IntelliJ IDEA is a solution. But it is too heavy for opening entire project with different functionalities (Run, Debug, Refactor...) for just Git operations. Therefore, I want to make that plugin a complete IDE for only Git operation.
On IntelliJ Platform forum page, there are tutorials to write plugins. However, it doesn't have the guide for writing a complete IDE.
Are there any tutorials to help me get started?
IntelliJ platform is probably not the best choice for writing a general purpose RCP applications.
https://intellij-support.jetbrains.com/hc/en-us/community/posts/207769065-Developing-a-desktop-Business-Application-using-the-JetBrains-Platform
Git plugin has 65k lines of code, you are talking about gutting ~13M lines IDE (respectively 3M lines of pure Java source code).

Change IBM Worklight project path

I need to create a Hybrid Worklight project but it needs to be physically inside another project.
The reason is that we are using an API that generates a project using grunt and the guide I got (company standards, practices, etc) says: Once the project is in Eclipse, create a wl folder and create the Worklight project inside of it.
When I create a new Worklight project in Eclipse it always goes to Eclipse's Workspace folder. How can I change this?
Thanks
You cannot (at least, not in a standard/supported/known working way); a Worklight project contains Worklight applications but cannot contain other Worklight projects. Worklight projects are always contained directly within an Eclipse workspace (unless working with the CLI tools).
Based upon your clarifying comment, it seems that your containing "(general) project" is just another directory that contains a wl directory - not a real Eclipse project - that in turn contains your Worklight project. It seems you are creating the whole thing using the CLI tools.
In order to work with this project within Eclipse, you'll need to create a new Eclipse workspace elsewhere (the Eclipse workspace itself isn't particularly important and doesn't necessarily need to saved in source control). You can then use File->Import->Existing Projects into Workspace to import the Worklight project from the wl directory. You can either "Copy projects into workspace" (in which case you will end up with two copies), or leave that unticked, in which case your Eclipse workspace directory will just contain a reference to the original directory (I suspect you want the latter).
As a word of advice, generally you should try not to work with both Eclipse and the CLI tools at the same time. Although it may work, you will get conflicts with (for example) the embedded test server, and long term, you'll just cause confusion.
Edit: looks like Andrew says pretty much the same.
Using Eclipse, since what you see in the Project Explorer view is the workspace Eclipse uses, it makes sense to me that when you create a Worklight project in Eclipse, it will be located - in the filesystem - inside the workspace.
If you want to create your Worklight project elsewhere, you'll probably need to use the Worklight CLI tool. From a terminal, navigate to the location of the Grunt project and then, using the CLI commands, generate a Worklight project in that location.

Do I need to install IntelliJ IDEA if I already have Android Studio installed?

The title pretty much sums it up. I'm brand new to IntelliJ IDEA, and it's not clear to me if I need separate installs, one for my Android projects and one for my vanilla Java (and beyond) projects. I've read through the docs and couldn't find an answer. Thanks
Android Studio is self-contained for Android projects. If you're going to be doing significant plain Java development, you may prefer to use IntelliJ, becuase Android Studio is in many ways tuned to doing Android development, and could be restrictive for other types of projects.
For example, Android Studio is designed to work with the Gradle build system, which may not be what you want for Java projects; it's possible to use Android Studio with IntelliJ's built-in Java builder, though you can't create new projects that way.
If you are going to be working with many non-Android Java projects, then IntelliJ is definitely the way to go. You may even find that after you start using it you will stop using Android Studio altogether.
IntelliJ includes most of what Android Studio provides for Android development as well as fantastic support for other types of projects. Additionally, IntelliJ has far fewer issues for Android development.
As for running both - they keep all their files separate (config, etc) and it is perfectly safe to run both (even at the same time).
If you do decide to use both then I would just advise you to keep your Android SDK install in a separate location - it just makes it easier to manage and you can point both at a single updated target :)

How to ensure eclipse plugin has required bundles available?

I'm just starting to develop a new eclipse plugin where I want a web application server running in Eclipse. I found a nice blog, OSGi as a Web Application Server, that describes how to do this. The author suggests creating a target environment for my bundle requirements, and some of those bundles get pulled in from the Equinox Project SDK (now called Equinox Target Components in Juno). I notice that the tutorial project runs fine when my target platform is the platform I created in the tutorial, but fails to start when it is the default platform. So, now for my question...
If I need bundles that are not part of the default, how will my plugin project get access to those bundles? Will I need to deploy them along with my plugin? How would I know if the user's eclipse does or does not already have those required bundles?
You was not much clear about what kind of application you are developing. Running a web server in an Eclipse IDE as a plugin don't make any sense to me. This kind of server application is best just running on top of Equinox.
Anyway, the right path is to create a "Product Configuration" file and add categories that contains the needed bundles (go to File/Plug-in Development/Product Configuration).
With this file you can run an instance of the product (inside the IDE) and can export it (create a zip containing all needed bundles)
And if you want to able your user to install plugin inside his IDE you must create a P2 repository (using a Target Definition File) and expose the exported directory within a Http server. You could research about Tycho to build this kind of components in a maven style.
Well, I'm not sure if re-inventing the wheel again is really sufficient.
You might take a look at Pax-Web for inspiration on how to do it, or take a look Apache Karaf as a OSGi-Container (using Pax-Web). Or even better start contributing to one of the two :-)