Project Type on Codenvy - github

I've forked a the spoon-knife demo repository on github and am importing it to my Codenvy IDE. Codenvy asks me to "select the project type" from a drop down menu that includes: PHP, Rails, and a dozen other options. Is there one correct option or will any project type allow me to work on this repo?

You may select Blank type and then select Java/Web/Tomcat7 runner

Within Codenvy, a project type and a runner environment are separate concepts. The project type defines behaviors of the project with instructions on how to map source files and builders. Project type is primarily about designating the right information for editors and associated plug-ins, but will not have a significant bearing on how you run the project.
The runner environment is associated separately. The runner environment can be provided by Codenvy or yourself. These are docker containers that will run your code. So if you select a blank project type, you have your choice of runner environments later on. In some cases, project type will narrow the list of available system runner environments. For example if you choose a maven project, you will not be given the PHP runner environment options. The blank project type leaves all runner environment options available.
At any time, you can override the system runner environments with one of your own. You can write a custom environment as a Dockerfile with the Run With... entry.

Related

Understanding program organisation and basic terms

I've installed Jaspersoft Studio 6.2.2 in order to edit a couple of existing Jasper reports. Unless I missed something, nowhere in Getting Started documentation do they explain the basic terms specific to this program. They do explain the generic Jasper terms (report, data adapter, field...) but, when it comes to Jaspersoft Studio, they just instruct you to launch wizards and use the defaults. That isn't optimal for me because I prefer to have my work under source control and separated by customer/client rather than having everything together in a local folder within my Windows profile. I also have the impression that they omit stuff because they assume you're familiar with Eclipse (I'm not).
Could you please provide me with a quick overview of the basic terms and some tips about how to use them to effectively organise work:
Workspace
Project
Project Folder
... and some other I might be missing?
My view:
A workspace is a group projects that share some configuration/environment. In project setting, you can use a common workspace configuration or define a project specific configuration.
In java world, e.g. you can define different JDK compatibility per workspace.
In jasper world, e.g. for Chinese projects, you can have projects that all have zh_CN default language set when executing preview. Different fonts might be used in this workspace. No need to set it up for every new project created.
Every workspace has it's own set of data adapters and JRS server connections.
I usually have sources under "Project folder", not in workspace folder. I just import a project into the workspace (do not copy).
BTW. One project can be in multiple workspaces.

Eclipse, pydev and virtual environments

I have been searching for a good way to use python virtual environments from within eclipse.
The only suggestion I have found is to create a new eclipse-wide "interpreter" for each virtual environment. That is cumbersome for many project, but it works.
I want to have a virtual environment per project, so the path to the interpreter will have to change for each project.
1) can you define an interpreter specific for a project?
2) alternatively, how do you define an interpreter that use e.g. PROJECT_LOC variable?
any suggestions are welcome
Unfortunately, the way that PyDev works, it expects all interpreters to be configured "eclipse-wide" (and then in a given project you can say which one should be used for that particular project if it shouldn't be the default one).
The other option is actually having one Eclipse workspace per project (then you'd configure a single "eclipse-wide" interpreter for it).
Another option, if the interpreters are from the same Python version and you're only changing the installed libraries would be creating a single "eclipse-wide" interpreter as the default one for all projects and then configuring the additional paths to be included in the PYTHONPATH per project.
Personally what I usually do is having one Eclipse workspace per project and having everything independent as I'm usually working on a single project at a time (so, I can focus only on what it's important for it), so, switching projects would be opening a new Eclipse instance pointing to the proper place, although it depends quite a lot on your use case (which you haven't actually made explicit) -- each project would have its own virtual env configured "eclipse-wide" (although in my case it's actually conda virtual envs).

How to turn off debugging on a project in eclipse?

My situation demands I have two copies of the same project. One is for development, the other is for debugging, testing and single stepping to understand the existing workflow.
As a consequence I have two copies of the same project. I would like both copies to behave exactly the same way except that the first project should not take part in debugging. All the JDWP [Java Debug Wire Protocol] attempts to connect and debug the remote Java process should be with respect to the untouched dedicated copy of the project that was checked out recently.
Is there a way to accomplish this?
You can create multiple debug/run configuration for the same or different projects in Eclipse.
Assume that you have a single Java project and you want to
Test your application with some VM arguments and
Without any VM arguments.
Then Go to Debug->Debug Configuration and select Java application. Create debug(launch) configuration for your project and select main class of your Java project.
For 1 go to Arguments tab in the VM text area add the arguments
For 2. Leave this blank
Thus you can debug single Java project with multiple debug configuration.
In your case you MUST create debug configuration ONLY for that project you want to debug.

Spawning new project via batch including eclipse

I'm in the process of making several decisions about the "build new" step of my current base project. This is a project that I'm using to automate the build for web projects to suit my personal needs.
I have a lot of flexibility here in terms of implementation but I have very specific targets in mind.
One of these targets is
Once the build of new folders is complete, create a new project in Eclipse.
I am currently doing a copy and paste in Eclipse to launch the entire project, but I'm certain there must be a better way.
For this question specifically, what CLI call would allow me to create a new project inside an existing workspace?
I am aware of questions Create an Eclipse project on the command line?, open a specific eclipse project from command line and this page: http://wiki.eclipse.org/FAQ_How_do_I_run_Eclipse%3F however none seem to specifically resolve my need.

How to share a common customBuildCallbacks script between multiple Eclipse plug-ins

I am trying to avoid duplicating customBuildCallbacks.xml for all my plug-ins, when called from either PDE's headless build or the Eclipse GUI. I have in customBuildCallbacks.xml steps to generate code or modify the plug-in packaging that I:
obviously want to run with the headless build
would also like to run either when I export this plug-in from the GUI or from an external builder watching specific files in my plug-in
The headless build runs in a well defined environment, so I can set customBuildCallbacks.buildpath or even use a relative path in each plug-in's build.properties to point at my common customBuildCallbacks.xml. However, this is trickier from the GUI: that path is different for every developers since we do not have sources in the Eclipse workspace (we import projects from various locations due to our internal build process). I was hoping for every project to have an associated ant property holding its path on disk, similar to the ${workspace} variables exposed in various dialogs. I couldn't find anything useful though.
Does anyone have any experience doing this kind of things?
Thanks,
Romain