Android Open Source - m2e-android Jayway Maven Android Project






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, 2013, 2014 Ricardo Gladwell and David Carver
 * 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
 *******************************************************************************/
//  w ww. java2s. c  o m
package me.gladwell.eclipse.m2e.android.project;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import me.gladwell.eclipse.m2e.android.configuration.ProjectConfigurationException;
import me.gladwell.eclipse.m2e.android.resolve.LibraryResolver;

import org.apache.maven.artifact.Artifact;
import org.apache.maven.model.Plugin;
import org.apache.maven.project.MavenProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.m2e.core.embedder.IMaven;

public class JaywayMavenAndroidProject implements MavenAndroidProject {

    private static final String ANDROID_PACKAGE_TYPE = "apk";
    public static final String ANDROID_LIBRARY_PACKAGE_TYPE = "apklib";
    private static final String IGNORE_WARNING_CONFIGURATION_NAME = "ignoreOptionalWarningsInGenFolder";

    private final MavenProject mavenProject;
    private final Plugin jaywayPlugin;
    private final LibraryResolver dependencyResolver;
    private final IMaven maven;

    public JaywayMavenAndroidProject(MavenProject mavenProject, Plugin jaywayPlugin,
            LibraryResolver dependencyResolver, IMaven maven) {
        this.mavenProject = mavenProject;
        this.jaywayPlugin = jaywayPlugin;
        this.dependencyResolver = dependencyResolver;
        this.maven = maven;
    }

    public String getName() {
        return mavenProject.getArtifactId();
    }

    public String getGroup() {
        return mavenProject.getGroupId();
    }

    public String getVersion() {
        return mavenProject.getVersion();
    }

    public boolean isAndroidProject() {
        String packaging = mavenProject.getPackaging().toLowerCase();
        return ANDROID_LIBRARY_PACKAGE_TYPE.equals(packaging) || ANDROID_PACKAGE_TYPE.equals(packaging);
    }

    public boolean isLibrary() {
        String packaging = mavenProject.getPackaging().toLowerCase();
        return ANDROID_LIBRARY_PACKAGE_TYPE.equals(packaging);
    }

    public List<Dependency> getNonRuntimeDependencies() {
        List<Dependency> list = new ArrayList<Dependency>(mavenProject.getArtifacts().size());

        for (Artifact a : mavenProject.getArtifacts()) {
            if (a.getArtifactHandler().isAddedToClasspath()) {
                if (!Artifact.SCOPE_COMPILE.equals(a.getScope()) && !Artifact.SCOPE_RUNTIME.equals(a.getScope())) {
                    list.add(new MavenDependency(a));
                }
            }
        }

        return list;
    }

    public List<String> getPlatformProvidedDependencies() {
        final Dependency android = getAndroidDependency();
        final List<String> platformProvidedDependencies = new ArrayList<String>();

        final List<String> libraries = dependencyResolver.resolveLibraries(android, "jar", mavenProject);

        for (String library : libraries) {
            platformProvidedDependencies.add(library);
        }

        return platformProvidedDependencies;
    }

    private Dependency getAndroidDependency() {
        for (Artifact artifact : mavenProject.getArtifacts()) {
            if (isAndroidGroupId(artifact) && artifact.getArtifactId().equals("android")) {
                return new MavenDependency(artifact);
            }
        }
        throw new ProjectConfigurationException("cannot find android dependency for project=[" + getName() + "]");
    }

    private boolean isAndroidGroupId(Artifact artifact) {
        return artifact.getGroupId().equals("com.google.android") || artifact.getGroupId().equals("android");
    }

    public List<Dependency> getLibraryDependencies() {
        List<Dependency> results = new ArrayList<Dependency>(mavenProject.getArtifacts().size());

        for (Artifact a : mavenProject.getArtifacts()) {
            Dependency dependency = new MavenDependency(a);
            if (dependency.isLibrary()) {
                results.add(new MavenDependency(a));
            }
        }

        return results;
    }

    public File getAssetsDirectory() {
        return getConfigurationParameter("assetsDirectory", File.class);
    }

    public File getResourceFolder() {
        return getConfigurationParameter("resourceDirectory", File.class);
    }

    public File getAndroidManifestFile() {
        return getConfigurationParameter("androidManifestFile", File.class);
    }

    public boolean isIgnoreOptionalWarningsInGenFolder() {
        Boolean parameter = getConfigurationParameter(IGNORE_WARNING_CONFIGURATION_NAME, Boolean.class);
        return parameter != null ? parameter : false;
    }

    private <T> T getConfigurationParameter(String name, Class<T> type) {
        try {
            return maven.getMojoParameterValue(mavenProject, name, type, jaywayPlugin, jaywayPlugin,
                    "generate-sources", new NullProgressMonitor());
        } catch (CoreException e) {
            throw new ProjectConfigurationException("Could not read POM configuration: " + name, e);
        }
    }

    public List<String> getSourcePaths() {
        return mavenProject.getCompileSourceRoots();
    }

}




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