Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kurtakov2009-01-20 12:23:41 +0000
committerAlexander Kurtakov2009-01-20 12:23:41 +0000
commit253e1961a723b374ccc321664a60cfb6b394c53b (patch)
tree236b253f2cf5780c411c3acf21dfeafc3fff0585 /rpmstubby
parent1f8594305818dc8d39b1b92d4e34ad11d50535c1 (diff)
downloadorg.eclipse.linuxtools-253e1961a723b374ccc321664a60cfb6b394c53b.tar.gz
org.eclipse.linuxtools-253e1961a723b374ccc321664a60cfb6b394c53b.tar.xz
org.eclipse.linuxtools-253e1961a723b374ccc321664a60cfb6b394c53b.zip
2009-01-20 Alexander Kurtakov <akurtako@redhat.com>
Fix #260871. * .settings/org.eclipse.jdt.core.prefs: Warn about missing javadoc. * src/org/eclipse/linuxtools/rpmstubby/StubbyGenerator.java: Format and javadoc. (getProvidesBundlesString): Handle properly *-feature named features. * src/org/eclipse/linuxtools/rpmstubby/StubbyPackageModel.java (getMissingFeaturesAsString): Add javadoc. (getIncudedFeatures): Likewise. (isAllIncludedFeatureFound): Likewise. (populatePackageData): Likewise. (getProvides): Add the feature to the provides. (populatePackagePreambleData): Add javadoc. (StubbyPackageModel): Add javadoc. * src/org/eclipse/linuxtools/rpmstubby/StubbyPlugin.java (PLUGIN_ID): Add javadoc.
Diffstat (limited to 'rpmstubby')
-rw-r--r--rpmstubby/org.eclipse.linuxtools.rpmstubby/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--rpmstubby/org.eclipse.linuxtools.rpmstubby/ChangeLog16
-rw-r--r--rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyGenerator.java200
-rw-r--r--rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyPackageModel.java33
-rw-r--r--rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyPlugin.java2
5 files changed, 190 insertions, 69 deletions
diff --git a/rpmstubby/org.eclipse.linuxtools.rpmstubby/.settings/org.eclipse.jdt.core.prefs b/rpmstubby/org.eclipse.linuxtools.rpmstubby/.settings/org.eclipse.jdt.core.prefs
index 7941d992ae..28588a829e 100644
--- a/rpmstubby/org.eclipse.linuxtools.rpmstubby/.settings/org.eclipse.jdt.core.prefs
+++ b/rpmstubby/org.eclipse.linuxtools.rpmstubby/.settings/org.eclipse.jdt.core.prefs
@@ -1,4 +1,4 @@
-#Tue Jan 20 11:24:27 CET 2009
+#Tue Jan 20 12:17:39 CET 2009
eclipse.preferences.version=1
instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
@@ -36,7 +36,7 @@ org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
-org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
@@ -68,8 +68,8 @@ org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
diff --git a/rpmstubby/org.eclipse.linuxtools.rpmstubby/ChangeLog b/rpmstubby/org.eclipse.linuxtools.rpmstubby/ChangeLog
index a5e2591cdc..917f396713 100644
--- a/rpmstubby/org.eclipse.linuxtools.rpmstubby/ChangeLog
+++ b/rpmstubby/org.eclipse.linuxtools.rpmstubby/ChangeLog
@@ -1,4 +1,20 @@
2009-01-20 Alexander Kurtakov <akurtako@redhat.com>
+ Fix #260871.
+ * .settings/org.eclipse.jdt.core.prefs: Warn about missing javadoc.
+ * src/org/eclipse/linuxtools/rpmstubby/StubbyGenerator.java: Format and javadoc.
+ (getProvidesBundlesString): Handle properly *-feature named features.
+ * src/org/eclipse/linuxtools/rpmstubby/StubbyPackageModel.java
+ (getMissingFeaturesAsString): Add javadoc.
+ (getIncudedFeatures): Likewise.
+ (isAllIncludedFeatureFound): Likewise.
+ (populatePackageData): Likewise.
+ (getProvides): Add the feature to the provides.
+ (populatePackagePreambleData): Add javadoc.
+ (StubbyPackageModel): Add javadoc.
+ * src/org/eclipse/linuxtools/rpmstubby/StubbyPlugin.java (PLUGIN_ID): Add javadoc.
+
+
+2009-01-20 Alexander Kurtakov <akurtako@redhat.com>
* .settings/org.eclipse.jdt.core.prefs: Enable warnings for missing javadoc tags.
* src/org/eclipse/linuxtools/rpmstubby/StubbyLog.java
diff --git a/rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyGenerator.java b/rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyGenerator.java
index dcae872a30..d533eaf550 100644
--- a/rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyGenerator.java
+++ b/rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyGenerator.java
@@ -15,6 +15,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
@@ -35,48 +36,71 @@ import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.ide.IDE;
+/**
+ * Generates the RPM specfile and the fetch script based on the feature and user
+ * preferences.
+ *
+ */
public class StubbyGenerator {
-
+
private MainPackage mainPackage;
private List<SubPackage> subPackages;
private boolean withGCJSupport;
private boolean withFetchScript;
private boolean usePdebuildScript;
private IPreferenceStore store;
-
+
+ /**
+ * Creates the specfile and fetch script generator for the given packages.
+ *
+ * @param mainPackage The main feature.
+ * @param subPackages The included features or plugins.
+ */
public StubbyGenerator(MainPackage mainPackage, List<SubPackage> subPackages) {
this.mainPackage = mainPackage;
this.subPackages = subPackages;
store = StubbyPlugin.getDefault().getPreferenceStore();
- this.withGCJSupport = store.getBoolean(PreferenceConstants.P_STUBBY_WITH_GCJ);
- this.withFetchScript = store.getBoolean(PreferenceConstants.P_STUBBY_WITH_FETCH_SCRIPT);
- this.usePdebuildScript = store.getBoolean(PreferenceConstants.P_STUBBY_USE_PDEBUILD_SCRIPT);
+ this.withGCJSupport = store
+ .getBoolean(PreferenceConstants.P_STUBBY_WITH_GCJ);
+ this.withFetchScript = store
+ .getBoolean(PreferenceConstants.P_STUBBY_WITH_FETCH_SCRIPT);
+ this.usePdebuildScript = store
+ .getBoolean(PreferenceConstants.P_STUBBY_USE_PDEBUILD_SCRIPT);
}
-
+
+ /**
+ * Generates a RPM specfile based on the parsed data from the feature.xml.
+ * @return The generated specfile.
+ */
public String generateSpecfile() {
StringBuilder buffer = new StringBuilder();
String simplePackageName = getPackageName(mainPackage.getName());
String packageName = "eclipse-" + simplePackageName;
if (withGCJSupport)
- buffer.append("%define gcj_support 1\n");
+ buffer.append("%define gcj_support 1\n");
if (withFetchScript)
buffer.append("%define src_repo_tag FIXME\n");
buffer.append("%define eclipse_base %{_libdir}/eclipse\n");
- buffer.append("%define install_loc %{_datadir}/eclipse/dropins/"+simplePackageName+"\n\n");
+ buffer.append("%define install_loc %{_datadir}/eclipse/dropins/"
+ + simplePackageName + "\n\n");
buffer.append("Name: " + packageName + "\n");
- buffer.append("Version: " + mainPackage.getVersion().replaceAll("\\.qualifier","") + "\n");
+ buffer.append("Version: "
+ + mainPackage.getVersion().replaceAll("\\.qualifier", "")
+ + "\n");
buffer.append("Release: 1%{?dist}" + "\n");
buffer.append("Summary: " + mainPackage.getSummary() + "\n\n");
buffer.append("Group: Development/Tools\n");
- buffer.append("License: " + mainPackage.getLicense()+ "\n");
+ buffer.append("License: " + mainPackage.getLicense() + "\n");
buffer.append("URL: " + mainPackage.getURL() + "\n");
if (withFetchScript) {
- buffer.append("Source0: %{name}-fetched-src-%{src_repo_tag}.tar.bz2\n");
- buffer.append("Source1: "+ packageName +"-fetch-src.sh\n");
+ buffer
+ .append("Source0: %{name}-fetched-src-%{src_repo_tag}.tar.bz2\n");
+ buffer.append("Source1: " + packageName + "-fetch-src.sh\n");
} else {
- buffer.append("Source0: FIXME\n");
+ buffer.append("Source0: FIXME\n");
}
- buffer.append("BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)\n\n");
+ buffer
+ .append("BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)\n\n");
if (withGCJSupport) {
buffer.append("%if %{gcj_support}\n");
buffer.append("BuildRequires: gcc-java\n");
@@ -90,30 +114,35 @@ public class StubbyGenerator {
buffer.append("BuildArch: noarch\n");
buffer.append("%endif\n\n");
} else
- buffer.append("BuildArch: noarch\n\n");
+ buffer.append("BuildArch: noarch\n\n");
buffer.append("BuildRequires: eclipse-pde >= 1:3.4.0\n");
buffer.append("Requires: eclipse-platform >= 3.4.0\n");
buffer.append(getDepsOrReqs("Requires: ", mainPackage.getRequires()));
buffer.append("\n%description\n" + mainPackage.getDescription() + "\n");
- for (SubPackage subPackage: subPackages) {
+ for (SubPackage subPackage : subPackages) {
String subPackageName = getPackageName(subPackage.getName());
buffer.append("\n%package " + subPackageName + "\n");
- buffer.append("Summary: "+ subPackage.getSummary() +"\n");
+ buffer.append("Summary: " + subPackage.getSummary() + "\n");
buffer.append("Requires: %{name} = %{version}-%{release}\n");
- buffer.append(getDepsOrReqs("Requires: ", subPackage.getRequires()));
- buffer.append(getDepsOrReqs("Provides: ", subPackage.getProvides()));
+ buffer
+ .append(getDepsOrReqs("Requires: ", subPackage
+ .getRequires()));
+ buffer
+ .append(getDepsOrReqs("Provides: ", subPackage
+ .getProvides()));
buffer.append("Group: Development/Tools\n\n");
buffer.append("%description " + subPackageName + "\n");
buffer.append(subPackage.getDescription() + "\n");
}
generatePrepSection(buffer);
-
+
generateBuildSection(buffer);
buffer.append("%install\n");
buffer.append("%{__rm} -rf %{buildroot}\n");
buffer.append("install -d -m 755 $RPM_BUILD_ROOT%{install_loc}\n\n");
buffer.append("%{__unzip} -q -d $RPM_BUILD_ROOT%{install_loc} \\\n");
- buffer.append(" build/rpmBuild/" + mainPackage.getName() + ".zip \n\n");
+ buffer.append(" build/rpmBuild/" + mainPackage.getName()
+ + ".zip \n\n");
if (withGCJSupport) {
buffer.append("%if %{gcj_support}\n");
buffer.append(" %{_bindir}/aot-compile-rpm\n");
@@ -136,12 +165,18 @@ public class StubbyGenerator {
buffer.append("%files\n");
buffer.append("%defattr(-,root,root,-)\n");
buffer.append("%{install_loc}\n\n");
- for (SubPackage subPackage: subPackages) {
- buffer.append("%files " + getPackageName(subPackage.getName()) + "\n");
- buffer.append("%dir %{eclipse_base}/features/" + subPackage.getName() + "_*/\n");
- buffer.append("%doc %{eclipse_base}/features/" + subPackage.getName() + "_*/*.html\n");
- buffer.append("%{eclipse_base}/features/" + subPackage.getName() + "_*/feature.*\n");
- buffer.append(getPackageFiles(subPackage.getProvides(), withGCJSupport) + "\n");
+ for (SubPackage subPackage : subPackages) {
+ buffer.append("%files " + getPackageName(subPackage.getName())
+ + "\n");
+ buffer.append("%dir %{eclipse_base}/features/"
+ + subPackage.getName() + "_*/\n");
+ buffer.append("%doc %{eclipse_base}/features/"
+ + subPackage.getName() + "_*/*.html\n");
+ buffer.append("%{eclipse_base}/features/" + subPackage.getName()
+ + "_*/feature.*\n");
+ buffer.append(getPackageFiles(subPackage.getProvides(),
+ withGCJSupport)
+ + "\n");
}
buffer.append("%changelog\n\n");
buffer.append("FIXME\n");
@@ -179,20 +214,28 @@ public class StubbyGenerator {
.append(" -f %{eclipse_base}/plugins/org.eclipse.pde.build/scripts/build.xml \\\n");
buffer.append(" -vmargs -Duser.home=$homedir");
} else {
- buffer.append("%{eclipse_base}/buildscripts/pdebuild -f ").append(mainPackage.getName());
+ buffer.append("%{eclipse_base}/buildscripts/pdebuild -f ").append(
+ mainPackage.getName());
}
buffer.append("\n\n");
}
-
+
+ /**
+ * Generates a fetch script. The script is better suited for cvs for now.
+ * It lists all the plugins and features and tries to export them.
+ * @return The generated fetch script.
+ */
public String generateFetchScript() {
StringBuilder buffer = new StringBuilder();
buffer.append("#!/bin/sh\n");
buffer.append("usage='usage: $0 <tag>'\n");
- buffer.append("name=eclipse-" + getPackageName(mainPackage.getName()) + "\n");
+ buffer.append("name=eclipse-" + getPackageName(mainPackage.getName())
+ + "\n");
buffer.append("tag=$1\n");
buffer.append("tar_name=$name-fetched-src-$tag\n\n");
buffer.append("# example of fetch command:\n");
- buffer.append("# fetch_cmd=cvs -d:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp \\\n");
+ buffer
+ .append("# fetch_cmd=cvs -d:pserver:anonymous@dev.eclipse.org:/cvsroot/dsdp \\\n");
buffer.append("# export -r $tag org.eclipse.tm.rse/features/$f;\n\n");
buffer.append("fetch_cmd=FIXME\n\n");
buffer.append("if [ 'x$tag'x = 'xx' ]; then\n");
@@ -205,8 +248,9 @@ public class StubbyGenerator {
buffer.append("for f in \\\n");
buffer.append(getProvidesBundlesString(mainPackage.getProvides()));
HashSet<String> uniqueProvides = new HashSet<String>();
- for (SubPackage subPackage: subPackages) {
- uniqueProvides = getProvidesBundles(subPackage.getProvides(), uniqueProvides);
+ for (SubPackage subPackage : subPackages) {
+ uniqueProvides = getProvidesBundles(subPackage.getProvides(),
+ uniqueProvides);
}
buffer.append(getProvidesBundlesString(uniqueProvides));
buffer.append("; do\n");
@@ -218,17 +262,31 @@ public class StubbyGenerator {
return buffer.toString();
}
+ /**
+ * Returns the last meaningful part of the feature id before the feature substring.
+ * @param packageName The feature id from which to extract the name.
+ * @return The part of the feature id to be used for package name.
+ */
public String getPackageName(String packageName) {
String[] packageItems = packageName.split("\\.");
String name = packageItems[packageItems.length - 1];
- if (name.equalsIgnoreCase("feature")){
+ if (name.equalsIgnoreCase("feature")) {
name = packageItems[packageItems.length - 2];
}
return name;
}
-
- public void writeContent(String projectName, String fileName, String contents) throws CoreException {
- InputStream contentInputStream = new ByteArrayInputStream(contents.getBytes());
+
+ /**
+ * Writes the given contents to a file with the given fileName in the specified project.
+ * @param projectName The name of the project to put the file into.
+ * @param fileName The name of the file.
+ * @param contents The contents of the file.
+ * @throws CoreException Thrown when the project doesn't exist.
+ */
+ public void writeContent(String projectName, String fileName,
+ String contents) throws CoreException {
+ InputStream contentInputStream = new ByteArrayInputStream(contents
+ .getBytes());
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IResource resource = root.findMember(new Path(projectName));
if (!resource.exists() || !(resource instanceof IContainer)) {
@@ -248,19 +306,20 @@ public class StubbyGenerator {
} catch (IOException e) {
StubbyLog.logError(e);
}
- StubbyPlugin.getActiveWorkbenchShell().getDisplay().asyncExec(new Runnable() {
- public void run() {
- IWorkbenchPage page = PlatformUI.getWorkbench()
- .getActiveWorkbenchWindow().getActivePage();
- try {
- IDE.openEditor(page, file, true);
- } catch (PartInitException e) {
- StubbyLog.logError(e);
- }
- }
- });
+ StubbyPlugin.getActiveWorkbenchShell().getDisplay().asyncExec(
+ new Runnable() {
+ public void run() {
+ IWorkbenchPage page = PlatformUI.getWorkbench()
+ .getActiveWorkbenchWindow().getActivePage();
+ try {
+ IDE.openEditor(page, file, true);
+ } catch (PartInitException e) {
+ StubbyLog.logError(e);
+ }
+ }
+ });
}
-
+
private void throwCoreException(String message) throws CoreException {
IStatus status = new Status(IStatus.ERROR,
"org.eclipse.linuxtools.rpm.ui.editor", IStatus.OK, message,
@@ -268,48 +327,61 @@ public class StubbyGenerator {
throw new CoreException(status);
}
- private String getDepsOrReqs(String preString, List<PackageItem> packageItems) {
+ private String getDepsOrReqs(String preString,
+ List<PackageItem> packageItems) {
String toRet = "";
- for (PackageItem packageItem: packageItems) {
+ for (PackageItem packageItem : packageItems) {
toRet += preString + packageItem.getName() + " "
- + packageItem.getOperator() + " "
- + packageItem.getVersion() + "\n";
+ + packageItem.getOperator() + " "
+ + packageItem.getVersion() + "\n";
}
return toRet;
}
private String getProvidesBundlesString(List<PackageItem> packageItems) {
String toRet = "";
- for (PackageItem packageItem: packageItems) {
- toRet += packageItem.getName() + "\n";
+ // Cash all the names to handle the case when plugin and feature has the
+ // same id.
+ Set<String> usedNames = new HashSet<String>();
+ for (PackageItem packageItem : packageItems) {
+ if (usedNames.contains(packageItem.getName())) {
+ toRet += packageItem.getName() + "-feature\n";
+ } else {
+ toRet += packageItem.getName() + "\n";
+ }
+ usedNames.add(packageItem.getName());
}
return toRet;
}
private String getProvidesBundlesString(HashSet<String> uniqueProvides) {
String toRet = "";
- for (String provideName: uniqueProvides) {
+ for (String provideName : uniqueProvides) {
toRet += provideName + "\n";
}
return toRet;
}
-
- private HashSet<String> getProvidesBundles(List<PackageItem> packageItems, HashSet<String> uniqueProvides) {
+
+ private HashSet<String> getProvidesBundles(List<PackageItem> packageItems,
+ HashSet<String> uniqueProvides) {
for (PackageItem packageItem : packageItems) {
uniqueProvides.add(packageItem.getName());
}
return uniqueProvides;
}
-
- private String getPackageFiles(List<PackageItem> packageItems, boolean withGCJSupport) {
+
+ private String getPackageFiles(List<PackageItem> packageItems,
+ boolean withGCJSupport) {
String toRet = "";
- for (PackageItem packageItem: packageItems) {
- toRet += "%{eclipse_base}/plugins/" + packageItem.getName() + "_*.jar\n";
+ for (PackageItem packageItem : packageItems) {
+ toRet += "%{eclipse_base}/plugins/" + packageItem.getName()
+ + "_*.jar\n";
}
if (withGCJSupport) {
toRet += "%if %{gcj_support}\n";
- for (PackageItem packageItem: packageItems) {
- toRet += "%{_libdir}/gcj/%{name}/" + packageItem.getName() + "_*\n";
+ for (PackageItem packageItem : packageItems) {
+ toRet += "%{_libdir}/gcj/%{name}/" + packageItem.getName()
+ + "_*\n";
}
toRet += "%endif\n";
}
diff --git a/rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyPackageModel.java b/rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyPackageModel.java
index bd5b068c8e..29a66f55ef 100644
--- a/rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyPackageModel.java
+++ b/rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyPackageModel.java
@@ -35,6 +35,10 @@ import org.eclipse.update.core.model.PluginEntryModel;
import org.eclipse.update.core.model.URLEntryModel;
import org.xml.sax.SAXException;
+/**
+ * Internal representation of the package model.
+ *
+ */
public class StubbyPackageModel {
private static final String valueNoFoundMessage = "FIXME";
@@ -44,6 +48,10 @@ public class StubbyPackageModel {
private List<String> includedFeatureIdentifiers;
private List<String> includedFeatureIdentifiersAdded;
+ /**
+ * Creates the package model from the given feature file.
+ * @param featureFile The feature.xml file to use.
+ */
public StubbyPackageModel(IFile featureFile) {
this.featurePropertiesFile = featureFile.getLocation()
.removeLastSegments(1).toOSString()
@@ -61,6 +69,10 @@ public class StubbyPackageModel {
}
}
+ /**
+ * Fills the package model from the parsed data from the feature.xml file.
+ * @param packageModel The package model to fill.
+ */
public void populatePackageData(IPackage packageModel) {
packageModel.setName(getFeatureName());
packageModel.setVersion(getVersion());
@@ -70,12 +82,20 @@ public class StubbyPackageModel {
packageModel.setRequires(getRequires());
}
+ /**
+ * Fills the package preamble data.
+ * @param packagePreambleModel The container to fill.
+ */
public void populatePackagePreambleData(
IPackagePreamble packagePreambleModel) {
packagePreambleModel.setURL(getURL());
packagePreambleModel.setLicense(getLicense());
}
+ /**
+ * Returns the list of all feature.xml files imported in the root feature.
+ * @return The list of all feature.xml files.
+ */
public List<IFile> getIncudedFeatures() {
FeatureModelFactory featureModelFactory = new FeatureModelFactory();
IIncludedFeatureReference[] includedFeatureReferences = featureModel
@@ -120,6 +140,10 @@ public class StubbyPackageModel {
return includedFeatureFiles;
}
+ /**
+ * Checks whether all the features are included.
+ * @return True if all are included, false otherwise.
+ */
public boolean isAllIncludedFeatureFound() {
if (includedFeatureFiles.size() == includedFeatureIdentifiers.size())
return true;
@@ -127,6 +151,10 @@ public class StubbyPackageModel {
return false;
}
+ /**
+ * Returns string representation of all the missing features.
+ * @return The missing features separated by ,
+ */
public String getMissingFeaturesAsString() {
String toRet = "";
for (String includedFeatureIdentifier: includedFeatureIdentifiers) {
@@ -244,6 +272,11 @@ public class StubbyPackageModel {
provide.setVersion(pluginVersion);
providesList.add(provide);
}
+ PackageItem featureItem = new PackageItem();
+ featureItem.setName(featureModel.getFeatureIdentifier());
+ featureItem.setOperator("=");
+ featureItem.setVersion(featureModel.getFeatureVersion());
+ providesList.add(featureItem);
return providesList;
}
diff --git a/rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyPlugin.java b/rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyPlugin.java
index 52a6e0a6a4..4746634aa9 100644
--- a/rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyPlugin.java
+++ b/rpmstubby/org.eclipse.linuxtools.rpmstubby/src/org/eclipse/linuxtools/rpmstubby/StubbyPlugin.java
@@ -21,7 +21,7 @@ import org.osgi.framework.BundleContext;
*/
public class StubbyPlugin extends AbstractUIPlugin {
- // The plug-in ID
+ /** The plug-in ID. */
public static final String PLUGIN_ID = "org.eclipse.linuxtools.rpmstubby";
// The shared instance

Back to the top