1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-16 13:35:22 +02:00

Add source.

This commit is contained in:
Doug Schaefer 2010-01-14 05:49:53 +00:00
parent 7cb02cf641
commit 27cd1b6b19

View file

@ -83,46 +83,55 @@ public class WascanaGenerator implements IApplication {
binutilsVersion, binutilsVersion,
gpl30License, gpl30License,
null); null);
IInstallableUnit binutilsSrcIU = createIU(
"wascana.binutils.source",
"Wascana MinGW binutils source",
binutilsVersion,
gpl30License,
null);
// toolchain // toolchain
InstallableUnitDescription toolsIUDesc = createIUDesc( IInstallableUnit toolsIU = createCategory(
"wascana.tools", "wascana.tools",
"Wascana Tools", "Wascana Tools",
wascanaVersion, wascanaVersion,
null); new IRequiredCapability[] {
toolsIUDesc.setProperty(IInstallableUnit.PROP_TYPE_CATEGORY, Boolean.TRUE.toString()); createRequiredCap(binutilsIU),
toolsIUDesc.setRequiredCapabilities(new IRequiredCapability[] { });
createRequiredCap(binutilsIU),
});
IInstallableUnit toolsIU = MetadataFactory.createInstallableUnit(toolsIUDesc);
InstallableUnitDescription sdksIUDesc = createIUDesc( IInstallableUnit sdksIU = createCategory(
"wascana.sdks", "wascana.sdks",
"Wascana SDKs", "Wascana SDKs",
wascanaVersion, wascanaVersion,
null); new IRequiredCapability[] {
sdksIUDesc.setProperty(IInstallableUnit.PROP_TYPE_CATEGORY, Boolean.TRUE.toString()); });
sdksIUDesc.setRequiredCapabilities(new IRequiredCapability[] {
});
IInstallableUnit sdksIU = MetadataFactory.createInstallableUnit(sdksIUDesc);
// The main Wascana category IInstallableUnit sourceIU = createCategory(
InstallableUnitDescription wascanaIUDesc = createIUDesc( "wascana.source",
"Wascana Source",
wascanaVersion,
new IRequiredCapability[] {
createRequiredCap(binutilsSrcIU),
});
IInstallableUnit wascanaIU = createCategory(
"wascana", "wascana",
"Wascana Desktop Developer", "Wascana Desktop Developer",
wascanaVersion, wascanaVersion,
null); new IRequiredCapability[] {
wascanaIUDesc.setProperty(IInstallableUnit.PROP_TYPE_CATEGORY, Boolean.TRUE.toString()); createRequiredCap(toolsIU),
wascanaIUDesc.setRequiredCapabilities(new IRequiredCapability[] { createRequiredCap(sdksIU),
createRequiredCap(toolsIU), createRequiredCap(sourceIU),
createRequiredCap(sdksIU), });
});
IInstallableUnit wascanaIU = MetadataFactory.createInstallableUnit(wascanaIUDesc);
metaRepo.addInstallableUnits(new IInstallableUnit[] { metaRepo.addInstallableUnits(new IInstallableUnit[] {
binutilsIU, binutilsIU,
binutilsSrcIU,
toolsIU, toolsIU,
sdksIU, sdksIU,
sourceIU,
wascanaIU wascanaIU
}); });
@ -211,6 +220,15 @@ public class WascanaGenerator implements IApplication {
return MetadataFactory.createInstallableUnit(iuDesc); return MetadataFactory.createInstallableUnit(iuDesc);
} }
private IInstallableUnit createCategory(String id, String name, Version version,
IRequiredCapability[] reqs) throws ProvisionException {
InstallableUnitDescription iuDesc = createIUDesc(id, name, version, null);
if (reqs != null)
iuDesc.setRequiredCapabilities(reqs);
iuDesc.setProperty(IInstallableUnit.PROP_TYPE_CATEGORY, String.valueOf(true));
return MetadataFactory.createInstallableUnit(iuDesc);
}
private IRequiredCapability createRequiredCap(IInstallableUnit iu) { private IRequiredCapability createRequiredCap(IInstallableUnit iu) {
return MetadataFactory.createRequiredCapability( return MetadataFactory.createRequiredCapability(
IInstallableUnit.NAMESPACE_IU_ID, IInstallableUnit.NAMESPACE_IU_ID,