All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.bdeploy.api.product.v1.ApplicationDescriptorApi Maven / Gradle / Ivy

Go to download

Public API including dependencies, ready to be used for integrations and plugins.

The newest version!
package io.bdeploy.api.product.v1;

import java.util.ArrayList;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;

import com.fasterxml.jackson.annotation.JsonPropertyDescription;

import io.bdeploy.api.product.v1.impl.ScopedManifestKey;
import io.bdeploy.common.util.OsHelper.OperatingSystem;

public class ApplicationDescriptorApi {

    /**
     * The name under which the {@link ApplicationDescriptorApi} can be found in a
     * conforming application folder.
     */
    public static final String FILE_NAME = "app-info.yaml";

    /**
     * Operating systems which are supported by this app-info.yaml.
     * 

* The purpose of this information is solely verification of product configuration * during creation of products which include platform specific applications. */ @JsonPropertyDescription("The supported operating systems this application can run on.") public List supportedOperatingSystems = new ArrayList<>(); /** * Additional dependencies of the application. *

* Runtime dependencies are resolved at two points in time: *

    *
  • When creating a product which includes this application. The product always includes applications * for a specific operating system, thus this operating system is used to resolve dependencies.
  • *
  • When creating an InstanceNodeManifest which includes this application for a specific (the node's) * operating system, in which case the dependency is resolved against the actual OS.
  • *
*

* The dependency must include a name and a tag. This name and tag are used to * construct {@link ScopedManifestKey}s which are os specific, using the OS provided * by the current context. */ @JsonPropertyDescription("A set of dependencies which must be included in the product along with the application. These dependencies can be referenced from commands, parameters, etc. using variable expansion.") public SortedSet runtimeDependencies = new TreeSet<>(); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy