blob: 12eb7e5682fdf0b807f39e0be1c36d1c7878f45c [file] [log] [blame]
/*
* Copyright 2000-2012 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jetbrains.jps.android.model.impl;
import com.android.SdkConstants;
import com.google.common.collect.Sets;
import com.intellij.util.xmlb.annotations.AbstractCollection;
import com.intellij.util.xmlb.annotations.Attribute;
import com.intellij.util.xmlb.annotations.Tag;
import org.jetbrains.android.util.AndroidCommonUtils;
import java.util.*;
/**
* @author nik
*/
public class JpsAndroidModuleProperties {
public String SELECTED_BUILD_VARIANT = "";
public String SELECTED_TEST_ARTIFACT = "";
public String ASSEMBLE_TASK_NAME = "";
public String COMPILE_JAVA_TASK_NAME = "";
public String ASSEMBLE_TEST_TASK_NAME = "";
public String COMPILE_JAVA_TEST_TASK_NAME = "";
@Tag("afterSyncTasks")
@AbstractCollection(surroundWithTag = false, elementTag = "task", elementValueAttribute = "")
public Set<String> AFTER_SYNC_TASK_NAMES = Sets.newHashSet();
// This value is false when the Android project is Gradle-based.
public boolean ALLOW_USER_CONFIGURATION = true;
public String GEN_FOLDER_RELATIVE_PATH_APT = "/" + SdkConstants.FD_GEN_SOURCES;
public String GEN_FOLDER_RELATIVE_PATH_AIDL = "/" + SdkConstants.FD_GEN_SOURCES;
public String MANIFEST_FILE_RELATIVE_PATH = "/" + SdkConstants.FN_ANDROID_MANIFEST_XML;
public String RES_FOLDER_RELATIVE_PATH = "/" + SdkConstants.FD_RES;
public String RES_FOLDERS_RELATIVE_PATH;
public String ASSETS_FOLDER_RELATIVE_PATH = "/" + SdkConstants.FD_ASSETS;
public String LIBS_FOLDER_RELATIVE_PATH = "/" + SdkConstants.FD_NATIVE_LIBS;
public boolean USE_CUSTOM_APK_RESOURCE_FOLDER = false;
public String CUSTOM_APK_RESOURCE_FOLDER = "";
public boolean USE_CUSTOM_COMPILER_MANIFEST = false;
public String CUSTOM_COMPILER_MANIFEST = "";
public String APK_PATH = "";
public boolean LIBRARY_PROJECT = false;
public boolean RUN_PROCESS_RESOURCES_MAVEN_TASK = true;
public String CUSTOM_DEBUG_KEYSTORE_PATH = "";
public boolean PACK_TEST_CODE = false;
public boolean RUN_PROGUARD = false;
public String PROGUARD_LOGS_FOLDER_RELATIVE_PATH = "/" + AndroidCommonUtils.DIRECTORY_FOR_LOGS_NAME;
@Tag("proGuardCfgFiles")
@AbstractCollection(surroundWithTag = false, elementTag = "file", elementValueAttribute = "")
public List<String> myProGuardCfgFiles = new ArrayList<String>(Arrays.asList(AndroidCommonUtils.PROGUARD_SYSTEM_CFG_FILE_URL));
public boolean USE_CUSTOM_MANIFEST_PACKAGE = false;
public String CUSTOM_MANIFEST_PACKAGE = "";
public String ADDITIONAL_PACKAGING_COMMAND_LINE_PARAMETERS = "";
public String UPDATE_PROPERTY_FILES = "";
public boolean ENABLE_MANIFEST_MERGING = false;
public boolean ENABLE_PRE_DEXING = true;
public boolean COMPILE_CUSTOM_GENERATED_SOURCES = true;
public boolean ENABLE_SOURCES_AUTOGENERATION = true;
@Tag(AndroidCommonUtils.INCLUDE_ASSETS_FROM_LIBRARIES_ELEMENT_NAME)
public boolean myIncludeAssetsFromLibraries = false;
@Tag("resOverlayFolders")
@AbstractCollection(surroundWithTag = false, elementTag = "path", elementValueAttribute = "")
public List<String> RES_OVERLAY_FOLDERS = new ArrayList<String>();
@Tag(AndroidCommonUtils.ADDITIONAL_NATIVE_LIBS_ELEMENT)
@AbstractCollection(surroundWithTag = false)
public List<AndroidNativeLibDataEntry> myNativeLibs = new ArrayList<AndroidNativeLibDataEntry>();
@Tag("notImportedProperties")
@AbstractCollection(surroundWithTag = false, elementTag = "property", elementValueAttribute = "")
public Set<AndroidImportableProperty> myNotImportedProperties = EnumSet.noneOf(AndroidImportableProperty.class);
@Tag(AndroidCommonUtils.ITEM_ELEMENT)
public static class AndroidNativeLibDataEntry {
@Attribute(AndroidCommonUtils.ARCHITECTURE_ATTRIBUTE)
public String myArchitecture;
@Attribute(AndroidCommonUtils.URL_ATTRIBUTE)
public String myUrl;
@Attribute(AndroidCommonUtils.TARGET_FILE_NAME_ATTRIBUTE)
public String myTargetFileName;
}
}