-
Notifications
You must be signed in to change notification settings - Fork 9
Process information from Artifact POM files #47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
A partial answer:
|
I fixed the two points you addressed in the latest commit. Now there is the issue of storing the data. Currently the My plan would be to write an additional method that stores a Do you agree with that plan? And if so, do you want me to implement the whole thing or make it a skeleton implementation until we dicussed the elastic data model changes in depth? |
…nses and developers
…g, but no parent processing yet. Also no storage yet
…nd NOT optimized, but working
…ified in file itself, but in parent
…the whole parent hierarchy. Parents are only downloaded once, however, currently for every POM, not on-demand.
…least one version / attribute failed to resolve locally. However, if any parent is required the whole hierarchy will be downloaded! Fixed a bug in test shutdown.
Here's the latest update to this PR:
I tested the application on my machine using a fresh elasticsearch instance (version 5.6.9), and POM file processing seems to work fine. For me, the only thing left to discuss is a suitable data model for storing the data. Using the current implementation, a search query to ElasticSearch yields the following result:
I am unsure whether or not this is the correct way to deal with lists (for dependencies and licenses) in ElasticSearch. @bhermann what is your opinion on that ? |
Kudos, SonarCloud Quality Gate passed!
|
Closed as this functionality is now part of the redesign proposed in #50 |
Reason for this PR
According to #15, the Delphi crawler does not process any artifact information stored in the respective POM file yet. This means that potentially interesting data fields (including project name, description, etc..) are not accessible when querying Delphi. In addition to that, the publication date of an artifact is not processed either (see #37).
Changes in this PR
MavenArtifact
class with optional attributespublicationDate
andmetadata
of type ArtifactMetadataArtifactMetadata
that is supposed to hold information parsed from POM files, currentlyname
,description
and system name & URL of theissueManagement
MavenDownloadActor
and set accordinglyPomFileReadActor
. Reads POM file for a givenMavenArtifact
and sets theArtifactMetadata
accordingly. Currently triggered in theMavenDiscoveryProcess
as part of preprocessing. Uses Apache Xpp3Reader for POM file processing.Open for discussion
@bhermann , what's your opinion on these questions?