Android Open Source - m2e-android Maven Android Project Factory






From Project

Back to project page m2e-android.

License

The source code is released under:

Eclipse Public License - v 1.0 THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECI...

If you think the Android project m2e-android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*******************************************************************************
 * Copyright (c) 2012, 2014 Ricardo Gladwell
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *******************************************************************************/
//from w w  w . ja v  a2s  . c o m
package me.gladwell.eclipse.m2e.android.project;

import java.util.List;

import me.gladwell.eclipse.m2e.android.AndroidMavenException;
import me.gladwell.eclipse.m2e.android.AndroidMavenPlugin;
import me.gladwell.eclipse.m2e.android.resolve.LibraryResolver;

import org.apache.maven.model.Plugin;
import org.apache.maven.project.MavenProject;
import org.eclipse.m2e.core.embedder.IMaven;

import com.google.inject.Inject;

public class MavenAndroidProjectFactory implements AndroidProjectFactory<MavenAndroidProject, MavenProject> {

    private final LibraryResolver depedendencyResolver;
    private final IMaven maven;

    @Inject
    public MavenAndroidProjectFactory(LibraryResolver depedendencyResolver, IMaven maven) {
        super();
        this.depedendencyResolver = depedendencyResolver;
        this.maven = maven;
    }

    public MavenAndroidProject createAndroidProject(MavenProject mavenProject) {
        final Plugin jaywayPlugin = MavenAndroidProjectFactory.findJaywayAndroidPlugin(mavenProject.getBuildPlugins());
        if (jaywayPlugin != null) {
            JaywayMavenAndroidProject androidProject = new JaywayMavenAndroidProject(mavenProject, jaywayPlugin,
                    depedendencyResolver, maven);
            AndroidMavenPlugin.getDefault().getInjector().injectMembers(androidProject);
            return androidProject;
        }

        throw new AndroidMavenException("un-recognised maven-android project type");
    }

    public static Plugin findJaywayAndroidPlugin(List<Plugin> buildPlugins) {
        for (Plugin plugin : buildPlugins) {
            if (isAndroidPlugin(plugin)) {
                return plugin;
            }
        }
        return null;
    }

    private static boolean isAndroidPlugin(Plugin plugin) {
        return isJaywayPluginWithOldArtifactName(plugin) || isJaywayPluginWithNewArtifactName(plugin)
                || isSimpligilityPlugin(plugin);
    }

    private static boolean isJaywayPluginWithOldArtifactName(Plugin plugin) {
        return "com.jayway.maven.plugins.android.generation2".equals(plugin.getGroupId())
                && "maven-android-plugin".equals(plugin.getArtifactId());
    }

    private static boolean isJaywayPluginWithNewArtifactName(Plugin plugin) {
        return "com.jayway.maven.plugins.android.generation2".equals(plugin.getGroupId())
                && "android-maven-plugin".equals(plugin.getArtifactId());
    }

    private static boolean isSimpligilityPlugin(Plugin plugin) {
        return "com.simpligility.maven.plugins".equals(plugin.getGroupId())
                && "android-maven-plugin".equals(plugin.getArtifactId());
    }
}




Java Source Code List

.App1.java
.App2.java
com.example.android.HelloAndroidActivity.java
de.akquinet.android.archetypes.HelloAndroidActivity.java
de.akquinet.android.archetypes.HelloAndroidActivity.java
de.akquinet.android.archetypes.HelloAndroidActivity.java
me.gladwell.eclipse.m2e.android.AndroidMavenException.java
me.gladwell.eclipse.m2e.android.AndroidMavenLaunchConfigurationListener.java
me.gladwell.eclipse.m2e.android.AndroidMavenPlugin.java
me.gladwell.eclipse.m2e.android.AndroidMavenProjectConfigurator.java
me.gladwell.eclipse.m2e.android.JUnitClasspathProvider.java
me.gladwell.eclipse.m2e.android.Log.java
me.gladwell.eclipse.m2e.android.Maven.java
me.gladwell.eclipse.m2e.android.NonRuntimeDependenciesContainerInitializer.java
me.gladwell.eclipse.m2e.android.PluginModule.java
me.gladwell.eclipse.m2e.android.configuration.ClasspathLoaderDecorator.java
me.gladwell.eclipse.m2e.android.configuration.ClasspathLoader.java
me.gladwell.eclipse.m2e.android.configuration.ClasspathPersister.java
me.gladwell.eclipse.m2e.android.configuration.Classpaths.java
me.gladwell.eclipse.m2e.android.configuration.ConfigurationModule.java
me.gladwell.eclipse.m2e.android.configuration.DependencyNotFoundInWorkspace.java
me.gladwell.eclipse.m2e.android.configuration.NonRuntimeDependenciesClasspathContainer.java
me.gladwell.eclipse.m2e.android.configuration.ObjectSerializationClasspathPersister.java
me.gladwell.eclipse.m2e.android.configuration.ProjectConfigurationError.java
me.gladwell.eclipse.m2e.android.configuration.ProjectConfigurationException.java
me.gladwell.eclipse.m2e.android.configuration.PrunePlatformProvidedDependenciesClasspathLoader.java
me.gladwell.eclipse.m2e.android.configuration.PrunePlatformProvidedDependencies.java
me.gladwell.eclipse.m2e.android.configuration.classpath.AddGenFolderClasspathConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.classpath.AddNonRuntimeClasspathContainerConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.classpath.ClasspathConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.classpath.ClasspathModule.java
me.gladwell.eclipse.m2e.android.configuration.classpath.IgnoreOptionalWarningsConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.classpath.MarkAndroidClasspathContainerNotExportedConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.classpath.MarkMavenClasspathContianerExportedConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.classpath.ModifySourceFolderOutputClasspathConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.classpath.Paths.java
me.gladwell.eclipse.m2e.android.configuration.classpath.PersistNonRuntimeClasspathConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.classpath.RawClasspathConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.classpath.RemoveJREClasspathContainerConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.classpath.RemoveNonRuntimeDependenciesConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.classpath.RemoveNonRuntimeProjectsConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.workspace.AddAndroidNatureWorkspaceConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.workspace.ConvertLibraryWorkspaceConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.workspace.FixerWorkspaceConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.workspace.LibraryDependenciesWorkspaceConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.workspace.LinkAndroidManifestConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.workspace.LinkAssetsFolderConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.workspace.LinkResourceDirectoryConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.workspace.OrderBuildersWorkspaceConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.workspace.WorkspaceConfigurer.java
me.gladwell.eclipse.m2e.android.configuration.workspace.WorkspaceModule.java
me.gladwell.eclipse.m2e.android.project.AdtEclipseAndroidProject.java
me.gladwell.eclipse.m2e.android.project.AdtEclipseAndroidWorkspace.java
me.gladwell.eclipse.m2e.android.project.AndroidProjectFactory.java
me.gladwell.eclipse.m2e.android.project.AndroidWorkspace.java
me.gladwell.eclipse.m2e.android.project.Classpath.java
me.gladwell.eclipse.m2e.android.project.Dependency.java
me.gladwell.eclipse.m2e.android.project.EclipseAndroidProjectFactory.java
me.gladwell.eclipse.m2e.android.project.EclipseAndroidProject.java
me.gladwell.eclipse.m2e.android.project.EclipseSourceEntry.java
me.gladwell.eclipse.m2e.android.project.JaywayMavenAndroidProject.java
me.gladwell.eclipse.m2e.android.project.MavenAndroidProjectFactory.java
me.gladwell.eclipse.m2e.android.project.MavenAndroidProject.java
me.gladwell.eclipse.m2e.android.project.MavenDependency.java
me.gladwell.eclipse.m2e.android.project.MavenEclipseClasspath.java
me.gladwell.eclipse.m2e.android.project.MavenToEclipseAndroidProjectConverter.java
me.gladwell.eclipse.m2e.android.project.ProjectModule.java
me.gladwell.eclipse.m2e.android.project.SourceEntry.java
me.gladwell.eclipse.m2e.android.resolve.HardCodedDependency.java
me.gladwell.eclipse.m2e.android.resolve.HardCodedLibraryResolver.java
me.gladwell.eclipse.m2e.android.resolve.LibraryResolver.java
me.gladwell.eclipse.m2e.android.resolve.ResolutionModule.java
me.gladwell.eclipse.m2e.inject.GuiceExtensionFactory.java
your.company.HelloAndroidActivity.java
your.company.HelloAndroidActivity.java
your.company.HelloAndroidActivity.java
your.company.HelloAndroidActivity.java
your.company.HelloAndroidActivity.java
your.company.HelloAndroidActivity.java
your.company.HelloAndroidActivity.java
your.company.HelloAndroidActivity.java
your.company.Library.java
your.company.Library.java