| Summary: | Directorywatcher is logging lots of "missing filename property" messages | ||
|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | Thomas Hallgren <thomas> |
| Component: | p2 | Assignee: | Simon Kaegi <simon_kaegi> |
| Status: | RESOLVED WONTFIX | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | aniefer, pascal, simon_kaegi |
| Version: | unspecified | ||
| Target Milestone: | 3.5 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
|
Description
Thomas Hallgren
I investigated some more on this. During boot, I get to the FeaturesAction.createFeatureRootFileIU(). From the looks of it, it doesn't set the "file.name" property which in turn results in an abundance of log messages. At least when the delta pack is present. I provide two stacks here. The first one is where the culprit IU's are created: MetadataFactory$InstallableUnitDescription.unitCreate() line: 147 MetadataFactory.createInstallableUnit(MetadataFactory$InstallableUnitDescription) line: 207 FeaturesAction.createFeatureRootFileIU(String, String, File, FileSetDescriptor) line: 245 FeaturesAction.generateRootFileIU(String, String, File, FileSetDescriptor, IPublisherResult, IPublisherInfo) line: 444 FeaturesAction.generateRootFileIUs(Feature, IPublisherResult, IPublisherInfo) line: 462 FeaturesAction.generateFeatureIUs(Feature[], IPublisherResult, IPublisherInfo) line: 426 FeaturesAction.perform(IPublisherInfo, IPublisherResult, IProgressMonitor) line: 644 RepositoryListener.publish(IPublisherAction, boolean) line: 172 RepositoryListener.processFeature(File, boolean) line: 167 RepositoryListener.process(File, boolean) line: 145 RepositoryListener.added(File) line: 129 BundlePoolFilteredListener.added(File) line: 39 SiteListener.added(File) line: 318 DirectoryWatcher.processFile(File, DirectoryChangeListener) line: 200 DirectoryWatcher.scanDirectories() line: 161 DirectoryWatcher.poll() line: 108 SiteListener.synchronizeRepositories(ExtensionLocationMetadataRepository, ExtensionLocationArtifactRepository, File) line: 100 ExtensionLocationMetadataRepository.ensureInitialized() line: 61 ExtensionLocationMetadataRepository.getProperties() line: 163 MetadataRepositoryManager(AbstractRepositoryManager).addRepository(IRepository, boolean, String) line: 109 MetadataRepositoryManager.addRepository(IMetadataRepository) line: 36 Activator.createExtensionLocationMetadataRepository(URI, String, Map) line: 66 PlatformXmlListener.synchronizeConfiguration(Configuration) line: 221 PlatformXmlListener.stopPoll() line: 132 DirectoryWatcher.stopPoll() line: 172 DirectoryWatcher.poll() line: 109 Activator.watchConfiguration() line: 445 Activator.start(BundleContext) line: 155 The second stack is where the printout occurs: RepositoryListener.synchronizeCurrentFiles() line: 281 RepositoryListener.startPoll() line: 189 BundlePoolFilteredListener.startPoll() line: 62 SiteListener.startPoll() line: 346 DirectoryWatcher.startPoll() line: 137 DirectoryWatcher.poll() line: 107 SiteListener.synchronizeRepositories(ExtensionLocationMetadataRepository, ExtensionLocationArtifactRepository, File) line: 100 ExtensionLocationArtifactRepository.ensureInitialized() line: 62 ExtensionLocationArtifactRepository.getProperties() line: 202 ArtifactRepositoryManager(AbstractRepositoryManager).addRepository(IRepository, boolean, String) line: 109 ArtifactRepositoryManager(AbstractRepositoryManager).loadRepository(URI, IProgressMonitor, String) line: 576 ArtifactRepositoryManager.loadRepository(URI, IProgressMonitor) line: 86 Activator.loadArtifactRepository(URI, IProgressMonitor) line: 116 PlatformXmlListener.synchronizeConfiguration(Configuration) line: 249 PlatformXmlListener.stopPoll() line: 132 DirectoryWatcher.stopPoll() line: 172 DirectoryWatcher.poll() line: 109 Activator.watchConfiguration() line: 445 Activator.start(BundleContext) line: 155 Andrew, do you know if something has changed with the releationship between publishing Features and root IUs? In the directory watcher case I don't think we want a root IU generated. The org.eclipse.equinox.exectuable feature in the delta pack is somewhat unique in that it ships with a build.properties file and is going to be considered "source" instead of "binary". The publisher has some code that has been there for a while that tries to read the build.properties and generate appropriate root file IUs. Note that if we are not publishing artifacts (IPublisherInfo.A_PUBLISH) and it apears the dropins reconciler isn't, then the artifacts for these root IUs won't exist. I agree that we probably don't want these IUs generated, particularly if the dropings reconciler doesn't publish artifacts and doesn't run the actions which would result in such root artifacts being extracted. (Separate from this is that I'm not convinced the publisher should be trying to read pde.build's input files to do this, in general is not going to get these root properties correct without help from ant. PDE/Build is providing extensions to the publisher that do this, see GatherFeatureTask) . |