Ask A Question

View Question

We have multiple applications which share dependencies, but each application with will use a mix of these dependencies and versions.
e.g. app1 uses dep1 dep2
app2 uses dep2 dep3 dep4 etc etc
The applications and dependencies (some with multiple versions) all have there own packages.
Using virtual packages we pull the the required application and its correct dependencies together, but on install from the virtual package the dependencies appear at the top of the tree along with the application.
app1
dep1
dep2
We would like them to be a subfolder under the application.
app1
app1/dep1
app1/dep2 etc
Is it possible for the vpack manifest to manage this? All my attempts so far have been unfruitful. Appreciate is anyone can provide an example of how the manifest content would be structured.
Thanks in advance.

Product: ProGet
Version: 5.1.8

Hi Charles,

Thanks for the inquiry; can you share what you've tried so far, as far as a manifest file?

Without more speciifcs it can be hard to give better advice, but so far this sees like a job for virtualDirectories...

{
 "name": "app1",
 "version": "2.2.1",
 "contents": [
   {
    "type": "virtualDirectory",
    "virtualPath": "path/you/want/dep1",
    "source": "dep1:1.0.0"
   },
   {
    "type": "virtualDirectory",
    "virtualPath": "path/you/want/dep1",
    "source": "dep2:1.0.0"
   }
  ]
}

Thanks Alana, I did try virtualDirectories to no avail. Much the same as you provided. Although they vpack gets pushed to proget, the download returns an unknown contents message . Have settled for:
"contents": ["app1:2.2.1", "dep1:1.0.0","dep2:1.0.0"]

which give us all the content we need, but just doesn't nest the dependencies under app1. But we can move these as an after job.

hi Charlie,

Can you provide us with a very specific reproduction case?

Here is a very specific case where it's working as expected...

{
 "name": "dfhack-test-1",
 "version": "0.44.12-r2.p190516000",
 "contents": [
   {
    "type": "virtualDirectory",
    "source": "dwarffortress/core/linux64:0.44.12"
   },
   {
    "type": "virtualDirectory",
    "source": "dfhack/core/linux64:0.44.12-r2"
   },
   {
    "type": "virtualDirectory",
    "virtualPath": "hack/plugins",
    "source": "dfhack/plugin/weblegends/linux64-pre:0.44.12-r2.p190516000"
   },
   {
    "type": "virtualDirectory",
    "virtualPath": "hack/plugins",
    "source": "dfhack/plugin/df-ai/linux64-pre:0.44.12-r2.p190516000"
   }
  ]
}

You can see this package live at https://proget.lubar.me/feeds/DwarfFortress-prerelease/dfhack-test-1/0.44.12-r2.p190516000

Answer Question