# How to bundle packages?

**URL:** <https://forum.opentap.io/t/how-to-bundle-packages/984>\
**Category:** General\
**Created:** [January 4, 2023, 7:50am UTC](https://forum.opentap.io/t/how-to-bundle-packages/984 "2023-01-04T07:50:48Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![btyilmaz](https://avatars.discourse-cdn.com/v4/letter/b/a3d4f5/32.png) [@btyilmaz](https://forum.opentap.io/u/btyilmaz)\
**Post date:** [January 4, 2023, 7:50am UTC](https://forum.opentap.io/t/how-to-bundle-packages/984/1 "2023-01-04T07:50:48Z")

</div>

Hi,

I developed multiple plugins in different packages. Is there a way to bundle them into a single package? I read the documents and i couldn’t achieve to create a .TapPackages mentioned [here](https://doc.opentap.io/Developer%20Guide/Plugin%20Packaging%20and%20Versioning/#packaging-configuration-file:~:text=If%20the%20package,package%20distribution%20easier.).

I saw some packages in the package repository of OpenTap that just includes package dependencies in the package.xml file. For example, DMM package include three different package dependencies, and when I install DMM package it automatically installs all dependencies.

This is what I want to achieve, I have three different .TapPackages and bundle them into a single package and when this bundled package is installed, all the dependencies should be installed also.

When I build the bundled package in VS, it gives the error _“Package dependency ‘package name’ specified in package definition is not installed. Please install a compatible version first.”_

---

<div class="post-metadata">

**Author:** ![rolf\_madsen](https://avatars.discourse-cdn.com/v4/letter/r/43a26b/32.png) [@rolf\_madsen](https://forum.opentap.io/u/rolf_madsen)\
**Post date:** [January 4, 2023, 12:15pm UTC](https://forum.opentap.io/t/how-to-bundle-packages/984/2 "2023-01-04T12:15:32Z")

</div>

Yes, you can make something like the DMM plugin.

All you need to to is to create a package with the ‘bundle’ class in addition to your other packages:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<Package Name="TestPackageBundle" xmlns="http://opentap.io/schemas/package" InfoLink="" Version="0.1.0-alpha" Class="bundle" FileType="tappackage" OS="Windows,Linux">
    <Dependencies>
        <PackageDependency Package="Package1" Version="^0.1.0-alpha" />
        <PackageDependency Package="Package2" Version="^0.1.0-alpha" />
        <PackageDependency Package="Package3" Version="^0.1.0-alpha" />
    </Dependencies>
</Package>

```

Then from your other installation it needs access to Package1, Package2, Package3 and TestPackageBundle. Then when you install TestPackageBundle, it should install the dependencies as well.
