Is it possible to change P4TICKET within P4Eclipse? - eclipse

I installed Eclipse Juno recently and after it I installed the p4Eclipse 4.2 plugin from this repository:
http://www.perforce.com/downloads/http/p4-eclipse/install/4.2
Then I tried to create a new perforce connection.I entered the name of server and username and password. But I got an error message when clicking on next:
com.perforce.p4java.exception.ConfigException: java.io.FileNotFoundException: \p4tickets.txt (Access is denied)
Reading the P4Eclipse help I understood that because I didn't define the user environment variable P4TICKETS the P4Eclipse tried to define it by itself. On the help has mentioned that if the value is not explicitly is set it will be defined for windows as %USERPROFILE%\p4tickets.txt
and for all other platforms as
$HOME/.p4tickets
It seems that P4Eclipse has configured for other platforms and therefore it tried to find the file somewhere which it was not allowed. When I defined the User Environment variable P4TICKETS with the value %USERPROFILE%\p4tickets.txt it worked. The problem is that we have many clients and I don't want to define an environment variable for all of them. So I wonder if there is a set to configure P4Eclipse for Windows platform or define the P4TICKETS within eclipse and not with an environment variable!

Yes, I think you can go to the advanced configuration for the plugin and set P4TICKETS. In the release notes they describe this method for setting P4HOST:
470897 (Bug #042451)
Support for P4HOST variable. To set P4HOST variable,
either set the environment variable P4HOST (For example,
export P4HOST=123.456.789.0) or in the the preference page,
Preference>Team>Perforce>Advanced, set P4HOST properties,
(For example, name: P4HOST value: 123.456.789.0). Then
restart Eclipse to make it affect.
I'm not 100% sure that will work but you can give it a try.

Related

In Install4J is it possible to update the sys.preferredJRE variable?

I have an installer whose purpose is updating the max version of a JDK for an existing installation (we require JDK, not JRE), and pointing the existing installation to run with the later version of the JDK (which is user pre-installed and user-specified).
In the installer, I have code that calls JVM.setPreferredJVM() from a directory chooser form component. According to the API for JVMSelector, it says this method will "Set the preferred JRE/JDK for your application." According to the help docs on variables (sys.preferredJRE), "This variable will only be set after the "Install files" action has run."
When I run the installer, I see that the setPreferredJVM() method is called, but the sys.preferredJRE is not set to what I wanted, it still references the old JVM. This is a problem because my subsequent "Add VM Options" steps use the sys.preferredJRE variable.
I expected that calling JVMSelector.setPreferredJVM() would update sys.preferredJRE, but it does not. How can I accomplish this so that the user can set the preferred JVM/JDK during the install?
This is a bug, it will be fixed in 6.0.2. Please contact support#ej-technologies.com to get an interim build with the fix.

Installing haxe

I have a problem with programming in Haxe. Whenever I try to run a code, I get an error:
Please don't add haxe/std to your classpath, instead set HAXE_STD_PATH env var.
I tried to find a solution - according to multiple sites, I'm supposed to change the environment variable HAXE_LIBRARY_PATH to HAXE_STD_PATH and set the value to actual path to the std file in my haxe folder. In my case, there was no such variable among my env vars, so I made HAXE_STD_PATH as a new one - and I still get the same error.
I'm using FlashDevelop and when I try to search for any class that would reference std, I can see in Type Explorer that there is a classpath that leads straight to haxe/std, which should not happen IMO. I looked at classpaths in Properties and the path to std was not listed, so I could not change it.
So problem could be in the classpath or in FlashDevelop settings.
Did anyone have the same problem?
Oh, and BTW I'm using Windows - and yes, restarting did not help.
I removed all: FD including program settings and HaxeToolkit (the whole map).
Then I reinstalled FD, Haxe (using the apps window from FD), Lime and openFL (from command window).
Now I don't get this error anymore.

Adding Environment Variables to Eclipse shortcut

Is it possible to set an environment variable for the current run of Eclipse ( RAD )?
Here is my situation
I have RAD 8.5 and RAD 9.0 installed on my box. It stopped working all of a sudden last week. It wouldn't even come up. When I checked the logs, both the versions had below error in the logs
java.lang.NoClassDefFoundError: com.mercury.ftjadin.hooks.interfaces.WToolkitHookQTJA
After some research I also found out that it is caused by HP's product that was installed on my box ( It was done as a corporate push and I wasn't even aware of it ).
Further research also revealed that there are about 4 environment variables that have a conflict with Eclipse and should be removed / blanked out for RAD to work. This will of course cause the HP product to not work.
So, I was wondering if there is a way to set these to blank in eclipse.ini file for each of the RADs or as part of the shorcut of RAD which is
C:\Software\RAD90\eclipse.exe -product com.ibm.rational.rad.product.v9.ide -showlocation -nosplash -clean
but not blank them out in the Environment Variables definition
This way, I will be able to use both the products without having to save the variable values between RAD and HP Mercury product usages and do not have to do a copy / paste every time which is prone to user errors / mistakes.
Hope the question makes sense. Please let me know, if I need to clarify anything.
You can start eclipse (for example RAD) from eclipse (for example a minimal Java plugin development) and in that case, you have the option to set the environment variables you want to use.
You have to set the target environment to the RAD instance and create a run configuration with the proper environment.
I know, this is less than ideal, but should work.
Another option would be the unsetting env variables (locally) in a batch file:
set var=
Though I do not know whether it would work or not.
This page helped my situation
Instead of playing with registry I took an option of batch
These suggestions will allow to work around this situation even with the environment variables in place and with corresponding values. Note: Conflicting application will not be recognized in a java context because it is being excluded from the java support mechanism.
Impact: Excludes Add-ins support from hooking to conflicting application executable via Windows Registry Editor
Requirement: The application must be started by an EXE file, except Java.exe/Javaw.exe/jpnlauncher.exe
Instructions:
a. Locate the executable filename of the application conflicting with add-in(s) support. Either use the Task Manager or the Microsoft Process Explorer.
b. Open Windows Registry Editor.
c. Navigate to: HKEY_LOCAL_MACHINE\SOFTWARE\Mercury Interactive\JavaAgent\Modules
For 32bits applications on Windows x64:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mercury Interactive\JavaAgent\Modules
d. Create a DWORD value with the name of the conflicting software executable filenmae and set the value to 0.
Impact: Does not load Java Support for specific launched session
Requirement: Application be launched using a batch file
Instructions:
a. Create a batch file (.bat)
b. Copy/Paste below coding before executing launching of Java application.
#ECHO off
Set _JAVA_OPTIONS=
Set JAVA_TOOL_OPTIONS=
Set IBM_JAVA_OPTIONS=
This approach will disable the java environment variables for the run session of the .bat file. Once batch execution closes, environment variables changes are lost.

Set environment variable at the project level

Using PyDev with Eclipse Juno, I need to set some environment variables to debug every single of the many scripts in my project. I have found how to set them for a given script but it would be totally impractical to do it for all of them. The only solution I have found consists in adding those variable to the Python interpreter configuration in the Preferences. But then it will be used by all projects, which I don't want.
I thought of creating a script setting those environment variables and then launching Python, and then add it as a new Python interpreter but PyDev does not accept two interpreters with the same actual exe (I guess it checks sys.executable).
The recommended approach is really setting it at the Python interpreter level.
You can use virtualenv ( http://pypi.python.org/pypi/virtualenv ) to create a copy of your interpreter in a different path.
Just to elaborate that #FabioZadrozny's answer meets the need of the OP...
In case it hasn't occurred to you, do this:
From the menu "Window->Preference"
Navigate to "PyDev->Interpreters->Python Interpreter"
Create a new interpreter instance with "New..." button
Name it something like "python-MyProj", but use the same executable you are already using
Now in the "Environment" tab for that interpreter, set up the needed environment variable
Now, see the PyDev project to use THAT interpreter:
Right-click the project to get "Properties..."
Navigate to "PyDev-Interpreter/Grammar"
Select the newly created interpreter instance by name
Now run any python file within the project, and it should "see" the configured environment variable.
By this mechanism, you do have a "project specific setting"... which, again, for the reasons #FabioZadrozny pointed out, need to be set at the interpreter level.

How to set up environment variable for all tests in Eclipse?

Setting up environment variables for hundreds of tests get old very quick. Is there a way to declare an environmental variable globally in Eclipse?
Can this be done in Eclipse? Can this be done outside of Eclipse?
It seems that the only way to do it is to enable "Run all tests in the selected project .." and set Environment variables once there.
If you want to run a single test, and that test requires an environment variable set, it looks like you need to set that environment variable as part of that tests's settings.
In windows use the "start" command to spawn eclipse from command line with defined variables (linux has similar functionality)
Make file starteclipse.cmd
================================
SET VAR1=SOMEVALUE
SET VAR2=SOMEVALUE
start d:\eclipse\eclipse.exe
================================
From command line go to the dir with starteclipse.cmd file and run it.
This will spawn eclipse with proper environment settings.
I also find it frustrating having to set env vars one by one.
If you own the code and have a chance to change it, you'd be better off using a System property instead, which can be passed as VMArgs -Dprop=val.
You can set VM args in a global level - Preferences | Java | Installed JREs, and Plugin Development | Target platform.
Even if you can't change the code, most well civilised java libs support properties as well if not more than env vars- so it's worth double checking.
(of course it's not an option for external processes).