diff --git a/External/Plugins/AirProperties/Managers/PropertyManager.cs b/External/Plugins/AirProperties/Managers/PropertyManager.cs index a90a0c5955..550ce0751e 100644 --- a/External/Plugins/AirProperties/Managers/PropertyManager.cs +++ b/External/Plugins/AirProperties/Managers/PropertyManager.cs @@ -20,7 +20,7 @@ class PropertyManager private static AirVersion _version; private static Boolean _unsupportedVersion; private const String _BaseAirNamespace = "http://ns.adobe.com/air/application/"; - private const String _MaxSupportedVersion = "4.0"; + private const String _MaxSupportedVersion = "13.0"; public enum AirVersion { @@ -42,7 +42,8 @@ public enum AirVersion V37 = 16, // Version 3.7 V38 = 17, // Version 3.8 V39 = 18, // Version 3.9 - V40 = 19 // Version 4.0 + V40 = 19, // Version 4.0 + V130 = 20 // Version 13.0 } public static Exception LastException @@ -115,11 +116,12 @@ public static Boolean InitializeProperties(string filePath) else if (nsuri.StartsWith(_BaseAirNamespace + "3.8")) _version = AirVersion.V38; else if (nsuri.StartsWith(_BaseAirNamespace + "3.9")) _version = AirVersion.V39; else if (nsuri.StartsWith(_BaseAirNamespace + "4.0")) _version = AirVersion.V40; + else if (nsuri.StartsWith(_BaseAirNamespace + "13.0")) _version = AirVersion.V130; else { // Is a valid AIR descriptor, but version not supported so default to max supported version _unsupportedVersion = true; - _version = AirVersion.V40; + _version = AirVersion.V130; } } _namespaceManager = new XmlNamespaceManager(_descriptorFile.NameTable); diff --git a/External/Tools/AppMan/MainForm.cs b/External/Tools/AppMan/MainForm.cs index eb1b9d6cea..6a0ea24035 100644 --- a/External/Tools/AppMan/MainForm.cs +++ b/External/Tools/AppMan/MainForm.cs @@ -396,7 +396,18 @@ private void DeleteButtonClick(Object sender, EventArgs e) this.RunExecutableProcess(tempFile); } #endif - Directory.Delete(Path.Combine(PathHelper.APPS_DIR, entry.Id), true); + String folder = Path.Combine(PathHelper.APPS_DIR, entry.Id); + // Sometimes we might get "dir not empty" error, try 10 times... + for (Int32 attempts = 0; attempts < 10; attempts++) + { + try + { + if (Directory.Exists(folder)) Directory.Delete(folder, true); + return; + } + catch (IOException) { Thread.Sleep(50); } + } + throw new Exception("Could not delete the directory:\n" + folder); } } } diff --git a/External/Tools/AppMan/Utilities/ZipHelper.cs b/External/Tools/AppMan/Utilities/ZipHelper.cs index 8d9777632f..358b2a52ec 100644 --- a/External/Tools/AppMan/Utilities/ZipHelper.cs +++ b/External/Tools/AppMan/Utilities/ZipHelper.cs @@ -3,6 +3,9 @@ using System.Text; using System.Collections.Generic; using ICSharpCode.SharpZipLib.Zip; +using System.Runtime.InteropServices; +using Microsoft.Win32.SafeHandles; +using System.Globalization; namespace AppMan.Utilities { @@ -32,7 +35,12 @@ public static void ExtractZip(String file, String path) { Directory.CreateDirectory(dirPath); } - FileStream extracted = new FileStream(entry.Name, FileMode.Create); + String fullPath = Path.Combine(path, entry.Name); + #if WIN32 + FileStream extracted = LongPathFileOpen(fullPath); + #else + FileStream extracted = File.Open(fullPath, FileMode.Create, FileAccess.Write); + #endif while (true) { size = zis.Read(data, 0, data.Length); @@ -56,6 +64,57 @@ public static void ExtractZip(String file, String path) Environment.CurrentDirectory = curDir; } + #region LongPath + + // See: http://bcl.codeplex.com/wikipage?title=Long%20Path&referringTitle=Home + + #if WIN32 + + private const string LongPathPrefix = @"\\?\"; + + [Flags] + internal enum EFileAccess : uint + { + GenericRead = 0x80000000, + GenericWrite = 0x40000000, + GenericExecute = 0x20000000, + GenericAll = 0x10000000, + } + + [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)] + internal static extern uint GetFullPathName(string lpFileName, uint nBufferLength, StringBuilder lpBuffer, IntPtr mustBeNull); + + [DllImport("kernel32.dll", SetLastError = true, CharSet = CharSet.Unicode)] + internal static extern SafeFileHandle CreateFile(string lpFileName, EFileAccess dwDesiredAccess, uint dwShareMode, IntPtr lpSecurityAttributes, uint dwCreationDisposition, uint dwFlagsAndAttributes, IntPtr hTemplateFile); + + public static FileStream LongPathFileOpen(string path) + { + string normalizedPath = NormalizeLongPath(path); + SafeFileHandle handle = CreateFile(normalizedPath, EFileAccess.GenericWrite, (uint)FileShare.None, IntPtr.Zero, (uint)FileMode.Create, (uint)FileOptions.None, IntPtr.Zero); + if (handle.IsInvalid) throw new Exception("Error while resolving path."); + return new FileStream(handle, FileAccess.Write, 1024, false); + } + + internal static string NormalizeLongPath(string path) + { + StringBuilder buffer = new StringBuilder(path.Length + 1); + uint length = GetFullPathName(path, (uint)buffer.Capacity, buffer, IntPtr.Zero); + if (length > buffer.Capacity) + { + buffer.Capacity = (int)length; + length = GetFullPathName(path, length, buffer, IntPtr.Zero); + } + if (length == 0 || length > 32000) + { + throw new Exception("Error while resolving path."); + } + return LongPathPrefix + buffer.ToString(); + } + + #endif + + #endregion + } } diff --git a/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/Project.as3proj b/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/Project.as3proj index 75a5995aed..c35b3cc103 100644 --- a/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/Project.as3proj +++ b/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/Project.as3proj @@ -8,7 +8,7 @@ - + diff --git a/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/application.xml.template b/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/application.xml.template index a1d9b2775d..b4d65c0da3 100644 --- a/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/application.xml.template +++ b/FlashDevelop/Bin/Debug/Projects/160 ActionScript 3 - AIR AS3 Projector/application.xml.template @@ -1,5 +1,5 @@  - + $(PACKAGEDOT)$(PROJECTID) 1.0 diff --git a/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/Project.as3proj b/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/Project.as3proj index 51c9dadba1..489ac6afdc 100644 --- a/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/Project.as3proj +++ b/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/Project.as3proj @@ -8,7 +8,7 @@ - + diff --git a/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/application.xml.template b/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/application.xml.template index 627b6e0ea7..ebfda29f13 100644 --- a/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/application.xml.template +++ b/FlashDevelop/Bin/Debug/Projects/180 ActionScript 3 - AIR Flex 4 Projector/application.xml.template @@ -1,5 +1,5 @@  - + $(PACKAGEDOT)$(PROJECTID) 1.0 diff --git a/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/Project.as3proj b/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/Project.as3proj index bdbb1ca43d..b2705e8a8d 100644 --- a/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/Project.as3proj +++ b/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/Project.as3proj @@ -8,7 +8,7 @@ - + diff --git a/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/application.xml.template b/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/application.xml.template index 54e81919fe..b9f2cf66b3 100644 --- a/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/application.xml.template +++ b/FlashDevelop/Bin/Debug/Projects/190 ActionScript 3 - AIR Mobile AS3 App/application.xml.template @@ -1,5 +1,5 @@  - + air.$(PACKAGEDOT)$(PROJECTID) 0.1 diff --git a/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/Project.as3proj b/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/Project.as3proj index 7293bc0f82..f952c8a799 100644 --- a/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/Project.as3proj +++ b/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/Project.as3proj @@ -8,7 +8,7 @@ - + diff --git a/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/application.xml.template b/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/application.xml.template index 0200ba5afb..ec198ee311 100644 --- a/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/application.xml.template +++ b/FlashDevelop/Bin/Debug/Projects/195 ActionScript 3 - AIR Mobile Flex App/application.xml.template @@ -1,5 +1,5 @@  - + air.$(PACKAGEDOT)$(PROJECTID) 0.1 diff --git a/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/Project.hxproj b/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/Project.hxproj index 7799882f3e..22b331ef0c 100644 --- a/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/Project.hxproj +++ b/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/Project.hxproj @@ -8,7 +8,7 @@ - + diff --git a/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/application.xml.template b/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/application.xml.template index a1d9b2775d..b4d65c0da3 100644 --- a/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/application.xml.template +++ b/FlashDevelop/Bin/Debug/Projects/315 Haxe - AIR AS3 Projector/application.xml.template @@ -1,5 +1,5 @@  - + $(PACKAGEDOT)$(PROJECTID) 1.0 diff --git a/FlashDevelop/Bin/Debug/Tools/appman/AppMan.exe b/FlashDevelop/Bin/Debug/Tools/appman/AppMan.exe index fc67c8c3a3..1fb3ea58b3 100644 Binary files a/FlashDevelop/Bin/Debug/Tools/appman/AppMan.exe and b/FlashDevelop/Bin/Debug/Tools/appman/AppMan.exe differ diff --git a/FlashDevelop/Bin/Debug/Tools/flexlibs/frameworks/libs/player/13.0/playerglobal.swc b/FlashDevelop/Bin/Debug/Tools/flexlibs/frameworks/libs/player/13.0/playerglobal.swc new file mode 100644 index 0000000000..7624ad6377 Binary files /dev/null and b/FlashDevelop/Bin/Debug/Tools/flexlibs/frameworks/libs/player/13.0/playerglobal.swc differ diff --git a/FlashDevelop/Installer/Installer.nsi b/FlashDevelop/Installer/Installer.nsi index 5739868056..e241ea8c17 100644 --- a/FlashDevelop/Installer/Installer.nsi +++ b/FlashDevelop/Installer/Installer.nsi @@ -9,12 +9,12 @@ ;-------------------------------- ; Define version info -!define VERSION "4.6.1" +!define VERSION "4.6.2" ; Installer details VIAddVersionKey "CompanyName" "FlashDevelop.org" VIAddVersionKey "ProductName" "FlashDevelop Installer" -VIAddVersionKey "LegalCopyright" "FlashDevelop.org 2005-2013" +VIAddVersionKey "LegalCopyright" "FlashDevelop.org 2005-2014" VIAddVersionKey "FileDescription" "FlashDevelop Installer" VIAddVersionKey "ProductVersion" "${VERSION}.0" VIAddVersionKey "FileVersion" "${VERSION}.0" diff --git a/FlashDevelop/Properties/AssemblyInfo.cs.rev b/FlashDevelop/Properties/AssemblyInfo.cs.rev index 93b3b6a312..005ce5ab4c 100644 --- a/FlashDevelop/Properties/AssemblyInfo.cs.rev +++ b/FlashDevelop/Properties/AssemblyInfo.cs.rev @@ -10,8 +10,8 @@ using System.Resources; // [assembly: AssemblyTitle("FlashDevelop 4")] [assembly: AssemblyDescription("FlashDevelop is an open source script editor.")] -[assembly: AssemblyProduct("FlashDevelop 4.6.1$BUILD$ for .NET 2.0 ($BRANCH$#$COMMIT$)")] -[assembly: AssemblyCopyright("FlashDevelop.org 2005-2013")] +[assembly: AssemblyProduct("FlashDevelop 4.6.2$BUILD$ for .NET 2.0 ($BRANCH$#$COMMIT$)")] +[assembly: AssemblyCopyright("FlashDevelop.org 2005-2014")] [assembly: AssemblyCompany("FlashDevelop.org")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyTrademark("")] diff --git a/PluginCore/PluginCore/PlatformData.cs b/PluginCore/PluginCore/PlatformData.cs index 33a5a651bb..772c19aa95 100644 --- a/PluginCore/PluginCore/PlatformData.cs +++ b/PluginCore/PluginCore/PlatformData.cs @@ -9,13 +9,13 @@ namespace PluginCore public class PlatformData { public static String DEFAULT_NME_VERSION = "3.0"; - public static String DEFAULT_AIR_VERSION = "4.0"; - public static String DEFAULT_AIR_MOBILE_VERSION = "4.0"; - public static String DEFAULT_FLASH_VERSION = "12.0"; - public static String[] AIR_VERSIONS = new String[] { "1.5", "2.0", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "4.0" }; - public static String[] AIR_MOBILE_VERSIONS = new String[] { "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "4.0" }; - public static String[] FLASH_VERSIONS = new String[] { "9.0", "10.0", "10.1", "10.2", "10.3", "11.0", "11.1", "11.2", "11.3", "11.4", "11.5", "11.6", "11.7", "11.8", "11.9", "12.0" }; - public static String[] SWF_VERSIONS = new String[] { "9", "10", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23" }; + public static String DEFAULT_AIR_VERSION = "13.0"; + public static String DEFAULT_AIR_MOBILE_VERSION = "13.0"; + public static String DEFAULT_FLASH_VERSION = "13.0"; + public static String[] AIR_VERSIONS = new String[] { "1.5", "2.0", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "4.0", "13.0" }; + public static String[] AIR_MOBILE_VERSIONS = new String[] { "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "3.3", "3.4", "3.5", "3.6", "3.7", "3.8", "3.9", "4.0", "13.0" }; + public static String[] FLASH_VERSIONS = new String[] { "9.0", "10.0", "10.1", "10.2", "10.3", "11.0", "11.1", "11.2", "11.3", "11.4", "11.5", "11.6", "11.7", "11.8", "11.9", "12.0", "13.0" }; + public static String[] SWF_VERSIONS = new String[] { "9", "10", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24" }; public static String[] NME_TARGETS = new String[] { "flash", "html5", "windows", "neko", "android", "webos", "blackberry" }; public static String[] NME_VERSIONS = new String[] { "3.0" }; @@ -54,7 +54,8 @@ public static void GuessFlashPlayerForAIR(ref Int32 majorVersion, ref Int32 mino else if (v < 3.8) { majorVersion = 11; minorVersion = 7; } else if (v < 3.9) { majorVersion = 11; minorVersion = 8; } else if (v < 4.0) { majorVersion = 11; minorVersion = 9; } - else { majorVersion = 12; minorVersion = 0; } + else if (v < 13.0) { majorVersion = 12; minorVersion = 0; } + else { majorVersion = 13; minorVersion = 0; } } } diff --git a/appman.xml b/appman.xml index f806130e29..e5a338e391 100644 --- a/appman.xml +++ b/appman.xml @@ -10,72 +10,72 @@ http://www.adobe.com/devnet/flex.html http://fpdownload.adobe.com/pub/flex/sdk/builds/flex4.6/flex_sdk_4.6.0.23201B.zip - http://www.flashdevelop.org/appman/frameworks_flexsdk.zip + http://www.flashdevelop.org/appman/frameworks_flexsdk_9-13.zip flexairsdk Flex + AIR SDK - 4.6.0+4.0.0 - 23201B+1628 + 4.6.0+13.0.0 + 23201B+83 Adobe Flex SDK merged with Adobe AIR SDK http://www.adobe.com/devnet/air.html AS3 http://fpdownload.adobe.com/pub/flex/sdk/builds/flex4.6/flex_sdk_4.6.0.23201B.zip - http://airdownload.adobe.com/air/win/download/4.0/AdobeAIRSDK.zip - http://www.flashdevelop.org/appman/frameworks_flexsdk.zip + http://airdownload.adobe.com/air/win/download/13.0/AdobeAIRSDK.zip + http://www.flashdevelop.org/appman/frameworks_flexsdk_9-13.zip ascsdk AIR SDK + ASC 2.0 - 4.0.0 - 1628 + 13.0.0 + 83 Adobe AIR SDK with ASC 2.0 http://www.adobe.com/devnet/air.html AS3 - http://airdownload.adobe.com/air/win/download/4.0/AIRSDK_Compiler.zip - http://www.flashdevelop.org/appman/frameworks_flexsdk.zip + http://airdownload.adobe.com/air/win/download/13.0/AIRSDK_Compiler.zip + http://www.flashdevelop.org/appman/frameworks_flexsdk_9-13.zip flashsa Flash Player (SA) - 12.0 - 0.77 + 13.0.0 + 182 Standalone debug Flash Player AS3 http://www.adobe.com/support/flashplayer/downloads.html - http://download.macromedia.com/pub/flashplayer/updaters/12/flashplayer_12_sa_debug.exe + http://download.macromedia.com/pub/flashplayer/updaters/13/flashplayer_13_sa_debug.exe flashns Flash Player (NS) - 12.0 - 0.77 + 13.0.0 + 182 Debug Flash Player plugin for Netscape browsers AS3 Executable http://www.adobe.com/support/flashplayer/downloads.html - http://download.macromedia.com/pub/flashplayer/updaters/12/flashplayer_12_plugin_debug.exe + http://download.macromedia.com/pub/flashplayer/updaters/13/flashplayer_13_plugin_debug.exe flashie Flash Player (AX) - 12.0 - 0.77 + 13.0.0 + 182 Debug Flash Player plugin for Interner Explorer AS3 Executable http://www.adobe.com/support/flashplayer/downloads.html - http://download.macromedia.com/pub/flashplayer/updaters/12/flashplayer_12_ax_debug.exe + http://download.macromedia.com/pub/flashplayer/updaters/13/flashplayer_13_ax_debug.exe @@ -94,14 +94,14 @@ airrt Adobe AIR - 4.0.0 - 1390 + 13.0.0 + 83 Adobe AIR for AIR applications installer AS3 Executable http://www.adobe.com/products/air.html - http://airdownload.adobe.com/air/win/download/4.0/AdobeAIRInstaller.exe + http://airdownload.adobe.com/air/win/download/13.0/AdobeAIRInstaller.exe