You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by cd...@apache.org on 2015/07/23 11:30:32 UTC

[07/13] git commit: [flex-utilities] [refs/heads/develop] - - Renamed the root directory - Renamed the artifact of the maven-extension to flex-sdk-converter-maven-extension

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/flex-sdk-converter/retrievers/download/src/main/java/org/apache/flex/utilities/converter/retrievers/download/DownloadRetriever.java
----------------------------------------------------------------------
diff --git a/flex-maven-tools/flex-sdk-converter/retrievers/download/src/main/java/org/apache/flex/utilities/converter/retrievers/download/DownloadRetriever.java b/flex-maven-tools/flex-sdk-converter/retrievers/download/src/main/java/org/apache/flex/utilities/converter/retrievers/download/DownloadRetriever.java
new file mode 100644
index 0000000..490f8c0
--- /dev/null
+++ b/flex-maven-tools/flex-sdk-converter/retrievers/download/src/main/java/org/apache/flex/utilities/converter/retrievers/download/DownloadRetriever.java
@@ -0,0 +1,496 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.flex.utilities.converter.retrievers.download;
+
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.IOUtils;
+import org.apache.flex.utilities.converter.retrievers.BaseRetriever;
+import org.apache.flex.utilities.converter.retrievers.exceptions.RetrieverException;
+import org.apache.flex.utilities.converter.retrievers.model.ProxySettings;
+import org.apache.flex.utilities.converter.retrievers.types.PlatformType;
+import org.apache.flex.utilities.converter.retrievers.types.SdkType;
+import org.apache.flex.utilities.converter.retrievers.utils.ProgressBar;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpHost;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+import java.io.*;
+import java.net.*;
+import java.nio.channels.Channels;
+import java.nio.channels.ReadableByteChannel;
+import java.text.MessageFormat;
+import java.util.*;
+
+/**
+ * Created by cdutz on 18.05.2014.
+ */
+public class DownloadRetriever extends BaseRetriever {
+
+    public static final String FLEX_INSTALLER_CONFIG_URL =
+            "http://flex.apache.org/installer/sdk-installer-config-4.0.xml";
+
+    /**
+     * Wrapper to allow simple overriding of this property.
+     *
+     * @return URL from which the version information should be loaded.
+     */
+    protected String getFlexInstallerConfigUrl() {
+        return FLEX_INSTALLER_CONFIG_URL;
+    }
+
+    public File retrieve(SdkType type) throws RetrieverException {
+        return retrieve(type, null, null);
+    }
+
+    public File retrieve(SdkType type, String version) throws RetrieverException {
+        return retrieve(type, version, null);
+    }
+
+    public File retrieve(SdkType type, String version, PlatformType platformType) throws RetrieverException {
+        return retrieve(type, version, platformType, null);
+    }
+
+    public File retrieve(SdkType type, String version, PlatformType platformType, ProxySettings proxySettings)
+            throws RetrieverException {
+        try {
+            if (type.equals(SdkType.FLASH) || type.equals(SdkType.AIR) || type.equals(SdkType.FONTKIT)) {
+                confirmLicenseAcceptance(type);
+            }
+
+            if(type.equals(SdkType.FONTKIT)) {
+                File tmpTargetFile = File.createTempFile(UUID.randomUUID().toString(), "");
+                String tempSuffix = tmpTargetFile.getName().substring(tmpTargetFile.getName().lastIndexOf("-"));
+                if(!(tmpTargetFile.delete()))
+                {
+                    throw new IOException("Could not delete temp file: " + tmpTargetFile.getAbsolutePath());
+                }
+
+                File targetRootDir = new File(tmpTargetFile.getParentFile(), type.toString() + tempSuffix);
+                File targetDir = new File(targetRootDir, "/lib/external/optional");
+                if(!(targetDir.mkdirs()))
+                {
+                    throw new IOException("Could not create temp directory: " + targetDir.getAbsolutePath());
+                }
+
+                final URI afeUri = new URI("http://sourceforge.net/adobe/flexsdk/code/HEAD/tree/trunk/lib/afe.jar?format=raw");
+                final File afeFile = new File(targetDir, "afe.jar");
+                performSafeDownload(afeUri, afeFile, proxySettings);
+
+                final URI aglj40Uri = new URI("http://sourceforge.net/adobe/flexsdk/code/HEAD/tree/trunk/lib/aglj40.jar?format=raw");
+                final File aglj40File = new File(targetDir, "aglj40.jar");
+                performSafeDownload(aglj40Uri, aglj40File, proxySettings);
+
+                final URI rideauUri = new URI("http://sourceforge.net/adobe/flexsdk/code/HEAD/tree/trunk/lib/rideau.jar?format=raw");
+                final File rideauFile = new File(targetDir, "rideau.jar");
+                performSafeDownload(rideauUri, rideauFile, proxySettings);
+
+                final URI flexFontkitUri = new URI("http://sourceforge.net/adobe/flexsdk/code/HEAD/tree/trunk/lib/flex-fontkit.jar?format=raw");
+                final File flexFontkitFile = new File(targetDir, "flex-fontkit.jar");
+                performSafeDownload(flexFontkitUri, flexFontkitFile, proxySettings);
+
+                return targetRootDir;
+            } else {
+                final URL sourceUrl = new URL(getBinaryUrl(type, version, platformType, proxySettings));
+                final File targetFile = File.createTempFile(type.toString() + "-" + version +
+                                ((platformType != null) ? "-" + platformType : "") + "-",
+                        sourceUrl.getFile().substring(sourceUrl.getFile().lastIndexOf(".")));
+                performFastDownload(sourceUrl, targetFile, proxySettings);
+
+                ////////////////////////////////////////////////////////////////////////////////
+                // Do the extracting.
+                ////////////////////////////////////////////////////////////////////////////////
+
+                if (type.equals(SdkType.FLASH)) {
+                    final File targetDirectory = new File(targetFile.getParent(),
+                            targetFile.getName().substring(0, targetFile.getName().lastIndexOf(".") - 1));
+                    final File libDestFile = new File(targetDirectory, "frameworks/libs/player/" + version +
+                            "/playerglobal.swc");
+                    if (!libDestFile.getParentFile().exists()) {
+                        if(!libDestFile.getParentFile().mkdirs()) {
+                            throw new RetrieverException("Error creating directory " + libDestFile.getParent());
+                        }
+                    }
+                    FileUtils.moveFile(targetFile, libDestFile);
+                    return targetDirectory;
+                } else {
+                    System.out.println("Extracting archive to temp directory.");
+                    File targetDirectory = new File(targetFile.getParent(),
+                            targetFile.getName().substring(0, targetFile.getName().lastIndexOf(".") - 1));
+                    if(type.equals(SdkType.SWFOBJECT)) {
+                        unpack(targetFile, new File(targetDirectory, "templates"));
+                    } else {
+                        unpack(targetFile, targetDirectory);
+                    }
+                    System.out.println();
+                    System.out.println("Finished extracting.");
+                    System.out.println("===========================================================");
+
+                    // In case of the swfobject, delete some stuff we don't want in there.
+                    if(type.equals(SdkType.SWFOBJECT)) {
+                        File delFile = new File(targetDirectory, "templates/swfobject/index_dynamic.html");
+                        FileUtils.deleteQuietly(delFile);
+                        delFile = new File(targetDirectory, "templates/swfobject/index.html");
+                        FileUtils.deleteQuietly(delFile);
+                        delFile = new File(targetDirectory, "templates/swfobject/test.swf");
+                        FileUtils.deleteQuietly(delFile);
+                        delFile = new File(targetDirectory, "templates/swfobject/src");
+                        FileUtils.deleteDirectory(delFile);
+                    }
+
+                    return targetDirectory;
+                }
+            }
+        } catch (MalformedURLException e) {
+            throw new RetrieverException("Error downloading archive.", e);
+        } catch (FileNotFoundException e) {
+            throw new RetrieverException("Error downloading archive.", e);
+        } catch (IOException e) {
+            throw new RetrieverException("Error downloading archive.", e);
+        } catch (URISyntaxException e) {
+            throw new RetrieverException("Error downloading archive.", e);
+        }
+    }
+
+    protected void performFastDownload(URL sourceUrl, File targetFile, ProxySettings proxySettings) throws IOException {
+        URLConnection connection;
+        if(proxySettings != null) {
+            SocketAddress socketAddress = new InetSocketAddress(proxySettings.getHost(), proxySettings.getPort());
+            Proxy proxy = new Proxy(Proxy.Type.valueOf(proxySettings.getProtocol().toUpperCase()), socketAddress);
+            connection = sourceUrl.openConnection(proxy);
+        } else {
+            connection = sourceUrl.openConnection();
+        }
+        final ReadableByteChannel rbc = Channels.newChannel(connection.getInputStream());
+        final FileOutputStream fos = new FileOutputStream(targetFile);
+
+        ////////////////////////////////////////////////////////////////////////////////
+        // Do the downloading.
+        ////////////////////////////////////////////////////////////////////////////////
+
+        final long expectedSize = connection.getContentLength();
+        long transferedSize = 0L;
+
+        System.out.println("===========================================================");
+        System.out.println("Downloading " + sourceUrl.toString());
+        if(expectedSize > 1014 * 1024) {
+            System.out.println("Expected size: " + (expectedSize / 1024 / 1024) + "MB");
+        } else {
+            System.out.println("Expected size: " + (expectedSize / 1024 ) + "KB");
+        }
+        final ProgressBar progressBar = new ProgressBar(expectedSize);
+        while (transferedSize < expectedSize) {
+            transferedSize += fos.getChannel().transferFrom(rbc, transferedSize, 1 << 20);
+            progressBar.updateProgress(transferedSize);
+        }
+        fos.close();
+        System.out.println();
+        System.out.println("Finished downloading.");
+        System.out.println("===========================================================");
+    }
+
+    protected void performSafeDownload(URI sourceUri, File targetFile, ProxySettings proxySettings) throws IOException {
+        RequestConfig config;
+        if(proxySettings != null) {
+            HttpHost proxy = new HttpHost(proxySettings.getHost(), proxySettings.getPort());
+            config = RequestConfig.custom().setProxy(proxy).build();
+        } else {
+            config = RequestConfig.DEFAULT;
+        }
+
+        HttpGet httpget = new HttpGet(sourceUri);
+        httpget.setConfig(config);
+        HttpClient httpclient = HttpClients.createDefault();
+        HttpResponse response = httpclient.execute(httpget);
+
+        String reasonPhrase = response.getStatusLine().getReasonPhrase();
+        int statusCode = response.getStatusLine().getStatusCode();
+        System.out.println(String.format("statusCode: %d", statusCode));
+        System.out.println(String.format("reasonPhrase: %s", reasonPhrase));
+
+        HttpEntity entity = response.getEntity();
+        InputStream content = entity.getContent();
+
+        final ReadableByteChannel rbc = Channels.newChannel(content);
+        final FileOutputStream fos = new FileOutputStream(targetFile);
+
+        ////////////////////////////////////////////////////////////////////////////////
+        // Do the downloading.
+        ////////////////////////////////////////////////////////////////////////////////
+
+        final long expectedSize = entity.getContentLength();
+        System.out.println("===========================================================");
+        System.out.println("Downloading " + sourceUri.toString());
+        if(expectedSize < 0) {
+            try {
+                System.out.println("Unknown size.");
+                IOUtils.copy(content, fos);
+            } finally {
+                // close http network connection
+                content.close();
+            }
+        } else {
+            long transferedSize = 0L;
+            if (expectedSize > 1014 * 1024) {
+                System.out.println("Expected size: " + (expectedSize / 1024 / 1024) + "MB");
+            } else {
+                System.out.println("Expected size: " + (expectedSize / 1024) + "KB");
+            }
+            final ProgressBar progressBar = new ProgressBar(expectedSize);
+            while (transferedSize < expectedSize) {
+                transferedSize += fos.getChannel().transferFrom(rbc, transferedSize, 1 << 20);
+                progressBar.updateProgress(transferedSize);
+            }
+            fos.close();
+            System.out.println();
+        }
+        System.out.println("Finished downloading.");
+        System.out.println("===========================================================");
+    }
+
+    protected String getBinaryUrl(SdkType sdkType, String version, PlatformType platformType,
+                                  ProxySettings proxySettings)
+            throws RetrieverException {
+        try {
+            final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+            final DocumentBuilder builder = factory.newDocumentBuilder();
+            final URL configUrl = new URL(getFlexInstallerConfigUrl());
+            URLConnection connection;
+            if(proxySettings != null) {
+                SocketAddress socketAddress = new InetSocketAddress(proxySettings.getHost(), proxySettings.getPort());
+                Proxy proxy = new Proxy(Proxy.Type.valueOf(proxySettings.getProtocol().toUpperCase()), socketAddress);
+                connection = configUrl.openConnection(proxy);
+            } else {
+                connection = configUrl.openConnection();
+            }
+            final Document doc = builder.parse(connection.getInputStream());
+
+            //Evaluate XPath against Document itself
+            final String expression = getUrlXpath(sdkType, version, platformType);
+            final XPath xPath = XPathFactory.newInstance().newXPath();
+            final Element artifactElement = (Element) xPath.evaluate(
+                    expression, doc.getDocumentElement(), XPathConstants.NODE);
+            if(artifactElement == null) {
+                throw new RetrieverException("Could not find " + sdkType.toString() + " SDK with version " + version);
+            }
+
+            final StringBuilder stringBuilder = new StringBuilder();
+            if ((sdkType == SdkType.FLEX) || (sdkType == SdkType.SWFOBJECT)) {
+                final String path = artifactElement.getAttribute("path");
+                final String file = artifactElement.getAttribute("file");
+                if (!path.startsWith("http://")) {
+                    stringBuilder.append("http://archive.apache.org/dist/");
+                }
+                stringBuilder.append(path);
+                if(!path.endsWith("/")) {
+                    stringBuilder.append("/");
+                }
+                stringBuilder.append(file);
+                if(sdkType == SdkType.FLEX) {
+                    stringBuilder.append(".zip");
+                }
+            } else {
+                final NodeList pathElements = artifactElement.getElementsByTagName("path");
+                final NodeList fileElements = artifactElement.getElementsByTagName("file");
+                if ((pathElements.getLength() != 1) && (fileElements.getLength() != 1)) {
+                    throw new RetrieverException("Invalid document structure.");
+                }
+                final String path = pathElements.item(0).getTextContent();
+                stringBuilder.append(path);
+                if(!path.endsWith("/")) {
+                    stringBuilder.append("/");
+                }
+                stringBuilder.append(fileElements.item(0).getTextContent());
+            }
+
+            return stringBuilder.toString();
+        } catch (ParserConfigurationException e) {
+            throw new RetrieverException("Error parsing 'sdk-installer-config-4.0.xml'", e);
+        } catch (SAXException e) {
+            throw new RetrieverException("Error parsing 'sdk-installer-config-4.0.xml'", e);
+        } catch (XPathExpressionException e) {
+            throw new RetrieverException("Error parsing 'sdk-installer-config-4.0.xml'", e);
+        } catch (IOException e) {
+            throw new RetrieverException("Error parsing 'sdk-installer-config-4.0.xml'", e);
+        }
+    }
+
+    protected String getUrlXpath(SdkType sdkType, String version, PlatformType platformType)
+            throws RetrieverException {
+        final StringBuilder stringBuilder = new StringBuilder();
+        switch (sdkType) {
+            case FLEX:
+                stringBuilder.append("//*[@id='").append(version).append("']");
+                break;
+            case AIR:
+                stringBuilder.append("//*[@id='air.sdk.version.");
+                if (platformType == null) {
+                    throw new RetrieverException("You need to specify the platformType parameter for AIR SDKs.");
+                }
+                switch (platformType) {
+                    case WINDOWS:
+                        stringBuilder.append("windows");
+                        break;
+                    case MAC:
+                        stringBuilder.append("mac");
+                        break;
+                    case LINUX:
+                        stringBuilder.append("linux");
+                        break;
+
+                }
+                stringBuilder.append(".").append(version).append("']");
+                break;
+            case FLASH:
+                stringBuilder.append("//*[@id='flash.sdk.version.").append(version).append("']");
+                break;
+            case FONTKIT:
+                stringBuilder.append("//fontswf");
+                break;
+            case SWFOBJECT:
+                stringBuilder.append("//swfobject");
+                break;
+        }
+        return stringBuilder.toString();
+    }
+
+    protected void confirmLicenseAcceptance(SdkType type) throws RetrieverException {
+        final Properties questionProps = new Properties();
+        try {
+            questionProps.load(DownloadRetriever.class.getClassLoader().getResourceAsStream("message.properties"));
+        } catch (IOException e) {
+            throw new RetrieverException("Error reading message.properties file", e);
+        }
+
+        String property = "com.adobe.systemIdsForWhichTheTermsOfTheAdobeLicenseAgreementAreAccepted";
+
+        // Implement the accepting the license by providing a system-id as system-property.
+        String acceptedSystemIds = System.getProperty(property);
+        if(acceptedSystemIds != null) {
+            String systemId = SystemIdHelper.getSystemId();
+            if(systemId != null) {
+                for (String acceptedSystemId : acceptedSystemIds.split(",")) {
+                    if (systemId.equals(acceptedSystemId)) {
+                        System.out.println(questionProps.getProperty("ACCEPTED_USING_SYSTEM_ID"));
+                        return;
+                    }
+                }
+            }
+        }
+
+        final String question;
+        if(type.equals(SdkType.FLASH)) {
+            question = questionProps.getProperty("ASK_ADOBE_FLASH_PLAYER_GLOBAL_SWC");
+        } else if(type.equals(SdkType.AIR)) {
+            question = questionProps.getProperty("ASK_ADOBE_AIR_SDK");
+        } else if(type.equals(SdkType.FONTKIT)) {
+            question = questionProps.getProperty("ASK_ADOBE_FONTKIT");
+        } else {
+            throw new RetrieverException("Unknown SdkType");
+        }
+        final BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
+        try {
+            while (true) {
+                System.out.println(
+                        MessageFormat.format(questionProps.getProperty("SYSTEM_ID"), SystemIdHelper.getSystemId()));
+                System.out.println(question);
+                System.out.println(MessageFormat.format(questionProps.getProperty("ACCEPT_USING_SYSTEM_ID"),
+                        property, SystemIdHelper.getSystemId()));
+                System.out.print(questionProps.getProperty("DO_YOU_ACCEPT_QUESTION") + " ");
+                final String answer = reader.readLine();
+                if ("YES".equalsIgnoreCase(answer) || "Y".equalsIgnoreCase(answer)) {
+                    return;
+                }
+                if ("NO".equalsIgnoreCase(answer) || "N".equalsIgnoreCase(answer)) {
+                    System.out.println("You have to accept the license agreement in order to proceed.");
+                    throw new RetrieverException("You have to accept the license agreement in order to proceed.");
+                }
+            }
+        } catch(IOException e) {
+            throw new RetrieverException("Couldn't read from Stdin.");
+        }
+    }
+
+    public Map<DefaultArtifactVersion, Collection<PlatformType>> getAvailableVersions(SdkType type) {
+        Map<DefaultArtifactVersion, Collection<PlatformType>> result =
+                new HashMap<DefaultArtifactVersion, Collection<PlatformType>>();
+        try {
+            final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+            final DocumentBuilder builder = factory.newDocumentBuilder();
+            final Document doc = builder.parse(getFlexInstallerConfigUrl());
+            final XPath xPath = XPathFactory.newInstance().newXPath();
+
+            String expression;
+            NodeList nodes = null;
+            switch (type) {
+                case FLEX:
+                    expression = "/config/products/ApacheFlexSDK/versions/*";
+                    nodes = (NodeList) xPath.evaluate(expression, doc.getDocumentElement(), XPathConstants.NODESET);
+                    break;
+                case FLASH:
+                    expression = "/config/flashsdk/versions/*";
+                    nodes = (NodeList) xPath.evaluate(expression, doc.getDocumentElement(), XPathConstants.NODESET);
+                    break;
+                case AIR:
+                    expression = "/config/airsdk/*/versions/*";
+                    nodes = (NodeList) xPath.evaluate(expression, doc.getDocumentElement(), XPathConstants.NODESET);
+                    break;
+            }
+
+            if (nodes != null) {
+                for(int i = 0; i < nodes.getLength(); i++) {
+                    Element element = (Element) nodes.item(i);
+                    DefaultArtifactVersion version = new DefaultArtifactVersion(element.getAttribute("version"));
+                    if(type == SdkType.AIR) {
+                        PlatformType platformType = PlatformType.valueOf(
+                                element.getParentNode().getParentNode().getNodeName().toUpperCase());
+                        if(!result.containsKey(version)) {
+                            result.put(version, new ArrayList<PlatformType>());
+                        }
+                        result.get(version).add(platformType);
+                    } else {
+                        result.put(version, null);
+                    }
+                }
+            }
+        } catch (ParserConfigurationException e) {
+            e.printStackTrace();
+        } catch (SAXException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (XPathExpressionException e) {
+            e.printStackTrace();
+        }
+        return result;
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/flex-sdk-converter/retrievers/download/src/main/java/org/apache/flex/utilities/converter/retrievers/download/SystemIdHelper.java
----------------------------------------------------------------------
diff --git a/flex-maven-tools/flex-sdk-converter/retrievers/download/src/main/java/org/apache/flex/utilities/converter/retrievers/download/SystemIdHelper.java b/flex-maven-tools/flex-sdk-converter/retrievers/download/src/main/java/org/apache/flex/utilities/converter/retrievers/download/SystemIdHelper.java
new file mode 100644
index 0000000..837c27f
--- /dev/null
+++ b/flex-maven-tools/flex-sdk-converter/retrievers/download/src/main/java/org/apache/flex/utilities/converter/retrievers/download/SystemIdHelper.java
@@ -0,0 +1,35 @@
+package org.apache.flex.utilities.converter.retrievers.download;
+
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.util.Arrays;
+import java.util.Enumeration;
+
+/**
+ * Created by christoferdutz on 05.06.15.
+ */
+public abstract class SystemIdHelper {
+
+    public static String getSystemId() {
+        try {
+            Enumeration<NetworkInterface> nis = NetworkInterface.getNetworkInterfaces();
+            byte[] macSum = new byte[] { 0,0,0,0,0,0};
+            while (nis.hasMoreElements()) {
+                NetworkInterface ni = nis.nextElement();
+                byte[] mac = ni.getHardwareAddress();
+                if((mac != null) && (mac.length >= 6)) {
+                    macSum[0] = (byte) ((macSum[0] + mac[0]) % 256);
+                    macSum[1] = (byte) ((macSum[1] + mac[1]) % 256);
+                    macSum[2] = (byte) ((macSum[2] + mac[2]) % 256);
+                    macSum[3] = (byte) ((macSum[3] + mac[3]) % 256);
+                    macSum[4] = (byte) ((macSum[4] + mac[4]) % 256);
+                    macSum[5] = (byte) ((macSum[5] + mac[5]) % 256);
+                }
+            }
+            return Integer.toHexString(Arrays.hashCode(macSum));
+        } catch (SocketException e) {
+            return null;
+        }
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/flex-sdk-converter/retrievers/download/src/main/resources/message.properties
----------------------------------------------------------------------
diff --git a/flex-maven-tools/flex-sdk-converter/retrievers/download/src/main/resources/message.properties b/flex-maven-tools/flex-sdk-converter/retrievers/download/src/main/resources/message.properties
new file mode 100644
index 0000000..d0b04cb
--- /dev/null
+++ b/flex-maven-tools/flex-sdk-converter/retrievers/download/src/main/resources/message.properties
@@ -0,0 +1,25 @@
+################################################################################
+##
+##  Licensed to the Apache Software Foundation (ASF) under one or more
+##  contributor license agreements.  See the NOTICE file distributed with
+##  this work for additional information regarding copyright ownership.
+##  The ASF licenses this file to You 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.
+##
+################################################################################
+SYSTEM_ID=Your System-Id: {0}
+ACCEPT_USING_SYSTEM_ID=(In a non-interactive build such as a CI server build, alternatively to typing 'y' or 'yes' you can also set a system property containing your system which is interpreted as equivalent to accepting by typing 'y' or 'yes': -D{0}={1} )
+ACCEPTED_USING_SYSTEM_ID=The terms of the Adobe licence Agreements were accepted by providing a system property.
+ASK_ADOBE_AIR_SDK=The Adobe SDK license agreement applies to the Adobe AIR SDK. Do you want to install the Adobe AIR SDK? Adobe AIR SDK License: http://www.adobe.com/products/air/sdk-eula.html
+ASK_ADOBE_FLASH_PLAYER_GLOBAL_SWC=The Adobe SDK license agreement applies to the Adobe Flash Player playerglobal.swc. Do you want to install the Adobe Flash Player playerglobal.swc?
+ASK_ADOBE_FONTKIT=Apache Flex can optionally integrate with Adobe's embedded font support. This feature requires a few font jars from the Adobe Flex SDK. The Adobe SDK license agreement for Adobe Flex 4.6 applies to these jars. This license is not compatible with the Apache V2 license. Do you want to install these jars from the Adobe Flex SDK?
+DO_YOU_ACCEPT_QUESTION=Do you accept (Yes/No) ?
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/flex-sdk-converter/retrievers/download/src/test/java/org/apache/flex/utilities/converter/retrievers/download/ProxyTest.java
----------------------------------------------------------------------
diff --git a/flex-maven-tools/flex-sdk-converter/retrievers/download/src/test/java/org/apache/flex/utilities/converter/retrievers/download/ProxyTest.java b/flex-maven-tools/flex-sdk-converter/retrievers/download/src/test/java/org/apache/flex/utilities/converter/retrievers/download/ProxyTest.java
new file mode 100644
index 0000000..e186e53
--- /dev/null
+++ b/flex-maven-tools/flex-sdk-converter/retrievers/download/src/test/java/org/apache/flex/utilities/converter/retrievers/download/ProxyTest.java
@@ -0,0 +1,88 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You 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.apache.flex.utilities.converter.retrievers.download;
+
+import org.apache.flex.utilities.converter.retrievers.model.ProxySettings;
+import org.apache.flex.utilities.converter.retrievers.types.PlatformType;
+import org.apache.flex.utilities.converter.retrievers.types.SdkType;
+import org.mockserver.integration.ClientAndProxy;
+import org.testng.annotations.AfterMethod;
+import org.testng.annotations.BeforeMethod;
+import org.testng.annotations.Test;
+
+import static org.mockserver.integration.ClientAndProxy.startClientAndProxy;
+
+/**
+ * Created by christoferdutz on 02.07.15.
+ */
+public class ProxyTest {
+
+    private ClientAndProxy proxy;
+
+    @BeforeMethod
+    public void startProxy() {
+        proxy = startClientAndProxy(3456);
+        // Make the test accept the license agreement.
+        System.setProperty("com.adobe.systemIdsForWhichTheTermsOfTheAdobeLicenseAgreementAreAccepted", SystemIdHelper.getSystemId());
+    }
+
+    @AfterMethod
+    public void stopProxy() {
+        proxy.stop();
+    }
+
+    /**
+     * Does a download using the URLConnection class
+     */
+    @Test
+    public void simpleFastHttpNoAuthProxy() throws Exception {
+        ProxySettings proxySettings = new ProxySettings("HTTP", "localhost", 3456, null, null, null);
+        DownloadRetriever downloadRetriever = new DownloadRetriever();
+        downloadRetriever.retrieve(SdkType.FLASH, "17.0", PlatformType.WINDOWS, proxySettings);
+    }
+
+    /**
+     * Does a download using the HttpClient class
+     */
+    @Test
+    public void simpleSafeHttpNoAuthProxy() throws Exception {
+        ProxySettings proxySettings = new ProxySettings("HTTP", "localhost", 3456, null, null, null);
+        DownloadRetriever downloadRetriever = new DownloadRetriever();
+        downloadRetriever.retrieve(SdkType.FONTKIT, "1.0", PlatformType.WINDOWS, proxySettings);
+    }
+
+    /**
+     * Does a download using the URLConnection class using a proxy that requires authentication.
+     */
+    @Test(enabled = false)
+    public void simpleFastHttpWithAuthProxy() throws Exception {
+        ProxySettings proxySettings = new ProxySettings("HTTP", "localhost", 3456, "testuser", "testpass", null);
+        DownloadRetriever downloadRetriever = new DownloadRetriever();
+        downloadRetriever.retrieve(SdkType.FLASH, "17.0", PlatformType.WINDOWS, proxySettings);
+    }
+
+    /**
+     * Does a download using the HttpClient class using a proxy that requires authentication.
+     */
+    @Test(enabled = false)
+    public void simpleSafeHttpWithAuthProxy() throws Exception {
+        ProxySettings proxySettings = new ProxySettings("HTTP", "localhost", 3456, "testuser", "testpass", null);
+        DownloadRetriever downloadRetriever = new DownloadRetriever();
+        downloadRetriever.retrieve(SdkType.FONTKIT, "1.0", PlatformType.WINDOWS, proxySettings);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/flex-sdk-converter/retrievers/pom.xml
----------------------------------------------------------------------
diff --git a/flex-maven-tools/flex-sdk-converter/retrievers/pom.xml b/flex-maven-tools/flex-sdk-converter/retrievers/pom.xml
new file mode 100644
index 0000000..a95bf41
--- /dev/null
+++ b/flex-maven-tools/flex-sdk-converter/retrievers/pom.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You 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.
+
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.flex.utilities.converter</groupId>
+        <artifactId>apache-flex-sdk-converter</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>retrievers</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>base</module>
+        <module>download</module>
+    </modules>
+
+</project>

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/api/pom.xml
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/api/pom.xml b/flex-maven-tools/maven-flex-plugin/components/api/pom.xml
deleted file mode 100644
index e153d2f..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/api/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.flex.components</groupId>
-        <artifactId>components</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.flex.components</groupId>
-    <artifactId>api</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <name>Maven-Flex-Plugin / Components / API</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-core</artifactId>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/compiler/Compiler.java
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/compiler/Compiler.java b/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/compiler/Compiler.java
deleted file mode 100644
index 8de3e0c..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/compiler/Compiler.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.flex.maven.plugins.flex.compiler;
-
-import org.apache.maven.project.MavenProject;
-
-public interface Compiler {
-
-    void compile(MavenProject project);
-
-}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/generator/Generator.java
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/generator/Generator.java b/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/generator/Generator.java
deleted file mode 100644
index 89ba054..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/generator/Generator.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.flex.maven.plugins.flex.generator;
-
-public interface Generator {
-}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/optimizer/Optimizer.java
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/optimizer/Optimizer.java b/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/optimizer/Optimizer.java
deleted file mode 100644
index 0ccd766..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/optimizer/Optimizer.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.flex.maven.plugins.flex.optimizer;
-
-public interface Optimizer {
-}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/packager/Packager.java
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/packager/Packager.java b/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/packager/Packager.java
deleted file mode 100644
index 11ea9c3..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/packager/Packager.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.flex.maven.plugins.flex.packager;
-
-public interface Packager {
-}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/test/Test.java
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/test/Test.java b/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/test/Test.java
deleted file mode 100644
index 3fda4d3..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/api/src/main/java/org/apache/flex/maven/plugins/flex/test/Test.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.flex.maven.plugins.flex.test;
-
-public interface Test {
-}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-asdoc/pom.xml
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-asdoc/pom.xml b/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-asdoc/pom.xml
deleted file mode 100644
index 9ee41fc..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-asdoc/pom.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.flex.components</groupId>
-        <artifactId>compiler</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.flex.components</groupId>
-    <artifactId>compiler-asdoc</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <name>Maven-Flex-Plugin / Components / Compiler / ASDoc</name>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.plexus</groupId>
-                <artifactId>plexus-component-metadata</artifactId>
-                <version>1.5.5</version>
-                <executions>
-                    <execution>
-                        <id>process-classes</id>
-                        <goals>
-                            <goal>generate-metadata</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.flex.components</groupId>
-            <artifactId>api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.plugin-tools</groupId>
-            <artifactId>maven-plugin-annotations</artifactId>
-            <scope>compile</scope>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-asdoc/src/main/java/org/apache/flex/maven/plugins/flex/compiler/asdoc/AsdocCompilerImpl.java
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-asdoc/src/main/java/org/apache/flex/maven/plugins/flex/compiler/asdoc/AsdocCompilerImpl.java b/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-asdoc/src/main/java/org/apache/flex/maven/plugins/flex/compiler/asdoc/AsdocCompilerImpl.java
deleted file mode 100644
index 1e3fc2c..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-asdoc/src/main/java/org/apache/flex/maven/plugins/flex/compiler/asdoc/AsdocCompilerImpl.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.flex.maven.plugins.flex.compiler.asdoc;
-
-import org.apache.flex.maven.plugins.flex.compiler.Compiler;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-
-@Component(role = Compiler.class, hint = "asdoc")
-public class AsdocCompilerImpl implements Compiler {
-
-    @Override
-    public void compile(MavenProject project) {
-        System.out.println("Executing compile: Asdoc");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-compc/pom.xml
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-compc/pom.xml b/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-compc/pom.xml
deleted file mode 100644
index 9ea436c..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-compc/pom.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.flex.components</groupId>
-        <artifactId>compiler</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.flex.components</groupId>
-    <artifactId>compiler-compc</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <name>Maven-Flex-Plugin / Components / Compiler / Compc</name>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.plexus</groupId>
-                <artifactId>plexus-component-metadata</artifactId>
-                <version>1.5.5</version>
-                <executions>
-                    <execution>
-                        <id>process-classes</id>
-                        <goals>
-                            <goal>generate-metadata</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.flex.components</groupId>
-            <artifactId>api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.plugin-tools</groupId>
-            <artifactId>maven-plugin-annotations</artifactId>
-            <scope>compile</scope>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-compc/src/main/java/org/apache/flex/maven/plugins/flex/compiler/compc/CompcCompilerImpl.java
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-compc/src/main/java/org/apache/flex/maven/plugins/flex/compiler/compc/CompcCompilerImpl.java b/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-compc/src/main/java/org/apache/flex/maven/plugins/flex/compiler/compc/CompcCompilerImpl.java
deleted file mode 100644
index 4f6b455..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-compc/src/main/java/org/apache/flex/maven/plugins/flex/compiler/compc/CompcCompilerImpl.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.flex.maven.plugins.flex.compiler.compc;
-
-import org.apache.flex.maven.plugins.flex.compiler.Compiler;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-
-@Component(role = Compiler.class, hint = "compc")
-public class CompcCompilerImpl implements Compiler {
-
-    @Override
-    public void compile(MavenProject project) {
-        System.out.println("Executing compile: Compc");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-falcon/pom.xml
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-falcon/pom.xml b/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-falcon/pom.xml
deleted file mode 100644
index eae9748..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-falcon/pom.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.flex.components</groupId>
-        <artifactId>compiler</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.flex.components</groupId>
-    <artifactId>compiler-falcon</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <name>Maven-Flex-Plugin / Components / Compiler / Falcon</name>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.plexus</groupId>
-                <artifactId>plexus-component-metadata</artifactId>
-                <version>1.5.5</version>
-                <executions>
-                    <execution>
-                        <id>process-classes</id>
-                        <goals>
-                            <goal>generate-metadata</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.flex.components</groupId>
-            <artifactId>api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.plugin-tools</groupId>
-            <artifactId>maven-plugin-annotations</artifactId>
-            <scope>compile</scope>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-falcon/src/main/java/org/apache/flex/maven/plugins/flex/compiler/falcon/FalconCompilerImpl.java
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-falcon/src/main/java/org/apache/flex/maven/plugins/flex/compiler/falcon/FalconCompilerImpl.java b/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-falcon/src/main/java/org/apache/flex/maven/plugins/flex/compiler/falcon/FalconCompilerImpl.java
deleted file mode 100644
index 3613772..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-falcon/src/main/java/org/apache/flex/maven/plugins/flex/compiler/falcon/FalconCompilerImpl.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.flex.maven.plugins.flex.compiler.falcon;
-
-import org.apache.flex.maven.plugins.flex.compiler.Compiler;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-
-@Component(role = Compiler.class, hint = "falcon")
-public class FalconCompilerImpl implements Compiler {
-
-    @Override
-    public void compile(MavenProject project) {
-        System.out.println("Executing compile: Falcon");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-mxmlc/pom.xml
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-mxmlc/pom.xml b/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-mxmlc/pom.xml
deleted file mode 100644
index 86200d7..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-mxmlc/pom.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.flex.components</groupId>
-        <artifactId>compiler</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.flex.components</groupId>
-    <artifactId>compiler-mxmlc</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <name>Maven-Flex-Plugin / Components / Compiler / MXMLC</name>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.codehaus.plexus</groupId>
-                <artifactId>plexus-component-metadata</artifactId>
-                <version>1.5.5</version>
-                <executions>
-                    <execution>
-                        <id>process-classes</id>
-                        <goals>
-                            <goal>generate-metadata</goal>
-                        </goals>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.flex.components</groupId>
-            <artifactId>api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.plugin-tools</groupId>
-            <artifactId>maven-plugin-annotations</artifactId>
-            <scope>compile</scope>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-mxmlc/src/main/java/org/apache/flex/maven/plugins/flex/compiler/mxmlc/MxmlcCompilerImpl.java
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-mxmlc/src/main/java/org/apache/flex/maven/plugins/flex/compiler/mxmlc/MxmlcCompilerImpl.java b/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-mxmlc/src/main/java/org/apache/flex/maven/plugins/flex/compiler/mxmlc/MxmlcCompilerImpl.java
deleted file mode 100644
index 038fc1f..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/compiler/compiler-mxmlc/src/main/java/org/apache/flex/maven/plugins/flex/compiler/mxmlc/MxmlcCompilerImpl.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.apache.flex.maven.plugins.flex.compiler.mxmlc;
-
-import org.apache.flex.maven.plugins.flex.compiler.Compiler;
-import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-
-@Component(role = Compiler.class, hint = "mxmlc")
-public class MxmlcCompilerImpl implements Compiler {
-
-    @Override
-    public void compile(MavenProject project) {
-        System.out.println("Executing compile: MXMLC");
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/compiler/pom.xml
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/compiler/pom.xml b/flex-maven-tools/maven-flex-plugin/components/compiler/pom.xml
deleted file mode 100644
index fa7b345..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/compiler/pom.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.flex.components</groupId>
-        <artifactId>components</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.flex.components</groupId>
-    <artifactId>compiler</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-
-    <name>Maven-Flex-Plugin / Components / Compiler</name>
-
-    <modules>
-        <module>compiler-falcon</module>
-        <module>compiler-mxmlc</module>
-        <module>compiler-compc</module>
-        <module>compiler-asdoc</module>
-    </modules>
-
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/generator/generator-constants/pom.xml
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/generator/generator-constants/pom.xml b/flex-maven-tools/maven-flex-plugin/components/generator/generator-constants/pom.xml
deleted file mode 100644
index 258e89f..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/generator/generator-constants/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.flex.components</groupId>
-        <artifactId>generator</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.flex.components</groupId>
-    <artifactId>generator-constants</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <name>Maven-Flex-Plugin / Components / Generator / Constants</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.flex.components</groupId>
-            <artifactId>api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/generator/generator-gas3/pom.xml
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/generator/generator-gas3/pom.xml b/flex-maven-tools/maven-flex-plugin/components/generator/generator-gas3/pom.xml
deleted file mode 100644
index a7cac24..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/generator/generator-gas3/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.flex.components</groupId>
-        <artifactId>generator</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.flex.components</groupId>
-    <artifactId>generator-gas3</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <name>Maven-Flex-Plugin / Components / Generator / GAS3</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.flex.components</groupId>
-            <artifactId>api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/generator/pom.xml
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/generator/pom.xml b/flex-maven-tools/maven-flex-plugin/components/generator/pom.xml
deleted file mode 100644
index 738941c..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/generator/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.flex.components</groupId>
-        <artifactId>components</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.flex.components</groupId>
-    <artifactId>generator</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-
-    <name>Maven-Flex-Plugin / Components / Generator</name>
-
-    <modules>
-        <module>generator-constants</module>
-        <module>generator-gas3</module>
-    </modules>
-
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/optimizer/optimizer-apparat/pom.xml
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/optimizer/optimizer-apparat/pom.xml b/flex-maven-tools/maven-flex-plugin/components/optimizer/optimizer-apparat/pom.xml
deleted file mode 100644
index cc4aaa8..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/optimizer/optimizer-apparat/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.flex.components</groupId>
-        <artifactId>optimizer</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.flex.components</groupId>
-    <artifactId>optimizer-apparat</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <name>Maven-Flex-Plugin / Components / Optimizer / Apparat</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.flex.components</groupId>
-            <artifactId>api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/optimizer/optimizer-flex/pom.xml
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/optimizer/optimizer-flex/pom.xml b/flex-maven-tools/maven-flex-plugin/components/optimizer/optimizer-flex/pom.xml
deleted file mode 100644
index 85ff825..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/optimizer/optimizer-flex/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.flex.components</groupId>
-        <artifactId>optimizer</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.flex.components</groupId>
-    <artifactId>optimizer-flex</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <name>Maven-Flex-Plugin / Components / Optimizer / Flex</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.flex.components</groupId>
-            <artifactId>api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/optimizer/pom.xml
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/optimizer/pom.xml b/flex-maven-tools/maven-flex-plugin/components/optimizer/pom.xml
deleted file mode 100644
index 58a2986..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/optimizer/pom.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.flex.components</groupId>
-        <artifactId>components</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.flex.components</groupId>
-    <artifactId>optimizer</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>pom</packaging>
-
-    <name>Maven-Flex-Plugin / Components / Optimizer</name>
-
-    <modules>
-        <module>optimizer-flex</module>
-        <module>optimizer-apparat</module>
-    </modules>
-
-</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-utilities/blob/8bc0350d/flex-maven-tools/maven-flex-plugin/components/packager/packager-air/pom.xml
----------------------------------------------------------------------
diff --git a/flex-maven-tools/maven-flex-plugin/components/packager/packager-air/pom.xml b/flex-maven-tools/maven-flex-plugin/components/packager/packager-air/pom.xml
deleted file mode 100644
index c8e50ca..0000000
--- a/flex-maven-tools/maven-flex-plugin/components/packager/packager-air/pom.xml
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-  Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You 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.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <groupId>org.apache.flex.components</groupId>
-        <artifactId>packager</artifactId>
-        <version>1.0.0-SNAPSHOT</version>
-    </parent>
-
-    <groupId>org.apache.flex.components</groupId>
-    <artifactId>packager-air</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>jar</packaging>
-
-    <name>Maven-Flex-Plugin / Components / Packager / AIR</name>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.flex.components</groupId>
-            <artifactId>api</artifactId>
-            <version>1.0.0-SNAPSHOT</version>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file