Produkter og funktioner

Et Eclipse-baseret produkt er et enkeltstående program, der er bygget vha. Eclipse-platformen. Et produkt kan være pakket og leveret som en eller flere funktioner, som blot består af grupperinger af plugins, der styres som en enkelt entitet af Eclipse-opdateringsmekanismerne.

Produkter omfatter al den kode og alle de plugins, der kræves for at udføre dem. Dette omfatter også et JRE (Java runtime environment) og Eclipse-platformkoden. Plugin-koden, JRE og Eclipse-platformen installeres typisk med et produktspecifik installationsprogram. Produktudbydere har frihed til at bruge et hvilket som helst installationsværktøj eller -program, der er opfylder deres behov.  

Når først det er installeret, starter brugeren produktet, hvorefter han/hun præsenteres for en Eclipse-arbejdsbænk, der er konfigureret specielt til formålet, og som understøttes af produktet, f.eks. webudvikling, C++-programudvikling eller lignende formål. Platformen gør det let at konfigurere etiketter, About-dialogbokse, grafik og åbningsskærmbilleder, så brugeren ikke får fornemmelsen af en platformarbejdsbænk, men betragter den i stedet for som produktets hovedvindue.

Det øverste niveau i biblioteksstrukturen i et sådant produkt ligner det for det hypotetiske produkt kaldet "AcmeWeb", som er installeret på en Windows-platform:

acmeweb/
	acmeweb.exe		(produktets eksekvérbare fil)
	eclipse/		(bibliotek til installerede Eclipse-filer)
		.eclipseproduct	(markeringsfil)
		eclipse.exe	
		startup.jar		
		configuration/	
			config.ini
		jre/
		features/	(installerede funktioner, hvis der er nogen)
			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/
			...

Der er faktisk to måder at definere et produkt på i Eclipse. Den foretrukne mekanisme er at bruge produktets udvidelsespunkt. Ved hjælp af dette udvidelsespunkt kan du definere produktet og tilpasse varemærkeoplysninger, som f.eks. åbningsskærmbilleder, vinduesikoner o.l. Den tidligere mekanisme (benyttet i Eclipse 2.1) benytter funktioner og antager, at der findes en primær funktion. Under overfladen benytter Eclipse nu produktets udvidelsespunktmekanisme, men stiller kompatibilitetsfunktioner til rådighed, der integrerer de ældre definitioner i den nye model, hvis det er nødvendigt.

Begge mekanismer vil blive gennemgået, og hvordan de bruges til at tilpasse et produkt. Selv når produktets udvidelsespunktmekanisme benyttes, kan funktioner stadig benyttes som en måde at gruppere funktionalitet på, som leveres af konfigurationsprogrammet til opdatering. I det næste par emner antages det, at der foruden produktdefinitioner også findes funktionsgrupperinger i vores plugin.