New PortableApps.com Platform 12.0.5. Better, stronger, faster. Download or Buy on Drive
Instant access to over 300 free and legal portable apps including the new Firefox Developer (Nov 10, 2014)
PortableApps.com needs your help: Please donate today

[outdated] Eclipse Portable 3.7.1 Development Test 1

gluxon's picture
gluxon
Developer
(Homepage) - July 22, 2011 - 3:33am
Share on Facebook

OUTDATED: This release of Eclipse Portable is now outdated, please to go the new thread for the latest release.

Application: Eclipse
Category: Development
Description: Eclipse is an open source community, whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle.

Eclipse Portable, Classic Edition:
Mirror 1 (SourceForge.net) Eclipse Portable, Classic Edition [177 MB download / 191 MB installed]
MD5: 78aaa9cd78aa236706bbf3ae1b2f1cfe

Eclipse Portable, C/C++ Edition:
Mirror 1 (SourceForge.net) Eclipse Portable, C/C++ Edition [109 MB download / 123 MB installed]
MD5: f7859db679521e5dc526443ecddb197f

Eclipse Portable, Java Edition:
Mirror 1 (SourceForge.net) Eclipse Portable, Java Edition [130 MB download / 147 MB installed]
MD5: f0688304ac27f093b3a50cc5150c8ef1

Eclipse Portable, Java EE Edition:
Mirror 1 (SourceForge.net) Eclipse Portable, Java EE Edition [212 MB download / 247 MB installed]
MD5: a310a9f748b184a43e321e15b2b2a4ea

Eclipse Portable, Platform Runtime Binary:
Mirror 1 (SourceForge.net) Eclipse Portable, Platform Runtime Binary [52 MB download / 59 MB installed]
MD5: 6885dc74a302b85fc056da41c0da90c2

Eclipse Portable, Launcher Source:
Mirror 1 (SourceForge.net) Eclipse Portable, Source Code [ 13.9 KB download]
MD5: 59d846f1d2502c4ac86272a136394987

Looking for the Eclipse for PHP Developers Package? More Info

Release Notes:
Eclipse 3.7.1 Release

Development Test 1 (11-25-11)

  1. Added APPDATA and LOCALAPPDATA redirection
  2. Fixed AppID type in AppInfo.ini
  3. Removed redundant entries in AppInfo.ini
  4. Added appicon_128.png

Eclipse 3.7 Release

Development Test 1 (7-22-11)

  1. Updates workspace directory when the Eclipse Portable directory is moved. (Thanks tal!)
  2. Fixed weird dialog at startup (for real this time)
( categories: )

Platform only

I was wondering if it's possible to provide a release with only the base Platform (info/download), thus having a smaller download size and allowing a more customized installation.

Previously known as kAlug.

Actually, I've been trying to

Actually, I've been trying to find something like that, so thanks for the link. I'll try and post a Portable copy sometime today or tomorrow. Smiling

Siggys waste bandwidth... that's why I have one.

Any updates on this?

Any updates on this?

Previously known as kAlug.

Somehow, I kind of forgot

Somehow, I kind of forgot about this. Sorry. The package is building now, and should be uploaded here any minute.

Siggys waste bandwidth... that's why I have one.

Maven .m2 repository

Hi

I already set up my eclipse and don't wanna mess with it, but I have a question.

Maven downloads a bunch of shit to C:\Documents and settings\Ross Kemp\.m2 folder. How did you solve that problem?

Thanks
Ross

You can't with this release.

You can't with this release. I'll see if I can take the suggestion someone made in another thread to allow users to define custom backup and restore locations..

Siggys waste bandwidth... that's why I have one.

Easy fix...

Set the UserProfile environment string to the necessary path before launching Eclipse. The runtime should take care of the rest.

Steve

Steve

Thank you for sharing this!

Thank you for sharing this!

C++ libraries

I just installed Eclipse Portable, C/C++ Edition from the link above.

To test it, I created a new "Hello, World!" project.

Unfortunately, it doesn't run. There is a question mark next to #include in the code, meaning Eclipse couldn't find that library.

If you click on the "includes" folder in the Project Explorer, you see that all of the include directories are located on the C: drive:
C:/MinGW/include
C:/MinGW/lib/gcc/mingw32/3.4.5/include

Obviously this won't do for a portable application.

Now open the project's properties, then go to C/C++ Build->Environment. PATH is set to a long string of directories - most of which are in the C: drive. It appears that this was simply taken from the host computer's PATH settings, which I'm not sure you want to do in a portable app.

Furthermore, the relevant directory for MinGW seems to be F:\PortableApps\CommonFiles\MinGW\bin. This directory does NOT exist on the USB drive.

I don't know if this is a problem on your end or on Eclipse's (the latter would not surprise me). But you should either fix it, provide users with a workaround, or at the very least link to more info on Eclipse's site (like you did for PDT).

EDIT: I added a directory on my USB drive that I know has the libraries in it. When I re-started Eclipse, I got this error:
Error launching external scanner info generator (g++ -E -P -v -dD F:/PortableApps/EclipsePortable/Data/workspace/.metadata/.plugins/org.eclipse.cdt.make.core/specs.cpp)

Perhaps this is part of the problem?

Upon startup, Eclipse

Upon startup, Eclipse Portable will look in EclipsePortable.ini to find the location of the C++ compiler. If EclipsePortable.ini does not exist, the launcher will default to [X]:\PortableApps\CommonFiles\MinGW\bin, which is the default location for MinGW Portable. It seems that you don't have MinGW Portable installed, which is causing the problem.

If you would rather use your own C++ compiler (which seems to be your case), copy [X]:\PortableApps\EclipsePortable\Other\Source\EclipsePortable.ini into [X]:\PortableApps\EclipsePortable, so that EclipsePortable.ini and EclipsePortable.exe are in the same directory. Then change the value of "MinGWPath=" in the INI file accordingly.

The Eclipse Portable launcher adds the value ("MinGWPath=") found in its INI file to PATH. It does not remove, or modify anything else that was previously in PATH, which I believe, is the expected behavior. Additionally eclipse.exe will be the only process able to see the new version of PATH, which will contain the location of its portable compiler.

And, I see you're new here, so welcome to PortableApps.com Smiling

Siggys waste bandwidth... that's why I have one.

.ini file

Okay, that all makes sense. I'm not sure why you would want to use the values in the host computer's PATH file in a portable app, but if that's the expected behavior, then of course that's the way you should do it.

I actually have Dev-C++ Portable installed, so I thought I could point Eclipse to Dev-C++'s MinGW location, but it didn't work. I did not do anything with the .ini file, though.

I didn't even know of the existence of MinGW Portable. I'm installing it now. (Maybe I can get Dev-C++ to also point to that directory, so I won't have duplicates...?)

Is there some sort of handbook (online or other) that tells you these sort of details? If not, it might help to put them here.

And, thanks for the welcome. I've actually been using portable apps for years, I just haven't posted here before.

What happened when you tried

What happened when you tried to point Eclipse Portable to Dev-C++'s MinGW location? You have to use relative paths at the moment. Is that the issue?

And the information for which value of EclipsePortable.ini does what is in Other\Source\Readme.txt

Siggys waste bandwidth... that's why I have one.

thanks that add my name :)

if you can, you can add some more eclipse:

eclipse for parallel program:
http://www.eclipse.org/downloads/packages/eclipse-ide-parallel-applicati...

OpenMP is build in in Mingw.
OpenMPI can download from here:
http://www.open-mpi.org/software/ompi/v1.5/

eclipse for perl:
http://www.epic-ide.org/download.php =>
http://e-p-i-c.sf.net/updates (eclipse plugin)
http://portableapps.com/node/12595
need to config where is the perl.exe
in: => \PortableApps\CommonFiles\PerlPortable\Perl\bin

eclipse for python:
http://wiki.python.org/moin/EclipsePythonIntegration
http://www.portablepython.com/wiki/Download
http://pydev.org/download.html =>
http://pydev.org/updates (eclipse plugin)
need to config where is the python.exe
in: => \PortableApps\CommonFiles\Portable Python 3.2.1.1

eclipse php:
http://www.google.co.il/search?aq=1&oq=eclipse+php&gcx=c&sourceid=chrome...
http://portableapps.com/apps/development/xampp

thanks a lot.
tal! Smiling

Tested C/C++ Edition

Tested C/C++ Edition, guessing the others would show similar results.

PortableApps.com Format validation failed with 4 errors and 5 warnings.

Errors

  • File Other\Source\plugininstaller.ini is missing
  • appinfo.ini: [Details], required value AppID is missing
  • appinfo.ini: [Details], invalid value AppId
  • appinfo.ini: [License]:EULAVersion is defined but neither Other\Source\EULA.rtf nor Other\Source\EULA.txt exists

Warnings

  • File App\readme.txt is missing
  • File Other\Source\License.txt is missing
  • appinfo.ini: [Details]:Description should be shorter than 227 characters (aim for no more than 150).
  • appinfo.ini: [SpecialPaths]:Plugins should be omitted if set to NONE
  • appinfo.ini: [Dependencies]:UsesDotNetVersion should be omitted if empty

Information

  • The PortableApps.com Launcher is not used. Please consider using it.
  • Suggested file App\AppInfo\appicon_128.png is missing

It's not a bug, its a feature.

Base app is now at 3.7.1

Base app is now at 3.7.1, plus the following two files and their directories were added and left behind:

C:\Users\Ken\AppData\Local\Eclipse\ico_dir\menu132.ico
C:\Users\Ken\AppData\Local\Eclipse\ico_dir\menu133.ico

while the following two were deleted:

C:\Users\Ken\AppData\Local\Eclipse\ico_dir\menu150.ico
C:\Users\Ken\AppData\Local\Eclipse\ico_dir\menu151.ico

(This may have had something to do with being the first run after updating from 3.6 to 3.7)

On the plus side, plugins and plugin installation history was retained through a re-install.

Tested on Windows 7 Ultimate 32-bit SP1.

It's not a bug, its a feature.

All the errors have been

All the errors have been fixed, except for two things.

  1. I'm not sure why plugininstaller.ini is required
  2. I don't plan on switching to the PortableApps.com Launcher. The app includes some string explosions that the Launcher currently doesn't support, as well as Java path priority, and first run detection. The majority of the code will end up in the custom NSIS file, leaving only a few lines for the actual INI. It's simply easier to maintain without the use of the launcher in this case.

I also added APPDATA redirection, but I've never seen Eclipse create an ico_dir folder before.

Other than that, thanks for testing! This is the best feedback I've received for this app in months. I'm uploading the changes with 3.7.1 which should be up in an hour or so.

Siggys waste bandwidth... that's why I have one.

No worries, glad to help. I'd

No worries, glad to help. I'd love to see this make official status. I'm still waiting for release team site privileges, so thought I'd just find an app I already had installed and run some preliminary tests.

Not quite sure what happened with the ico_dir folder. I had one or two add-ons fail to install, and then I cancelled installation of the same add-ons when I could see they were going to fail again, then had a different add-on install successfully, and as I said, it was the first run after updating from the 3.6 to 3.7 version.

Tried to repeat a similar set of events on a WinXP SP3 computer, but to no avail (although it was on the same install, I haven't tried on a fresh install of 3.7 or on 3.6 upgraded to 3.7).

Can't really test further right now as work's internet has been up for all of 1 out of the last 6 hours, but will do something more with it when I get home.

It's not a bug, its a feature.

APPDATA and LOCALAPPDATA

1. Added APPDATA and LOCALAPPDATA redirection

gluxon, if by that change you mean that you modified the appdata and localappdata environment variables you should know that changing those often triggers various bugs like file and folder dialogs not working, this is the reason why this technique isn't used to easily portabilise apps instead using a move-move algorithem with the folders saved in appdata or using a built-in portability option in the application.

Even if Eclipse itself isn't affected, it is a development platform and it can be used to run/debug apps which may be affected from such a change.

Do you have a link where I

Do you have a link where I can read about this issue? I've got MinGW support that modifies Environment Variables as well, should that cause these same bugs?

I added APPDATA and LOCALAPPDATA redirection due to a report about eclipse creating an ico_dir folder in AppData, which I've never heard of.

Siggys waste bandwidth... that's why I have one.

I was able to find

I was able to find these:
http://portableapps.com/node/21978#comment-137802
http://portableapps.com/node/17637

Actually it's modifying %USERPROFILE% that triggers the dialogs issue but appdata redirection still has many other problems the biggest being that it will affect any program ran from the original program and as Eclipse is a development environment it's likely to do so.

Some environment variables are safe to modify like PATH which you use for MinGW, and some are predefined by Windows and may cause issues when using various WinAPI calls that use them or cause bad behaviour when the change propogates to subproccesses.

ico_dir is used for the Windows 7 taskbar integration it holds the icons used for the jumplist (I guess they needed to store them that way for some reason, most other application seem to just store them in their application directory or in an embedded resoure)
I don't think it's neccessary to save it but just deleting it on exit will also remove a local copy if it exists although it will just as easily be recreated automatically by Eclipse, your call on how to handle this.
I'm sure this isn't the first app that needs to handle such a semi-temporary directory I bet you could find some examples on the best way to handle it and whether a simple delete is enough here.

eclipse python

I add eclipse python.
you can add this for your collection.
soon i will publish more eclipse versions.

http://www.mediafire.com/?l39tygj69y5q2v0

eclipse parallel

I make eclipse parallel edition.
it work with mingw and it has openMP

http://www.mediafire.com/?9obyz7fq67f7j3c

Bugs in AppData redirection, drive letter change and PyDev

I modified the launcher code to patch some of the bugs mentioned above. Here is my new code:

;Copyright (C) 2004-2010 John T. Haller
;Copyright (C) 2008-2010 Brandon Cheng (gluxon)

;Website: http://PortableApps.com/EclipsePortable

;This software is OSI Certified Open Source Software.
;OSI Certified is a certification mark of the Open Source Initiative.

;This program is free software; you can redistribute it and/or
;modify it under the terms of the GNU General Public License
;as published by the Free Software Foundation; either version 2
;of the License, or (at your option) any later version.

;This program is distributed in the hope that it will be useful,
;but WITHOUT ANY WARRANTY; without even the implied warranty of
;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;GNU General Public License for more details.

;You should have received a copy of the GNU General Public License
;along with this program; if not, write to the Free Software
;Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

!define PORTABLEAPPNAME "Eclipse Portable"
!define NAME "EclipsePortable"
!define APPNAME "Eclipse"
!define VER "1.3.0.0"
!define WEBSITE "PortableApps.com/EclipsePortable"
!define DEFAULTEXE "eclipse.exe"
!define DEFAULTAPPDIR "App\Eclipse"
!define DEFAULTSETTINGSDIR "Data\settings"
!define LAUNCHERLANGUAGE "English"

;=== Program Details
Name "${PORTABLEAPPNAME}"
OutFile "..\..\${NAME}.exe"
Caption "${PORTABLEAPPNAME} | PortableApps.com"
VIProductVersion "${VER}"
VIAddVersionKey ProductName "${PORTABLEAPPNAME}"
VIAddVersionKey Comments "Allows ${APPNAME} to be run from a removable drive.  For additional details, visit ${WEBSITE}"
VIAddVersionKey CompanyName "PortableApps.com"
VIAddVersionKey LegalCopyright "PortableApps.com & Contributors"
VIAddVersionKey FileDescription "${PORTABLEAPPNAME}"
VIAddVersionKey FileVersion "${VER}"
VIAddVersionKey ProductVersion "${VER}"
VIAddVersionKey InternalName "${PORTABLEAPPNAME}"
VIAddVersionKey LegalTrademarks "PortableApps.com is a Trademark of Rare Ideas, LLC."
VIAddVersionKey OriginalFilename "${NAME}.exe"
;VIAddVersionKey PrivateBuild ""
;VIAddVersionKey SpecialBuild ""

;=== Runtime Switches
CRCCheck On
WindowIcon Off
SilentInstall Silent
AutoCloseWindow True
RequestExecutionLevel user

;=== Best Compression
SetCompress Auto
SetCompressor /SOLID lzma
SetCompressorDictSize 32
SetDatablockOptimize On

;=== Program Icon
Icon "..\..\App\AppInfo\appicon.ico"

;=== Include
;(Standard NSIS)
!include TextFunc.nsh
!include FileFunc.nsh
!include WordFunc.nsh
!include LogicLib.nsh

;(Plugins)
!include StrRep.nsh
!include TextReplace.nsh

;(Macros)
!insertmacro WordReplace
!insertmacro GetParent
!insertmacro GetParameters
!insertmacro GetRoot

;(Custom)
!include ReplaceInFile.nsh
!include ReadINIStrWithDefault.nsh
!include RepairUpdir.nsh
!include Explode.nsh

;=== Languages
;!insertmacro MUI_LANGUAGE "${LAUNCHERLANGUAGE}"
!include PortableApps.comLauncherLANG_${LAUNCHERLANGUAGE}.nsh

Var PROGRAMDIRECTORY
Var SETTINGSDIRECTORY
Var PROGRAMEXECUTABLE
Var ADDITIONALPARAMETERS
Var MISSINGFILEORPATH

Var ROOT
Var ROOTDOUBLESLASH
Var LASTROOT
Var LASTROOTDOUBLESLASH
Var APPDIRECTORY
Var DATADIRECTORY
Var PARENTDIRECTORY
Var JAVAPATH
Var NSISPATH
Var MINGWPATH
Var PARAMETERS
Var WORKSPACE
Var WORKSPACEDOUBLESLASH
Var LASTEXEDIR

Section Main
	;Finding out the drive's letter and parent dir
	${GetParent} "$EXEDIR" "$PARENTDIRECTORY"
	${GetRoot} "$EXEDIR" "$ROOT"
	${GetParameters} "$PARAMETERS"
	${WordReplace} "$ROOT" ":" "\:" "+" "$ROOTDOUBLESLASH"

	${If} ${FileExists} "$EXEDIR\${NAME}.ini"

		;Reading the INI
		${ReadINIStrWithDefault} "$0" "$EXEDIR\${NAME}.ini" "${NAME}" "${APPNAME}Directory" "${DEFAULTAPPDIR}"
		StrCpy "$PROGRAMDIRECTORY" "$EXEDIR\$0"

		${ReadINIStrWithDefault} "$0" "$EXEDIR\${NAME}.ini" "${NAME}" "SettingsDirectory" "${DEFAULTSETTINGSDIR}"
		StrCpy "$SETTINGSDIRECTORY" "$EXEDIR\$0"

		${ReadINIStrWithDefault} "$PROGRAMEXECUTABLE" "$EXEDIR\${NAME}.ini" "${NAME}" "${APPNAME}Executable" "${DEFAULTEXE}"
		${ReadINIStrWithDefault} "$JAVAPATH" "$EXEDIR\${NAME}.ini" "${NAME}" "JavaPath" "..\CommonFiles\Java\bin"
		${ReadINIStrWithDefault} "$MINGWPATH" "$EXEDIR\${NAME}.ini" "${NAME}" "MinGWPath" "..\CommonFiles\MinGW\bin"
		${ReadINIStrWithDefault} "$ADDITIONALPARAMETERS" "$EXEDIR\${NAME}.ini" "${NAME}" "AdditionalParameters" ""

	${Else}

		;Using Defaults
		StrCpy "$PROGRAMDIRECTORY" "$EXEDIR\${DEFAULTAPPDIR}"
		StrCpy "$SETTINGSDIRECTORY" "$EXEDIR\${DEFAULTSETTINGSDIR}"
		StrCpy "$PROGRAMEXECUTABLE" "${DEFAULTEXE}"
		StrCpy "$JAVAPATH" "..\CommonFiles\Java\bin"
		StrCpy "$MINGWPATH" "..\CommonFiles\MinGW\bin"
		StrCpy "$ADDITIONALPARAMETERS" ""

	${EndIf}

	${IfNot} ${FileExists} "$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE"

		;No eclipse.exe in [X]:\PortableApps\EclipsePortable\App\Eclipse\ exists
		StrCpy "$MISSINGFILEORPATH" "$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE"
		MessageBox MB_OK|MB_ICONEXCLAMATION "$(LauncherFileNotFound)"
		Abort

	${EndIf}

	;Make relative absolute!
	Push "$EXEDIR\$MINGWPATH"
	Call RepairUpdir
	Pop $MINGWPATH

	Push "$EXEDIR\$JAVAPATH"
	Call RepairUpdir
	Pop $JAVAPATH

	${If} ${FileExists} "$SETTINGSDIRECTORY\${NAME}Settings.ini"

		;Read previous launcher settings
		ReadINIStr "$LASTROOT" "$SETTINGSDIRECTORY\${NAME}Settings.ini" "${NAME}Settings" "LastDrive"
		ReadINIStr "$R1" "$SETTINGSDIRECTORY\${NAME}Settings.ini" "${NAME}Settings" "FirstRun"
		ReadINIStr "$LASTEXEDIR" "$SETTINGSDIRECTORY\${NAME}Settings.ini" "${NAME}Settings" "LastEXEDIrectory"

	${Else}

		;No Launcher settings, lets use defaults!
		CreateDirectory "$SETTINGSDIRECTORY"
		SetOutPath "$SETTINGSDIRECTORY"
		StrCpy "$LASTROOT" "$ROOT"
		StrCpy "$R1" "true"

	${EndIf}

	;Eclipse uses double slashes in paths
	${WordReplace} "$LASTROOT" ":" "\:" "+" "$LASTROOTDOUBLESLASH"

	;Let's create the settings
	CreateDirectory "$PROGRAMDIRECTORY\configuration\.settings"
	${IfNot} ${FileExists} "$PROGRAMDIRECTORY\configuration\.settings\org.eclipse.ui.ide.prefs"
		WriteINIStr "$PROGRAMDIRECTORY\configuration\.settings\org.eclipse.ui.ide.prefs" "${NAME}" "YouShouldNotSeeThis" "IfYouDoThatsBad"
		FileOpen $0 "$PROGRAMDIRECTORY\configuration\.settings\org.eclipse.ui.ide.prefs" w
		FileWrite $0 ""
		FileClose $0
	${EndIf}

	${If} $R1 == "true"
	;This is the first run of EclipsePortable

		;Set up workspace directory with double paths
		${GetParent} "$SETTINGSDIRECTORY" "$DATADIRECTORY"
		StrCpy "$WORKSPACE" "$DATADIRECTORY\workspace"
		${WordReplace} "$WORKSPACE" "\" "\\" "+" "$WORKSPACEDOUBLESLASH"
		${WordReplace} "$WORKSPACEDOUBLESLASH" "$ROOT" "$ROOTDOUBLESLASH" "+" "$WORKSPACEDOUBLESLASH"
		
		;Set up settings file with workspace
		CreateDirectory "$PROGRAMDIRECTORY\configuration\.settings"
		${ConfigWrite} "$PROGRAMDIRECTORY\configuration\.settings\org.eclipse.ui.ide.prefs" "RECENT_WORKSPACES_PROTOCOL=" "3" "$0"
		${ConfigWrite} "$PROGRAMDIRECTORY\configuration\.settings\org.eclipse.ui.ide.prefs" "MAX_RECENT_WORKSPACES=" "1" "$0"
		${ConfigWrite} "$PROGRAMDIRECTORY\configuration\.settings\org.eclipse.ui.ide.prefs" "SHOW_WORKSPACE_SELECTION_DIALOG=" "false" "$0"
		${ConfigWrite} "$PROGRAMDIRECTORY\configuration\.settings\org.eclipse.ui.ide.prefs" "RECENT_WORKSPACES=" "$WORKSPACEDOUBLESLASH" "$0"
		${ConfigWrite} "$PROGRAMDIRECTORY\configuration\.settings\org.eclipse.ui.ide.prefs" "eclipse.preferences.version=" "1" "$0"
		${ConfigWrite} "$PROGRAMDIRECTORY\configuration\config.ini" "osgi.instance.area.default=" "$WORKSPACEDOUBLESLASH" "$0"

		;EclipseNSIS
		StrCpy "$NSISPATH" "$PARENTDIRECTORY\NSISPortable\App\NSIS"
		${WordReplace} "$NSISPATH" "\\" "\" "+" "$NSISPATH"

	${Else}
	;Managing Eclipse's settings

		; Get our full workspace
		${ConfigRead} "$PROGRAMDIRECTORY\configuration\.settings\org.eclipse.ui.ide.prefs" "RECENT_WORKSPACES=" "$WORKSPACEDOUBLESLASH"

		;Get our workspace
		${WordReplace} "$WORKSPACEDOUBLESLASH" "\\" "\" "+" "$WORKSPACE"
		${WordReplace} "$WORKSPACE" "$LASTROOTDOUBLESLASH" "$ROOT" "+" "$WORKSPACE"
		${WordReplace} "$WORKSPACE" "$LASTEXEDIR" "$EXEDIR" "+" "$WORKSPACE"

		;Explode the workspace directory, so we can support multiple workspaces
		${Explode} $0 "\n" "$WORKSPACE"
		Pop "$WORKSPACE"

		${WordReplace} "$LASTEXEDIR" "\" "\\" "+" "$R2"
		${WordReplace} "$R2" "$LASTROOT" "$LASTROOTDOUBLESLASH" "+" "$R2"
		${WordReplace} "$EXEDIR" "\" "\\" "+" "$R3"
		${WordReplace} "$R3" "$ROOT" "$ROOTDOUBLESLASH" "+" "$R3"

		${WordReplace} "$WORKSPACEDOUBLESLASH" "$R2" "$R3" "+" "$WORKSPACEDOUBLESLASH" 
		${WordReplace} "$WORKSPACEDOUBLESLASH" "$LASTROOTDOUBLESLASH" "$ROOTDOUBLESLASH" "+" "$WORKSPACEDOUBLESLASH" ;Update workspace drive letter.

		${ConfigWrite} "$PROGRAMDIRECTORY\configuration\.settings\org.eclipse.ui.ide.prefs" "RECENT_WORKSPACES=" "$WORKSPACEDOUBLESLASH" "$0"

		;Update Locations
		${ReplaceInFile} "$WORKSPACE\.metadata\.plugins\org.eclipse.ui.workbench\workbench.xml" "$LASTROOT" "$ROOT"
		Delete "$WORKSPACE\.metadata\.plugins\org.eclipse.ui.workbench\workbench.xml.old"
		${ReplaceInFile} "$WORKSPACE\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.python.pydev.prefs" "$LASTROOTDOUBLESLASH" "$ROOTDOUBLESLASH"
		Delete "$WORKSPACE\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.python.pydev.prefs.old"
		
		;Update Workspace with new drive letter path
		${ConfigWrite} "$PROGRAMDIRECTORY\configuration\config.ini" "osgi.instance.area.default=" "$WORKSPACEDOUBLESLASH" "$0"

		;Get EclipseNSIS Paths
		${ConfigRead} "$WORKSPACE\.metadata\.plugins\org.eclipse.core.runtime\.settings\net.sf.eclipsensis.prefs" "nsisHome=" "$NSISPATH"
		${WordReplace} "$NSISPATH" "$LASTROOTDOUBLESLASH" "$ROOTDOUBLESLASH" "+" "$NSISPATH"

	${EndIf}

	;Update EclispeNSIS paths
	${ConfigWrite} "$WORKSPACE\.metadata\.plugins\org.eclipse.core.runtime\.settings\net.sf.eclipsensis.prefs" "nsisHome=" "$NSISPATH" "$0"

	;Redirect AppData
	System::Call 'Kernel32::SetEnvironmentVariable(t, t) i("APPDATA", "$DATADIRECTORY\AppData").r0'
	System::Call 'Kernel32::SetEnvironmentVariable(t, t) i("LOCALAPPDATA", "$DATADIRECTORY\AppData").r0'

	;Set up MinGW Toolchain
	ReadEnvStr $0 "PATH"
	StrCpy $0 "$MINGWPATH;$0"
	System::Call 'Kernel32::SetEnvironmentVariable(t, t) i("PATH", "$0").r0'

	;Eclipse Portable Settings
	WriteINIStr "$SETTINGSDIRECTORY\${NAME}Settings.ini" "${NAME}Settings" "FirstRun" "False"
	WriteINIStr "$SETTINGSDIRECTORY\${NAME}Settings.ini" "${NAME}Settings" "LastDrive" "$ROOT"
	WriteINIStr "$SETTINGSDIRECTORY\${NAME}Settings.ini" "${NAME}Settings" "LastEXEDirectory" "$EXEDIR"

	;Check for Java
	${IfNot} ${FileExists} "$JAVAPATH\javaw.exe"
		${If} ${FileExists} "$PARENTDIRECTORY\CommonFiles\Java\bin\javaw.exe"
			Exec '"$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE" $PARAMETERS -vm "$PARENTDIRECTORY\CommonFiles\Java\bin" $ADDITIONALPARAMETERS'
		${Else}
			${GetParent} "$PROGRAMDIRECTORY" "$APPDIRECTORY"
			${If} ${FileExists} "$APPDIRECTORY\Java\bin\javaw.exe"
				Exec '"$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE" $PARAMETERS -vm "$APPDIRECTORY\Java\bin" $ADDITIONALPARAMETERS'
			${Else}
				;No Java, let's hope it's installed locally, if not, Ecipse will handle the rest of the errors
				Exec '"$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE" $PARAMETERS $ADDITIONALPARAMETERS'
			${EndIf}
		${EndIf}
	${Else}
		Exec '"$PROGRAMDIRECTORY\$PROGRAMEXECUTABLE" $PARAMETERS -vm "$JAVAPATH" $ADDITIONALPARAMETERS'
	${EndIf}
SectionEnd

[Changed <code> tag to <pre>- mod Chris]

Thanks, but next time, embed

Thanks, but next time, embed your code in the "pre" tag.

The most notable change you made was line 225, and it took me a while to figure out why.

;Get our workspace
${WordReplace} "$WORKSPACEDOUBLESLASH" "\\" "\" "+" "$WORKSPACE"
${WordReplace} "$WORKSPACE" "$LASTROOTDOUBLESLASH" "$LASTROOT" "+" "$WORKSPACE"
${WordReplace} "$WORKSPACE" "$LASTEXEDIR" "$EXEDIR" "+" "$WORKSPACE"

That second WordReplace is correct. $LASTROOT should indeed replace $LASTROOTDOUBLESLASH, allowing the next line to work as it should.

Siggys waste bandwidth... that's why I have one.

You're partially right. The

You're partially right. The original code assumed that the workspace is located within the EclipsePortable folders but that doesn't have to be the case. In fact, my workspace is in my Documents folder. I will revert back to your code but add the line below:

${WordReplace} "$WORKSPACE" "$LASTROOT" "$ROOT" "+" "$WORKSPACE"

I would also say that the other changes are significant for somebody who uses PyDev or likes to keep their folders organized.

Reducing Space Intake [Smallest Eclipse]

...I got Platform from the main site and dropped it with Java Portable on my flash drive thinking it was the only one that could install plugins... it took up 415MB of space(Forgot how much on Disk), I'm trying to use JarPlug.

Where I found out what's the smallest size
http://stackoverflow.com/questions/2992749/getting-a-lightweight-install...

A01. I might just install the non-portable Classic to the desktop
A02. Drag & Drop on my USB Stick
A03. Put JRE folder including files in Eclipse Classic
A04. And use it from there if its smaller because it Classic + JRE = a bit over 200MB in size, but on disk...

Questions
B01. Is it possible to get plugins into the Platform Runtime Binary by an external updater? [I just remember its Help > Add Software/Update...Nevermind this question]

Ideas
C01. Choosing the path bin & lib for Java Runtime Enviroment either through a setting file or box where workspace is [Or like when the first pop-up that ask Where to should be Workspace be & Save the last path & add Paths into favourite or Skip step & Never Show-up]
[Why: To use less space on Flash Drive instead of copy files twice that would save 86.9MB, but 122MB on Disk]

I just realize that the Classic 3.7.1 is smaller than Classic Portable 3.3.2 so yeah...with JRE added

Thanks for uploading

Rank: User of Computer [Level 1/3]
Type: Thinker, Doesn't Complain & Search for Solutions
Con: Exterior Thinker, Grammar & Overly Chatty
USB: Kingston DT1/4GB
Computer: 15min Express Library Computer

Release??

I've been using this since Eclipse 3.6 and have not found any problems. Upgrading to 3.7 and then 3.7.1 preserved my personal plug-ins.

Since the launcher seems to be stable, when will the packages will be promoted out of development?

Steve

Steve

hear this

Until oracle will allow to use her java as portable,
John will not release eclipse, or any other java software,
or any other open software at all.
that sucks :-\

Tal.

Not Quite

We've already tried these things with OpenJDK and it seems to work properly. So we will use the Oracle Java JRE with jPortable and the OpenJDK as our JDK for things like Eclipse.

Sometimes, the impossible can become possible, if you're awesome!

Not to mention that OpenJDK

Not to mention that OpenJDK will become Java SE 7's official reference implementation.

Siggys waste bandwidth... that's why I have one.

Hi John

so what i am understand from you,
that new apps release depend at OpenJDK release?
there is OpenJDK portable beta release?
I and many many many... many people hops (and long waiting)
for release new apps. I hope you don't lose that momentum.

Tal.

JDK

The JDK has been tested but not released. Currently, only Eclipse depends on it, nothing else. All Java apps will use jPortable, which is already stable and released. Did you miss the fact that we just released a brand new app (Scribus) and release updates every single day? Knock off the nay-saying, please.

Sometimes, the impossible can become possible, if you're awesome!

Hi

what happens to the promise "new apps every day"??

updates not new apps

and if you look at the list, you will see that they do come pretty regularly.

"What about Love?" - "Overrated. Biochemically no different than eating large quantities of chocolate." - Al Pacino in The Devils Advocate

Where does softwares save

Hello!

I use Eclipse portable. I need to know where does Eclipse saves installed softwares? Here: PortableApps\EclipsePortable\Data or somewhere else?

It installs multiple files in

It installs multiple files in different folders under App\Eclipse. If you're trying to isolate them, that will be difficult.

Siggys waste bandwidth... that's why I have one.

Getting eGIT to work

I am trying to get the Eclipse plugin eGIT to work with EclipsePortable. I would like the .gitconfig and the ssh keys to be stored on the USB drive rather than the Windows user home directory.

When I start eGIT, I get a dialog,

    The environment variable HOME is not set

I've been banging my head against this for a bit, trying to figure out how I could get %HOME% (Or $HOME) set at runtime.

Any ideas?

----Eric

Isn't HOME an environment

Isn't HOME an environment variable on Unix, not Windows?

Siggys waste bandwidth... that's why I have one.

It's what the error message says

The error message complains about HOME not being set. It then defaults to C:\Users\guest

I guess I should have typed the whole error message to begin with.

The environment variable HOME is not set. The following directory will be used for storing
the Git user configuration and as default repository location: C:\Users\guest.
If this is not correct please set the HOME environment variable and restart Eclipse

It looks like it grabs %USERPROFILE% and sets HOME to that. I would like everything in Eclipse to use the [drive]:\Portable\Documents, instead.

I've been trying to figure out how the launcher code/launcher.ini file works. I can't find EclipsePortable\App\AppInfo\Launcher\ dir to try and modify the .ini

----Eric

Eclipse Portable doesn't use

Eclipse Portable doesn't use the PortableApps.com Launcher, so the INI isn't used. I've outlined my reasons above if you want to read it.

I've looked at the EGit wiki, and it looks like you have to set a custom HOME variable. The solution for this would have to be to create a custom Eclipse Portable launcher.

Place the following line anywhere before the "Check for Java" launch code in EclipsePortable\Other\Source\EclipsePortable.nsi. You will then have to recompile using Unicode NSIS Portable by dragging EclipsePortable.nsi into the compiler.

System::Call 'Kernel32::SetEnvironmentVariable(t, t) i("HOME", "$WORKSPACEDIRECTORY").r0'

If you didn't follow any of that, please reply on where you had trouble. Sorry for the hassle, but this seems to be the only solution.

Siggys waste bandwidth... that's why I have one.

thanks

Thanks for the followup. I've run out of time, so I'm going to need to back-burner this project. When I get back, I'll need to look at the whole NSIS thing.

Again, thanks for your help.

----Eric

Thanks for your hard work

I want to create my own portable eclipse
most update - 3.7.2 and 4.2 (juno)
and many derived with a new language (with special plugins that already install in them).
can you publish the launcher with paf.exe mode?. (that i only need to click, choose a folder and it will extract.)

Many thanks for your help
Tal.

Hi, can you help?

I am using your eclipse portable,
and i notice it not recognize the MSYSPortable.
(It recognize the MinGW in CommonFiles)
can you make eclipse will look for MSYSPortable and recognize it?
MSYSPortable
it will be more easier to compile like this.

thanks a lot,
Tal.

I change the source

I change the source of the launcher for support two things:
1. the search of the java will first go to EclipsePortable\APP\Java
2. will add to path the MSYSPortable bin folder.
can you look at this and compile for me?
i don't know how compile. (although this language was easy to learn and config. I just see how it written and change what i want.)

https://dl.dropbox.com/u/3363579/EclipsePortable1.4Source.7z

Thanks for all your time.

Tal.

Why?

1. the search of the java will first go to EclipsePortable\APP\Java

Why? What's wrong with looking in common files for it?

I will try to explain my logic.

let's say you have 3 portable eclipse in the same portable apps directory, all of them need to use a jdk6 java for compile,and it in commonFile\Java.
and i want to add to this directory 4-th eclipse that use jdk7.
the easy way and the logic way for me, if eclipse has it own jave in self directory at EclipsePortable\APP\Java with jdk7,
it may be unique. only this eclipse will use it own jdk7. if some one did put the java in the EclipsePortable\APP\Java in purpose, it mean he know what he doing. And i think it what he supposed it will happan - that eclipse will look this folder for java first. that what i was suppose will happen.

Tal.

===================
it first will look at EclipsePortable\APP\Java
then CommonFile\Java. it will not remove just change priority.

I upload

I successes to compile the code,
there was some error that i fix

I upload the launcher here:
https://dl.dropbox.com/u/3363579/EclipsePortable_1.0.4_Lancher.paf.exe
https://dl.dropbox.com/u/3363579/EclipsePortableLancher.7z

it the same one just in two different way. you can download the way you may feel comfortable.

But it not add the \MSYSPortable\App\MSYS\bin to PATH of eclipse like i was expected.
i don't know what i do wrong.
if some one can look at the code and fix, or tell me what to do, i will be happy.

i didn't check the first option, if it really take first from EclipsePortable\APP\Java then CommonFiles.
i will check it soon.

the code in EclipsePortableLancher\other\source.
the place it should be.

thanks for your time

Tal

Tal, I'm not going to push

Tal, I'm not going to push these changes. There's no need for MSYS, which is a set of command line tools in an IDE. If you can convince me otherwise, I'll add MSYS integration.

And second, Eclipse Portable should not be looking in App\Java before the predefined JavaPath in the INI.

Siggys waste bandwidth... that's why I have one.

Quick Thought

Tal raises a good point I hadn't thought of before. What if you WANT to have an app use a specific version of Java? The only way to do that properly is to look in App\Java first. So you could have two Eclipse installs. One using the CommonFiles current Java. The other using a custom one.

Sometimes, the impossible can become possible, if you're awesome!

I didn't make myself clear in

I didn't make myself clear in my earlier comment. This was considered back in Eclipse Portable's initial release, but after taking a look right now, I have a bug that prevents this. The details being that Eclipse Portable defaults to JavaPath when no INI exists.

Tal's implementation looks for App\Java before the JavaPath, which it shouldn't be doing. If the user sets a JavaPath value in the INI (when its in the right spot), it should be using that path first.

Siggys waste bandwidth... that's why I have one.

OK. good point

so can you implement?
1. ini first
2. App\Java 2-th
3. CommonFile 3-th
4. default java

I will try to explain why MSYS later,
i hope you understand my logic.

good day,

Tal.

I Update the file

I Update the file from the previous post
now it supporting two things:
a. Order of take Java:

1. ini first
2. App\Java 2-th
3. CommonFile 3-th
4. default java

b. add MSYSPortable to the path.

my logic of add support MSYSPortable to eclipse portable,
it when you have eclipse cpp and you want to compile a source from external make file. let say you want to compile putty source code.
you need to configure the MSYSPortable, and for beginner programmer it may be confusing or hard.
It very simple to do it for this script, and also if the person dose not
need use MSYSPortable, it will not interfere with his work,
but when he need it, it may be complicated. why not make easy for
the people that want to compile things?
it will be easier when you want to start programming.
If it will be more easy to program, more people will do it,
and more people will join open source project, and it will be a grow,
and make it more quality code.

I hope it will convince you.

Tal.

I'm all for growing Open

I'm all for growing Open Source, but I'm pretty sure MSYS isn't needed for Eclipse CDT compilation. MinGW by itself seems to compile fine. You do need to make a copy of make-mingw32.exe and rename it to make.exe though.

Siggys waste bandwidth... that's why I have one.

And Also you need a rm

For cleaning the file.
and some of the make file supposed you have the basic set of MSYS.
no one will add make, and rm in the default MinGw.
and you don't just have to download and compile, you need a change things.
it hard to explain every new guy that download it.
why not?

So can you tell me why not?
it is interfere? is it bad that there is the option? it spend more resource?
can you give me reason why not?

when i see it, you see it a nice to have. o.k. ... but it is harmful and
or annoy the guys who dose not use it option?

surly you see the need of MSYS for some of the user, and no interfere for other that don't use. i think it good move to add that option.

You won me over with the "rm"

Smiling

You won me over with the "rm" command issue. I'll have MSYS integration in the next release. But I also think make-mingw32.exe should be compiling MinGW libraries.

Siggys waste bandwidth... that's why I have one.

:)

"But I also think make-mingw32.exe should be compiling MinGW libraries."
It o.k. by me, but i am not the one who make MinGW portable. you can talk with him.

In the meanwhile can you release just a version of the new version launcher for eclipse that i can use? (i didn't successes that MSYSPortable will work with my eclipse)

also are you planing to do next release when eclipse juno will be official?
and what you know about the progress portable jdk or openjdk for eclipse?

Thanks again for your time.

Tal.

Hi

can you tell me what's it eclipsensis please?
what's that plugin?

It was a plugin for editing

It was a plugin for editing NSIS in Eclipse, back when we still coded most of our launchers in NSIS directly. I'll probably remove it since it has low usage though.

Siggys waste bandwidth... that's why I have one.

Thanks :)

for me this plugin not working,
it ask for another java (although i download the official portable java of portableApps.com)
it a bug?

Can you please update on the

Can you please update on the 4.2 version (latest stable version http://www.eclipse.org/downloads/ ).

Can somebody tell me if Eclipse is already %100 portable? I mean it runs as portable but how can I be sure if Eclipse does not change anything on my local drive?

Thank you!

hi,

Hi farat_as ,
this outdated post.
no one will update this post ever.
but, here the most updated post:
http://portableapps.com/node/32861
but when it update to 4.2 version, it will out-date.
it not program as your request, although it will be nice to see
eclipse 4.2 juno in portable apps format, it only when the programmer have
the time.
second eclipse already fully portable and will not leave any things on your computer (only if you will install plugin that will do, but it third party, and portable eclipse will not able to do it also.)
I hope I help you,
and thank for supporting portable eclipse.

Tal.