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

org.moe.gradle.options.IpaExportOptions Maven / Gradle / Ivy

package org.moe.gradle.options;

import org.moe.gradle.anns.IgnoreUnused;
import org.moe.gradle.anns.Nullable;

public class IpaExportOptions {

    /**
     * (String) Describes how Xcode should export the archive. Available options: app-store, ad-hoc, package,
     * enterprise, development, and developer-id. The list of options varies based on the type of archive.
     * Defaults to development.
     */
    @Nullable
    private String method;

    @Nullable
    public String getMethod() {
        return method;
    }

    @IgnoreUnused
    public void setMethod(@Nullable String method) {
        this.method = method;
    }

    /**
     * (Boolean) Option to include symbols in the generated ipa file.
     */
    private boolean uploadSymbols = true;

    public boolean getUploadSymbols() {
        return uploadSymbols;
    }

    @IgnoreUnused
    public void setUploadSymbols(boolean uploadSymbols) {
        this.uploadSymbols = uploadSymbols;
    }

    /**
     * (Boolean) Option to include Bitcode.
     */
    private boolean uploadBitcode = false;

    public boolean getUploadBitcode() {
        return uploadBitcode;
    }

    @IgnoreUnused
    public void setUploadBitcode(boolean uploadBitcode) {
        this.uploadBitcode = uploadBitcode;
    }

    /**
     * (Boolean) For non-App Store exports, should Xcode re-compile the app from bitcode? Defaults to FALSE.
     */
    private boolean compileBitcode = false;

    public boolean getCompileBitcode() {
        return compileBitcode;
    }

    @IgnoreUnused
    public void setCompileBitcode(boolean compileBitcode) {
        this.compileBitcode = compileBitcode;
    }

    /**
     * (Boolean) For non-App Store exports, if the app uses On Demand Resources and this is YES,
     * asset packs are embedded in the app bundle so that the app can be tested without a server to host asset packs.
     * Defaults to YES unless onDemandResourcesAssetPacksBaseURL is specified.
     */
    private boolean embedOnDemandResourcesAssetPacksInBundle = true;

    public boolean getEmbedOnDemandResourcesAssetPacksInBundle() {
        return embedOnDemandResourcesAssetPacksInBundle;
    }

    @IgnoreUnused
    public void setEmbedOnDemandResourcesAssetPacksInBundle(boolean embedOnDemandResourcesAssetPacksInBundle) {
        this.embedOnDemandResourcesAssetPacksInBundle = embedOnDemandResourcesAssetPacksInBundle;
    }

    /**
     * For non-App Store exports, if the app is using CloudKit, this configures
     * the "com.apple.developer.icloud-container-environment" entitlement. Available options: Development and Production.
     * Defaults to Development.
     */
    String iCloudContainerEnvironment;

    public String getICloudContainerEnvironment() {
        return iCloudContainerEnvironment;
    }

    @IgnoreUnused
    public void setICloudContainerEnvironment(String iCloudContainerEnvironment) {
        this.iCloudContainerEnvironment = iCloudContainerEnvironment;
    }

    /**
     * manifest : Dictionary
     *
     * For non-App Store exports, users can download your app over the web by opening your distribution manifest file
     * in a web browser. To generate a distribution manifest, the value of this key should be a dictionary with
     * three sub-keys: appURL, displayImageURL, fullSizeImageURL. The additional sub-key assetPackManifestURL is required
     * when using on demand resources.
     */

    String appURL;

    public String getAppURL() {
        return appURL;
    }

    @IgnoreUnused
    public void setAppURL(String appURL) {
        this.appURL = appURL;
    }

    String displayImageURL;

    public String getDisplayImageURL() {
        return displayImageURL;
    }

    @IgnoreUnused
    public void setDisplayImageURL(String displayImageURL) {
        this.displayImageURL = displayImageURL;
    }

    String fullSizeImageURL;

    public String getFullSizeImageURL() {
        return fullSizeImageURL;
    }

    @IgnoreUnused
    public void setFullSizeImageURL(String fullSizeImageURL) {
        this.fullSizeImageURL = fullSizeImageURL;
    }

    /**
     * Describes how Xcode should export the archive. Available options: app-store, ad-hoc, package, enterprise,
     * development, and developer-id. The list of options varies based on the type of archive. Defaults to development.
     */
    String onDemandResourcesAssetPacksBaseURL;

    public String getOnDemandResourcesAssetPacksBaseURL() {
        return onDemandResourcesAssetPacksBaseURL;
    }

    @IgnoreUnused
    public void setOnDemandResourcesAssetPacksBaseURL(String onDemandResourcesAssetPacksBaseURL) {
        this.onDemandResourcesAssetPacksBaseURL = onDemandResourcesAssetPacksBaseURL;
    }

    /**
     * For non-App Store exports, should Xcode thin the package for one or more device variants?
     * Available options:  (Xcode produces a non-thinned universal app), 
     * (Xcode produces a universal app and all available thinned variants), or a model identifier for a specific
     * device (e.g. "iPhone7,1"). Defaults to .
     */
    String thinning;

    public String getThinning() {
        return thinning;
    }

    @IgnoreUnused
    public void setThinning(String thinning) {
        this.thinning = thinning;
    }

    /**
     * Defined export options plist file path
     */
    String plistFile;

    public String getPlistFile() {
        return plistFile;
    }

    @IgnoreUnused
    public void setPlistFile(String plistFile) {
        this.plistFile = plistFile;
    }

    public boolean isUserDefinedExportPlist() {
        return plistFile != null;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy