/* * 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.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 ASSEMBLE_TASK_NAME = ""; public String COMPILE_JAVA_TASK_NAME = ""; public String ASSEMBLE_TEST_TASK_NAME = ""; public String SOURCE_GEN_TASK_NAME = ""; public String TEST_SOURCE_GEN_TASK_NAME = ""; // 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; } }