3

I want to store RTL modules (Mostly VHDL files - .vhd) in Artifactory, and be able to trace the dependencies of those packages with Xray and the other Jfrog services.

I already have a pretty clean "package" format, I just want to have Artifactory parse my meta-data files on upload that are part of that package, the same way it does control files in a debian package.

Is this possible? And where would I start?

Dror Bereznitsky
  • 20,048
  • 3
  • 48
  • 57
  • Start with emailing Jfrog support? (hurry up before they close for the holidays) – ddbug Sep 23 '16 at 16:25
  • 1
    They used to have a forum on their website, they closed it and asked people to post here exclusively. --> http://forums.jfrog.org/IMPORTANT-READ-THIS-BEFORE-REGISTERING-AND-REQUESTING-ACCESS-THIS-FORUM-IS-CLOSED-td7581183.html I'm evaluating it at the moment and I do have a conference call scheduled for later today. – Jedidiah Bartlett Sep 23 '16 at 16:29
  • Is it wise to store hardware designs in a software package management system? Do you know FuseSoC? – Paebbels Sep 23 '16 at 18:00
  • @Paebbels - We've been doing this for years now with great success (Mostly because we maintain extremely rigid inter-module interfaces), but we've just been using a network drive to store "Releases". I'm looking for something a little more sophisticated to create a catalog of the library of modules we already have. Our existing solution works great, but has a hard time scaling to multiple development teams. – Jedidiah Bartlett Sep 23 '16 at 18:11
  • Do you have a link, where I can find more information on your work? I'm involved in the [PoC-Library](https://github.com/VLSI-EDA/PoC?ts=2). We ship our Git repository with a Python infrastructure. Please contact me by [e-mail](https://github.com/VLSI-EDA/PoC/blob/master/AUTHORS.md?ts=2), because this is not really related to your question :). – Paebbels Sep 23 '16 at 18:34

1 Answers1

3

Since you mentioned Xray, it’s important to note that XRay supports only the certain types of files it supports (and these have to reside within a supported repository type). I’m not sure what you mean by “tracking dependencies” but I should note that XRay is mostly good at scanning code components and identifying vulnerabilities.

To simply track dependencies (i.e methodically know which dependencies are associated with a certain package) you can use the various Build Info integrations. Read about this here: https://www.jfrog.com/confluence/display/RTF/Build+Integration

If you associate your files with a certain build info object (a metadata object that stores build-related information), you’ll be able to track build artifacts and dependencies in the Artifactory UI and even query for them using the Artifactory Query Language. There are various options (CI plugins) depending on which CI server you are using, but in general all of the JFrog CI plugins serve the same purpose, which is uploading your content to Artifactory and keeping track of build metadata, such as build dependencies.

With regards to your question, you didn’t elaborate on your end goal but you should be able to achieve this using a User Plugin. User Plugins can be used to extend Artifactory’s built-in capabilities and add your own business logic to procedures in Artifactory (like a deployment of a file). You can read more about this here: https://www.jfrog.com/confluence/display/RTF/User+Plugins

There are many examples on our public Github repository that will probably help: https://github.com/JFrogDev/artifactory-user-plugins

Uriah L.
  • 621
  • 5
  • 5