Produkter och funktioner

En Eclipse-baserad produkt är ett fristående program som skapats med Eclipse-plattformen. En produkt kan (valfritt) paketeras och levereras som en eller flera funktioner, vilka är enkla grupperingar av insticksprogram som hanteras som en enhet av Eclipses uppdateringsmekanismer.

Produkter inkluderar all den kod och alla insticksprogram som behövs för att köra dem. Detta inkluderar en JRE (Java Runtime Environment) och Eclipse-plattformens kod.  Insticksprogramkoden, JRE och Eclipse-plattformen är vanligen installerade med ett produktspecifikt installationsprogram. Produktproviders kan använda det installationsverktyg eller -program som är bäst lämpat för deras behov. 

När den har installerats startar användaren produkten. En Eclipse-arbetsmiljö visas som har konfigurerats speciellt för produktens ändamål, t.ex. webbutveckling, C++-programutveckling eller något annat. Plattformen gör det lätt att konfigurera etiketter, om-dialogrutor, grafik och välkomstskärmar så att användaren inte har funderar på en plattformsarbetsmiljö, utan i stället visar arbetsmiljön som huvudfönstret för själva produkten.

Katalogstrukturens högsta nivå för en sådan produkt ser ut ungefär som denna, för en hypotetisk produkt med namnet "AcmeWeb" som har installerats på en Windows-plattform:

acmeweb/
	acmeweb.exe		(produktens körfil)
	eclipse/		(katalog för installerade Eclipse-filer)
		.eclipseproduct	(markörfil)
		eclipse.exe	
		startup.jar		
		configuration/	
			config.ini
		jre/
		features/	(eventuella installerade funktioner)
			com.example.acme.acmefeature_1.0.0/
				feature.xml
			...
		plugins/
			com.example.acme.acmefeature_1.0.0/
				plugin.xml
				about.ini
				about.html
				about.mappings
				about.properties
				acme.png
				splash.jpg
			com.example.acme.acmewebsupport_1.0.0/
			...
		links/
			...

Det finns i själva verket två sätt att definiera en produkt i Eclipse. Den rekommenderade mekanismen är att använda produktens utökningspunkt. Denna utökningspunkt kan du använda för att definiera produkten och anpassa varumärkesinformation som t.ex. välkomstskärmar, fönsterikoner och liknande. Den äldre mekanismen (används i Eclipse 2.1) använder funktioner och antar i synnerhet att det finns en primär funktion. Eclipse använder i hemlighet produktmekanismen med utökningspunkt men tillhandahåller kompatibilitetsfunktioner som integrerar de äldre definitionerna i den nya modellen om det är nödvändigt.

Vi ska titta på båda mekanismerna och hur de används för att anpassa en produkt. Även när produktmekanismen för utökningspunkter används kan funktioner fortfarande användas som ett sätt att gruppera funktionalitet som levereras av uppdateringshanteraren. I de nästkommande avsnitten antar vi att det finns funktionsgrupperingar i vårt insticksprogram, förutom produktdefinitionerna.